5 款不錯的開源語音識別/語音文字轉換系統
語音文字轉換 (STT)系統就像它名字所蘊含的意思那樣,是一種將說出的單詞轉換為文本文件以供後續用途的方式。
語音文字轉換技術非常有用。它可以用到許多應用中,例如自動轉錄,使用自己的聲音寫書籍或文本,用生成的文本文件和其他工具做複雜的分析等。
在過去,語音文字轉換技術以專有軟體和庫為主導,要麼沒有開源替代品,要麼有著嚴格的限制,也沒有社區。這一點正在發生改變,當今有許多開源語音文字轉換工具和庫可以讓你隨時使用。
這裡我列出了 5 個。
開源語音識別庫
DeepSpeech 項目
![](/data/attachment/album/201906/22/020634a9mxmrc8t8c5xdmt.png "5 Good Open Source Speech Recognition/Speech-to-Text Systems 16 open source speech recognition")
該項目由 Firefox 瀏覽器的開發組織 Mozilla 團隊開發。它是 100% 的自由開源軟體,其名字暗示使用了 TensorFlow 機器學習框架實現去功能。
換句話說,你可以用它訓練自己的模型獲得更好的效果,甚至可以用它來轉換其它的語言。你也可以輕鬆的將它集成到自己的 Tensorflow 機器學習項目中。可惜的是項目當前默認僅支持英語。
它也支持許多編程語言,例如 Python(3.6)。可以讓你在數秒之內完成工作:
pip3 install deepspeech
deepspeech --model models/output_graph.pbmm --alphabet models/alphabet.txt --lm models/lm.binary --trie models/trie --audio my_audio_file.wav
你也可以通過 npm
安裝它:
npm install deepspeech
Kaldi
![](/data/attachment/album/201906/22/020635sy16ij2gcxsyyyjo.png "5 Good Open Source Speech Recognition/Speech-to-Text Systems 18 open source speech recognition")
Kaldi 是一個用 C++ 編寫的開源語音識別軟體,並且在 Apache 公共許可證下發布。它可以運行在 Windows、macOS 和 Linux 上。它的開發始於 2009。
Kaldi 超過其他語音識別軟體的主要特點是可擴展和模塊化。社區提供了大量的可以用來完成你的任務的第三方模塊。Kaldi 也支持深度神經網路,並且在它的網站上提供了出色的文檔。
雖然代碼主要由 C++ 完成,但它通過 Bash 和 Python 腳本進行了封裝。因此,如果你僅僅想使用基本的語音到文字轉換功能,你就會發現通過 Python 或 Bash 能夠輕易的實現。
Julius
![](/data/attachment/album/201906/22/020639lmhy99t1jtsrj7qz.png "5 Good Open Source Speech Recognition/Speech-to-Text Systems 20 open source speech recognition")
它可能是有史以來最古老的語音識別軟體之一。它的開發始於 1991 年的京都大學,之後在 2005 年將所有權轉移到了一個獨立的項目組。
Julius 的主要特點包括了執行實時 STT 的能力,低內存佔用(20000 單詞少於 64 MB),能夠輸出 最優詞 和 詞圖 ,能夠作為伺服器單元運行等等。這款軟體主要為學術和研究所設計。由 C 語言寫成,並且可以運行在 Linux、Windows、macOS 甚至 Android(在智能手機上)。
它當前僅支持英語和日語。軟體應該能夠從 Linux 發行版的倉庫中輕鬆安裝。只要在軟體包管理器中搜索 julius 即可。最新的版本發布於本文發布前大約一個半月之前。
Wav2Letter++
![](/data/attachment/album/201906/22/020641f2mh558u8y5mu82h.png "5 Good Open Source Speech Recognition/Speech-to-Text Systems 22 open source speech recognition")
如果你在尋找一個更加時髦的,那麼這款一定適合。Wav2Letter++ 是一款由 Facebook 的 AI 研究團隊於 2 個月之前發布的開源語言識別軟體。代碼在 BSD 許可證下發布。
Facebook 描述它的庫是「最快、 最先進 的語音識別系統」。構建它時的理念使其默認針對性能進行了優化。Facebook 最新的機器學習庫 FlashLight 也被用作 Wav2Letter++ 的底層核心。
Wav2Letter++ 需要你先為所描述的語言建立一個模型來訓練演算法。沒有任何一種語言(包括英語)的預訓練模型,它僅僅是個機器學習驅動的文本語音轉換工具,它用 C++ 寫成,因此被命名為 Wav2Letter++。
DeepSpeech2
![](/data/attachment/album/201906/22/020643yd07u90qzbphdpdp.png "5 Good Open Source Speech Recognition/Speech-to-Text Systems 24 open source speech recognition")
中國軟體巨頭百度的研究人員也在開發他們自己的語音文字轉換引擎,叫做「DeepSpeech2」。它是一個端對端的開源引擎,使用「PaddlePaddle」深度學習框架進行英語或漢語的文字轉換。代碼在 BSD 許可證下發布。
該引擎可以在你想用的任何模型和任何語言上訓練。模型並未隨代碼一同發布。你要像其他軟體那樣自己建立模型。DeepSpeech2 的源代碼由 Python 寫成,如果你使用過就會非常容易上手。
總結
語音識別領域仍然主要由專有軟體巨頭所佔據,比如 Google 和 IBM(它們為此提供了閉源商業服務),但是開源同類軟體很有前途。這 5 款開源語音識別引擎應當能夠幫助你構建應用,隨著時間推移,它們會不斷地發展。在幾年之後,我們希望開源成為這些技術中的常態,就像其他行業那樣。
如果你對清單有其他的建議或評論,我們很樂意在下面聽到。
via: https://fosspost.org/lists/open-source-speech-recognition-speech-to-text
作者:Simon James 選題:lujun9972 譯者:LuuMing 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive