本文檔介紹如何使用 DashScope Java SDK 調用即時音視頻翻譯(Qwen-LiveTranslate)模型。
前提條件
- 安裝SDK,確保DashScope SDK版本不低於2.22.5。
- 擷取API Key。
- 瞭解即時語音/音視頻翻譯-千問。
請求參數
-
以下參數通過
OmniRealtimeParam的鏈式方法設定。點擊查看範例程式碼
參數 類型 是否必須 說明 modelString是 指定要使用的模型名稱,推薦使用 qwen3.5-livetranslate-flash-realtime。urlString是 即時翻譯服務地址: - 華北2(北京):
wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/realtime - 新加坡:
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/realtime
{WorkspaceId}替換為真實的業務空間ID。apikeyString否 設定API Key。 - 華北2(北京):
-
以下參數通過
OmniRealtimeConfig的鏈式方法設定。點擊查看範例程式碼
參數
類型
是否必須
說明
modalitiesList<OmniRealtimeModality>否
模型輸出模態。
預設值:
[OmniRealtimeModality.AUDIO, OmniRealtimeModality.TEXT]。取值範圍:
[OmniRealtimeModality.TEXT]:僅輸出文本[OmniRealtimeModality.AUDIO, OmniRealtimeModality.TEXT]:輸出文本和音頻
voiceString是
產生音訊音色。
預設值:
Qwen3.5-LiveTranslate-Flash-Realtime預設音色為:
Tina
可選值:參見支援的音色。
inputAudioFormatOmniRealtimeAudioFormat否
輸入音頻格式。
預設值:
OmniRealtimeAudioFormat.PCM_16000HZ_MONO_16BIT。outputAudioFormatOmniRealtimeAudioFormat否
輸出音頻格式。
預設值:
OmniRealtimeAudioFormat.PCM_24000HZ_MONO_16BIT。InputAudioTranscriptionString否
輸入音頻轉錄模型。如需輸出原文轉錄,則必須設定此參數。
可選值:
qwen3-asr-flash-realtime。translationConfigOmniRealtimeTranslationParam否
翻譯相關配置。
enableTurnDetectionboolean否
是否啟用 VAD(語音活動檢測)。
預設值:
true,即啟用 VAD 模式,服務端自動檢測語音起止並自動觸發翻譯。 -
以下參數通過OmniRealtimeTranslationParam的鏈式方法設定。
點擊查看範例程式碼
參數
類型
是否必須
說明
languageString否
翻譯目標語言代碼。
預設值:
en。可選值:參見支援的語種。
corpusOmniRealtimeTranslationParam.Corpus否
熱詞配置,用於提升特定詞彙的翻譯準確性。
corpus.phrasesMap<String, Object>否
熱詞映射表。key 為源語言詞彙,value 為目標語言對應翻譯。
樣本:
{"人工智慧": "Artificial Intelligence"}
關鍵介面
OmniRealtimeConversation類
OmniRealtimeConversation通過import com.alibaba.dashscope.audio.omni.OmniRealtimeConversation;方法引入。
| 方法簽名 | 服務端響應事件(通過回調下發) | 說明 |
|---|---|---|
| 無 | 構造方法。 | |
服務端事件會話已建立服務端事件 會話配置已更新 | 和服務端建立串連。 | |
服務端事件會話配置已更新 | 用於更新會話配置,建議在串連建立後首先調用該方法進行設定。若未調用該方法,系統將使用預設配置。只需關注OmniRealtimeConfig中涉及的參數。 | |
| 無 | 將Base64編碼後的音頻資料片段追加到雲端輸入音頻緩衝區。服務端會自動檢測語音起止並觸發翻譯。 | |
input_audio_buffer.committed輸入音頻緩衝區已提交 | Manual 模式下,提交之前通過appendAudio方法追加到雲端緩衝區的音頻,服務端收到後自動開始產生翻譯響應。VAD 模式下無需調用此方法,服務端會自動認可。 | |
input_audio_buffer.cleared輸入音頻緩衝區已清空 | 清空當前雲端緩衝區中尚未提交的音頻資料。 | |
session.finished服務端完成語音翻譯,結束會話 | 通知服務端結束會話,服務端收到會話結束通知後將完成最後的語音翻譯。 | |
| 無 | 終止任務,並關閉串連。 | |
| 無 | 擷取當前任務的session_id。 | |
| 無 | 擷取最近一次response的response_id。 | |
| 無 | 擷取最近一次響應的首個文本延遲(毫秒)。 | |
| 無 | 擷取最近一次響應的首個音頻延遲(毫秒)。 |
回調介面(OmniRealtimeCallback)
服務端會通過回調的方式,將服務端響應事件和資料返回給用戶端。
繼承此類並實現相應方法以處理服務端事件。
通過import com.alibaba.dashscope.audio.omni.OmniRealtimeCallback;引入。
| 方法簽名 | 參數 | 說明 |
|---|---|---|
| 無 | WebSocket串連成功建立時觸發。 | |
| message:服務端事件 | 收到服務端事件時觸發。 | |
| code:狀態代碼reason:WebSocket串連關閉時的日誌資訊 | WebSocket串連關閉時觸發。 |
完整樣本
以下樣本展示如何從麥克風即時錄音並進行翻譯。
麥克風即時翻譯範例程式碼
麥克風即時翻譯範例程式碼