Silicon Valley Data Science曾對5種流行的語音識別工具,包括開源的和非開源的,分別從編程語言、開發(fā)工作、教學(xué)案例、社區(qū)、訓(xùn)練模型等進行了橫向?qū)Ρ取?nbsp;
開源免費語音識別工具包橫向?qū)Ρ?/p>
可以看到,CMU Sphinx在各方面均具有一定的優(yōu)勢:
關(guān)于編程語言,CMU Sphinx包含了Java、C、Python等多種語言的支持;關(guān)于開發(fā)工作,CMU Sphinx在Github上多種語言版本完全開源;
關(guān)于社區(qū)建設(shè),CMU Sphinx在它的repos 上有在線交流論壇和積極關(guān)注;
關(guān)于編程和案例,CMU Sphinx的教程非常具有可讀性,易于學(xué)習(xí);
關(guān)于模型訓(xùn)練,CMU Sphinx 包含中英文和很多即開即用的高質(zhì)量模型。
CMU Sphinx介紹
CMU Sphinx(簡稱Sphinx)是美國卡內(nèi)基梅隆大學(xué)開發(fā)的一系列語音識別系統(tǒng)的總稱,也是一個領(lǐng)先的語音識別工具包,具有用于構(gòu)建語音應(yīng)用程序的各種工具,CMU Sphinx包含許多用于不同任務(wù)和應(yīng)用程序的開發(fā)包。主要包括:
? Pocketsphinx — lightweight recognizer library written in C(C語言開發(fā)的輕量級語音識別引擎)
? Sphinxtrain — acoustic model training tools (聲學(xué)模型訓(xùn)練工具)
? Sphinxbase — support library required by Pocketsphinx andSphinxtrain(Pocketsphinx和Sphinxtrain的基礎(chǔ)類庫)
? Sphinx4 — adjustable, modifiable recognizer written in Java (Java語言開發(fā)的可調(diào)節(jié)、可修改的語音識別引擎)
CMU Sphinx包含的模型
CMU Sphinx中的模型包括聲學(xué)模型(acoustic model)、語言模型(language model)、發(fā)音字典(phonetic dictionary)。
(1)聲學(xué)模型主要用于計算語音特征和每個發(fā)音模板之間的似然度,目的是為每個聲學(xué)單元建立一套模型參數(shù),通過不斷地學(xué)習(xí)和改進得到概率最大的一組HMM模型參數(shù)。CMU Sphinx的聲學(xué)模型包含每個句子的聲學(xué)特性,存在與上下文相關(guān)的模型,其包含屬性(每個音素的最可能的特征向量)和依賴于上下文的(從具有上下文的語音建立的)屬性。
(2)語言模型定義了哪些單詞可以遵循以前識別的單詞,并通過剝離不可能的單詞來幫助限制匹配過程。最常用的語言模型是N-gram語言模型,它包含單詞序列的統(tǒng)計數(shù)據(jù)和有限狀態(tài)語言模型,通過有限狀態(tài)自動化(有時具有權(quán)重)來定義語音序列。
(3)發(fā)音字典包含了從單詞(words)到音素(phones)之間的映射,作用是用來連接聲學(xué)模型和語言模型。發(fā)音字典包含系統(tǒng)所能處理的單詞的 ** ,并標(biāo)明了其發(fā)音。通過發(fā)音字典得到聲學(xué)模型的建模單元和語言模型建模單元間的映射關(guān)系,從而把聲學(xué)模型和語言模型連接起來,組成一個搜索的狀態(tài)空間用于解碼器進行解碼工作。
CMU Sphinx中文模型
CMU Sphinx的中文模型主要有如下3個包:
聲學(xué)模型:zh_broadcastnews_16k_ptm256_8000.tar.bz2語言模型:zh_broadcastnews_ ** 000_utf8.DMP拼音字典:zh_broadcastnews_utf8.dic
zh_broadcastnews_ptm256_8000目錄結(jié)構(gòu)
├── feat.params //HMM模型的特征參數(shù)
├── mdef //模型定義文件(為每個即將進行訓(xùn)練的HMM的每一狀態(tài)定義一個獨特的數(shù)字標(biāo)識)
├── means //混合高斯模型的均值
├── mixture_weights //混合權(quán)重
├── noisedict //噪聲也就是非語音字典
├── sendump //用來從聲學(xué)模型中獲取mixture_weights文件的?
├── transition_ ** trices //HMM模型的狀態(tài)轉(zhuǎn)移矩陣
└── variances //混合高斯模型的方差
授人以漁
CMU Sphinx中包含了許多簡單易懂的案例(Demo),對語音識別感興趣的童鞋不妨一試。
CMU Sphinx主頁:https://cmusphinx.github.io/教學(xué)網(wǎng)址:https://cmusphinx.github.io/wiki/tutorial/ 模型下載地址:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/
免責(zé)聲明: 本文章轉(zhuǎn)自其它平臺,并不代表本站觀點及立場。若有侵權(quán)或異議,請聯(lián)系我們刪除。謝謝! |
微信咨詢客服