DashScope Java SDK を使用して、リアルタイム音声・動画翻訳(Qwen-LiveTranslate-Realtime)モデルを呼び出す方法を説明します。
事前準備
- DashScope SDK バージョン 2.22.5 以降をインストールします。
- API キーを取得します。
- API キーを環境変数として設定します:
- Qwen-LiveTranslate モデルの概要で、サポートされている言語と音声を確認します。
クイックスタート
接続し、音声を送信し、翻訳されたテキストを受信します:
wss://WorkspaceId.cn-beijing.maas.aliyuncs.com/api-ws/v1/realtimewss://WorkspaceId.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/realtimeリクエストパラメーター
OmniRealtimeParam
WebSocket 接続を確立するために、OmniRealtimeParam.builder() を使用してこれらを構築します。
サンプルコードを表示するにはクリックしてください
サンプルコードを表示するにはクリックしてください
パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
|
| はい | モデル名です。 |
|
| はい | WebSocket エンドポイント。
|
|
| いいえ | 認証用の API キー。設定しない場合は、 |
OmniRealtimeConfig
OmniRealtimeConfig.builder() でこれらを構築し、接続後に conversation.updateSession(config) を呼び出します。
サンプルコードを表示するにはクリックしてください
サンプルコードを表示するにはクリックしてください
パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
|
| いいえ | 出力モダリティ。デフォルト: |
|
| いいえ | 合成音声のボイス。 |
|
| いいえ | 入力音声フォーマット。デフォルト: |
|
| いいえ | 出力音声フォーマット。デフォルト: |
|
| いいえ | 元の音声を文字起こしするための ASR モデル。 |
|
| いいえ | 翻訳設定。下記の OmniRealtimeTranslationParam をご参照ください。 |
|
| いいえ | VAD (音声アクティビティ検出) を有効にするかどうか。 デフォルト値:
|
OmniRealtimeConfig.builder().parameters(Map) で渡します。Map の各エントリは session に直接設定されます。たとえば、リアルタイムのボイスクローンを有効にするには、次のパラメーターを用意します。
.voice("default") を設定し、.parameters(parameters) を追加します。既存の言語と音声の設定を保持し、ビルド後に conversation.updateSession(config) を呼び出します。頻度とボイスの組み合わせはボイスクローンを参照してください。
OmniRealtimeTranslationParam
OmniRealtimeTranslationParam.builder() を使用して、ターゲット言語とカスタム用語を構築します。
サンプルコードを表示するにはクリックしてください
サンプルコードを表示するにはクリックしてください
パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
|
| いいえ | ターゲット言語コード。デフォルト: |
|
| いいえ | ドメイン固有の用語のためのカスタム用語。 |
|
| いいえ | 用語マッピング:キーはソース用語、値はターゲット翻訳です。例: |
主要なインターフェイス
OmniRealtimeConversation
WebSocket 接続と音声ストリーミングのライフサイクルを管理します。
インポート:com.alibaba.dashscope.audio.omni.OmniRealtimeConversation
メソッド | 説明 |
|---|---|
| 接続パラメーターとイベントコールバックを持つ会話インスタンスを作成します。 |
| WebSocket 接続を開きます。session.created および session.updated イベントをトリガーします。 |
| 接続後にセッション構成を更新します。session.updated イベントをトリガーします。必要なパラメーターのみを設定してください。省略されたパラメーターにはデフォルト値が適用されます。 |
| Base64 エンコードされた音声チャンクをサーバーに送信します。サーバーは自動的に発話の境界を検出し、翻訳をトリガーします。 |
| 手動モードでは、 |
| サーバーバッファーからコミットされていない音声データをクリアします。input_audio_buffer.cleared イベントをトリガーします。 |
| セッションを正常に終了します。サーバーは、session.finished を送信する前に、進行中の翻訳を完了します。 |
| タスクを停止し、WebSocket 接続を閉じます。 |
| セッション ID を返します。 |
| 最新のサーバー応答の応答 ID を返します。 |
| 最新の応答の最初のテキスト遅延 (ミリ秒) を返します。 |
| 最新の応答の最初の音声遅延 (ミリ秒) を返します。 |
OmniRealtimeCallback
WebSocket を介して配信されるサーバーイベントを処理します。このクラスを拡張し、各メソッドを実装してイベントを処理します。
インポート:com.alibaba.dashscope.audio.omni.OmniRealtimeCallback
メソッド | パラメーター | 説明 |
|---|---|---|
| なし | WebSocket 接続が確立されたときに呼び出されます。 |
|
| 各サーバーイベントに対して呼び出されます。 |
|
| WebSocket 接続が閉じられたときに呼び出されます。 |
onEvent で受信される一般的なイベントタイプ:
イベントタイプ | 説明 |
|---|---|
| サーバーが音声ストリームで発話を検出しました。 |
| サーバーが発話セグメントの終了を検出しました。 |
| ソース言語の文字起こしが準備完了です。 |
| 翻訳されたテキストが準備完了です。 |
| 翻訳された音声のチャンクが利用可能です。Base64 エンコードされた音声データについては |
| エラーが発生しました。詳細については |
完全な例
この例では、マイクの音声をキャプチャし、リアルタイムで翻訳し、翻訳された音声をシステムスピーカーで再生します。
この例の動作:
- WebSocket を介して Qwen-LiveTranslate に接続します。
- カスタム用語を使用して、スペイン語から英語への翻訳を設定します。
- マイクの音声を 100 ms のチャンクでストリーミングします。
- 元の文字起こしと翻訳されたテキストを出力します。
- 翻訳された音声をスピーカーで再生します。
リアルタイムマイク翻訳のサンプルコード
リアルタイムマイク翻訳のサンプルコード
プレースホルダー | 説明 | 例 |
|---|---|---|
| Model Studio API キー |
|
関連トピック
- Qwen-LiveTranslate モデルの概要 -- サポートされている言語、音声、機能
- サーバー側イベントリファレンス -- イベントタイプ、JSON スキーマ、エラーコード
- DashScope SDK のインストール -- インストールと依存関係の設定
- API キーの取得 -- 作成と管理