qwen3-livetranslate-flash-realtime は、中国語、英語、ロシア語、フランス語など 18 言語間の翻訳をサポートする視覚拡張リアルタイム翻訳モデルです。このモデルは、リアルタイムのビデオストリームまたはローカルビデオファイルから音声と画像の入力を同時に処理し、視覚的なコンテキストを使用して翻訳の精度を向上させ、高品質の翻訳テキストと音声をリアルタイムで出力します。
オンラインデモについては、「Function Compute を利用したワンクリックデプロイメント」をご参照ください。
利用方法
1. 接続の構成
qwen3-livetranslate-flash-realtime は、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 は、Alibaba Cloud Model Studio からリクエストした API キーです。 |
以下の Python サンプルコードを使用して接続を確立します。
2. 言語、出力モダリティ、音声の構成
クライアントイベント session.update を送信します:
言語
ソース言語:
session.input_audio_transcription.languageパラメーターを使用します。デフォルト値は
en(英語) です。ターゲット言語:
session.translation.languageパラメーターを使用します。デフォルト値は
en(英語) です。
詳細については、「サポート言語」をご参照ください。
ソース言語の認識結果の出力
session.input_audio_transcription.modelパラメーターを使用します。パラメーターをqwen3-asr-flash-realtimeに設定すると、サーバーは翻訳に加えて、入力音声の音声認識結果 (元のソース言語のテキスト) を返します。この機能を有効にすると、サーバーは以下のイベントを返します:
conversation.item.input_audio_transcription.text:認識結果をストリームとして返します。conversation.item.input_audio_transcription.completed:認識完了後の最終結果を返します。
出力モダリティ
session.modalitiesパラメーターを使用します。サポートされている値は["text"](テキストのみ) と["text","audio"](テキストと音声) です。音色
session.voiceパラメーターを使用します。詳細については、「サポートされている音声」をご参照ください。
3. 音声と画像の入力
クライアントは、input_audio_buffer.append および input_image_buffer.append イベントを使用して、Base64 エンコードされた音声および画像データを送信します。音声入力は必須です。画像入力はオプションです。
画像はローカルファイルから、またはビデオストリームからリアルタイムでキャプチャできます。
サーバーは音声の開始と終了を自動的に検出し、モデルの応答をトリガーします。
4. モデル応答の受信
サーバーが音声の終了を検出すると、モデルが応答します。応答形式は、設定された出力モダリティによって異なります。
テキストのみの出力
サーバーは、response.text.done イベントで完全な翻訳テキストを返します。
テキストと音声の出力
テキスト
完全な翻訳テキストは、response.audio_transcript.done イベントで返されます。
音声
増分的な Base64 エンコードされた音声データは、response.audio.delta イベントで返されます。
サポートされているモデル
qwen3-livetranslate-flash-realtime は、多言語対応のリアルタイム音声・動画翻訳モデルです。18 言語を認識し、リアルタイムで 10 言語の音声に翻訳できます。
主な特徴:
多言語サポート:中国語、英語、フランス語、ドイツ語、ロシア語、日本語、韓国語などの 18 言語、および標準中国語、広東語、四川語を含む 6 つの中国語方言をサポートします。
視覚拡張:視覚コンテンツを使用して翻訳の精度を向上させます。モデルは、唇の動き、動作、画面上のテキストを分析して、騒がしい環境や複数の意味を持つ単語の翻訳を強化します。
3 秒の遅延:最低 3 秒の同時通訳遅延を実現します。
ロスレス同時通訳:セマンティックユニット予測技術を使用して、言語間の語順の問題を解決します。リアルタイム翻訳の品質は、オフライン翻訳の品質に近いです。
自然な音声:自然で人間らしい音声を生成します。モデルは、ソース音声に基づいてトーンと感情を自動的に調整します。
モデル名 | バージョン | コンテキストウィンドウ | 最大入力 | 最大出力 |
(トークン) | ||||
qwen3-livetranslate-flash-realtime 現在の機能は qwen3-livetranslate-flash-realtime-2025-09-22 と同等です | 安定版 | 53,248 | 49,152 | 4,096 |
qwen3-livetranslate-flash-realtime-2025-09-22 | スナップショット | |||
クイックスタート
環境の準備
Python のバージョンは 3.10 以降である必要があります。
まず、pyaudio をインストールします。
macOS
brew install portaudio && pip install pyaudioDebian/Ubuntu
sudo apt-get install python3-pyaudio or pip install pyaudioCentOS
sudo yum install -y portaudio portaudio-devel && pip install pyaudioWindows
pip install pyaudioインストールが完了したら、pip を使用して必要な WebSocket 依存関係をインストールします:
pip install websocket-client==1.8.0 websocketsクライアントの作成
ローカルに新しい Python ファイルを作成し、
livetranslate_client.pyという名前を付けて、次のコードをファイルにコピーします:モデルとの対話
livetranslate_client.pyと同じフォルダに、別の Python ファイルを作成し、main.pyという名前を付けて、次のコードをファイルにコピーします:main.pyを実行し、翻訳したい文章をマイクに向かって話します。モデルは翻訳された音声とテキストをリアルタイムで出力します。システムはあなたの発話を自動的に検出し、音声をサーバーに送信するため、手動での操作は不要です。
画像を利用した翻訳精度の向上
qwen3-livetranslate-flash-realtime は、音声翻訳を補助するために画像入力を受け入れることができます。これは、同音異義語を含むシナリオや、一般的でない固有名詞を認識する場合に役立ちます。1 秒あたり最大 2 枚の画像を送信できます。
次のサンプル画像をローカルコンピューターにダウンロードします:face_mask.png および mask.png
次のコードを livetranslate_client.py と同じフォルダにダウンロードして実行します。マイクに向かって "What is mask?" と話します。医療用マスクの画像を入力すると、モデルはこのフレーズを「医療用マスクとは何ですか?」と翻訳します。仮面舞踏会のマスクの画像を入力すると、モデルはこのフレーズを「仮面舞踏会のマスクとは何ですか?」と翻訳します。
import os
import time
import json
import asyncio
import contextlib
import functools
from livetranslate_client import LiveTranslateClient
IMAGE_PATH = "mask_medical.png"
# IMAGE_PATH = "mask_masquerade.png"
def print_banner():
print("=" * 60)
print(" Powered by Qwen qwen3-livetranslate-flash-realtime - シングルターン対話例 (mask)")
print("=" * 60 + "\n")
async def stream_microphone_once(client: LiveTranslateClient, image_bytes: bytes):
pa = client.pyaudio_instance
stream = pa.open(
format=client.input_format,
channels=client.input_channels,
rate=client.input_rate,
input=True,
frames_per_buffer=client.input_chunk,
)
print(f"[INFO] 録音を開始しました。話してください...")
loop = asyncio.get_event_loop()
last_img_time = 0.0
frame_interval = 0.5 # 2 fps
try:
while client.is_connected:
data = await loop.run_in_executor(None, stream.read, client.input_chunk)
await client.send_audio_chunk(data)
# 0.5 秒ごとに画像フレームを追加します
now = time.time()
if now - last_img_time >= frame_interval:
await client.send_image_frame(image_bytes)
last_img_time = now
finally:
stream.stop_stream()
stream.close()
async def main():
print_banner()
api_key = os.environ.get("DASHSCOPE_API_KEY")
if not api_key:
print("[ERROR] まず、DASHSCOPE_API_KEY 環境変数に API KEY を設定してください。")
return
client = LiveTranslateClient(api_key=api_key, target_language="zh", voice="Cherry", audio_enabled=True)
def on_text(text: str):
print(text, end="", flush=True)
try:
await client.connect()
client.start_audio_player()
message_task = asyncio.create_task(client.handle_server_messages(on_text))
with open(IMAGE_PATH, "rb") as f:
img_bytes = f.read()
await stream_microphone_once(client, img_bytes)
await asyncio.sleep(15)
finally:
await client.close()
if not message_task.done():
message_task.cancel()
with contextlib.suppress(asyncio.CancelledError):
await message_task
if __name__ == "__main__":
asyncio.run(main())Function Compute を利用したワンクリックデプロイメント
現在、コンソールはこのデモをサポートしていません。次のようにワンクリックでデプロイできます:
Function Compute テンプレートを開き、API キーを入力し、[デフォルト環境の作成とデプロイ] をクリックしてオンラインで試します。
約 1 分待ちます。[環境詳細] > [環境コンテキスト] で、エンドポイントを取得します。エンドポイントの
httpをhttpsに変更し (例:https://qwen-livetranslate-flash-realtime-intl.fcv3.xxx.ap-southeast-1.fc.devsapp.net/)、そのリンクを使用してモデルと対話します。重要このリンクは自己署名証明書を使用しており、一時的なテスト専用です。最初にアクセスすると、ブラウザにセキュリティ警告が表示されますが、これは想定内の動作です。本番環境では使用しないでください。続行するには、ブラウザの指示に従い、「詳細設定」→「(安全でないサイト) に進む」などをクリックしてください。
Resource Access Management (RAM) の権限を有効にするには、画面の指示に従ってください。
プロジェクトのソースコードは、[リソース情報] > [関数リソース] で確認できます。
Function Compute と Alibaba Cloud Model Studio はどちらも新規ユーザー向けの無料クォータを提供しています。このクォータは、簡単なテストの費用をカバーできます。無料クォータを使い切った後は、従量課金制で請求されます。料金は、サービスにアクセスした場合にのみ発生します。
対話フロー
リアルタイム音声翻訳の対話フローは、標準の WebSocket イベント駆動モデルに従います。サーバーは音声の開始と終了を自動的に検出し、応答します。
ライフサイクル | クライアントイベント | サーバーイベント |
セッションの初期化 | session.update セッション構成 | session.created セッションが作成されました session.updated セッション構成が更新されました |
ユーザーの音声入力 | input_audio_buffer.append バッファーに音声を追加 input_image_buffer.append バッファーに画像を追加 | なし |
サーバーの音声出力 | なし | response.created サーバーが応答の生成を開始 response.output_item.added 応答に新しい出力コンテンツ response.content_part.added アシスタントメッセージに新しい出力コンテンツが追加されました response.audio_transcript.text 増分的に生成されたトランスクリプトテキスト response.audio.delta モデルから増分的に生成された音声 response.audio_transcript.done テキストの文字起こしが完了しました response.audio.done 音声生成が完了しました response.content_part.done アシスタントメッセージのテキストまたは音声コンテンツのストリーミングが完了しました response.output_item.done アシスタントメッセージの出力アイテム全体のストリーミングが完了しました response.done 応答が完了しました |
API リファレンス
詳細については、「リアルタイム音声・動画翻訳 (Qwen-Livetranslate)」をご参照ください。
課金
音声:音声入力または出力 1 秒ごとに 12.5 トークンを消費します。
画像:入力の 28×28 ピクセルごとに 0.5 トークンを消費します。
テキスト:ソース言語の音声認識機能を有効にすると、サービスは翻訳結果に加えて、入力音声の音声認識テキスト (元のソース言語のテキスト) を返します。この認識テキストは、出力テキストの標準トークンレートに基づいて課金されます。
トークンの価格については、「モデルリスト」をご参照ください。
サポート言語
ソース言語とターゲット言語を指定するには、次の言語コードを使用します。
一部のターゲット言語はテキスト出力のみをサポートし、音声出力はサポートしていません。
言語コード | 言語 | サポートされている出力モダリティ |
en | 英語 | 音声 + テキスト |
zh | 中国語 | 音声 + テキスト |
ru | ロシア語 | 音声 + テキスト |
fr | フランス語 | 音声 + テキスト |
de | ドイツ語 | 音声 + テキスト |
pt | ポルトガル語 | 音声 + テキスト |
es | スペイン語 | 音声 + テキスト |
it | イタリア語 | 音声 + テキスト |
id | インドネシア語 | テキスト |
ko | 韓国語 | 音声 + テキスト |
ja | 日本語 | 音声 + テキスト |
vi | ベトナム語 | テキスト |
th | タイ語 | テキスト |
ar | アラビア語 | テキスト |
yue | 広東語 | 音声 + テキスト |
hi | ヒンディー語 | テキスト |
el | ギリシャ語 | テキスト |
tr | トルコ語 | テキスト |
サポートされている音声
名前 |
| 音色の効果 | 説明 | サポート言語 |
QianYue | Cherry | 明るく、前向きで、自然な性格のフレンドリーな若い女性。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
魚を食べない。 | Nofish | そり舌音を発音できないデザイナー。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | |
上海 - Jada | Jada | 活発でエネルギッシュな上海の女性。 | 中国語 | |
北京 - Dylan | Dylan | 北京の胡同で育った若者。 | 中国語 | |
四川 - Sunny | Sunny | あなたの心を動かす四川出身の可愛い女の子。 | 中国語 | |
Peter Li、天津 | Peter | 天津漫才:脇役の芸術。 | 中国語 | |
広東語 - Kiki | Kiki | 香港出身の可愛い親友。 | 広東語 | |
Chengchuan、四川 | Eric | 四川省成都出身の非凡な男性。 | 中国語 |