語音轉文本ASR工具合集彙總過幾個ASR項目或模型,本文繼續彙總,並做簡單介紹和部分初步實戰。
注:缺乏深入實戰,和問題記錄,請勿噴。
Omnilingual ASR
論文,項目首頁,Meta開源(GitHub,2.4K Star,207 Fork),支持1600種語言,其中超過500種語言是首次被任何ASR系統覆蓋。
ASR系統面臨的根本困境是數據稀缺性悖論:英語、中文等主流語言擁有海量訓練數據,模型性能不斷提升;而低資源語言卻陷入"數據貧瘠→模型失效→更少人使用"的死亡螺旋。7B-LLM-ASR系統在1600多種語言上實現最先進的性能,78%的語言字符錯誤率(CER)低於10。
傳統方法如Whisper Large和MMS,雖然在高資源語言上表現優異,但遇到低資源語言時就會出現嚴重問題:大量“空白轉錄”(直接輸出空文本)、跨語言混淆(將一種語言誤識別為另一種)、以及無法處理的語音變異。技術侷限本質上源於傳統架構的固定輸出空間設計——模型只能處理訓練時見過的有限語言集合。擴展新語言意味着從頭收集數萬小時數據、重新訓練整個模型,成本高達數百萬美元。
技術突破
- 數據:構建史上最大低資源語言語音庫
Meta與全球社區合作,通過與Mozilla Foundation的Common Voice、Lanfrica/NaijaVoices等組織合作,直接與當地社區合作,收集350種傳統ASR從未見過的語言數據。Omnilingual ASR Corpus的語料庫,是目前最大的低資源語言語音數據集。
- 雙解碼器
- 擴展的wav2vec 2.0:將自監督學習預訓練擴展到70億參數,學習到極其魯棒的語音表徵能力。這種大規模預訓練讓模型能夠捕捉到跨語言的共性特徵。
- 雙解碼器體系:創新性地結合CTC解碼器和LLM式Transformer解碼器。CTC解碼器負責處理語音到文本的對齊問題,而LLM風格的解碼器則引入了類似大語言模型的上下文學習能力。
- 上下文學習:模型可以通過少量示例學習全新的語言,實現真正的“零樣本”泛化能力。實現零樣本學習:模型套件可以通過上下文學習教授新語言。
利用自監督學習和少樣本學習技術,極大降低訓練數據的需求。
模型家族:
|
模型類型
|
參數量
|
適用場景
|
相對速度
|
|
omniASR-CTC-300M
|
3.25億
|
移動設備、邊緣計算
|
96倍
|
|
omniASR-CTC-7B
|
65億
|
服務器端高精度識別
|
16倍
|
|
omniASR-LLM-7B
|
78億
|
零樣本學習、新語言擴展
|
基準速度
|
對於訓練時完全未見過的語言,Omnilingual ASR通過其上下文學習能力,僅需5-10個示例就能實現可用的識別精度,而傳統方法則需要成千上萬的標註樣本。
pip install omnilingual-asr
uv add omnilingual-asr
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")
audio_files = ["/path/to/audio1.flac", "/path/to/audio2.wav"]
lang = ["eng_Latn", "deu_Latn"] # 指定語言代碼
transcriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)
languagecode_script格式
數據集
pip install "omnilingual-asr[data]"
from datasets import load_dataset
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline
omni_dataset = load_dataset("facebook/omnilingual-asr-corpus", "lij_Latn", split="train", streaming=True)
VoiceCraft
論文,開源(GitHub,8.4K Star,799 Fork)AI驅動的語音處理平台,提供ASR、TTS等能力,項目主頁。
ASR居然不支持麥克風,需上傳音頻文件?
TTS,可通過手動輸入文本或上傳TXT文件來生成語音,支持多種聲音選擇(性別、音色和風格)。
Handy
官網,開源(GitHub,7.9K Star,520 Fork)本地語音轉文字引擎工具,不是語音輸入法,基於OpenAI Whisper和Parakeet V3,完全離線、不聯網、不上傳、不偷數據。
技術棧:
- Silero VAD過濾靜音,只説有效內容
- Whisper模型(小/中/Turbo/大),支持GPU加速
- Parakeet V3,CPU優化,自動語言檢測,中文識別準確率吊打國內輸入法
|
平台
|
支持情況
|
|
Windows
|
x64,支持NVIDIA、Intel、AMD GPU加速
|
|
MacOS
|
Intel+Apple Silicon全支持,M1/M2識別速度飛快
|
|
Linux
|
Ubuntu 22.04/24.04測試通過,支持Vulkan加速
|
|
模型
|
優點
|
缺點
|
適合人羣
|
|
Whisper Small
|
速度快,中文準
|
複雜術語略差
|
日常辦公、寫日報
|
|
Whisper Medium
|
準確率提升
|
佔用1.5GB內存
|
寫文檔、寫技術文章
|
|
Whisper Turbo
|
速度+準確率平衡
|
模型大
|
GPU設備
|
|
Parakeet V3
|
CPU優化,自動語言檢測
|
英文更強
|
老電腦、低功耗設備
|
實戰
模型選擇
設置如下
高級設置
問題
使用Parakeet模型時,説中文,不支持識別(識別為英文):
下載Whisper Small成功,
本地存儲地址為:C:\Users\<username>\AppData\Roaming\com.pais.handy
切換到此模型,應用閃退??打開Windows任務管理器,查看進程使用
技巧:説Let’s go自動切英文,説我們開始自動切中文。
FireRedASR
論文,開源(GitHub,1.6K Star,149 Fork)。
Smart Turn
開源(GitHub,1.1K Star,63 Fork)語義VAD(Voice Activity Detection,語音活動檢測)模型,目前支持語言包括阿拉伯語、孟加拉語、中文等23種。
開源模型:
- v3
最新v3.1版本的兩個改進:
- 新增三家數據合作伙伴提供的真實人聲數據集,英語識別準確率從88.3%提升到95.6%:
- Liva AI:專注不同情緒狀態下的對話轉折
- Midcentury:提供12種語言的跨文化對話樣本
- MundoAI:採集16種語言的方言變體
- 首次推出32MB未量化版本,在NVIDIA L40S上推理僅需2毫秒
訓練數據組成,80%是TTS生成,另外20%是上述三家機構提供的真實人聲;團隊發現真實人聲中那些真實的微妙的呼吸聲、語氣詞等"噪聲",恰恰是判斷説話狀態的關鍵。而這個發現將如何準確判斷用户是否説完這個決策過程壓縮到12毫秒,相比之下其他OCR模型要0.5-1秒才能判斷。
CPU環境,模型文件僅8.68M,建議設置兩個環境變量,可減少線程競爭帶來的性能損耗:
OMP_NUM_THREADS=1
OMP_WAIT_POLICY="PASSIVE"
GPU環境,模型文件僅32.4 MB。
WEST
技術報告,WE Speech Toolkit縮寫,開源(GitHub,153 Star)語音工具箱,以LLM為核心,打通語音識別、合成、理解、對話全流程。通過Sequence Packing技術,WEST在處理1w條語音時,比傳統靜態批處理快2.4倍,GPU利用率提升至73.87%,兼顧效率與穩定性。
關鍵特性
- LLM驅動:充分複用成熟的技術生態,讓語音任務與LLM生態無縫銜接,降低技術遷移成本:
- 兼容HuggingFace等平台開源模型,如LLaMA、QWen、Mistral;
- 採用Sequence Packing、Flash Attention等LLM訓練技術,大幅提升訓練效率;
- 統一數據格式:受文本LLM訓練範式的啓發,語音大模型的訓練通常分為兩個階段:預訓練和微調。預訓練階段通常利用大規模數據集,微調階段採用較小規模高質量數據集。為了支持上述兩個訓練階段並考慮數據存儲和讀取效率,設計兩種數據格式:
- 預訓練數據格式:此數據包含語音和可選文本標籤,且數據量較大,一般為百萬級,支持tar、JSON兩種格式。
- 微調數據格式:使用
role-content格式,方便支持多輪微調訓練,對於語音理解、對話和多輪交互等任務至關重要。
- 全任務覆蓋:支持識別、合成、理解、對話任務,具有可擴展性:
- TouchASU:由語音編碼器、投影儀和LLM組成。用於支持語音識別、語音理解和語音問答任務;
- TouchTTS:由TouchTTS、TouchFlow、聲碼器三部分組成。TouchTTS負責文本到語音token建模,TouchFlow將語音token轉化為梅爾譜特徵,然後聲碼器將其轉換為音頻
- TouchChat:參考Qwen2.5-omni設計,由TouchASU和TouchTTS組成,TouchASU負責理解語音,TouchTTS負責生成語音回覆。
- 可擴展性:支持適配開源模型,目前已支持OSUM-echat;用户也能基於基礎組件自定義模型。
Kroko ASR
官網,專為邊緣計算場景設計的開源(GitHub,115 Star,9 Fork)ASR模型,模型權重託管在HF,官方文檔。支持集成FreeSwitch、Asterisk、FreePBX等電話系統平台。
特性:
- CPU優化:可在單個CPU核心上實現極快的轉錄速度,可處理8-10個併發流,顯著降低硬件成本和能耗;
- 邊緣設備部署:模型體積小巧(約70MB),可直接在用户本地設備、移動應用或瀏覽器中運行,非常適合需要離線或本地處理的應用場景;
- Whisper、Parakeet級別的準確性:基於CC-BY模型構建,專為實時電話通信而調整;
- 集成簡單:直接在撥號方案中使用
kroko_transcribe或通過API使用uuid_kroko_transcribe; - 低延遲串流:支持實時音頻流處理,能提供即時響應的語音轉文字體驗,適用於語音助手、實時客服輔助和會議記錄等需要即時反饋的場景;
- 注重隱私:由於數據在本地處理(本地部署或設備端處理),敏感語音數據不會上傳到雲端服務器,提供更高的數據隱私保護和合規性;
- 開源與商業結合:核心引擎是完全開源的,提供社區版(免費用於非商業用途)和付費的專業版模型,用户可以根據項目需求選擇最合適的方案。
拓展
FreeSwitch
英文官網,中文官網,開源(GitHub,4.5K Star,1.7K Fork)跨平台電話軟交換平台,提供高擴展性和靈活性的實時音視頻通信(VoIP)、多媒體路由、即時消息和會議功能,支持SIP及WebRTC等多種通信協議,可用於構建PBX(Private Branch Exchange,電話交換機)、軟交換、語音網關等,廣泛應用於呼叫中心、電信應用及各種通信解決方案中。
核心特點
- 開源與跨平台:基於C/C++開發,在多種操作系統上運行
- 協議支持:支持SIP、H.323、IAX2、WebRTC等
- 功能豐富:包括呼叫控制、語音/視頻會議、IVR(交互式語音應答)、錄音、傳真(T.38)等
- 高擴展性:模塊化設計,易於集成第三方庫,通過API進行擴展
- 靈活部署:可作為獨立的軟交換機、PBX、媒體網關或核心引擎
主要用途
- 企業PBX:構建功能強大的內部電話系統
- 呼叫中心:實現智能路由、IVR、錄音等
- 電信網關:連接不同通信協議的設備
- 多媒體應用:支持音視頻通信和會議系統
Asterisk
官網,開源(GitHub,2.9K Star,1.2K Fork)基於計算機的PBX系統,可將普通電腦變成功能強大的通信服務器,為小型企業、呼叫中心和運營商提供支持,用於構建IP PBX、VoIP網關等。
FreePBX
官網,開源基於Web的IP PBX系統管理平台,建立在Asterisk軟交換框架之上,提供圖形化界面,讓用户能夠簡單方便地配置和管理一個功能齊全的電話系統,實現企業通信功能,如分機、呼叫路由、IVR、語音郵件、呼叫錄音等,是企業級通信解決方案,具有高度靈活性和可定製性。
主要功能
- 分機管理:創建、管理內部分機;
- 呼叫路由:靈活設置呼入和呼出呼叫的走向;
- 交互式語音應答:IVR,自動語音導航菜單,如按1轉接XX部門;
- 呼叫排隊/振鈴組:用於呼叫中心或客服團隊;
- 語音郵件:Voicemail,語音留言功能;
- 呼叫錄音:記錄通話內容;
- 模塊化:可按需添加額外功能模塊,擴展系統能力。
優勢
- 開源免費:基礎功能免費,降低部署成本;
- 靈活性高:高度可定製,適應不同規模企業的需求;
- 功能強大:提供傳統電話系統所有功能,並有更多增值功能;
- 易於使用:Web界面簡化配置和管理,降低技術門檻。
推薦閲讀
- Smart Turn v3.1實戰入門