5 款不錯(cuò)的開(kāi)源語(yǔ)音識(shí)別/語(yǔ)音文字轉(zhuǎn)換系統(tǒng)
語(yǔ)音文字轉(zhuǎn)換(speech-to-text)(STT)系統(tǒng)就像它名字所蘊(yùn)含的意思那樣,是一種將說(shuō)出的單詞轉(zhuǎn)換為文本文件以供后續(xù)用途的方式。
語(yǔ)音文字轉(zhuǎn)換技術(shù)非常有用。它可以用到許多應(yīng)用中,例如自動(dòng)轉(zhuǎn)錄,使用自己的聲音寫書籍或文本,用生成的文本文件和其他工具做復(fù)雜的分析等。
在過(guò)去,語(yǔ)音文字轉(zhuǎn)換技術(shù)以專有軟件和庫(kù)為主導(dǎo),要么沒(méi)有開(kāi)源替代品,要么有著嚴(yán)格的限制,也沒(méi)有社區(qū)。這一點(diǎn)正在發(fā)生改變,當(dāng)今有許多開(kāi)源語(yǔ)音文字轉(zhuǎn)換工具和庫(kù)可以讓你隨時(shí)使用。
這里我列出了 5 個(gè)。
開(kāi)源語(yǔ)音識(shí)別庫(kù)
DeepSpeech 項(xiàng)目
5 Good Open Source Speech Recognition/Speech-to-Text Systems 16 open source speech recognition
該項(xiàng)目由 Firefox 瀏覽器的開(kāi)發(fā)組織 Mozilla 團(tuán)隊(duì)開(kāi)發(fā)。它是 100% 的自由開(kāi)源軟件,其名字暗示使用了 TensorFlow 機(jī)器學(xué)習(xí)框架實(shí)現(xiàn)去功能。
換句話說(shuō),你可以用它訓(xùn)練自己的模型獲得更好的效果,甚至可以用它來(lái)轉(zhuǎn)換其它的語(yǔ)言。你也可以輕松的將它集成到自己的 Tensorflow 機(jī)器學(xué)習(xí)項(xiàng)目中??上У氖琼?xiàng)目當(dāng)前默認(rèn)僅支持英語(yǔ)。
它也支持許多編程語(yǔ)言,例如 Python(3.6)。可以讓你在數(shù)秒之內(nèi)完成工作:
- 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
你也可以通過(guò) npm 安裝它:
- npm install deepspeech
- 項(xiàng)目主頁(yè)
Kaldi

5 Good Open Source Speech Recognition/Speech-to-Text Systems 18 open source speech recognition
Kaldi 是一個(gè)用 C++ 編寫的開(kāi)源語(yǔ)音識(shí)別軟件,并且在 Apache 公共許可證下發(fā)布。它可以運(yùn)行在 Windows、macOS 和 Linux 上。它的開(kāi)發(fā)始于 2009。
Kaldi 超過(guò)其他語(yǔ)音識(shí)別軟件的主要特點(diǎn)是可擴(kuò)展和模塊化。社區(qū)提供了大量的可以用來(lái)完成你的任務(wù)的第三方模塊。Kaldi 也支持深度神經(jīng)網(wǎng)絡(luò),并且在它的網(wǎng)站上提供了 出色的文檔 。
雖然代碼主要由 C++ 完成,但它通過(guò) Bash 和 Python 腳本進(jìn)行了封裝。因此,如果你僅僅想使用基本的語(yǔ)音到文字轉(zhuǎn)換功能,你就會(huì)發(fā)現(xiàn)通過(guò) Python 或 Bash 能夠輕易的實(shí)現(xiàn)。
- 項(xiàng)目主頁(yè)
Julius

5 Good Open Source Speech Recognition/Speech-to-Text Systems 20 open source speech recognition
它可能是有史以來(lái)最古老的語(yǔ)音識(shí)別軟件之一。它的開(kāi)發(fā)始于 1991 年的京都大學(xué),之后在 2005 年將所有權(quán)轉(zhuǎn)移到了一個(gè)獨(dú)立的項(xiàng)目組。
Julius 的主要特點(diǎn)包括了執(zhí)行實(shí)時(shí) STT 的能力,低內(nèi)存占用(20000 單詞少于 64 MB),能夠輸出 ***詞(N-best word)和 詞圖(Word-graph),能夠作為服務(wù)器單元運(yùn)行等等。這款軟件主要為學(xué)術(shù)和研究所設(shè)計(jì)。由 C 語(yǔ)言寫成,并且可以運(yùn)行在 Linux、Windows、macOS 甚至 Android(在智能手機(jī)上)。
它當(dāng)前僅支持英語(yǔ)和日語(yǔ)。軟件應(yīng)該能夠從 Linux 發(fā)行版的倉(cāng)庫(kù)中輕松安裝。只要在軟件包管理器中搜索 julius 即可。***的版本 發(fā)布 于本文發(fā)布前大約一個(gè)半月之前。
- 項(xiàng)目主頁(yè)
Wav2Letter++

5 Good Open Source Speech Recognition/Speech-to-Text Systems 22 open source speech recognition
如果你在尋找一個(gè)更加時(shí)髦的,那么這款一定適合。Wav2Letter++ 是一款由 Facebook 的 AI 研究團(tuán)隊(duì)于 2 個(gè)月之前發(fā)布的開(kāi)源語(yǔ)言識(shí)別軟件。代碼在 BSD 許可證下發(fā)布。
Facebook 描述它的庫(kù)是“最快、 ***進(jìn)(state-of-the-art)的語(yǔ)音識(shí)別系統(tǒng)”。構(gòu)建它時(shí)的理念使其默認(rèn)針對(duì)性能進(jìn)行了優(yōu)化。Facebook ***的機(jī)器學(xué)習(xí)庫(kù) FlashLight 也被用作 Wav2Letter++ 的底層核心。
Wav2Letter++ 需要你先為所描述的語(yǔ)言建立一個(gè)模型來(lái)訓(xùn)練算法。沒(méi)有任何一種語(yǔ)言(包括英語(yǔ))的預(yù)訓(xùn)練模型,它僅僅是個(gè)機(jī)器學(xué)習(xí)驅(qū)動(dòng)的文本語(yǔ)音轉(zhuǎn)換工具,它用 C++ 寫成,因此被命名為 Wav2Letter++。
- 項(xiàng)目主頁(yè)
DeepSpeech2

5 Good Open Source Speech Recognition/Speech-to-Text Systems 24 open source speech recognition
中國(guó)軟件巨頭百度的研究人員也在開(kāi)發(fā)他們自己的語(yǔ)音文字轉(zhuǎn)換引擎,叫做“DeepSpeech2”。它是一個(gè)端對(duì)端的開(kāi)源引擎,使用“PaddlePaddle”深度學(xué)習(xí)框架進(jìn)行英語(yǔ)或漢語(yǔ)的文字轉(zhuǎn)換。代碼在 BSD 許可證下發(fā)布。
該引擎可以在你想用的任何模型和任何語(yǔ)言上訓(xùn)練。模型并未隨代碼一同發(fā)布。你要像其他軟件那樣自己建立模型。DeepSpeech2 的源代碼由 Python 寫成,如果你使用過(guò)就會(huì)非常容易上手。
- 項(xiàng)目主頁(yè)
總結(jié)
語(yǔ)音識(shí)別領(lǐng)域仍然主要由專有軟件巨頭所占據(jù),比如 Google 和 IBM(它們?yōu)榇颂峁┝碎]源商業(yè)服務(wù)),但是開(kāi)源同類軟件很有前途。這 5 款開(kāi)源語(yǔ)音識(shí)別引擎應(yīng)當(dāng)能夠幫助你構(gòu)建應(yīng)用,隨著時(shí)間推移,它們會(huì)不斷地發(fā)展。在幾年之后,我們希望開(kāi)源成為這些技術(shù)中的常態(tài),就像其他行業(yè)那樣。
如果你對(duì)清單有其他的建議或評(píng)論,我們很樂(lè)意在下面聽(tīng)到。