麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

python 實現語音聊天機器人的示例代碼

2020-02-15 23:52:22
字體:
來源:轉載
供稿:網友

前言

在不遠的將來,實現一定程度上的語音支持將成為日??萍嫉幕疽螅狭苏Z音識別的python程序提供了其他技術無法比擬的交互性和可訪問性。最重要的是,在python程序中實現語音識別非常簡單。整個代碼實現下來還不到150行。

原理簡介

許多現代語音識別系統會在HMM識別之前使用神經網絡,通過特征變換和降維技術來簡化語音信號,也可以使用語音活動檢測器將音頻信號減少到可能包含語音的部分。

幸運的是,對于python來講,一些語音識別的服務可通過API在線使用,且其中大部分也提供了Python SDK。

本文做的聊天機器人是基于百度語音識別和圖靈機器人二者之上共同實現的。大致的流程如下圖:

原理流程圖.PNG

這里需要用的模塊庫有 requests、time、datetime、pyaudio、wave、aipspeech 等。

話不多說,上代碼:

##@氫立方 2018.0911import requestsimport timeimport pygamefrom datetime import datetimefrom aip import AipSpeechfrom pyaudio import PyAudio,paInt16import waveimport osframerate=8000NUM_SAMPLES=2000channels=1sampwidth=2TIME=2def save_wave_file(filename,data):  '''save the date to the wavfile'''  wf=wave.open(filename,'wb')  wf.setnchannels(channels)  wf.setsampwidth(sampwidth)  wf.setframerate(framerate)  wf.writeframes(b"".join(data))  wf.close()def my_record():  pa=PyAudio()  stream=pa.open(format = paInt16,channels=1,          rate=framerate,input=True,          frames_per_buffer=NUM_SAMPLES)  my_buf=[]  count=0  while count<TIME*6:#控制錄音時間    string_audio_data = stream.read(NUM_SAMPLES)    my_buf.append(string_audio_data)    count+=1    print('.')  save_wave_file('0001.wav',my_buf)  stream.close()##def play():##  wf=wave.open(r"D:/41125.mp3",'rb')##  p=PyAudio()##  stream=p.open(format=p.get_format_from_width(wf.getsampwidth()),channels=##  wf.getnchannels(),rate=wf.getframerate(),output=True)##  while True:##    data=wf.readframes(chunk)##    if data=="":break##    stream.write(data)##  stream.close()##  p.terminate()##這里大家需要改成自己的ID和KEYAPP_ID = '11****843'API_KEY = '3Mnv***8**88******GbXa'SECRET_KEY = '147***8*88****1227684'aipSpeech = AipSpeech(APP_ID, API_KEY, SECRET_KEY)def getText(url):  text = requests.post(url).json()  return text['text']####key = '6ddc57c5761a4c62a30ea840e5ae163f'#api = 'http://www.tuling123.com/openapi/api?key=' + key +'&info ='key = '8b005db5f57556fb96dfd98fbccfab84' api = 'http://www.tuling123.com/openapi/api?key=' + key + '&info=' ##while True:  ##  info = input("我說/n") ##  chunk=2014  my_record()  print("錄音完成")      def get_file_content(filePath):    with open(filePath,'rb') as fp:      return fp.read()      a = aipSpeech.asr(get_file_content('0001.wav '),'wav',8000,{})  print(a)  b = str(a['result'])  info = b    url = api + info  #print(url)  text_01 = getText(url)  print("機器人回/n",text_01)  now = datetime.now().strftime("%Y-%m-%d_%H_%M_%S")  filename_01 = now + ".mp3"  result = aipSpeech.synthesis(  text_01,'zh',1,{'vol': 5,'per' : 2} )    if not isinstance(result, dict):        with open(filename_01, 'wb') as f:      f.write(result)  print("--------------------------------------")  time.sleep(1)      pygame.mixer.init()  print("語音1")  file= filename_01  track = pygame.mixer.music.load(file)  pygame.mixer.music.play()  time.sleep(15)  pygame.mixer.music.stop()  pygame.quit()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av成人在线观看 | 中国黄色一级生活片 | fc2国产成人免费视频 | 国产亚洲精品久久久久婷婷瑜伽 | 国产成人高清在线观看 | 337p粉嫩大胆噜噜噜亚瑟影院 | 亚洲第一成人在线观看 | 国产精品99久久久久久久女警 | 91麻豆精品国产91久久久点播时间 | 狠狠干夜夜操 | 国产韩国精品一区二区三区久久 | 综合99| 亚洲3atv精品一区二区三区 | 牛牛碰在线 | 日日鲁一鲁视频 | 久久激情小视频 | 青青操国产 | 少妇一级淫片免费看 | 久久久久久久不卡 | 日本在线播放一区二区 | 国产精品成人一区二区三区电影毛片 | 一色桃子av大全在线播放 | 一色屋任你操 | 国产精品av久久久久久网址 | 亚洲成人免费视频在线 | 亚洲va久久久噜噜噜久牛牛影视 | 538任你躁在线精品视频网站 | 视频在线色 | 久久sp | 福利在线免费 | 成人羞羞视频在线观看免费 | 亚洲一区二区 | 亚洲性综合网 | 国产精品视频一区二区三区四 | 亚洲人成在线播放网站 | 国产精品99久久久久久大便 | 国产成人高清在线观看 | 91久久国产综合久久91猫猫 | av免费在线观看国产 | 特逼视频 | 色婷婷av一区二区三区久久 |