神剑山庄资源网 Design By www.hcban.com
图例如下
https://github.com/Dongvdong/python_Smartvoice
- 上电后,只要周围声音超过 2000,开始录音5S
- 录音上传百度识别,并返回结果文字输出
- 继续等待,周围声音是否超过2000,没有就等待。
- 点用电脑API语音交互
代码如下
# -*- coding: utf-8 -*- # 树莓派 from pyaudio import PyAudio, paInt16 import numpy as np from datetime import datetime import wave import time import requests#导入requests库 import urllib, urllib.request, pycurl import base64 import json import os import sys from imp import reload # 调用电脑API生成语音交互 import speech import win32api import os import sys import time import win32con reload(sys) #sys.setdefaultencoding( "utf-8" ) #一些全局变量 save_count = 0 save_buffer = [] t = 0 sum = 0 time_flag = 0 flag_num = 0 filename = '' duihua = '1' def getHtml(url): html= requests.get(url) # html.encoding = 'utf-8'#防止中文乱码 return html.text def get_token(): apiKey = "AxXDYEN27Ks9XHocsGmCEdPm" secretKey = "61cd52759f4d704d91c155a22ff7183d" auth_url = "https://openapi.baidu.com/oauth/2.0/token" + apiKey + "&client_secret=" + secretKey; res = requests.get(auth_url) #res.encoding = 'utf-8'#防止中文乱码 #print (res.text) return json.loads(res.text)['access_token'] def dump_res(buf):#输出百度语音识别的结果 global duihua #print ("字符串类型") #print (buf) a = eval(buf) #print (type(a)) if a['err_msg']=='success.': #print (a['result'][0])#终于搞定了,在这里可以输出,返回的语句 duihua = a['result'][0] print ("我:"+duihua) def use_cloud(token):#进行合成 fp = wave.open(filename, 'rb') nf = fp.getnframes() f_len = nf * 2 audio_data = fp.readframes(nf) cuid = "9120612" #产品id srv_url = 'http://vop.baidu.com/server_api' + '"".join(data)) wf.close() NUM_SAMPLES = 2000 # pyAudio内部缓存的块的大小 SAMPLING_RATE = 8000 # 取样频率 LEVEL = 1500 # 声音保存的阈值 COUNT_NUM = 20 # NUM_SAMPLES个取样之内出现COUNT_NUM个大于LEVEL的取样则记录声音 SAVE_LENGTH = 8 # 声音记录的最小长度:SAVE_LENGTH * NUM_SAMPLES 个取样 exception_on_overflow=False # 开启声音输入pyaudio对象 pa = PyAudio() stream = pa.open(format=paInt16, channels=1, rate=SAMPLING_RATE, input=True, frames_per_buffer=NUM_SAMPLES) token = get_token()#获取token key = '35ff2856b55e4a7f9eeb86e3437e23fe' api = 'http://www.tuling123.com/openapi/api"---------主人我在听你说!(5S)----------") begin = time.time() # print (temp) if t: #print (np.max(audio_data)) if np.max(audio_data)<1000: sum += 1 # print (sum) end = time.time() if end-begin>5: time_flag = 1 # print ("五秒到了,准备结束") # 如果个数大于COUNT_NUM,则至少保存SAVE_LENGTH个块 if large_sample_count > COUNT_NUM: save_count = SAVE_LENGTH else: save_count -= 1 if save_count < 0: save_count = 0 if save_count > 0: # 将要保存的数据存放到save_buffer中 save_buffer.append(string_audio_data ) else: # 将save_buffer中的数据写入WAV文件,WAV文件的文件名是保存的时刻 #if time_flag: if len(save_buffer) > 0 or time_flag: #filename = datetime.now().strftime("%Y-%m-%d_%H_%M_%S") + ".wav"#原本是用时间做名字 filename = str(flag_num)+".wav" flag_num += 1 save_wave_file(filename, save_buffer) save_buffer = [] t = 0 sum =0 time_flag = 0 # print (filename, "保存成功正在进行语音识别") use_cloud(token) # print (duihua) info = duihua duihua = "" request = api + str(info) response = getHtml(request) # print ( "-----1-----") dic_json = json.loads(response) a = dic_json['text'] unicodestring = a # 将Unicode转化为普通Python字符串:"encode" utf8string = unicodestring.encode("utf-8") print ("科塔娜:"+str(a)) # 电脑说话 speech.say(str(a)) url = "http://tsn.baidu.com/text2audio"+dic_json['text']+"&lan=zh&per=0&pit=1&spd=7&cuid=7519663&ctp=1&tok=25.41bf315625c68b3e947c49b90788532d.315360000.1798261651.282335-9120612" os.system('mpg123 "%s"'%(url))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无基于python实现百度语音识别和图灵对话的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】
- 谭咏麟.2022-倾·听【环球】【WAV+CUE】
- 4complete《丛生》[320K/MP3][85.26MB]
- 4complete《丛生》[FLAC/分轨][218.01MB]