13個優(yōu)秀開源語音識別引擎
語音識別(ASR)在人機交互方面發(fā)揮著重要的作用,可用于:轉(zhuǎn)錄、翻譯、聽寫、語音合成、關(guān)鍵字定位、語音日記、語言增強等場景。語音識別基本過程一般包括:分析音頻、音頻分解、格式轉(zhuǎn)換、文本匹配,但實際的語音識別系統(tǒng)可能會更復(fù)雜,并且可能包括其他步驟和功能組件,例如:噪聲抑制、聲學(xué)模型、語言模型和置信度評估等。
多年來,語音識別技術(shù)的進步令人印象深刻,我們可以使用語音識別技術(shù)實現(xiàn)智能家居、控制汽車實現(xiàn)自動駕駛、與ChatGPT等大模型對接進行對話、智能音箱、居家機器人等等。這些年來也因為自然語言處理、語音識別等技術(shù)的發(fā)展,誕生了很多優(yōu)秀的公司,例如:訊飛**。
隨著AI技術(shù)發(fā)展,越來越多的人或組織投入到語音識別相關(guān)領(lǐng)域的研究,也促進了該領(lǐng)域的開源項目蓬勃發(fā)展。開源項目往往更加易于定制化開發(fā)、使用成本更低、透明,并且可私有化部署,數(shù)據(jù)安全可控。這使得開源語音識別引擎在應(yīng)用開發(fā)中越來越受到技術(shù)人員的青睞。
2024年已開始,AI熱度不減,以下是幾個截止目前比較優(yōu)秀的開源語音識別引擎。
1.Whisper
源碼:https://github.com/openai/whisper
官網(wǎng):https://openai.com/research/whisper
Whisper是Open AI的創(chuàng)意工具,提供了轉(zhuǎn)錄和翻譯服務(wù)。該AI工具于2022年9月發(fā)布,是最準確的自動語音識別模型之一。它從市場上的其他工具中脫穎而出,因為它訓(xùn)練了大量的訓(xùn)練數(shù)據(jù)集:來自互聯(lián)網(wǎng)的68萬小時的音頻文件。這種多樣化的數(shù)據(jù)范圍提高了該工具的魯棒性。
用Whisper進行轉(zhuǎn)錄必須先安裝Python或命令行界面。他提供了五種型號的模型,所有型號都具有不同的大小和功能。這些包括微小、基本、小型、中型和大型。模型越大,轉(zhuǎn)錄速度越快。盡管如此,你必須要有一個好的CPU和GPU設(shè)備,才能最大限度發(fā)揮它們的性能。
與精通LibriSpeech性能(最常見的語音識別基準之一)的模型相比還是有差距,但是,它的零樣本性能表現(xiàn)優(yōu)異,API的錯誤比相同的模型少50%。
優(yōu)點:
- 它支持的內(nèi)容格式,如MP3,MP4,M4A,Mpeg,MPGA,WEBM和WAV。
- 它可以轉(zhuǎn)錄99種語言,并將它們?nèi)糠g成英語。
- 該工具是免費使用的。
缺點:
- 模型越大,消耗的GPU資源就越多,這可能會很昂貴。
- 這將花費您的時間和資源來安裝和使用該工具。
- 它不提供實時語音轉(zhuǎn)錄功能。
2.Project DeepSpeech
源碼:https://github.com/mozilla/DeepSpeech
Project DeepSearch是Mozilla的一個開源語音轉(zhuǎn)文本引擎。此語音轉(zhuǎn)文本命令和庫在Mozilla公共許可證(MPL)下發(fā)布。它的模型參考的是百度深度語音研究論文,具有端到端的可訓(xùn)練性,并支持多種語言音頻轉(zhuǎn)錄。它使用Google的TensorFlow進行訓(xùn)練和實現(xiàn)。
從GitHub下載源代碼,并將其安裝到您的Python中以使用它。該工具已經(jīng)在英語模型上進行了預(yù)訓(xùn)練。但是,您仍然可以使用您的數(shù)據(jù)訓(xùn)練模型?;蛘?,您可以獲得一個預(yù)先訓(xùn)練的模型,并使用自定義數(shù)據(jù)對其進行改進。
優(yōu)點:
- DeepSpeech很容易定制,因為它是一個原生代碼解決方案。
- 它為Python、C、.Net Framework和JavaScript提供了開發(fā)包,不管哪一個開發(fā)語言,都可以使用該工具。
- 它可以在各種小設(shè)備上運行,包括Raspberry Pi設(shè)備。
- 它的每字錯誤率非常低,為7.5%。
- Mozilla對隱私問題采取了嚴肅的態(tài)度。
缺點:
- 據(jù)報道,Mozilla將終止DeepSpeech的開發(fā)。這意味著在出現(xiàn)錯誤和實現(xiàn)問題時將提供更少的支持。
3.Kaldi
源碼:https://github.com/kaldi-asr/kaldi
Kaldi是專門為語音識別的研究人員創(chuàng)建的語音識別工具。它是用C++編寫的,并在Apache 2.0許可證下發(fā)布,這是限制最少的開源許可。與Whisper和DeepSpeech等專注于深度學(xué)習(xí)的工具不同,Kaldi主要專注于使用老式可靠工具的語音識別模型。這些模型包括隱馬爾可夫模型(Hidden Markov Models)、高斯混合模型(Gaussian Mixture Models)和有限狀態(tài)傳感器(Finite State Transducers)。
優(yōu)點:
- Kaldi非常可靠。它的代碼經(jīng)過徹底驗證。
- 雖然它的重點不是深度學(xué)習(xí),但它有一些模型可以實現(xiàn)轉(zhuǎn)錄服務(wù)。
- 它非常適合學(xué)術(shù)和行業(yè)相關(guān)的研究,允許用戶測試他們的模型和技術(shù)。
- 它有一個活躍的論壇,提供適量的支持。
- 還有一些資源和文檔可以幫助用戶解決任何問題。
- 作為開源,有隱私或安全問題的用戶可以檢查代碼以了解它是如何工作的。
缺點:
- 它使用傳統(tǒng)的模型方法可能會限制其準確性水平。
- Kaldi不是用戶友好的,因為它只是在命令行界面上運行。
- 它使用起來相當(dāng)復(fù)雜,適合有技術(shù)經(jīng)驗的用戶。
- 你需要大量的計算能力來使用這個工具包。
4.SpeechBrain
源碼:https://github.com/speechbrain/speechbrain
SpeechBrain是一個用于促進語音相關(guān)技術(shù)的研究和開發(fā)的開源工具包。它支持各種任務(wù),包括:語音識別、增強、分離、說話日志和麥克風(fēng)信號處理等。Speechbrain使用PyTorch作為開發(fā)框架。開發(fā)人員和研究人員可以從Pytorch的生態(tài)系統(tǒng)和支持中受益,以構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
優(yōu)點:
- 用戶可以選擇傳統(tǒng)的或者基于深度學(xué)習(xí)的ASR模型。
- 很容易定制模型以適應(yīng)您的需求。
- 它與Pytorch的集成使其更易于使用。
- 用戶可以使用預(yù)訓(xùn)練模型來開發(fā)語音轉(zhuǎn)文本的任務(wù)。
缺點:
- SpeechBrain的文檔不像Kaldi的文檔那么廣泛。
- 它的預(yù)訓(xùn)練模型是有限的。
- 您可能需要特殊的專業(yè)知識來使用該工具。沒有它,你可能需要經(jīng)歷一個陡峭的學(xué)習(xí)曲線。
5.Coqui
源碼:https://github.com/coqui-ai/STT
Coqui是一個先進的深度學(xué)習(xí)工具包,非常適合培訓(xùn)和部署stt模型。根據(jù)Mozilla公共許可證2.0授權(quán),您可以使用它生成多個轉(zhuǎn)錄本,每個轉(zhuǎn)錄本都有一個置信度分數(shù)。它提供了預(yù)先訓(xùn)練的模型以及示例音頻文件,您可以使用這些文件來測試引擎并幫助進行進一步的微調(diào)。此外,它有非常詳細的文檔和資源,可以幫助您使用和解決任何出現(xiàn)的問題。
優(yōu)點:
- 它提供的STT模型經(jīng)過高質(zhì)量數(shù)據(jù)的高度訓(xùn)練。
- 模型支持多種語言。
- 有一個友好的支持社區(qū),您可以在那里提出問題并獲得與STT相關(guān)的任何細節(jié)。
- 它支持實時轉(zhuǎn)錄,延遲極低,以秒計。
- 開發(fā)人員可以根據(jù)各種用例自定義模型,從轉(zhuǎn)錄到充當(dāng)語音助手。
缺點:
Coqui已經(jīng)停止維護STT項目,專注于他們的文本到語音工具包。這意味著您可能需要自己解決任何問題。
6.Julius
源碼:https://github.com/julius-speech/julius
Julius是一個古老的語音轉(zhuǎn)文本項目,起源于日本,最早可以追溯到1997年。它是在BSD-3許可證下發(fā)布。它主要支持日語ASR,但作為一個獨立于語言的程序,該模型可以理解和處理多種語言,包括英語,斯洛文尼亞語,法語,泰語等。轉(zhuǎn)錄的準確性在很大程度上取決于您是否擁有正確的語言和聲學(xué)模型。該項目是用C語言編寫的,支持在Windows,Linux,Android和macOS系統(tǒng)中運行。
優(yōu)點:
- Julius可以執(zhí)行實時語音到文本的轉(zhuǎn)錄,內(nèi)存占用率低。
- 它有一個活躍的社區(qū),可以幫助解決ASR問題。
- 用英語訓(xùn)練的模型可以在網(wǎng)上下載。
- 它不需要訪問互聯(lián)網(wǎng)進行語音識別,因此適合重視隱私的用戶。
缺點:
- 像任何其他開源程序一樣,您需要具有技術(shù)經(jīng)驗的用戶才能使其工作。
- 它有一個巨大的學(xué)習(xí)曲線。
7.Flashlight ASR
源碼:https://github.com/flashlight/wav2letter
Flashlight ASR是由Facebook AI研究團隊設(shè)計的開源語音識別工具包。它擁有處理大型數(shù)據(jù)集的能力,速度和效率非常突出??梢詫⑺俣葰w功于其在語言建模、機器翻譯和語音合成中僅使用卷積神經(jīng)網(wǎng)絡(luò)。
在理想情況下,大多數(shù)語音識別引擎使用卷積和遞歸神經(jīng)網(wǎng)絡(luò)來理解和建模語言。然而,遞歸網(wǎng)絡(luò)可能需要高計算能力,從而影響引擎的速度。
Flashlight ASR使用C++編譯,支持在CPU和GPU上運行。
優(yōu)點:
- 它是最快的語音轉(zhuǎn)文本系統(tǒng)之一。
- 您可以將其用于各種語言和方言。
- 該模型不會消耗大量的GPU和CPU資源。
缺點:
- 它不提供任何預(yù)先訓(xùn)練的語言模型,包括英語。
- 你需要有深厚的編碼專業(yè)知識來操作這個工具。
- 對于新用戶來說,它有一個陡峭的學(xué)習(xí)曲線。
8.PaddleSpeech
源碼:https://github.com/PaddlePaddle/Paddle
PaddleSpeech是個開源的語音轉(zhuǎn)文本工具包,可以在Paddlepaddle平臺上使用,該工具在Apache 2.0許可下開源。PaddleSpeech是功能最多的工具包之一,能夠執(zhí)行語音識別、語音到文本轉(zhuǎn)換、關(guān)鍵字定位、翻譯和音頻分類。它的轉(zhuǎn)錄質(zhì)量非常好,贏得了NAACL2022最佳演示獎。
該語音轉(zhuǎn)文本引擎支持多種語言模型,但優(yōu)先考慮中文和英文模型。特別是中文模型,具有較為規(guī)范的文本和發(fā)音,使其適應(yīng)中文語言的規(guī)則。
優(yōu)點:
- 該工具包提供使用市場上最好的技術(shù)的高端和超輕型型號。
- 語音轉(zhuǎn)文本引擎提供了命令行和服務(wù)器選項,使其易于使用。
- 這對于開發(fā)人員和研究人員來說都是非常方便的。
- 它的源代碼是用最常用的語言之一Python編寫的。
缺點:
- 它的重點是中文資源,因此在支持其他語言方面存在一些限制。
- 它有一個陡峭的學(xué)習(xí)曲線。
- 您需要具備一定的專業(yè)知識來集成和使用該工具。
9.OpenSeq2Seq
源碼:https://github.com/NVIDIA/OpenSeq2Seq
OpenSeq2Seq正如它的名字一樣,是一個開源的語音轉(zhuǎn)文本工具包,可以幫助訓(xùn)練不同類型的序列到序列模型。該工具包由Nvidia開發(fā),在Apache 2.0許可證下發(fā)布,這意味著它對所有人都是免費的。它訓(xùn)練執(zhí)行轉(zhuǎn)錄,翻譯,自動語音識別和情感分析任務(wù)的語言模型。
可以根據(jù)自己的需求,使用默認預(yù)訓(xùn)練模型或者訓(xùn)練自己的模型。OpenSeq2Seq在使用多個顯卡和計算機時可以達到最佳性能。它在Nvidia驅(qū)動的設(shè)備上工作得最好。
優(yōu)點:
- 該工具具有多種功能,使其非常通用。
- 它可以與最新的Python,TensorFlow和CUDA版本一起使用。
- 開發(fā)人員和研究人員可以訪問該工具,進行協(xié)作并進行創(chuàng)新。
- 對使用Nvidia驅(qū)動設(shè)備的用戶有利。
缺點:
- 由于其并行處理能力,可能消耗大量的計算機資源。
- 隨著Nvidia暫停項目開發(fā),社區(qū)支持隨著時間的推移而減少。
- 對于沒有Nvidia硬件的用戶可能不是很有利。
10.Vosk
源碼:https://github.com/alphacep/vosk-api
官網(wǎng):https://alphacephei.com/vosk/
Vosk是最緊湊、最輕量級的語音轉(zhuǎn)文本引擎之一。這個開源工具包可以在多種設(shè)備上離線運行,包括:Android、iOS和Raspberry Pi。它支持20多種語言或方言,包括:英語、中文、葡萄牙語、波蘭語、德語等。
Vosk提供了小型語言模型,不占用太多空間,理想情況下,大約只有50MB。然而,一些大型模型可以占用高達1.4GB。該工具響應(yīng)速度快,可以連續(xù)將語音轉(zhuǎn)換為文本。
優(yōu)點:
- 支持各種編程語言開發(fā),如Java、Python、C++、Kotlyn和Shell等等。
- 它有各種各樣的用例,從傳輸?shù)介_發(fā)聊天機器人和虛擬助手。
- 具有快速的響應(yīng)時間。
缺點:
- 引擎的準確性可能會因語言和口音而出現(xiàn)差異。
- 您需要開發(fā)專業(yè)知識來集成、使用該工具。
11.Athena
源碼:https://github.com/athena-team/athena
Athena是一個基于序列到序列的語音轉(zhuǎn)文本開源引擎,在Apache 2.0開源許可下發(fā)布。該工具包適合研究人員和開發(fā)人員的端到端語音處理需求。模型可以處理的任務(wù)包括:自動語音識別(ASR)、語音合成、語音檢測和關(guān)鍵字定位等。所有語言模型都基于TensorFlow實現(xiàn),使更多開發(fā)人員可以訪問該工具包。
優(yōu)點:
- Athena用途廣泛,從轉(zhuǎn)錄服務(wù)到語音合成。
- 它不依賴于Kaldi,因為它有自己的Python特征提取器。
- 該工具維護良好,并且定期更新。
- 它是開源的,免費使用,可供各種用戶使用。
Cons缺點:
- 它對新用戶有比較陡峭的學(xué)習(xí)曲線。
- 雖然它有一個WeChat群組來提供社區(qū)支持,但它將訪問權(quán)限限制為只有那些可以訪問該平臺的人。
12.ESPnet
源碼:https://github.com/espnet/espnet
ESPnet是一個基于Apache 2.0許可證發(fā)布的開源語音轉(zhuǎn)文本軟件,它提供端到端語音處理功能,涵蓋了ASR、翻譯、語音合成、增強和日志化等任務(wù)。該工具包采用Pytorch作為其深度學(xué)習(xí)框架,并遵循Kaldi數(shù)據(jù)處理風(fēng)格。因此,您可以獲得各種語言處理任務(wù)的全面配方。該工具支持多語言??梢詫⑵渑c現(xiàn)成的預(yù)訓(xùn)練模型一起使用,或根據(jù)需求創(chuàng)建自己的模型。
優(yōu)點:
- 與其他語音轉(zhuǎn)文本軟件相比,該工具包具備出色的性能。
- 它可以實時處理音頻,使其適合現(xiàn)場語音轉(zhuǎn)錄。
- 適合研究人員和開發(fā)人員使用。
- 它是提供各種語音處理任務(wù)的最通用工具之一。
缺點:
- 對于新用戶來說,集成和使用它可能很復(fù)雜。
- 您必須熟悉Pytorch和Python才能運行該工具包。
13.Tensorflow ASR
源碼:https://github.com/TensorSpeech/TensorFlowASR
Tensorflow ASR是一個使用Tensorflow 2.0作為深度學(xué)習(xí)框架來實現(xiàn)各種語音處理的語音轉(zhuǎn)文本開源引擎。這個項目在Apache 2.0許可下發(fā)布。
Tensorflow最大優(yōu)勢是其準確率,作者聲稱它幾乎是一個“最先進”的模型。它也是維護最好的工具之一,定期更新以改進其功能。例如,該工具包現(xiàn)在還支持在TPU(一種特殊硬件)上進行語言培訓(xùn)。
Tensorflow還支持使用特定的模型,如:Conformer、ContextNet、DeepSpeech2和Jasper??梢愿鶕?jù)要處理的任務(wù)進行選擇。例如,對于一般任務(wù)可以考慮DeepSpeech2,但對于精度有較高要求的則使用Conformer。
優(yōu)點:
- 在處理語音轉(zhuǎn)文本時,語言模型具備較高準確性和效率。
- 可以將模型轉(zhuǎn)換為TFlite格式,使其輕量且易于部署。
- 它可以提供各種語音到文本相關(guān)的任務(wù)。
- 它支持多種語言,并提供預(yù)先訓(xùn)練的英語、越南語、德語等語言模型。
缺點:
- 對于初學(xué)者來說,安裝過程可能相當(dāng)復(fù)雜。用戶需要具備一定的專業(yè)知識。
- 使用高級模型有一個比較陡峭的學(xué)習(xí)曲線。
- TPU不允許測試,限制了工具的功能。
選型
以上推薦的開源語音識別引擎各有優(yōu)缺點。如何選擇,取決于具體應(yīng)用需求和可用資源。
如果您需要一個兼容各種設(shè)備的輕量級工具包,那么Vosk 以及 Julius比較合適。因為它們可以在Android、iOS、Raspberry Pi上運行,并且還不會占用太多資源。
如果您需要自己訓(xùn)練模型,可以使用Whisper、OpenSeq2Seq、Flashlight ASR或者Athena等工具包。