def getBaiduText(): global r p = pyaudio.PyAudio() stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) stream.start_stream() r=1 r=r+1 if r==1: speaker.Speak("正在消毒,目前消毒液充足 ,请随时说出暂停将暂停消毒,您也可以随时说出指令普通模式或狂喷模式改变消毒强度") else: speaker.Speak("正在消毒,目前消毒液充足 ,请随时说出暂停将暂停消毒") print("请随时说出暂停将暂停消毒") print("说出消毒液余量,将为您检查消毒液余量") print("说出电量余量,将为您检查电量液余量") print("说出机器人状态,将为您检查机器人状态参数") print("您也可以随时说出指令普通模式或狂喷模式改变消毒强度") print("* 开始录音......") frames = [] for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = stream.read(CHUNK) frames.append(data) stream.stop_stream() wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(p.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(b''.join(frames)) print("正在识别......") result = client.asr(readFile('audio.wav'), 'wav', 16000, { 'dev_pid': 1537, }) if result["err_no"] == 0: for t in result["result"]: return t else: print("没有识别到语音\n") return ""
def audio_discern(audio_path="./test.wav", audio_type="wav"): """ 百度云的ID,免费注册 """ APP_ID = '5377701' API_KEY = 'xCAp8unagboTkKESzyfXEdZA' SECRET_KEY = 'oOAcl2b1wGExlrOH2H9M16kE2YfsqDpE' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 读取文件 def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() # 识别本地文件 text = client.asr(get_file_content(audio_path), audio_type, 16000) return text
def listen(): # 读取录音文件 with open(path, 'rb') as fp: voices = fp.read() try: # 参数dev_pid:1536普通话(支持简单的英文识别)、1537普通话(纯中文识别)、1737英语、1637粤语、1837四川话、1936普通话远场 result = client.asr(voices, 'wav', 16000, { 'dev_pid': 1537, }) result_text = result["result"][0] print("you said: " + result_text) return result_text except KeyError: print("KeyError") engine.say("我没有听清楚,请再说一遍...") engine.runAndWait()
def listen(): # 读取录音文件 with open(path, 'rb') as fp: voices = fp.read() try: # 参数dev_pid:1536普通话(支持简单的英文识别)、1537普通话(纯中文识别)、1737英语、1637粤语、1837四川话、1936普通话远场 result = client.asr(voices, 'wav', 16000, {'dev_pid': 1537, }) # result = CLIENT.asr(get_file_content(path), 'wav', 16000, {'lan': 'zh', }) # print(result) # print(result['result'][0]) # print(result) result_text = result["result"][0] print("you said: " + result_text) return result_text except KeyError: print("KeyError") speaker.Speak("我没有听清楚,请再说一遍...")
def listen(): # 读取录音文件 with open(path, 'rb') as fp: voices = fp.read() try: # 参数dev_pid:1536普通话(支持简单的英文识别)、1537普通话(纯中文识别)、1737英语、1637粤语、1837四川话、1936普通话远场 result = client.asr(voices, 'wav', 16000, { 'dev_pid': 1537, }) # result = CLIENT.asr(get_file_content(path), 'wav', 16000, {'lan': 'zh', }) # print(result) # print(result['result'][0]) # print(result) result_text = result["result"][0] strMsg = '我:' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + '\n ' print(strMsg + result_text) return result_text except KeyError: print("KeyError") speaker.Speak("我没有听清楚,请再说一遍...")
def listen(): speaker = win32com.client.Dispatch("SAPI.SpVoice") APP_ID = '14636839' API_KEY = 'u34cdKCsR61tzM0r20Qnp3YM' SECRET_KEY = 'Rehs5G02EqbrRDDgGdPY9NKY2ZlCX8Oq' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) path = 'voices/myvoices.wav' # 读取录音文件 with open(path, 'rb') as fp: voices = fp.read() try: # 参数dev_pid:1536普通话(支持简单的英文识别)、1537普通话(纯中文识别)、1737英语、1637粤语、1837四川话、1936普通话远场 result = client.asr(voices, 'wav', 16000, { 'dev_pid': 1537, }) result_text = result["result"][0] print("you said: " + result_text) return result_text except KeyError: print("KeyError") speaker.Speak("我没有听清楚,请再说一遍...")
def gettxt(): return client.asr(read_file('audio.wav'), 'pcm', 16000, { 'dev_pid': 1536, })
def BAIDU_ASR(_path): result = client.asr(get_file_content(_path), 'wav', 16000, { 'dev_pid': 1536, }) return result.get('result')[0]