版權(quán)聲明:本文為elecdog原創(chuàng)文章,可以轉(zhuǎn)載,但必須在明確位置注明出處!謝謝合作。

關(guān)于語(yǔ)音識(shí)別,國(guó)內(nèi)已經(jīng)有比較好的公司推出相關(guān)的服務(wù)了,比如百度免費(fèi)的離在線融合語(yǔ)音識(shí)別以及訊飛收費(fèi)的在線和離線語(yǔ)音識(shí)別服務(wù)。這里不作過(guò)多介紹,需要的同學(xué)可以直接去官網(wǎng)閱讀接入文檔。這里要介紹的是一個(gè)離線語(yǔ)音識(shí)別的開(kāi)源項(xiàng)目——CMU PocketSpinnx,在安卓開(kāi)發(fā)中的使用。在智能家居 APP 開(kāi)發(fā)中常需要在沒(méi)法聯(lián)網(wǎng)的設(shè)備識(shí)別一些比較簡(jiǎn)單的命令詞,百度的離在線融合語(yǔ)音識(shí)別識(shí)別率還不錯(cuò),不過(guò)在設(shè)備連接局域網(wǎng)的情況下仍然優(yōu)先使用在線識(shí)別,導(dǎo)致識(shí)別時(shí)間太長(zhǎng)或者轉(zhuǎn)換不過(guò)來(lái),訊飛離線語(yǔ)音識(shí)別沒(méi)有使用過(guò),因?yàn)槭鞘召M(fèi)的,而且對(duì)于個(gè)人開(kāi)發(fā)者價(jià)格也不便宜,相比較之下,PocketSpinnx則是完全離線的語(yǔ)音識(shí)別,只要按照要求部署項(xiàng)目,識(shí)別率也差強(qiáng)人意。

首先我們可以通過(guò) PocketSpinnx 官網(wǎng)的介紹來(lái)了解該離線語(yǔ)音識(shí)別項(xiàng)目的工作原理,能夠加深對(duì)項(xiàng)目使用的理解。下面我們一步一步來(lái)把PocketSpinnx的離線語(yǔ)音識(shí)別功能引入到我們自己的項(xiàng)目中來(lái)。

獲取語(yǔ)言模型

首先我們需要把想要識(shí)別的命令詞編寫成命令集,打開(kāi) Sublime Text 新建 txt 文件,編碼采用 utf-8,每一行寫一個(gè)命令詞,如圖所示: