資源簡介
百度語音api實現語音識別小程序,通過判斷當前音量大小自動識別判斷是否該結束錄音,原理還是挺簡單的,就是遇到一些小坑,自己學習了也分享給大家。里面有個小彩蛋,對它說‘關機’試試(*_*),(不會立刻關機的,可以取消)
代碼片段和文件信息
#!/usr/bin/env?python
#?-*-?coding:?UTF-8?-*-
from?time?import?sleep
from?aip?import?AipSpeech
from?numpy?import?frombuffershort
import?wave
#from?wave?import?open??#這樣寫就重名了
from?pyaudio?import?PyAudiopaInt16
#import?pyaudio
from?threading?import?Thread
import?pygame
import?os
import?tkinter
#由于百度語音識別最大時長為60s,所以我們創建這個計時的方法,然后在子線程中調用
timeout?=?False
def?timeclock():
global?timeout
timeout?=?True
#循環里面的全局變量要加global
for?x?in?range(60):
print(‘ticking...‘?timeout)
sleep(1)
#如果標志位為False,則停止計時
if?timeout?==?False:
return?0
#超過60秒賦值為false,停止錄音
timeout?=?False
#錄音
def?my_record(path?=?‘01.wav‘):
#規定聲音屬性
framerate=16000 #采樣頻率
NUM_SAMPLES=2000 #內部緩存塊的大小,每次讀取的采樣數據塊的個數
channels=1 #聲道
sampwidth=2 #采樣大小/采樣寬度/位深2B?1
評論
共有 條評論