做完本地語(yǔ)音識(shí)別后予弧,就開(kāi)始研究語(yǔ)音評(píng)測(cè),這方面的資料也是不全桌肴,所以進(jìn)度也搞慢了一點(diǎn)。最近也算是做出了一點(diǎn)成果水醋,效果也不錯(cuò)彪置,所以想著跟大家分享一下拄踪。
首先還得感謝https://github.com/tbright17/kaldi-dnn-ali-gop開(kāi)源項(xiàng)目,我基于這個(gè)項(xiàng)目做了一些改進(jìn)拳魁,得到的效果也非常好。我只是參考了該項(xiàng)目中計(jì)算gop的部分潘懊,其他腳本的部分,我是用一個(gè)c++文件實(shí)現(xiàn)的救恨,跟腳本掉用的那些c++命令無(wú)關(guān)。剛開(kāi)始我也考慮過(guò)將make_mfcc.sh
腳本中特征提取的c++進(jìn)行改造肠槽,發(fā)現(xiàn)并不可取奢啥,下面會(huì)說(shuō)到不可取的原因。測(cè)試也是基于iOS平臺(tái)桩盲,demo后續(xù)也會(huì)給出。
不知道該作者是不是漏掉了哪部分正驻,還是說(shuō)中間哪個(gè)環(huán)節(jié)沒(méi)有寫(xiě)出來(lái)抢腐,用腳本跑出來(lái)結(jié)果是不對(duì)的襟交,我用自己的方法跑出來(lái)的跟預(yù)想的幾乎一樣,準(zhǔn)確度挺高捣域。
我這邊提取特征和ivector特征都不是用的make_mfcc.sh
,extract_ivectors_online.sh
提取特征的,我是用的一種在線特征管道
的方式獲取的特征和ivector特征迹鹅,直接拿到這些特征去計(jì)算gop。我對(duì)比了一下make_mfcc.sh
和在線特征管道
獲取的特征斜棚,差別挺大的该窗,最終計(jì)算出的結(jié)果make_mfcc.sh
也是不對(duì)的,所以我懷疑酗失,計(jì)算gop用腳本獲取特征的方式是不是有問(wèn)題,當(dāng)然這是我個(gè)人猜測(cè)规肴。
測(cè)試效果:
- 單詞
- 正常讀單詞,每個(gè)因素給的準(zhǔn)確度高
- 讀的時(shí)候拖長(zhǎng)單詞中某個(gè)音節(jié)删壮,計(jì)算結(jié)果兑牡,拖長(zhǎng)的因素準(zhǔn)確度比較低,其他正常因素準(zhǔn)確度高
- 讀的時(shí)候有停頓发绢,整個(gè)單詞給的準(zhǔn)確度比較低
上面對(duì)單詞評(píng)測(cè)的準(zhǔn)確度合乎評(píng)測(cè)標(biāo)準(zhǔn)垄琐。
- 句子
- 正常讀句子,每個(gè)單詞對(duì)應(yīng)的因素準(zhǔn)確度高
- 在給出的評(píng)測(cè)文本中狸窘,前中后插入其他單詞,評(píng)測(cè)結(jié)果中氓涣,未讀的單詞對(duì)應(yīng)的因素準(zhǔn)確度比較低,其他單詞對(duì)應(yīng)的因素準(zhǔn)確度高
- 給定評(píng)測(cè)文本劳吠,在讀的音頻中故意添加其他單詞的讀音,評(píng)測(cè)結(jié)果中痒玩,給定的評(píng)測(cè)結(jié)果所有因素準(zhǔn)確度高
結(jié)論:不管是在給定的評(píng)測(cè)文本中插入其他單詞還是在讀的音頻中插入其他單詞的讀音(文本或者音頻順序不變)都能很好的給出對(duì)應(yīng)的評(píng)測(cè)結(jié)果。
以上是對(duì)語(yǔ)音評(píng)測(cè)準(zhǔn)備度的一個(gè)評(píng)測(cè)結(jié)果奴曙,效果基本合乎常理草讶,接下來(lái)我也會(huì)說(shuō)說(shuō)gop整個(gè)的實(shí)現(xiàn)過(guò)程。
當(dāng)然我現(xiàn)在也只是有了語(yǔ)音評(píng)測(cè)的準(zhǔn)確度堕战,語(yǔ)音評(píng)測(cè)最終的好壞還是要多個(gè)維度來(lái)評(píng)價(jià),比如践啄,完整度,流利度等昭灵,后續(xù)也會(huì)把這些實(shí)現(xiàn)的過(guò)程跟大家分享一下。同時(shí)也跟大家分享一些gop優(yōu)化的東西烂完,比如诵棵,怎么做到,音頻傳輸完成立即返回評(píng)測(cè)結(jié)果履澳,提高實(shí)時(shí)性。