日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

pocketSphinx Android 离线语音识别

發布時間:2023/12/14 Android 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pocketSphinx Android 离线语音识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前幾天有個朋友找到我說是否有非第三方(訊飛、百度)的語音識別方案,之前對這塊的了解是語音識別基本都是調用這種第三方的方案。聽完之后,谷歌發下有兩種方案。

調用Android本地

具體就是使用原生的SpeechRecognizer來調用,但是這種目前的國內環境是需要修改的,但是不能保證修改后各個機型是否能夠使用,按照這種方法,試了在小米手機上,基本是無法識別的,具體可以看下這篇文章的介紹:
https://juejin.cn/post/6844903861405089799

使用開源的pocketSphinx方案

在github上發現pocketSphinx可以滿足目前的要求,開源地址 : https://github.com/cmusphinx/pocketsphinx

由于是在android 設備上運行的,所以可以直接使用Android開源方案:
https://github.com/cmusphinx/pocketsphinx-android

按照這個教程添加依賴庫

dependencies {implementation 'edu.cmu.pocketsphinx.android:pocketsphinx-android:5prealpha@aar' }dependencies {compile (name:'pocketsphinx-android-debug', ext:'aar') }repositories {flatDir {dirs 'libs'} }

或者也可以參考github上給出的 Android demo
https://github.com/cmusphinx/pocketsphinx-android-demo

由于是使用離線的方案,所以需要我們先訓練好字典的模型,生成需要的語音模型,訪問這個網址 http://www.speech.cs.cmu.edu/tools/lmtool-new.html點擊選擇文件,選擇剛才編寫的命令集文件 command.txt,然后點擊COMPILE KNOWLEDGE BASE按鈕就可以生成語言模型,如圖:

這里生成了好幾個文件,我們可以把整個 .tgz 文件下載下來解壓縮,其中得到的 .lm 文件就是我們需要的語言模型。

語言模型在這一步已經完成了,接下來需要添加字典模型,在這個網址下載我們需要的模型:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/Mandarin/
解壓后,里面有一個.dic文件,然后參考這個 .dic 文件的格式,在上一步獲取到的 .lm 語言模型文件中還有一個 .dic 文件,補充完整這個 .dic 文件的發音,如圖所示:

字典模型就這樣完成了,接下來添加 聲學模型

同樣是在資源網盤的 Mandarin 文件夾下,下載 .tar.bz2 的壓縮文件解壓后,得到如下聲學模型文件:

按照一般的流程,到這里,再根據文檔,就可以完成了,但是在開發的過程中 發現按照以上方法,運行都是報錯的。
目前官網的字典模型是

該版本是比較新的,另外訓練好的語音模型,在官網的demo版本中沒有看到是在那個地方加載,基于這兩個疑問,試了很多次,發現都不知道怎么解決,后面看到一個 pocketSphinx 舊的版本的使用方法,https://blog.csdn.net/Crystal_xing/article/details/84957466

按照這個教程和對應的開源代碼:
發現里面有使用到 .lm 文件的訓練好的模型,然后根據上面提到的,訓練了對應的關鍵字語音模型,發現還是無法識別,最后通過反復對比,發現是使用的字典模型版本不一致導致的。

于是使用了 PocketSphinx 0.7 https://sourceforge.net/projects/cmusphinx/files/pocketsphinx/0.7/ 版本的字典模型,解壓后在pocketsphinx-0.7\model\lm\zh_CN/mandarin_notone.dic 去找實際的拼音,然后運行發現能夠正常的識別出來,完美解決了。

總結

以上是生活随笔為你收集整理的pocketSphinx Android 离线语音识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。