如今,通過(guò)蘋(píng)果Siri和Google Now這樣的工具,我們可以通過(guò)聲音控制智能手機(jī),完全不用觸摸手機(jī)就可以搜索網(wǎng)頁(yè)、獲取簡(jiǎn)單問(wèn)題的答案以及更新在線日歷。至少在某些時(shí)候,這些工具還是能達(dá)到廣告中宣傳的效果。但是在使用臺(tái)式電腦時(shí),語(yǔ)音控制仍然遙不可及。
現(xiàn)在很多計(jì)算機(jī)內(nèi)置了語(yǔ)音識(shí)別軟件,可以讓用戶控制一些操作,但是Zachary Pomerantz的目標(biāo)不止如此,通過(guò)一項(xiàng)名為JuliusJS(一個(gè)幫助軟件開(kāi)發(fā)者打造用于網(wǎng)頁(yè)瀏覽器的語(yǔ)音控制應(yīng)用程序的工具)的開(kāi)源項(xiàng)目,他希望形成一個(gè)適用于臺(tái)式電腦的Siri等應(yīng)用程序的全新潮流。
如今,當(dāng)開(kāi)發(fā)者向網(wǎng)頁(yè)應(yīng)用程序添加語(yǔ)音控制時(shí),很少有能做到這一點(diǎn)的好辦法。現(xiàn)代的瀏覽器內(nèi)置了部分語(yǔ)音控制工具,但它們總是依賴某種遠(yuǎn)程服務(wù)(比如由Google Now的服務(wù)),在一個(gè)遠(yuǎn)程服務(wù)器上進(jìn)行基礎(chǔ)語(yǔ)音處理,這涉及到整個(gè)網(wǎng)絡(luò)的流媒體語(yǔ)音,經(jīng)常會(huì)降慢處理速度。
JuliusJS能解決這個(gè)問(wèn)題,它是一個(gè)在瀏覽器內(nèi)運(yùn)行的代碼庫(kù),使用的是常見(jiàn)的網(wǎng)頁(yè)標(biāo)準(zhǔn),幾乎可以在任何一臺(tái)機(jī)器上運(yùn)作。使用這個(gè)代碼庫(kù),開(kāi)發(fā)者可以打造從網(wǎng)站導(dǎo)航及將語(yǔ)音控制添加到游戲中的工具,還能做一些沒(méi)人想過(guò)的事情。
Pomerantz是編程學(xué)校Hack Reactor的“專職黑客”,他是在今年早些時(shí)候嘗試語(yǔ)音控制軟件時(shí)萌生了這個(gè)想法。“我想改進(jìn)語(yǔ)音識(shí)別的狀況,并了解它如何工作,”他說(shuō)道。他正嘗試創(chuàng)建一個(gè)簡(jiǎn)單的程序,可以聽(tīng)到特定的關(guān)鍵詞并忽略其他輸入,就像Google Now一樣,你說(shuō)出“OK Google”時(shí)它才會(huì)活躍起來(lái)。這個(gè)概念被稱為“關(guān)鍵字定位”。
他遇到的問(wèn)題是,需要遠(yuǎn)程語(yǔ)音服務(wù)的工具往往會(huì)過(guò)快地陷入困境。他真正需要的是一種完全在瀏覽器內(nèi)進(jìn)行語(yǔ)音處理的方法,而不需要通過(guò)互聯(lián)網(wǎng)發(fā)送音頻。所以,他決定修改一個(gè)現(xiàn)有的開(kāi)源語(yǔ)音平臺(tái)Julius,將其從C編程語(yǔ)言轉(zhuǎn)為JavaScript(網(wǎng)頁(yè)瀏覽器的通用語(yǔ)言),而沒(méi)有創(chuàng)建一個(gè)關(guān)鍵字定位系統(tǒng)。要做到這一點(diǎn),Pomerantz使用了另一個(gè)名為Emscripten的開(kāi)源軟件自動(dòng)翻譯大部分的原始代碼,然后,他寫(xiě)了一些額外的代碼,以確保網(wǎng)頁(yè)和該平臺(tái)能很好地配合。
到目前為止,JuliusJS只能識(shí)別樣本字典內(nèi)的一些詞語(yǔ)。程序員如果想要更多,他們就必須擴(kuò)大軟件的詞匯。但這是一個(gè)開(kāi)源項(xiàng)目,還會(huì)繼續(xù)生長(zhǎng)。