最近因學習任務,對語音識別需要了解,所以現在就把一些學習過程遇到的問題解決方法分享給大家。首先pyhon提供了許多語音識別庫,大致包含:
上述語音識別軟件庫各個之間的側重點不同,如:谷歌雲語音側重語音向文本轉換,又如wit與apiai還提供超出基本語音識別的內置功能(識別講話者意圖的自然語言處理功能)。由於我僅僅是做簡單的中文語音識別,所以使用的是SpeechRcognition這個語音識別庫。
SpeechRcognition的特點優勢
- 滿足幾種主流語音 API ,靈活性高;
- Google Web Speech API 支持硬編碼到 SpeechRecognition 庫中的默認 API 密鑰,無需注冊就可用;
- SpeechRecognition無需構建訪問麥克風和從頭開始處理音頻文件的腳本, 只需幾分鍾即可自動完成音頻輸入、檢索並運行。因此易用性很高。
怎么使用SpeechRcognition?
安裝SpeechRcognition
下載地址:https://pypi.org/project/SpeechRecognition/
安裝命令: pip install SpeechRcognition
不過僅僅安裝這個是不夠的,還需要安裝對應需要的資源庫,如下圖:
SpeechRcognition的識別類(器)
Python開發案例
以上七個中只有 recognition_sphinx()可與CMU Sphinx 引擎脫機工作, 其他六個都需要連接互聯網。另外,SpeechRecognition 附帶 Google Web Speech API 的默認 API 密鑰,可直接使用它。其他六個 API 都需要使用 API 密鑰或用戶名/密碼組合進行身份驗證。
下面進行中文語音識別
我在這里使用的是recognize_sphinx()語音識別器,它可以脫機工作,但是必須安裝pocketsphinx庫(詳細安裝過程見https://blog.csdn.net/zouxy09/article/details/7942784),若要進行中文識別,還需要兩樣東西
- 一、語音文件 (SpeechRecognition對文件格式有要求)
- 二、中文聲學模型、語言模型和字典文件
下面進行詳細描述
SpeechRecognition支持語音文件類型
WAV: 必須是 PCM/LPCM 格式
AIFF
AIFF-C
FLAC: 必須是初始 FLAC 格式;OGG-FLAC 格式不可用
pocketsphinx需要安裝的中文語言、聲學模型
下載地址:http://sourceforge.net/projects/cmusphinx/files/Acoustic and Language Models/
安裝步驟
下載cmusphinx-zh-cn-5.2.tar.gz並解壓
在python安裝目錄下找到Lib\site-packages\speech_recognition
點擊進入pocketsphinx-data文件夾,並新建文件夾zh-CN
在這個文件夾中添加進入剛剛解壓的文件,需要注意:把解壓出來的zh_cn.cd_cont_5000文件夾重命名為acoustic-model、zh_cn.lm.bin命名為language-model.lm.bin、zh_cn.dic中dic改為dict格式
用聲音控制Windows程序
開發案例