人工智能這么火爆的時代,近來正好有時間就想研究以下智能語音這塊的內容,雖然感覺自帶的模塊應該識別不太准確,不然就不會有百度的padder,google的tensorflow等框架,但是路要一步步走,飯也要一步步吃,初學的時候總要各種嘗試一下。以下內容是我最近兩天的嘗試結果。
環境win10,python3.7
先說說speech,這個賊簡單
pip install speech
目前我使用的是這個:recognize_sphinx,因為
以上七個中只有 recognition_sphinx()可與CMU Sphinx 引擎脫機工作, 其他六個都需要連接互聯網。
SpeechRecognition 附帶 Google Web Speech API 的默認 API 密鑰,可直接使用它。其他六個 API 都需要使用 API 密鑰或用戶名/密碼組合進行身份驗證,因此本文使用了 Web Speech API。
安裝之后就可以讓他說話了,在import speech的時候,會出現一些環境的配置,我這邊是win10的系統,就會出現語音識別的相關設置,按照提示操作即可。
import speech #這邊三行是自己會說話 speech.say("小王王 你好呀") speech.say("hello world") speech.say("要開始啦") #這邊是進行對話 while True: print(u"開始說話") say = speech.input() # 接收語音 speech.say("you said:" + say) # 說話 print(u"說話結束") if say == "你好": speech.say("How are you?") elif say == "天氣": speech.say("今天天氣棒棒棒!") elif say == "小王王": speech.say("小王王 棒棒棒") elif say == "小麗平": speech.say("小麗平 六六六") else: speech.say("對不起 我不知道你說什么")
運行完,以上程序,我發現它總是不知道我在說啥,於是回復我-->對不起 我不知道你說什么,就一個你好回答對了,不過還是要嘗試一下。
然后我就想說可不可以自己錄一個音頻,實現識別的效果,於是發現speech_recognition這個庫,也是很簡單直接安裝一下,但是需要安裝別的包。
pip install speech_recognition -i https://mirror.baidu.com/pypi/simple
然后這個還需要pocketsphinx這個庫,於是win10安裝一直報錯,我就干脆直接下載wheel的輪子,去這個網站https://www.lfd.uci.edu/~gohlke/pythonlibs/#pocketsphinx,搜索pocketsphinx,下載對應的版本到本地即可,然后直接pip install 你下載的.wheel就可以啦
相關錄音代碼識別
# -*- coding: utf-8 -*- import speech_recognition as sr AUDIO_FILE = "11.wav" r = sr.Recognizer() with sr.AudioFile(AUDIO_FILE) as source: audio = r.record(source) # read the entire audio file res = r.recognize_sphinx(audio) res1 = res.split(" ") # for each in res1: print(" ".join(res1))
運行結果:(其實我說的是你好你好 運動 生活)
說道這里,大家可能會遇到一些問題,比如碰到這個錯誤
第一種錯誤:
Audio file could not be read as PCM WAV, AIFF/AIFF-C, or Native FLAC; check if file is corrupted or in another format
這個是啥意思呢,就是你的音頻文件必須是wav的格式,而不是你錄音之后就直接修改后綴名就可以的,我的是華為手機,錄制的音頻是ma4,
首先我要轉換為wav,我們可以去這個網上在線轉換后下載https://www.aconvert.com/cn/audio/m4a-to-mp3/,
如果是mp4的,這個地址轉換wav格式,https://www.aconvert.com/cn/audio/mp4-to-mp3/。
明明你這玩意是中文的被翻譯成英文的,因為這個庫的安裝路勁下面只有en-US,當然只能翻譯成英文的啦
於是我們需要添加一個zh-CN的文件夾,下載對應的中文就可以啦
(1)到對應的python庫安裝路徑下新建zh-CN
(2)https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/下載對應的中文庫,下載對應的壓縮包后解壓
(3)復制以下內容並修改命名
最后發現為啥還是不行,因為代碼初始化的時候默認是英文 en-US,所以這邊代碼修改一下,即可
或者修改前面的傳參:
然后在執行以下你的代碼就可以翻譯成中文了,感覺python自帶的庫,最后的結果貌似不太理解,只好在研究研究啦,加油!我感覺可能配置上訓練或者學習,可能可以實現比較好的效果,繼續研究,有時間的話再分享。