語音交互學(xué)習(xí)

幾個(gè)常見的語音交互平臺(tái)的簡(jiǎn)介和比較

2018年07月12日 11:38:19?青龍戰(zhàn)?閱讀數(shù):577

1.概述

最近做了兩個(gè)與語音識(shí)別相關(guān)的項(xiàng)目,兩個(gè)項(xiàng)目的主要任務(wù)雖然都是語音識(shí)別,或者更確切的說是關(guān)鍵字識(shí)別,但開發(fā)的平臺(tái)不同, 一個(gè)是windows下的,另一個(gè)是android平臺(tái)的,于是也就選用了不同的語音識(shí)別平臺(tái),前者選的是微軟的Speech API開發(fā)的,后者則選用 的是CMU的pocketsphinx,本文主要將一些常見的語音交互平臺(tái)進(jìn)行簡(jiǎn)單的介紹和對(duì)比。

這里所說的語音交互包含語音識(shí)別(Speech Recognition,SR,也稱為自動(dòng)語音識(shí)別,Automatic Speech Recognition,ASR)和語音 合成(Speech Synthesis,SS,也稱為Text-To-Speech,簡(jiǎn)記為TTS)兩種技術(shù),另外還會(huì)提到聲紋識(shí)別(Voice Print Recognition, 簡(jiǎn)記為VPR)技術(shù)。

語音識(shí)別技術(shù)是將計(jì)算機(jī)接收、識(shí)別和理解語音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本文件或者命令的技術(shù)。它是一門涉及到語音語言學(xué)、信號(hào)處理、 模式識(shí)別、概率論和信息論、發(fā)聲機(jī)理和聽覺機(jī)理、人工智能的交叉學(xué)科。在語音識(shí)別系統(tǒng)的幫助下,即使用戶不懂電腦或者無法使用 電腦,都可以通過語音識(shí)別系統(tǒng)對(duì)電腦進(jìn)行操作。

語音合成,又稱文語轉(zhuǎn)換(Text to Speech)技術(shù),能將任意文字信息實(shí)時(shí)轉(zhuǎn)化為標(biāo)準(zhǔn)流暢的語音朗讀出來,相當(dāng)于給機(jī)器裝上了人工 嘴巴。它涉及聲學(xué)、語言學(xué)、數(shù)字信號(hào)處理、計(jì)算機(jī)科學(xué)等多個(gè)學(xué)科技術(shù),是中文信息處理領(lǐng)域的一項(xiàng)前沿技術(shù),解決的主要問題就是如何 將文字信息轉(zhuǎn)化為可聽的聲音信息,也即讓機(jī)器像人一樣開口說話。

下面按平臺(tái)是否開源來介紹幾種常見的語音交互平臺(tái),關(guān)于語音識(shí)別和語音合成技術(shù)的相關(guān)原理請(qǐng)參見我接下來的其他文章。

2.商業(yè)化的語音交互平臺(tái)

1)微軟Speech API

微軟的Speech API(簡(jiǎn)稱為SAPI)是微軟推出的包含語音識(shí)別(SR)和語音合成(SS)引擎的應(yīng)用編程接口(API),在Windows下應(yīng)用 廣泛。目前,微軟已發(fā)布了多個(gè)SAPI版本(最新的是SAPI 5.4版),這些版本要么作為于Speech SDK開發(fā)包發(fā)布,要么直接被包含在windows 操作系統(tǒng)中發(fā)布。SAPI支持多種語言的識(shí)別和朗讀,包括英文、中文、日文等。SAPI的版本分為兩個(gè)家族,1-4為一個(gè)家族,這四個(gè)版本彼此 相似,只是稍微添加了一些新的功能;第二個(gè)家族是SAPI5,這個(gè)系列的版本是全新的,與前四個(gè)版本截然不同。

最早的SAPI 1.0于1995年發(fā)布,支持Windows 95和Windows NT 3.51。這個(gè)版本的SAPI包含比較初級(jí)的直接語音識(shí)別和直接語音合成的API, 應(yīng)用程序可以直接控制識(shí)別或合成引擎,并簡(jiǎn)化更高層次的語音命令和語音通話的API。SAPI3.0于97年發(fā)布,它添加了聽寫語音識(shí)別(非連續(xù) 語音識(shí)別)和一些應(yīng)用程序?qū)嵗?8年微軟發(fā)布了SAPI4.0,這個(gè)版本不僅包含了核心的COM API,用C++類封裝,使得用C++來編程更容易, 而且還有ActiveX控件,這個(gè)控件可以再VB中拖放。這個(gè)版本的SS引擎隨Windows2000一起發(fā)布,而SR引擎和SS引擎又一起以SDK的形式發(fā)布。

SAPI5.0 于2000年發(fā)布,新的版本將嚴(yán)格將應(yīng)用與引擎分離的理念體現(xiàn)得更為充分,所有的調(diào)用都是通過動(dòng)態(tài)調(diào)用sapi.dll來實(shí)現(xiàn)的, 這樣做的目的是使得API更為引擎獨(dú)立化,防止應(yīng)用依賴于某個(gè)具有特定特征的引擎,這種改變也意圖通過將一些配置和初始化的代碼放 到運(yùn)行時(shí)來使得應(yīng)用程序的開發(fā)更為容易。

2).IBM viaVoice

IBM是較早開始語音識(shí)別方面的研究的機(jī)構(gòu)之一,早在20世紀(jì)50年代末期,IBM就開始了語音識(shí)別的研究,計(jì)算機(jī)被設(shè)計(jì)用來檢測(cè)特定的語言 模式并得出聲音和它對(duì)應(yīng)的文字之間的統(tǒng)計(jì)相關(guān)性。在1964年的世界博覽會(huì)上,IBM向世人展示了數(shù)字語音識(shí)別的“shoe box recognizer”。 1984年,IBM發(fā)布的語音識(shí)別系統(tǒng)在5000個(gè)詞匯量級(jí)上達(dá)到了95%的識(shí)別率。

1992年,IBM引入了它的第一個(gè)聽寫系統(tǒng),稱為“IBM Speech Server Series (ISSS)”。1996年發(fā)布了新版的聽寫系統(tǒng),成為“VoiceType3.0”, 這是viaVoice的原型,這個(gè)版本的語音識(shí)別系統(tǒng)不需要訓(xùn)練,可以實(shí)現(xiàn)孤立單詞的聽寫和連續(xù)命令的識(shí)別。VoiceType3.0支持Windows95系統(tǒng), 并被集成到了OS/2 WARP系統(tǒng)之中。與此同時(shí),IBM還發(fā)布了世界上首個(gè)連續(xù)聽寫系統(tǒng)“MedSpeak Radiology”。最后,IBM及時(shí)的在假日購物季節(jié) 發(fā)布了大眾化的實(shí)用的“VoiceType Simply Speaking”系統(tǒng),它是世界上首個(gè)消費(fèi)版的聽寫產(chǎn)品(the world’s first consumer dictation product).

1999年,IBM發(fā)布了VoiceType的一個(gè)免費(fèi)版。2003年,IBM授權(quán)ScanSoft公司擁有基于ViaVoice的桌面產(chǎn)品的全球獨(dú)家經(jīng)銷權(quán),而ScanSoft公司 擁有頗具競(jìng)爭(zhēng)力的產(chǎn)品“Dragon NaturallySpeaking”。兩年后,ScanSoft與Nuance合并,并宣布公司正式更名為Nuance Communications,Inc。 現(xiàn)在很難找到IBM viaVoice SDK的下載地址了,它已淡出人們的視線,取而代之的是Nuance。

3)Nuance

Nuance通訊是一家跨國計(jì)算機(jī)軟件技術(shù)公司,總部設(shè)在美國馬薩諸塞州伯靈頓,主要提供語音和圖像方面的解決方案和應(yīng)用。目前的業(yè)務(wù)集中 在服務(wù)器和嵌入式語音識(shí)別,電話轉(zhuǎn)向系統(tǒng),自動(dòng)電話目錄服務(wù),醫(yī)療轉(zhuǎn)錄軟件與系統(tǒng),光學(xué)字符識(shí)別軟件,和臺(tái)式機(jī)的成像軟件等。

Nuance語音技術(shù)除了語音識(shí)別技術(shù)外,還包擴(kuò)語音合成、聲紋識(shí)別等技術(shù)。世界語音技術(shù)市場(chǎng),有超過80%的語音識(shí)別是采用Nuance識(shí)別引擎技術(shù), 其名下有超過1000個(gè)專利技術(shù),公司研發(fā)的語音產(chǎn)品可以支持超過50種語言,在全球擁有超過20億用戶。據(jù)傳,蘋果的iPhone 4S的Siri語音識(shí)別中 應(yīng)用了Nuance的語音識(shí)別服務(wù)。另外,據(jù)Nuance公司宣布的重磅消息,其汽車級(jí)龍驅(qū)動(dòng)器Dragon Drive將在新奧迪A3上提供一個(gè)免提通訊接口, 可以實(shí)現(xiàn)信息的聽說獲取和傳遞。

Nuance Voice Platform(NVP)是Nuance公司推出的語音互聯(lián)網(wǎng)平臺(tái)。Nuance公司的NVP平臺(tái)由三個(gè)功能塊組成:Nuance Conversation Server 對(duì)話服務(wù)器,Nuance Application Environment (NAE)應(yīng)用環(huán)境及Nuance Management Station管理站。Nuance Conversation Server對(duì)話服務(wù) 器包括了與Nuance語音識(shí)別模塊集成在一起的VoiceXML解釋器,文語轉(zhuǎn)換器(TTS)以及聲紋鑒別軟件。NAE應(yīng)用環(huán)境包括繪圖式的開發(fā)工具, 使得語音應(yīng)用的設(shè)計(jì)變得和應(yīng)用框架的設(shè)計(jì)一樣便利。Nuance Management Station管理站提供了非常強(qiáng)大的系統(tǒng)管理和分析能力,它們是為了 滿足語音服務(wù)的獨(dú)特需要而設(shè)計(jì)的。

4)科大訊飛——訊飛語音

提到科大訊飛,大家都不陌生,其全稱是“安徽科大訊飛信息科技股份有限公司”,它的前身是安徽中科大訊飛信息科技有限公司,成立于99 年12月,07年變更為安徽科大訊飛信息科技股份有限公司,現(xiàn)在是一家專業(yè)從事智能語音及語音技術(shù)研究、軟件及芯片產(chǎn)品開發(fā)、語音信息服務(wù) 的企業(yè),在中國語音技術(shù)領(lǐng)域可謂獨(dú)占鰲頭,在世界范圍內(nèi)也具有相當(dāng)?shù)挠绊懥Α?/p>

科大訊飛作為中國最大的智能語音技術(shù)提供商,在智能語音技術(shù)領(lǐng)域有著長期的研究積累,并在中文語音合成、語音識(shí)別、口語評(píng)測(cè)等多項(xiàng) 技術(shù)上擁有國際領(lǐng)先的成果。03年,科大訊飛獲迄今中國語音產(chǎn)業(yè)唯一的“國家科技進(jìn)步獎(jiǎng)(二等)”,05年獲中國信息產(chǎn)業(yè)自主創(chuàng)新最高榮譽(yù) “信息產(chǎn)業(yè)重大技術(shù)發(fā)明獎(jiǎng)”。06年至11年,連續(xù)六屆英文語音合成國際大賽(Blizzard Challenge)榮獲第一名。08年獲國際說話人識(shí)別評(píng)測(cè) 大賽(美國國家標(biāo)準(zhǔn)技術(shù)研究院—NIST 2008)桂冠,09年獲得國際語種識(shí)別評(píng)測(cè)大賽(NIST 2009)高難度混淆方言測(cè)試指標(biāo)冠軍、通用測(cè)試 指標(biāo)亞軍。

科大訊飛提供語音識(shí)別、語音合成、聲紋識(shí)別等全方位的語音交互平臺(tái)。擁有自主知識(shí)產(chǎn)權(quán)的智能語音技術(shù),科大訊飛已推出從大型電信級(jí) 應(yīng)用到小型嵌入式應(yīng)用,從電信、金融等行業(yè)到企業(yè)和家庭用戶,從PC到手機(jī)到MP3/MP4/PMP和玩具,能夠滿足不同應(yīng)用環(huán)境的多種產(chǎn)品,科大 訊飛占有中文語音技術(shù)市場(chǎng)60%以上市場(chǎng)份額,語音合成產(chǎn)品市場(chǎng)份額達(dá)到70%以上。

5)其他

其他的影響力較大商用語音交互平臺(tái)有谷歌的語音搜索(Google Voice Search),百度和搜狗的語音輸入法等等,這些平臺(tái)相對(duì)于以上的4個(gè) 語音交互平臺(tái),應(yīng)用范圍相對(duì)較為局限,影響力也沒有那么強(qiáng),這里就不詳細(xì)介紹了。

3.開源的語音交互平臺(tái)

1)CMU-Sphinx

CMU-Sphinx也簡(jiǎn)稱為Sphinx(獅身人面像),是卡內(nèi)基 - 梅隆大學(xué)( Carnegie Mellon University,CMU)開發(fā)的一款開源的語音識(shí)別系統(tǒng), 它包括一系列的語音識(shí)別器和聲學(xué)模型訓(xùn)練工具。

Sphinx有多個(gè)版本,其中Sphinx1~3是C語言版本的,而Sphinx4是Java版的,另外還有針對(duì)嵌入式設(shè)備的精簡(jiǎn)優(yōu)化版PocketSphinx。Sphinx-I 由李開復(fù)(Kai-Fu Lee)于1987年左右開發(fā),使用了固定的HMM模型(含3個(gè)大小為256的codebook),它被號(hào)稱為第一個(gè)高性能的連續(xù)語音識(shí)別 系統(tǒng)(在Resource Management數(shù)據(jù)庫上準(zhǔn)確率達(dá)到了90%+)。Sphinx-II由Xuedong Huang于1992年左右開發(fā),使用了半連續(xù)的HMM模型, 其HMM模型是一個(gè)包含了5個(gè)狀態(tài)的拓?fù)浣Y(jié)構(gòu),并使用了N-gram的語言模型,使用了Fast lextree作為實(shí)時(shí)的解碼器,在WSJ數(shù)據(jù)集上的識(shí)別率 也達(dá)到了90%+。

Sphinx-III主要由Eric Thayer 和Mosur Ravishankar于1996年左右開發(fā),使用了完全連續(xù)的(也支持半連續(xù)的)HMM模型,具有靈活 的feature vector和靈活的HMM拓?fù)浣Y(jié)構(gòu),包含可選的兩種解碼器:較慢的Flat search和較快的Lextree search。該版本在BN(98的測(cè)評(píng)數(shù)據(jù) 集)上的WER(word error ratio)為19%。Sphinx-III的最初版還有很多l(xiāng)imitations,諸如只支持三音素文本、只支持Ngram模型(不 支持CFG/FSA/SCFG)、對(duì)所有的sound unit其HMM拓?fù)浣Y(jié)構(gòu)都是相同的、聲學(xué)模型也是uniform的。Sphinx-III的最新版是09年初發(fā)布的0.8版, 在這些方面有很多的改進(jìn)。

最新的Sphinx語音識(shí)別系統(tǒng)包含如下軟件包:

Pocketsphinx — recognizer library written in C.

Sphinxbase — support library required by Pocketsphinx

Sphinx4 — adjustable, modifiable recognizer written in Java

CMUclmtk — language model tools

Sphinxtrain — acoustic model training tools

這些軟件包的可執(zhí)行文件和源代碼在sourceforge上都可以免費(fèi)下載得到。

2)HTK

HTK是Hidden Markov Model Toolkit(隱馬爾科夫模型工具包)的簡(jiǎn)稱,HTK主要用于語音識(shí)別研究,現(xiàn)在已經(jīng)被用于很多其他方面的研究, 包括語音合成、字符識(shí)別和DNA測(cè)序等。

HTK最初是由劍橋大學(xué)工程學(xué)院(Cambridge University Engineering Department ,CUED)的機(jī)器智能實(shí)驗(yàn)室(前語音視覺及機(jī)器人組) 于1989年開發(fā)的,它被用來構(gòu)建CUED的大詞匯量的語音識(shí)別系統(tǒng)。93年Entropic Research Laboratory Inc.獲得了出售HTK的權(quán)利,并在95年 全部轉(zhuǎn)讓給了剛成立的Entropic Cambridge Research Laboratory Ltd,Entropic一直銷售著HTK,直到99年微軟收購了Entropic,微軟重新 將HTK的版權(quán)授予CUED,并給CUED提供支持,這樣CUED重新發(fā)布了HTK,并在網(wǎng)絡(luò)上提供開發(fā)支持。

HTK的最新版本是09年發(fā)布的3.4.1版,關(guān)于HTK的實(shí)現(xiàn)原理和各個(gè)工具的使用方法可以參看HTK的文檔HTKBook。

3)Julius

Julius是一個(gè)高性能、雙通道的大詞匯量連續(xù)語音識(shí)別(large vocabulary continues speech recognition,LVCSR)的開源項(xiàng)目, 適合于廣大的研究人員和開發(fā)人員。它使用3-gram及上下文相關(guān)的HMM,在當(dāng)前的PC機(jī)上能夠?qū)崿F(xiàn)實(shí)時(shí)的語音識(shí)別,單詞量達(dá)到60k個(gè)。

Julius整合了主要的搜索算法,高度的模塊化使得它的結(jié)構(gòu)模型更加獨(dú)立,它同時(shí)支持多種HMM模型(如shared-state triphones 和 tied-mixture models等),支持多種麥克風(fēng)通道,支持多種模型和結(jié)構(gòu)的組合。它采用標(biāo)準(zhǔn)的格式,這使得和其他工具箱交叉使用變得 更容易。它主要支持的平臺(tái)包括Linux和其他類Unix系統(tǒng),也適用于Windows。它是開源的,并使用BSD許可協(xié)議。

自97年后,Julius作為日本LVCSR研究的一個(gè)自由軟件工具包的一部分而延續(xù)下來,后在2000年轉(zhuǎn)由日本連續(xù)語音識(shí)別聯(lián)盟(CSRC)經(jīng)營。 從3.4版起,引入了被稱為“Julian”的基于語法的識(shí)別解析器,Julian是一個(gè)改自Julius的以手工設(shè)計(jì)的DFA作為語言模型的版本,它可以 用來構(gòu)建小詞匯量的命令識(shí)別系統(tǒng)或語音對(duì)話系統(tǒng)。

4)RWTH ASR

該工具箱包含最新的自動(dòng)語音識(shí)別技術(shù)的算法實(shí)現(xiàn),它由 RWTH Aachen 大學(xué)的Human Language Technology and Pattern Recognition Group 開發(fā)。

RWTH ASR工具箱包括聲學(xué)模型的構(gòu)建、解析器等重要部分,還包括說話人自適應(yīng)組件、說話人自適應(yīng)訓(xùn)練組件、非監(jiān)督訓(xùn)練組件、個(gè)性化 訓(xùn)練和單詞詞根處理組件等,它支持Linux和Mac OS等操作系統(tǒng),其項(xiàng)目網(wǎng)站上有比較全面的文檔和實(shí)例,還提供了現(xiàn)成的用于研究目的的 模型等。

該工具箱遵從一種從QPL發(fā)展而來的開源協(xié)議,只允許用于非商業(yè)用途。

5)其他

上面提到的開源工具箱主要都是用于語音識(shí)別的,其他的開源語音識(shí)別項(xiàng)目還有Kaldi 、simon 、iATROS-speech 、SHoUT 、 Zanzibar OpenIVR 等。

常見的語音合成的開源工具箱有MARY、SpeakRight、Festival 、FreeTTS 、Festvox 、eSpeak 、Flite 等。

常見的聲紋識(shí)別的開源工具箱有Alize、openVP等。

4.小結(jié)

本文介紹了幾種常見的語音交互平臺(tái),主要是語音識(shí)別、語音合成的軟件或工具包,還順便提到了聲紋識(shí)別的內(nèi)容, 下面做一個(gè)簡(jiǎn)單的總結(jié):

參考文獻(xiàn)

[1]語音識(shí)別-維基百科:http://zh.wikipedia.org/wiki/語音識(shí)別

[2]語音合成-百度百科:http://baike.baidu.com/view/549184.htm

[3] Microsoft Speech API:http://en.wikipedia.org/wiki/Speech_Application_Programming_Interface#SAPI_1

[4] MSDN-SAPI:http://msdn.microsoft.com/zh-cn/library/ms723627.aspx

[5] 微軟語音技術(shù) Windows 語音編程初步:http://blog.csdn.net/yincheng01/article/details/3511525

[6]IBM Human Language Technologies History:http://www.research.ibm.com/hlt/html/history.html

[7] Nuance: http://en.wikipedia.org/wiki/Nuance_Communications

[8] 科大訊飛:http://baike.baidu.com/view/362434.htm

[9] CMU-Sphinx: http://en.wikipedia.org/wiki/CMU_Sphinx

[10] CMU Sphinx homepage:http://cmusphinx.sourceforge.net/wiki/

[11] HTK Toolkit:http://htk.eng.cam.ac.uk/

[12] Julius:http://en.wikipedia.org/wiki/Julius_(software)

[13] RWTH ASR:http://en.wikipedia.org/wiki/RWTH_ASR

[14] List of speech recognition software: http://en.wikipedia.org/wiki/List_of_speech_recognition_software

[15] Speech recognition: http://en.wikipedia.org/wiki/Speech_recognition

[16] Speech synthesis: http://en.wikipedia.org/wiki/Speech_synthesis

[17] Speaker recognition: http://en.wikipedia.org/wiki/Speaker_recognition

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容