非即時語音辨識模型能將錄製好的音頻轉換為文本,支援多語言識別、歌唱識別、雜訊拒識、說話人分離等功能,適用於會議轉寫、通話分析、字幕產生等情境。
概述
通過非同步任務對錄製好的音視頻檔案進行批量轉寫。
- 支援上下文增強,通過配置上下文提高識別準確率
- 支援自訂熱詞,通過預設詞表提升專有名詞識別準確率
- 支援說話人分離、敏感詞過濾、句子/詞語級時間戳記等可配置功能
- 支援單個時間長度不超過 12 小時、體積不超過 2GB 的音頻檔案非同步轉寫
- 支援任意採樣率,相容 aac、wav、mp3 等多種主流音視頻格式
前提條件
- 已擷取與配置 API Key並將其配置到環境變數。
- 如果通過 DashScope SDK 調用,需要安裝最新版SDK。
快速開始
- Qwen-Audio-3.0-ASR-Flash-Filetrans/ Fun-ASR
- Qwen-Audio-3.0-ASR-Flash/ Fun-ASR-Flash
- Qwen3-ASR-Flash-Filetrans
- Qwen3-ASR-Flash
- Paraformer
- cURL
- Python
- Java
task_id,再通過該 ID 查詢任務執行結果。- 提交任務
- 擷取任務執行結果
- 下載識別結果
{WorkspaceId}替換為真實的Workspace ID,各地區的配置不同。完整的識別結果會以JSON格式列印在控制台。完整結果包含轉換後的文本以及文本在音視頻檔案中的起始、結束時間(以毫秒為單位)。
完整的識別結果會以JSON格式列印在控制台。完整結果包含轉換後的文本以及文本在音視頻檔案中的起始、結束時間(以毫秒為單位)。
- 識別結果
進階功能
使用OpenAI相容API
僅Qwen3-ASR-Flash系列模型支援OpenAI相容方式調用。OpenAI相容方式僅允許輸入公網可訪問的音頻檔案URL,不支援輸入本地音頻檔案絕對路徑。
OpenAI Python SDK 版本應不低於1.52.0, Node.js SDK 版本應不低於 4.68.0。安裝/升級命令:
asr_options非OpenAI標準參數。使用 OpenAI Python SDK 時,請通過 extra_body 傳入;使用 Node.js OpenAI SDK 時,直接將 asr_options 作為請求體的頂層參數傳入。
- 輸入內容:音頻檔案URL
- 輸入內容:Base64編碼的音頻檔案
- Python SDK
- Node.js SDK
- cURL
長音頻檔案處理
非即時語音辨識支援長音頻檔案非同步轉寫,適用於會議記錄、訪談整理、通話回放等情境。
限制說明:
- Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR / Qwen3-ASR-Flash-Filetrans / Paraformer:單個音頻檔案大小不超過 2GB,時間長度不超過 12 小時。
- Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash/Qwen3-ASR-Flash:單個音頻檔案大小不超過 10MB,時間長度不超過 5 分鐘。對於較長音頻,請使用 Qwen-Audio-3.0-ASR-Flash-Filetrans、Fun-ASR 或Qwen3-ASR-Flash-Filetrans。
- 啟用說話人分離時:建議音頻時間長度不超過 2 小時,否則可能導致識別失敗或逾時。詳見說話人分離。
- 提交轉寫任務,擷取
task_id。 - 通過輪詢介面查詢任務狀態(或使用 SDK 的等待方法阻塞等待)。
- 任務完成後從返回的 URL 下載識別結果 JSON。
流式輸出
Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash/Qwen3-ASR-Flash 支援流式輸出:邊識別邊返回中間結果,適用於需要即時反饋進度的情境。
Qwen-Audio-3.0-ASR-Flash-Filetrans、Fun-ASR、Qwen3-ASR-Flash-Filetrans、Paraformer 等非同步轉寫模型不支援流式輸出,需通過任務輪詢擷取最終結果(詳見長音頻檔案處理)。
啟用方式:
- DashScope Python SDK:設定
stream參數為True。 - DashScope Java SDK:通過
streamCall介面調用。 - DashScope HTTP:在 Header 中設定
X-DashScope-SSE為enable。 - OpenAI 相容 SDK:設定
stream參數為True。
使用熱詞提升準確率
支援通過熱詞提升特定領域專有名詞(人名、地名、產品名等)的識別準確率。詳細的建立和使用方法,請參見提升識別準確率。
不同 SDK 暴露上述參數的命名習慣不同(如字典 key、對象屬性、方法等),完整欄位對照請參見各 SDK 的 API 參考。
使用上下文增強提升準確率
支援上下文增強功能,可將對話歷史傳入 ASR 模型,顯著提升專有詞彙的轉寫準確率。詳細的使用方法和效果樣本,請參見上下文增強。
說話人分離
說話人分離可自動識別音頻中不同說話人,並在轉寫結果中為每個句子標註說話人標籤,適用於多人會議、訪談錄音等情境。
支援範圍:Qwen-Audio-3.0-ASR-Flash-Filetrans、Fun-ASR 和 Paraformer 系列模型。
啟用方式:在 API 請求參數中設定 diarization_enabled 為 true。識別結果中每個句子會包含 speaker_id 欄位,標識不同說話人。
返回結構樣本(節選):
敏感詞過濾
敏感詞過濾可對識別結果中的敏感詞執行替換或移除,適用於客服質檢、內容合規、字幕審核等情境。
支援範圍:Qwen-Audio-3.0-ASR-Flash-Filetrans、Fun-ASR 與 Paraformer 系列模型。
預設行為:未傳入 special_word_filter 參數時,系統啟用內建的阿里雲百鍊敏感詞表,匹配的詞語會被替換為等長的 *。
自訂配置:special_word_filter 是 JSON 對象,包含三個子欄位:
filter_with_signed.word_list:字串數組,列出需要被替換為等長*的敏感詞。例如["測試"],「幫我測試一下」會變成「幫我**一下」。filter_with_empty.word_list:字串數組,列出需要從結果中完全移除的敏感詞。例如["開始"],「比賽這就要開始了嗎」會變成「比賽這就要了嗎」。system_reserved_filter:布爾值,預設true。是否同時啟用系統預置敏感詞表(與自訂詞表疊加生效)。
情感識別
Qwen3-ASR-Flash-Filetrans 與Qwen3-ASR-Flash 系列模型固定開啟情感識別,無需額外配置。識別結果中會附帶說話人的情緒標籤,取值為 7 類細粒度情緒:surprised(驚訝)、neutral(平靜)、happy(愉快)、sad(悲傷)、disgusted(厭惡)、angry(憤怒)、fearful(恐懼)。
欄位路徑(因介面而異):
- OpenAI 相容介面(Qwen3-ASR-Flash 即時轉寫):嵌套在
choices[].delta.annotations[].emotion(流式輸出)或choices[].message.annotations[].emotion(非流式)。 - DashScope 同步調用介面(Qwen3-ASR-Flash):嵌套在
output.choices[].message.annotations[].emotion。 - DashScope 非同步任務介面(Qwen3-ASR-Flash-Filetrans 錄音檔案轉寫):嵌套在
transcripts[].sentences[].emotion,與時間戳記、說話人等欄位並列在每個句子物件中。
擷取時間戳記
非即時語音辨識支援在轉寫結果中輸出時間戳記,便於字幕產生、關鍵詞高亮、音視訊剪輯等情境。Qwen-Audio-3.0-ASR-Flash-Filetrans、Qwen-Audio-3.0-ASR-Flash、Fun-ASR、Fun-ASR-Flash、Qwen3-ASR-Flash-Filetrans、Paraformer 均支援,但各模型的時間戳記預設行為和控制方式不同:
- Qwen-Audio-3.0-ASR-Flash-Filetrans/Qwen-Audio-3.0-ASR-Flash/Fun-ASR/Fun-ASR-Flash/Paraformer:時間戳記功能固定開啟,不可關閉。
- Qwen3-ASR-Flash-Filetrans:僅 DashScope 非同步呼叫方式支援時間戳記,時間戳記功能固定開啟。可通過請求參數
enable_words控制時間戳記層級:設為false(預設)返回句級時間戳記,設為true返回字級時間戳記。字層級時間戳記僅支援以下語種:中文、英語、日語、韓語、德語、法語、西班牙語、意大利語、葡萄牙語、俄語,其他語種可能無法保證準確性。
- 句級:
sentences[].begin_time與sentences[].end_time,標識每個句子在音頻中的起止時刻。 - 字級:
sentences[].words[]數組,每個元素包含begin_time、end_time與text(該字/詞文本)。
應用於生產環境
將非即時語音辨識應用於生產環境時,以下最佳實務有助於提升識別效果和系統穩定性。
高並發情境:使用回調替代輪詢
非同步轉寫任務(Qwen-Audio-3.0-ASR-Flash-Filetrans、Fun-ASR、Qwen3-ASR-Flash-Filetrans、Paraformer)通過 POST /api/v1/services/audio/asr/transcription 提交後,通常做法是周期性調用查詢介面 GET /api/v1/tasks/{task_id} 擷取結果。該查詢介面預設 20 QPS、最高可擴容至 100 QPS,在高並發批量情境下,頻繁輪詢易觸發限流。
通過事件匯流排 EventBridge 配置回調通知,任務完成時阿里雲百鍊會自動推送 dashscope:System:AsyncTaskFinish 事件至您配置的目標(HTTP/HTTPS 端點或 RocketMQ Topic),消費端收到事件後無需再調用查詢介面,從而規避因頻繁輪詢而被限流的風險。詳情請參見配置 EventBridge 回調通知。
適用模型
- 適用模型:Qwen-Audio-3.0-ASR-Flash-Filetrans、Fun-ASR、Qwen3-ASR-Flash-Filetrans、Paraformer(均為非同步轉寫任務)。
- 不適用:Qwen3-ASR-Flash(同步/流式調用,不屬非同步任務範疇)。
回調訊息內容
三種模型的回調訊息體中 data.contain_result 均為 true,data.output_result 直接攜帶 transcription_url,消費端收到回調後即可擷取識別結果,無需再調用 GET /api/v1/tasks/{task_id}。但三個模型的結果欄位路徑與結構不同,詳見下表。
data.output_result.output 不再含 results/result,而是含 code 與 message 欄位,需先判斷 data.task_status 再取結果。模型 | 提交參數 | 結果欄位路徑(基於回調 Body) | usage 欄位 |
|---|---|---|---|
Qwen-Audio-3.0-ASR-Flash-Filetrans、Fun-ASR |
|
|
|
Paraformer |
| 同 Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR: |
|
Qwen3-ASR-Flash-Filetrans |
|
|
|
注意事項
安全(HTTP/HTTPS 投遞方式):生產環境必須校正回調要求標頭中的 X-Eventbridge-Signature* 數列欄位後再消費,否則任意外部 IP 都可偽造 AsyncTaskFinish 事件,注入虛假識別結果。建議同時為接收端設定至少 5 秒的接收逾時。RocketMQ 投遞方式無訊息級簽名,安全性由 RocketMQ 鑒權機制保證。
投遞延遲:從任務結束(end_time)到投遞目標(HTTP/HTTPS 端點或 RocketMQ Topic)收到訊息,通常約 1–90 秒,具體延遲受 EventBridge 即時負載影響。
等冪性:同一事件可能因重試而被投遞多次。消費端需實現等冪處理,建議以 CloudEvents data.id 或 data.task_id 作為去重鍵。
生產環境建議
- 檔案託管:將音頻檔案上傳至阿里雲 OSS,通過 URL 方式調用,避免使用本地檔案上傳(本地檔案調用上限 100 QPS,不支援擴容)。
- 非同步輪詢:長音頻轉寫採用非同步模式,建議設定合理的輪詢間隔(如 2~5 秒),避免頻繁查詢消耗配額。如需突破 20–100 QPS 查詢上限,可改用事件回調通知,詳見高並發情境:使用回調替代輪詢。
- 錯誤處理:實現完善的重試機制;網路逾時或服務端臨時錯誤(5xx)按指數退避策略重試。
- 降噪處理:雜訊較大的音頻建議先用 FFmpeg 等工具預先處理後再提交識別。
- 模型選擇:根據音頻時間長度選擇合適的模型。5 分鐘以內的短音頻使用Qwen3-ASR-Flash,超過 5 分鐘的長音頻使用 Qwen-Audio-3.0-ASR-Flash-Filetrans、Fun-ASR 或Qwen3-ASR-Flash-Filetrans。
支援的模型與地區
- 新加坡
- 美國(維吉尼亞)
- 華北2(北京)
- Qwen-Audio-3.0-ASR-Flash-Filetrans:qwen-audio-3.0-asr-flash-filetrans
- Qwen-Audio-3.0-ASR-Flash:qwen-audio-3.0-asr-flash
- Fun-ASR:fun-asr(穩定版,當前等同fun-asr-2025-11-07)、fun-asr-2025-11-07(快照版)、fun-asr-2025-08-25(快照版)、fun-asr-mtl(穩定版,當前等同fun-asr-mtl-2025-08-25)、fun-asr-mtl-2025-08-25(快照版)
- Fun-ASR-Flash:fun-asr-flash-2026-06-15
- Qwen3-ASR-Flash-Filetrans:qwen3-asr-flash-filetrans(穩定版,當前等同qwen3-asr-flash-filetrans-2025-11-17)、qwen3-asr-flash-filetrans-2025-11-17(快照版)
- Qwen3-ASR-Flash:qwen3-asr-flash(穩定版,當前等同qwen3-asr-flash-2025-09-08)、qwen3-asr-flash-2026-02-10(最新快照版)、qwen3-asr-flash-2025-09-08(快照版)
API參考
- 非即時語音辨識-Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR API參考
- 非即時語音辨識-Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash API參考
- 非即時語音辨識-Qwen-ASR API參考
- 非即時語音辨識-Paraformer API參考
常見問題
Q:如何為API提供公網可訪問的音頻URL?
推薦使用阿里雲Object Storage Service,它提供了高可用、高可靠的儲存服務,並且可以方便地產生公網訪問URL。
在公網環境下驗證產生的 URL 可正常訪問:可在瀏覽器或通過 curl 命令訪問該 URL,確保音頻檔案能夠成功下載或播放(HTTP狀態代碼為200)。
Q:如何檢查音頻格式是否符合要求?
可以使用開源工具ffprobe快速擷取音訊詳細資料:
Q:如何處理音頻以滿足模型要求?
可以使用開源工具FFmpeg對音頻進行裁剪或格式轉換:
- 音頻裁剪:從長音頻中截取片段
- 格式轉換 例如,將任意音頻轉換為16kHz、16-bit、單聲道WAV檔案
Q:如何提升識別準確率?
以下因素影響識別準確率,請逐項排查並針對性最佳化。
主要影響因素:
- 聲音品質:錄音裝置品質、採樣率及環境雜訊直接影響音頻清晰度,高品質音頻輸入是準確識別的基礎
- 說話人特徵:音調、語速、口音和方言差異(尤其少見方言或重口音)增加識別難度
- 語言和詞彙:多語言混合、專業術語或俚語增加識別難度,可通過配置熱詞最佳化特定領域術語的準確率
- 最佳化音頻品質:使用高效能麥克風,按推薦採樣率錄音,盡量減少環境雜訊與回聲
- 適配說話人:對於口音較重或方言明顯的音頻,選用支援對應方言的模型
- 配置熱詞:為專業術語、專有名詞等設定熱詞