5 款不錯的開源語音識別/語音文字轉換系統

Simon James發表於2019-06-22

語音文字轉換speech-to-text(STT)系統就像它名字所蘊含的意思那樣,是一種將說出的單詞轉換為文字檔案以供後續用途的方式。

語音文字轉換技術非常有用。它可以用到許多應用中,例如自動轉錄,使用自己的聲音寫書籍或文字,用生成的文字檔案和其他工具做複雜的分析等。

在過去,語音文字轉換技術以專有軟體和庫為主導,要麼沒有開源替代品,要麼有著嚴格的限制,也沒有社群。這一點正在發生改變,當今有許多開源語音文字轉換工具和庫可以讓你隨時使用。

這裡我列出了 5 個。

開源語音識別庫

DeepSpeech 專案

5 Good Open Source Speech Recognition/Speech-to-Text Systems 15 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

5 Good Open Source Speech Recognition/Speech-to-Text Systems 17 open source speech recognition

Kaldi 是一個用 C++ 編寫的開源語音識別軟體,並且在 Apache 公共許可證下發布。它可以執行在 Windows、macOS 和 Linux 上。它的開發始於 2009。

Kaldi 超過其他語音識別軟體的主要特點是可擴充套件和模組化。社群提供了大量的可以用來完成你的任務的第三方模組。Kaldi 也支援深度神經網路,並且在它的網站上提供了出色的文件

雖然程式碼主要由 C++ 完成,但它通過 Bash 和 Python 指令碼進行了封裝。因此,如果你僅僅想使用基本的語音到文字轉換功能,你就會發現通過 Python 或 Bash 能夠輕易的實現。

Julius

5 Good Open Source Speech Recognition/Speech-to-Text Systems 19 open source speech recognition

它可能是有史以來最古老的語音識別軟體之一。它的開發始於 1991 年的京都大學,之後在 2005 年將所有權轉移到了一個獨立的專案組。

Julius 的主要特點包括了執行實時 STT 的能力,低記憶體佔用(20000 單詞少於 64 MB),能夠輸出最優詞N-best word詞圖Word-graph,能夠作為伺服器單元執行等等。這款軟體主要為學術和研究所設計。由 C 語言寫成,並且可以執行在 Linux、Windows、macOS 甚至 Android(在智慧手機上)。

它當前僅支援英語和日語。軟體應該能夠從 Linux 發行版的倉庫中輕鬆安裝。只要在軟體包管理器中搜尋 julius 即可。最新的版本釋出於本文釋出前大約一個半月之前。

Wav2Letter++

5 Good Open Source Speech Recognition/Speech-to-Text Systems 21 open source speech recognition

如果你在尋找一個更加時髦的,那麼這款一定適合。Wav2Letter++ 是一款由 Facebook 的 AI 研究團隊於 2 個月之前釋出的開源語言識別軟體。程式碼在 BSD 許可證下發布。

Facebook 描述它的庫是“最快、最先進state-of-the-art的語音識別系統”。構建它時的理念使其預設針對效能進行了優化。Facebook 最新的機器學習庫 FlashLight 也被用作 Wav2Letter++ 的底層核心。

Wav2Letter++ 需要你先為所描述的語言建立一個模型來訓練演算法。沒有任何一種語言(包括英語)的預訓練模型,它僅僅是個機器學習驅動的文字語音轉換工具,它用 C++ 寫成,因此被命名為 Wav2Letter++。

DeepSpeech2

5 Good Open Source Speech Recognition/Speech-to-Text Systems 23 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出

5 款不錯的開源語音識別/語音文字轉換系統

訂閱“Linux 中國”官方小程式來檢視

相關文章