Qwen-Omni-Realtime は、Qwen シリーズに属するリアルタイム音声・映像チャットモデルです。このモデルは、ストリーミング音声および画像(例:ビデオストリームからリアルタイムで抽出された連続する画像フレームなど)を入力として処理し、高品質なテキストおよび音声出力をリアルタイムで生成します。
サポートされるリージョン: シンガポール、中国 (北京)。各リージョンごとに、API キー を使用する必要があります。
使い方
1. 接続の確立
WebSocket プロトコルを使用して Qwen-Omni-Realtime モデルに接続します。以下の Python コード例または DashScope SDK をご利用ください。
単一の WebSocket セッションは、自動的に終了するまで最大 120 分間 継続します。
ネイティブ WebSocket 接続
以下の設定項目が必要です。
設定項目 | 説明 |
エンドポイント | 中国 (北京):wss://dashscope.aliyuncs.com/api-ws/v1/realtime 国際 (シンガポール):wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime |
クエリパラメーター | クエリパラメーターは model です。アクセスしたいモデル名を指定します。例: |
リクエストヘッダー | Bearer トークンによる認証:Authorization: Bearer DASHSCOPE_API_KEY DASHSCOPE_API_KEY は、Model Studio で取得した API キー です。 |
# pip install websocket-client
import json
import websocket
import os
API_KEY=os.getenv("DASHSCOPE_API_KEY")
API_URL = "wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3.5-omni-plus-realtime"
headers = [
"Authorization: Bearer " + API_KEY
]
def on_open(ws):
print(f"サーバーに接続しました:{API_URL}")
def on_message(ws, message):
data = json.loads(message)
print("受信イベント:", json.dumps(data, indent=2))
def on_error(ws, error):
print("エラー:", error)
ws = websocket.WebSocketApp(
API_URL,
header=headers,
on_open=on_open,
on_message=on_message,
on_error=on_error
)
ws.run_forever()DashScope SDK
# SDK バージョン 1.23.9 以降
import os
import json
from dashscope.audio.qwen_omni import OmniRealtimeConversation,OmniRealtimeCallback
import dashscope
# シンガポールと北京の API キーは異なります。API キーの取得方法については、https://www.alibabacloud.com/help/ja/model-studio/get-api-key をご参照ください。
# API キーを設定していない場合は、次の行を dashscope.api_key = "sk-xxx" に置き換えてください。
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
class PrintCallback(OmniRealtimeCallback):
def on_open(self) -> None:
print("接続が完了しました")
def on_event(self, response: dict) -> None:
print("受信イベント:")
print(json.dumps(response, indent=2, ensure_ascii=False))
def on_close(self, close_status_code: int, close_msg: str) -> None:
print(f"接続が終了しました(コード={close_status_code}、メッセージ={close_msg})。")
callback = PrintCallback()
conversation = OmniRealtimeConversation(
model="qwen3.5-omni-plus-realtime",
callback=callback,
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を wss://dashscope.aliyuncs.com/api-ws/v1/realtime に置き換えてください。
url="wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime"
)
try:
conversation.connect()
print("会話が開始されました。Ctrl+C を押して終了してください。")
conversation.thread.join()
except KeyboardInterrupt:
conversation.close()// SDK バージョン 2.20.9 以降
import com.alibaba.dashscope.audio.omni.*;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.google.gson.JsonObject;
import java.util.concurrent.CountDownLatch;
public class Main {
public static void main(String[] args) throws InterruptedException, NoApiKeyException {
CountDownLatch latch = new CountDownLatch(1);
OmniRealtimeParam param = OmniRealtimeParam.builder()
.model("qwen3.5-omni-plus-realtime")
.apikey(System.getenv("DASHSCOPE_API_KEY"))
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を wss://dashscope.aliyuncs.com/api-ws/v1/realtime に置き換えてください。
.url("wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime")
.build();
OmniRealtimeConversation conversation = new OmniRealtimeConversation(param, new OmniRealtimeCallback() {
@Override
public void onOpen() {
System.out.println("接続が完了しました");
}
@Override
public void onEvent(JsonObject message) {
System.out.println(message);
}
@Override
public void onClose(int code, String reason) {
System.out.println("接続が終了しました(コード:" + code + "、理由:" + reason + ")");
latch.countDown();
}
});
conversation.connect();
latch.await();
conversation.close(1000, "さようなら");
System.exit(0);
}
}2. セッションの構成
クライアントイベント session.update を送信します。
{
// このイベントの ID。クライアントが生成します。
"event_id": "event_ToPZqeobitzUJnt3QqtWg",
// イベントタイプ。固定値「session.update」です。
"type": "session.update",
// セッション構成。
"session": {
// 出力モダリティ。サポートされる値は ["text"](テキストのみ)または ["text","audio"](テキストおよび音声)です。
"modalities": [
"text",
"audio"
],
// 出力音声のボイス。
"voice": "Cherry",
// 入力音声フォーマット。pcm のみサポートされます。
"input_audio_format": "pcm",
// 出力音声フォーマット。pcm のみサポートされます。
"output_audio_format": "pcm",
// システムメッセージ。モデルの目的または役割を設定します。
"instructions": "あなたは五つ星ホテルの AI 顧客サービス担当者です。客室タイプ、施設、料金、予約ポリシーに関するお客様のお問い合わせに正確かつ親切に回答してください。常にプロフェッショナルで親切な態度で応答してください。未確認の情報やホテルのサービス範囲を超えた情報を提供しないでください。",
// 音声区間検出(VAD)を有効化します。有効化するには、構成オブジェクトを渡します。サーバーは、このオブジェクトに基づいて音声の開始/終了を自動検出します。
// クライアントがモデル応答の開始タイミングを決定する場合は、null を設定します。
"turn_detection": {
// VAD のタイプ。server_vad に設定する必要があります。
"type": "server_vad",
// VAD 検出しきい値。騒音環境では増加させ、静かな環境では減少させます。
"threshold": 0.5,
// 音声終了を検出するための無音期間(ミリ秒単位)。この値を超えると、モデル応答がトリガーされます。
"silence_duration_ms": 800
}
}
}3. 音声および画像の入力
input_audio_buffer.append イベントおよび input_image_buffer.append イベントを使用して、Base64 エンコード済みの音声(必須)および画像(任意)データをサーバーバッファーに送信します。
画像は、ローカルファイルから取得することも、ビデオストリームからリアルタイムでキャプチャすることもできます。
サーバー側 VAD が有効な場合、サーバーは音声の終了を自動検出し、データを自動的に送信して応答をトリガーします。VAD が無効(手動モード)の場合、クライアントは input_audio_buffer.commit イベントを呼び出してデータを送信する必要があります。
4. モデル応答の受信
モデル応答のフォーマットは、構成された出力モダリティによって異なります。
テキストのみ
response.text.delta イベントを介してストリーミングテキストを受信します。完全なテキストは response.text.done イベントで取得します。
テキストおよび音声
テキスト: response.audio_transcript.delta イベントを介してストリーミングテキストを受信します。完全なテキストは response.audio_transcript.done イベントで取得します。
音声: response.audio.delta イベントを介して Base64 エンコード済みのストリーミング音声出力データを取得します。response.audio.done イベントは、音声生成の完了を通知します。
モデル選択
Qwen3.5-Omni-Realtime は、Qwen シリーズの最新リアルタイムマルチモーダルモデルです。前世代の Qwen3-Omni-Flash-Realtime と比較して、以下の点が向上しています。
知能レベル
知能が大幅に向上し、Qwen3.5-Plus と同等の性能を実現しています。
Web 検索
Web 検索をネイティブでサポートしています。モデルがリアルタイム質問に対する回答を検索するかどうかを自律的に判断します。「Web 検索」をご参照ください。
セマンティックな中断
会話の意図を自動的に識別し、フィラー音や意味のないバックグラウンドノイズによる中断を回避します。
音声制御
「もっと速く話して」「もっと大きく話して」「明るく話して」などの音声コマンドで、音量、話す速度、感情を制御できます。
サポート言語
113 の言語および方言で音声認識をサポートし、36 の言語および方言で音声合成をサポートします。
ボイスオプション
55 種類のボイス(47 種類の多言語対応ボイス+8 種類の方言専用ボイス)を提供します。「ボイス一覧」をご参照ください。
モデル名、コンテキスト、課金、スナップショットバージョンについては、「モデル一覧」をご参照ください。同時実行数の制限については、「レート制限」をご参照ください。
はじめに
API キー を取得し、API キーを環境変数として設定 します。
お好みのプログラミング言語を選択し、以下の手順に従って、リアルタイムモデルとのリアルタイム会話をすぐに開始してください。
DashScope Python SDK
実行環境の準備
Python のバージョンは 3.10 以降である必要があります。
まず、お使いのオペレーティングシステムに応じて pyaudio をインストールします。
macOS
brew install portaudio && pip install pyaudioDebian/Ubuntu
仮想環境を使用していない場合、システムパッケージマネージャーで直接インストールします。
sudo apt-get install python3-pyaudio仮想環境を使用している場合、まずコンパイル依存関係をインストールします。
sudo apt update sudo apt install -y python3-dev portaudio19-devその後、アクティブ化された仮想環境で pip を使用してパッケージをインストールできます。
pip install pyaudio
CentOS
sudo yum install -y portaudio portaudio-devel && pip install pyaudioWindows
pip install pyaudioインストール後、pip を使用して依存関係をインストールします。
pip install websocket-client dashscope対話モードの選択
VAD モード(音声区間検出、音声の開始/終了を自動検出)
サーバーがユーザーの発話の開始および終了を自動検出し、応答します。
手動モード(プッシュ・トゥ・トーク、リリース・トゥ・センド)
クライアントが発話タイミングを制御します。ユーザーの発話終了後に、クライアントがサーバーにメッセージを送信します。
VAD モード
新しい Python ファイル vad_dash.py を作成し、以下のコードをコピーして貼り付けます。
vad_dash.pyを実行して、マイク経由で Qwen-Omni-Realtime とリアルタイム会話を行います。システムが音声の開始/終了を検出し、手動介入なしで自動的にデータをサーバーに送信します。手動モード
新しい Python ファイル
manual_dash.pyを作成し、以下のコードをコピーして貼り付けます。manual_dash.pyを実行します。Enter キーを押して話しかけ、再度 Enter キーを押してモデルの音声応答を受信します。
DashScope Java SDK
対話モードの選択
VAD モード(音声区間検出、音声の開始/終了を自動検出)
リアルタイム API が音声タイミングを自動検出し、応答します。
手動モード(プッシュ・トゥ・トーク、リリース・トゥ・センド)
クライアントが音声タイミングを制御します。ユーザーの発話終了後に、クライアントがサーバーにメッセージを送信します。
VAD モード
OmniServerVad.main() メソッドを実行して、マイク経由でリアルタイムモデルとリアルタイム会話を行います。システムが音声の開始/終了を検出し、手動介入なしで自動的にデータをサーバーに送信します。
手動モード
OmniWithoutServerVad.main() メソッドを実行します。Enter キーを押して録音を開始し、再度 Enter キーを押して停止および送信を行います。その後、モデルの応答を受信および再生します。
WebSocket(Python)
実行環境の準備
Python のバージョンは 3.10 以降である必要があります。
まず、お使いのオペレーティングシステムに応じて pyaudio をインストールします。
macOS
brew install portaudio && pip install pyaudioDebian/Ubuntu
sudo apt-get install python3-pyaudio または pip install pyaudiopip install pyaudioの使用を推奨します。インストールに失敗した場合は、まず OS 用のportaudio依存関係をインストールしてください。CentOS
sudo yum install -y portaudio portaudio-devel && pip install pyaudioWindows
pip install pyaudioインストール後、pip を使用して WebSocket 関連の依存関係をインストールします。
pip install websockets==15.0.1クライアントの作成
ローカルディレクトリに
omni_realtime_client.pyという新しい Python ファイルを作成し、以下のコードをコピーして貼り付けます。対話モードの選択
VAD モード(音声区間検出、音声の開始/終了を自動検出)
リアルタイム API が音声タイミングを自動検出し、応答します。
手動モード(プッシュ・トゥ・トーク、リリース・トゥ・センド)
クライアントが音声タイミングを制御します。ユーザーの発話終了後に、クライアントがサーバーにメッセージを送信します。
VAD モード
omni_realtime_client.pyと同じディレクトリに、別の Python ファイルvad_mode.pyを作成し、以下のコードをコピーして貼り付けます。vad_mode.pyを実行して、マイク経由でリアルタイムモデルとリアルタイム会話を行います。システムが音声の開始/終了を検出し、手動介入なしで自動的にデータをサーバーに送信します。手動モード
omni_realtime_client.pyと同じディレクトリに、別の Python ファイルmanual_mode.pyを作成し、以下のコードをコピーして貼り付けます。manual_mode.pyを実行します。Enter キーを押して話しかけ、再度 Enter キーを押してモデルの音声応答を受信します。
インタラクションフロー
VAD モード
session.update イベントにおいて、session.turn_detection を "server_vad" に設定することで、VAD モードを有効化します。このモードでは、サーバーが音声の開始および終了を自動検出し、それに応じて応答します。音声通話などのユースケースに適しています。
インタラクションフローは以下のとおりです:
サーバーが音声の開始を検出し、input_audio_buffer.speech_started イベントを送信します。
クライアントは任意のタイミングで、input_audio_buffer.append イベントおよび input_image_buffer.append イベントを送信し、オーディオおよびイメージをバッファーに追加できます。
input_image_buffer.append イベントを送信する前に、少なくとも 1 回の input_audio_buffer.append イベントを送信する必要があります。
サーバーが音声の終了を検出し、input_audio_buffer.speech_stopped イベントを送信します。
サーバーがオーディオバッファーを確定するために、input_audio_buffer.committed イベントを送信します。
サーバーが、バッファーから生成されたユーザーのメッセージ項目を含む conversation.item.created イベントを送信します。
ライフサイクル | クライアントイベント | サーバーイベント |
セッション初期化 | セッション構成 | セッションが作成されました セッション構成が更新されました |
ユーザー音声入力 | 音声をバッファーに追加 イメージをバッファーに追加 | input_audio_buffer.speech_started 音声の開始が検出されました input_audio_buffer.speech_stopped 音声の終了が検出されました サーバーが送信された音声を受信しました |
サーバー音声出力 | なし | サーバーが応答の生成を開始しました 応答中の新しい出力コンテンツ 会話項目が作成されました アシスタントメッセージへの新しい出力コンテンツの追加 response.audio_transcript.delta 逐次生成される文字起こしテキスト モデルから逐次生成される音声 response.audio_transcript.done 文字起こし処理が完了しました 音声生成が完了しました アシスタントメッセージのテキストまたは音声コンテンツのストリーミングが完了しました アシスタントメッセージの出力項目全体のストリーミングが完了しました 応答が完了しました |
手動モード
session.update イベントにおいて、session.turn_detection を null に設定することで、手動モードを有効化します。このモードでは、クライアントが明示的に input_audio_buffer.commit イベントおよび response.create イベントを送信し、サーバーからの応答を要求します。プッシュ・トゥ・トーク(PTT)シナリオ(例:チャットアプリケーションにおける音声メッセージ送信)に適しています。
インタラクションフローは以下のとおりです:
クライアントは任意のタイミングで、input_audio_buffer.append イベントおよび input_image_buffer.append イベントを送信し、オーディオおよびイメージをバッファーに追加できます。
input_image_buffer.append イベントを送信する前に、少なくとも 1 回の input_audio_buffer.append イベントを送信する必要があります。
クライアントが input_audio_buffer.commit イベントを送信し、音声およびイメージのバッファーを確定します。これにより、現在のターンにおけるすべてのユーザー入力(音声およびイメージ)が送信済みであることをサーバーに通知します。
サーバーが input_audio_buffer.committed イベントで応答します。
クライアントが response.create イベントを送信し、モデルの出力を待機します。
サーバーが conversation.item.created イベントで応答します。
ライフサイクル | クライアントイベント | サーバーイベント |
セッション初期化 | セッション構成 | セッションが作成されました セッション構成が更新されました |
ユーザー音声入力 | 音声をバッファーに追加 イメージをバッファーに追加 音声およびイメージをサーバーに送信 モデル応答を作成 | サーバーが送信された音声を受信しました |
サーバー音声出力 | バッファー内の音声をクリア | サーバーが応答の生成を開始しました 応答中の新しい出力コンテンツ 会話項目が作成されました アシスタントメッセージ項目への新しい出力コンテンツの追加 response.audio_transcript.delta 逐次生成される文字起こしテキスト モデルから逐次生成される音声 response.audio_transcript.done 文字起こし処理が完了しました 音声生成が完了しました アシスタントメッセージのテキストまたは音声コンテンツのストリーミングが完了しました アシスタントメッセージの出力項目全体のストリーミングが完了しました 応答が完了しました |
Web 検索
Web 検索機能により、モデルはリアルタイムで取得したデータを用いて応答します。株価や天気予報など、最新の情報を必要とするシナリオにご利用ください。モデルがユーザーの質問に応じて Web 検索を実行するかどうかは、自動的に判断されます。
Qwen3.5-Omni-Realtimeモデルのみが Web 検索をサポートしています。デフォルトでは無効化されています。session.updateイベントを使用して有効化してください。
課金の詳細については、エージェント ポリシーを、課金ドキュメント有効化方法
session.update イベントで、以下のパラメーターを追加します:
enable_search:Web 検索を有効化するには、trueを設定します。search_options.enable_source:検索結果のソース一覧を返すには、trueを設定します。
パラメーターの詳細については、「session.update」をご参照ください。
応答フォーマット
Web 検索を有効化すると、response.done イベントの usage オブジェクトに新しい plugins フィールドが含まれるようになります。このフィールドには、検索の使用状況を示すメトリックが記録されます:
{
"usage": {
"total_tokens": 2937,
"input_tokens": 2554,
"output_tokens": 383,
"input_tokens_details": {
"text_tokens": 2512,
"audio_tokens": 42
},
"output_tokens_details": {
"text_tokens": 90,
"audio_tokens": 293
},
"plugins": {
"search": {
"count": 1,
"strategy": "agent"
}
}
}
}コード例
以下に、リアルタイム会話で Web 検索を有効化する方法を示します。
DashScope Python SDK
update_session 呼び出し時に、enable_search および search_options パラメーターを渡します:
import os
import base64
import time
import json
import pyaudio
from dashscope.audio.qwen_omni import MultiModality, AudioFormat, OmniRealtimeCallback, OmniRealtimeConversation
import dashscope
dashscope.api_key = os.getenv('DASHSCOPE_API_KEY')
url = 'wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime'
model = 'qwen3.5-omni-plus-realtime'
voice = 'Tina'
class SearchCallback(OmniRealtimeCallback):
def __init__(self, pya):
self.pya = pya
self.out = None
def on_open(self):
self.out = self.pya.open(format=pyaudio.paInt16, channels=1, rate=24000, output=True)
def on_event(self, response):
if response['type'] == 'response.audio.delta':
self.out.write(base64.b64decode(response['delta']))
elif response['type'] == 'conversation.item.input_audio_transcription.completed':
print(f"[User] {response['transcript']}")
elif response['type'] == 'response.audio_transcript.done':
print(f"[LLM] {response['transcript']}")
elif response['type'] == 'response.done':
usage = response.get('response', {}).get('usage', {})
plugins = usage.get('plugins', {})
if plugins.get('search'):
print(f"[Search] count={plugins['search']['count']}, strategy={plugins['search']['strategy']}")
pya = pyaudio.PyAudio()
callback = SearchCallback(pya)
conv = OmniRealtimeConversation(model=model, callback=callback, url=url)
conv.connect()
conv.update_session(
output_modalities=[MultiModality.AUDIO, MultiModality.TEXT],
voice=voice,
instructions="You are Xiao Yun, a personal assistant",
enable_search=True,
search_options={'enable_source': True}
)
mic = pya.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True)
print("Web 検索が有効化されました。マイクに向かって話してください(Ctrl+C で終了)...")
try:
while True:
audio_data = mic.read(3200, exception_on_overflow=False)
conv.append_audio(base64.b64encode(audio_data).decode())
time.sleep(0.01)
except KeyboardInterrupt:
conv.close()
mic.close()
callback.out.close()
pya.terminate()
print("\n会話が終了しました")DashScope Java SDK
updateSession で、parameters マップを通じて Web 検索設定を渡します:
import com.alibaba.dashscope.audio.omni.*;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.google.gson.JsonObject;
import javax.sound.sampled.*;
import java.nio.ByteBuffer;
import java.util.*;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.atomic.AtomicBoolean;
public class OmniSearch {
static class SequentialAudioPlayer {
private final SourceDataLine line;
private final Queue<byte[]> audioQueue = new ConcurrentLinkedQueue<>();
private final Thread playerThread;
private final AtomicBoolean shouldStop = new AtomicBoolean(false);
public SequentialAudioPlayer() throws LineUnavailableException {
AudioFormat format = new AudioFormat(24000, 16, 1, true, false);
line = AudioSystem.getSourceDataLine(format);
line.open(format);
line.start();
playerThread = new Thread(() -> {
while (!shouldStop.get()) {
byte[] audio = audioQueue.poll();
if (audio != null) {
line.write(audio, 0, audio.length);
} else {
try { Thread.sleep(10); } catch (InterruptedException ignored) {}
}
}
}, "AudioPlayer");
playerThread.start();
}
public void play(String base64Audio) {
audioQueue.add(Base64.getDecoder().decode(base64Audio));
}
public void close() {
shouldStop.set(true);
try { playerThread.join(1000); } catch (InterruptedException ignored) {}
line.drain();
line.close();
}
}
public static void main(String[] args) {
try {
SequentialAudioPlayer player = new SequentialAudioPlayer();
AtomicBoolean shouldStop = new AtomicBoolean(false);
OmniRealtimeParam param = OmniRealtimeParam.builder()
.model("qwen3.5-omni-plus-realtime")
.apikey(System.getenv("DASHSCOPE_API_KEY"))
.url("wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime")
.build();
OmniRealtimeConversation conversation = new OmniRealtimeConversation(param, new OmniRealtimeCallback() {
@Override public void onOpen() {
System.out.println("接続が確立されました");
}
@Override public void onClose(int code, String reason) {
System.out.println("接続が終了しました");
shouldStop.set(true);
}
@Override public void onEvent(JsonObject event) {
String type = event.get("type").getAsString();
if ("response.audio.delta".equals(type)) {
player.play(event.get("delta").getAsString());
} else if ("response.audio_transcript.done".equals(type)) {
System.out.println("[LLM] " + event.get("transcript").getAsString());
} else if ("response.done".equals(type)) {
JsonObject response = event.getAsJsonObject("response");
if (response != null && response.has("usage")) {
JsonObject usage = response.getAsJsonObject("usage");
if (usage.has("plugins")) {
JsonObject plugins = usage.getAsJsonObject("plugins");
if (plugins.has("search")) {
JsonObject search = plugins.getAsJsonObject("search");
System.out.println("[Search] count=" + search.get("count").getAsInt()
+ ", strategy=" + search.get("strategy").getAsString());
}
}
}
}
}
});
conversation.connect();
conversation.updateSession(OmniRealtimeConfig.builder()
.modalities(Arrays.asList(OmniRealtimeModality.AUDIO, OmniRealtimeModality.TEXT))
.voice("Tina")
.enableTurnDetection(true)
.enableInputAudioTranscription(true)
.parameters(Map.of(
"instructions", "You are Xiao Yun, a personal assistant",
"enable_search", true,
"search_options", Map.of("enable_source", true)
))
.build()
);
System.out.println("Web 検索が有効化されました。話しかけてください(Ctrl+C で終了)...");
AudioFormat format = new AudioFormat(16000, 16, 1, true, false);
TargetDataLine mic = AudioSystem.getTargetDataLine(format);
mic.open(format);
mic.start();
ByteBuffer buffer = ByteBuffer.allocate(3200);
while (!shouldStop.get()) {
int bytesRead = mic.read(buffer.array(), 0, buffer.capacity());
if (bytesRead > 0) {
conversation.appendAudio(Base64.getEncoder().encodeToString(buffer.array()));
}
Thread.sleep(20);
}
conversation.close(1000, "通常終了");
player.close();
mic.close();
} catch (NoApiKeyException e) {
System.err.println("API キーが見つかりません:環境変数 DASHSCOPE_API_KEY を設定してください");
} catch (Exception e) {
e.printStackTrace();
}
}
}WebSocket(Python)
session.update の JSON ペイロードに、enable_search および search_options フィールドを追加します:
import json
import os
import websocket
import base64
import pyaudio
import threading
API_KEY = os.getenv("DASHSCOPE_API_KEY")
API_URL = "wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3.5-omni-plus-realtime"
pya = pyaudio.PyAudio()
out_stream = pya.open(format=pyaudio.paInt16, channels=1, rate=24000, output=True)
def on_open(ws):
ws.send(json.dumps({
"type": "session.update",
"session": {
"modalities": ["text", "audio"],
"voice": "Tina",
"instructions": "You are Xiao Yun, a personal assistant",
"input_audio_format": "pcm",
"output_audio_format": "pcm",
"enable_search": True,
"search_options": {
"enable_source": True
}
}
}))
print("Web 検索が有効化されました。マイクに向かって話してください...")
def send_audio():
mic = pya.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True)
try:
while True:
audio = mic.read(3200, exception_on_overflow=False)
ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(audio).decode()
}))
except Exception:
mic.close()
threading.Thread(target=send_audio, daemon=True).start()
def on_message(ws, message):
event = json.loads(message)
if event["type"] == "response.audio.delta":
out_stream.write(base64.b64decode(event["delta"]))
elif event["type"] == "response.audio_transcript.done":
print(f"[LLM] {event['transcript']}")
elif event["type"] == "response.done":
usage = event.get("response", {}).get("usage", {})
plugins = usage.get("plugins", {})
if plugins.get("search"):
print(f"[Search] count={plugins['search']['count']}, strategy={plugins['search']['strategy']}")
def on_error(ws, error):
print(f"エラー: {error}")
headers = ["Authorization: Bearer " + API_KEY]
ws = websocket.WebSocketApp(API_URL, header=headers, on_open=on_open, on_message=on_message, on_error=on_error)
ws.run_forever()関連 API
課金とレート制限
課金ルール
Qwen-Omni-Realtime モデルは、音声および画像という各モダリティにおけるトークン使用量に基づいて課金されます。詳細については、「モデル一覧」をご参照ください。
レート制限
モデルのレート制限ルールについて詳しくは、「レート制限」をご参照ください。
エラーコード
モデルの呼び出しでエラーが発生し、エラーメッセージが返された場合は、解決方法については、「エラーメッセージ」をご参照ください。
音声一覧
voice リクエストパラメーターに、voice パラメーター 列の値を設定します。
qwen3.5-omni-realtime
| 詳細 | 対応言語 |
| 音声名: Tina 説明: 温かみのあるミルクティーのような声——甘く、居心地がよく、問題解決時には鋭さも兼ね備えています。 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Cindy 説明: 台湾出身の、愛らしい話し方をする若い女性 | 中国語(台湾アクセント)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Qinghuan Liora Mira 説明: 日常生活に温かみを織り込む、優しい声 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Sunnybobi 説明: 明るく、ちょっと空気を読めない近所の女の子 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Lin Chuanye (Raymond) 説明: 声がはっきりとしており、出前が大好きな引きこもり | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Chenxu Ethan 説明: 標準中国語(やや北部アクセントあり)。明るく、温かく、エネルギッシュで若々しい | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Theo Calm 説明: 沈黙を通じて理解を伝え、言葉によって癒しを届ける | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Serena 説明: 優しい若い女性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Harvey 説明: 時間の重みを宿した声——深みがあり、まろやかで、コーヒーと古びた本の香りがする | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Maia 説明: 知性と優しさの融合 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Evan 説明: 大学生——若々しく、愛らしい | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Qiao 説明: 単に可愛いだけではなく、表面は甘く、内面には個性が満ちている | 中国語(台湾アクセント)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Momo 説明: いたずら好きで、あなたを元気づけるためにここにいます | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Wil 説明: 深セン出身の若者。香港・台湾アクセントで話します | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Tai Pu – An Qi Angel 説明: やや台湾アクセントあり——とても甘い声 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音色名: Dongchang—Grand Eunuch Li Cassian 説明: 抑えた話し方——沈黙が三分、場の空気を読むのが七分 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Gentle Lifestyle Blogger - Shuran Mia 説明: 安らぎのある声で、ゆっくりとした暮らしの美学と日常の快適さを発信するライフスタイルアーティスト | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Comedy Specialist—Adou Joyner 説明: 面白く、誇張され、そして地に足のついた話し方 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Gold 説明: 米国西海岸出身のブラックラッパー | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Katerina 説明: 成熟した、威厳ある声。豊かなリズムと響きを持つ | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Sweet Tea Ryan 説明: 高エネルギーなトーンと強いドラマチックな存在感——リアルさと迫力の融合 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Jennifer 説明: 高品質で、映画のような質感を持つアメリカ英語の女性ボイス | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Aiden 説明: 料理に長けたアメリカの若者 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Mione 説明: 成熟した知的なイギリス出身の近所の女の子 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Sichuan - Qing'er Sunny 説明: 四川出身の甘い女の子。あなたの心を温めてくれます | 中国語(四川方言)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Beijing–Xiaodong (Dylan) 説明: 北京の胡同で育った若者 | 中国語(北京方言)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Sichuan - Cheng Chuan Eric 説明: 四川成都出身の活気あふれる男性 | 中国語(四川方言)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Tianjin–Li Bide (Peter) 説明: 天津風の相声(シャンション)のプロ。サポート役の達人 | 中国語(天津方言)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Joseph Chen 説明: 私はプーおじさんです。本名は陳志甫——東南アジア在住の華僑です | 中国語(閩南語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音色名: Shaanxi–Qinchuan Marcus 説明: 顔は広く、口数は少なく、心は誠実、声は低く——陝西省の真髄そのもの | 中国語(陝西方言)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Nanjing–Lao Li 説明: 怒りっぽいおじさん | 中国語(南京方言)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Cantonese – Ah Qiang Rocky 説明: アー・チャンは、ユーモアと機知をもってオンラインチャットでの会話をお手伝いします。 | 中国語(広東語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Sohee 説明: 温かく、明るく、感情表現豊かな韓国の姉さん | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Lenn 説明: 核心は合理的だが、細部では反骨精神に富む——スーツを着てポストパンクを聴くドイツの若者 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Ono Anna 説明: 賢くて、遊び心のある幼なじみ | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Sonrisa 説明: 温かく、陽気なラテンアメリカ出身の女性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音色名: Bodega 説明: 温かく、情熱的なスペイン人の男性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Emilien 説明: ロマンチックなフランス人の兄貴 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Andre 説明: 魅力的で、自然で、安定感のある男性の声 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Radio Gol 説明: 私はRádio Golのフットボール詩人です! 今日は、選手の名前のみを使って試合を実況します。 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Alek 説明: ロシアの精神のように冷たく——しかし、コートの裏地のように暖かい | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Rizky 説明: 特徴的な声を持つ若いインドネシア人男性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Roya 説明: スポーティで、自由奔放な心を持つ女の子 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Arda 説明: 高くも低くもなく——クリアで、シャープ、そしてほんのり温かみがある | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Hana 説明: 犬が大好きなベトナム出身の成熟した女性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| トーン名: Dolce 説明: のんびり屋のイタリア人男性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Jakub 説明: ポーランドの町から来た、カリスマと芸術性を兼ね備えた若者 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Griet 説明: 成熟した芸術性のあるオランダ出身の女性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Eliška 説明: すべての言葉に中欧の職人技と温かみが込められています | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Marina 説明: 多文化都市で育った女の子 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Siiri 説明: 控えめで優しく——静かで湖のような話し方のペース | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Ingrid 説明: ノルウェーの田舎出身の女性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Sigga 説明: アイスランドの町から来た、知的な若い女性 | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Bea 説明: コーヒーが大好きなフィリピン出身の甘い女性 | 中国語(標準中国語)、中国語、英語 フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
| 音声名: Chloe 説明: マレーシアのオフィスワーカー | 中国語(標準中国語)、中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語、インドネシア語、アラビア語、ベトナム語、トルコ語、フィンランド語、ポーランド語、ヒンディー語、オランダ語、チェコ語、ウルドゥー語、タガログ語、スウェーデン語、デンマーク語、ヘブライ語、アイスランド語、マレー語、ノルウェー語、ペルシャ語 |
qwen3-omni-flash-realtime-2025-12-01
音声名 |
| 音色効果 | 説明 | 対応言語 |
Qianyue | Cherry | 明るく、前向きで、フレンドリーかつ自然な若い女性 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Suyao | Serena | 優しい若い女性 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Chenxu | Ethan | 標準中国語(やや北部アクセントあり)。明るく、温かく、エネルギッシュで、躍動感がある | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Qianxue | Chelsie | 二次元のバーチャルガールフレンド | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Motu | Momo | いたずら好きで、あなたを元気づけるように設計された声 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
13 | Vivian | 生意気で、かわいく、ちょっとイライラしている若い女性 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Yuebai | Moon | 即興的で、ハンサムな岳白 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
April | Maia | 知性と優しさの融合 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Kai | Kai | 耳に優しい体験 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
魚を食べないでください。 | Nofish | 巻き舌音を発音できないデザイナー | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Mengbao | Bella | 酔っ払っても、決して乱暴なパンチをしない小さな女の子 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Jennifer | Jennifer | 高品質で、映画のような質感を持つアメリカ英語の女性ボイス | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Tiancha | Ryan | リズム感に富み、劇的な魅力に満ちており、リアルさと迫力を両立させる | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Kajielina | Katerina | 豊かで、印象に残るリズムを持つ成熟した女性の声 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Aideng | Aiden | アメリカ英語を話す料理が得意な若い男性 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Cangmingzi | Eldric Sage | 落ち着いて賢い長老の声。松の木のしなやかさと、澄んだ心の明晰さを想起させる | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
良い妹 | Mia | 春の水のように柔らかく、新雪のように素直 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Sha Xiaomi | Mochi | 賢く、明るい大人。子供のような無邪気さと、年齢を超えた知性を併せ持つ | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Yan Zhengying | Bellona | 力強く、はっきりとした声で、登場人物を生き生きと描き、 excitement を呼び起こす。 英雄譚や鮮烈な声の表現を想起させる | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Tianshu | Vincent | 独特のガラガラで、スモーキーな声で、軍隊と騎士道の物語を語る | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Meng Xiao Ji | Bunny | 「かわいい」魅力が溢れる小さな女の子 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
A Wen | Neil | プロフェッショナルなニュースアナウンサー。基調となるトーンは安定しており、発音は正確 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Mo Lecturer | Elias | 学術的厳密性を維持しつつ、物語を通して複雑な知識を消化しやすい認知モジュールへと変換する | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Xu Da Ye | Arthur | シンプルで、歳を重ねた声。時間とタバコの煙に染まり、ゆっくりと村の伝説や不思議な話を語る | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Linjia Meimei | Nini | もちもちした甘い声。伸ばした「お兄ちゃん」は、骨まで溶けてしまうほど甘い | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Gui Po Po | Ebona | 囁きは錆びた鍵のよう。あなたの内なる闇の最も奥深く——子供時代の影と未知の恐怖が隠れている場所——をゆっくりと開く | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Xiao Wan | Seren | 安らぎを与える優しい声で、より早く眠りにつくお手伝いをします。おやすみなさい、良い夢を | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
いたずらっ子 | Pip | 遊び心といたずら心に富みながらも、純粋無垢な男の子——シンちゃんを思い出させませんか? | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Shao Nü A Yue | Stella | 普段は甘ったるく、ぼんやりとした十代の女の子の声ですが、「私は月を代表して君を倒す!」と叫ぶと、愛と正義に満ちた声になる | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Bodega | Bodega | 情熱的なスペイン人の男性 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Sonisha | Sonrisa | 明るく、陽気なラテンアメリカ出身の女性 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Aleke | Alek | ロシアの精神のように冷たく——そしてウールのコートの裏地のように暖かい声 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Duorche | Dolce | のんびり屋のイタリア人男性 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Suxi | Sohee | 親切で、明るく、感情表現豊かな韓国の姉さん | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Xiao Ye Xing | Ono Anna | 賢く、活気のある幼なじみ | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Lai En | Lenn | 核は合理的だが、細部では反骨精神に富む——スーツを着てポストパンクを聴くドイツの若者 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Aimi’er’an | Emilien | ロマンチックなフランス人の兄貴 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Andele | Andre | 魅力的で、自然で、安定感のある男性の声 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Ladio Ge Er | Radio Gol | フットボール詩人Rádio Gol! 今日の試合実況は、私の名前だけで行います。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
上海 – A Zhen | Jada | キビキビとしてエネルギッシュな上海のおばさん | 上海語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
北京 – Xiao Dong | Dylan | 北京の胡同で育った若者 | 北京方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
南京 – Lao Li | Li | 忍耐強いヨガインストラクター | 南京方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
陝西 – Qin Chuan | Marcus | 顔は広く、口数は少なく、心は誠実、声は低く——本格的な陝西省の味わい | 陝西方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
閩南 – A Jie | Roy | ユーモアと率直さ、活気と地に足のついた話し方をする台湾出身の男性 | 閩南語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
天津 – Li Peter | Peter | 天津の相声(シャンション)のプロ。サポート役の達人 | 天津方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
四川 – Qing Er | Sunny | 四川出身の甘い女の子。あなたの心を温めてくれます | 四川方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
四川 – Cheng Chuan | Eric | 群衆から目立つ、成都出身の四川人 | 四川方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
広東語 – A Qiang | Rocky | ユーモアと機知に富むアー・チャン。オンラインチャットでお手伝いします | 広東語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
広東語 – A Qing | Kiki | 甘い香港出身の女の子。親しい友達 | 広東語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
qwen3-omni-flash-realtime、qwen3-omni-flash-realtime-2025-09-15
音声名 |
| 音色効果 | 説明 | 対応言語 |
Qianyue | Cherry | 明るく、前向きで、フレンドリーかつ自然な若い女性 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Chenxu | Ethan | 標準中国語(やや北部アクセントあり)。明るく、温かく、エネルギッシュで、躍動感がある | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
魚を食べないでください。 | Nofish | 巻き舌音を発音できないデザイナー | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Jennifer | Jennifer | 高品質で、映画のような質感を持つアメリカ英語の女性ボイス | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Tiancha | Ryan | リズム感に富み、劇的な魅力に満ちており、リアルさと迫力を両立させる | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Kajielina | Katerina | 豊かで、印象に残るリズムを持つ成熟した女性の声 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
Mo Lecturer | Elias | 学術的厳密性を維持しつつ、物語を通して複雑な知識を消化しやすい認知モジュールへと変換する | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
上海 – A Zhen | Jada | キビキビとしてエネルギッシュな上海のおばさん | 上海語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
北京 – Xiao Dong | Dylan | 北京の胡同で育った若者 | 北京方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
四川 – Qing Er | Sunny | 四川出身の甘い女の子。あなたの心を温めてくれます | 四川方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
南京 – Lao Li | Li | 忍耐強いヨガインストラクター | 南京方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
陝西 – Qin Chuan | Marcus | 顔は広く、口数は少なく、心は誠実、声は低く——本格的な陝西省の味わい | 陝西方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
閩南 – A Jie | Roy | ユーモアと率直さ、活気と地に足のついた話し方をする台湾出身の男性 | 閩南語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
天津 – Li Peter | Peter | 天津の相声(シャンション)のプロ。サポート役の達人 | 天津方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
広東語 – A Qiang | Rocky | ユーモアと機知に富むアー・チャン。オンラインチャットでお手伝いします | 広東語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
広東語 – A Qing | Kiki | 甘い香港出身の女の子。親しい友達 | 広東語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
四川 – チェン・チュアン | Eric | 群衆から目立つ、成都出身の四川人 | 四川方言、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
Qwen-Omni-Turbo-Realtime
音声名 |
| 音色効果 | 説明 | 対応言語 |
Qianyue | Cherry | 明るく、前向きで、フレンドリーかつ自然な若い女性 | 中国語、英語 | |
Suyao | Serena | 優しい若い女性 | 中国語、英語 | |
Chenxu | Ethan | 標準中国語(やや北部アクセントあり)。明るく、温かく、エネルギッシュで、躍動感がある | 中国語、英語 | |
Qianxue | Chelsie | 二次元のバーチャルガールフレンド | 中国語、英語 |