700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 人工智能 - 语音合成 语音识别 语音聊天机器人

人工智能 - 语音合成 语音识别 语音聊天机器人

时间:2022-03-28 08:44:36

相关推荐

人工智能 - 语音合成 语音识别 语音聊天机器人

目录

人工智能 - 语音合成,语音识别,语音聊天机器人 语音合成语音识别语音聊天机器人

人工智能 - 语音合成,语音识别,语音聊天机器人

现成的AI算法平台/

语音合成

根据百度大佬提供的文档,作出以下小栗子:

1.下载

pip install baidu-aip

2.代码

from aip import AipSpeech""" 你的 APPID AK SK 控制台 -> 百度语音-> 创建或管理应用"""APP_ID = '15837844'API_KEY = '411VNGbuZVbDNZU78LqTzfsV'SECRET_KEY = '84AnwR2NARGMqnC6WFnzqQL9WWdWh5bW'client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 实例化def text2audio(text):"""一些参数的配置,详见文档"""result = client.synthesis(text, 'zh', 1, {'vol': 5,'per': 4,'spd': 4,'pit': 7,})# 识别正确返回语音二进制 错误则返回dict 参照下面错误码if not isinstance(result, dict):print(result)with open('audio.mp3', 'wb') as f:f.write(result)

语音识别

1.下载 ffmpeg 用于将语音文件转换为pcm格式

链接: /s/1jonSAa_TG2XuaJEy3iTmHg

密码: w6hk

pip pip install baidu-aip

3.代码

from aip import AipSpeechimport os""" 你的 APPID AK SK """APP_ID = '15837844'API_KEY = '411VNGbuZVbDNZU78LqTzfsV'SECRET_KEY = '84AnwR2NARGMqnC6WFnzqQL9WWdWh5bW'client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)# 读取文件def get_file_content(filePath):os.system(f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm") # 使用ffmpeg转换格式with open(f"{filePath}.pcm", 'rb') as fp:return fp.read()# 识别本地文件res = client.asr(get_file_content('wyn.wav'), 'pcm', 16000, {'dev_pid': 1536,})print(res.get("result")[0])# if res.get("result")[0] == "你叫什么名字":#text2audio("我叫银王八")

语音聊天机器人

1.为了更快捷的开发, 我们可以调用福林机器人的API

/

在福林机器人里自定义机器人部分功能.

2.代码

from aip import AipSpeechfrom aip import AipNlp # 自然语言处理,词义相似度import os""" 你的 APPID AK SK """APP_ID = '15837844'API_KEY = '411VNGbuZVbDNZU78LqTzfsV'SECRET_KEY = '84AnwR2NARGMqnC6WFnzqQL9WWdWh5bW'client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)nlp_client = AipNlp(APP_ID, API_KEY, SECRET_KEY) # 实例化词义相似度对象"""查询文件"""def get_file_content(filePath):os.system(f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm")with open(f"{filePath}.pcm", 'rb') as fp:return fp.read()"""识别本地文件"""res = client.asr(get_file_content('jgxh.wma'), 'pcm', 16000, {'dev_pid': 1536,})text = res.get("result")[0]"""福林机器人智能回答函数"""import requestsdef to_tuling(text, uid):data = {"perception": {"inputText": {"text": "北京"}},"userInfo": {"apiKey": "a4c4a668c9f94d0c928544f95a3c44fb","userId": "123"}}data["perception"]["inputText"]["text"] = textdata["userInfo"]["userId"] = uidres = requests.post("/openapi/api/v2", json=data)# print(res.content)res_json = res.json()text = res_json.get("results")[0].get("values").get("text")print(text)return text"""语音相似度判断函数"""def my_nlp(text):if nlp_client.simnet(text, "你叫什么名字").get("score") >= 0.75:A = "我叫如花"return Aif nlp_client.simnet(text, "你今年几岁了").get("score") >= 0.75:A = "我今年999岁了"return AA = to_tuling(text, "open123") # 如果不符合自定义条件,那么调用福林机器人APIreturn A"""开始执行"""A = my_nlp(text)result = client.synthesis(A, 'zh', 1, {'vol': 5,'per': 4,'spd': 4,'pit': 7,})# 识别正确返回语音二进制 错误则返回dict 参照下面错误码if not isinstance(result, dict):# print(result)with open('audio.mp3', 'wb') as f:f.write(result)"""自动执行audio.mp3, 打开软件为默认打开软件"""os.system('audio.mp3')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。