百度AI的语音合成,语音识别
1,语音的合成,识别
后端代码:
from aip import AipSpeech, AipNlp
import os
# 语音合成
""" 你的 APPID AK SK """
# 申请的Ai.baidu.com的ID,接口,密钥
APP_ID = '15217709'
API_KEY = 'eNiP5QUsgBh6QwpbNv8Qmsy3'
SECRET_KEY = 'gwhM3wDo0Kjjd1PDIxqqW4Bfex10Y4f3' # 实例化AipSpeech,AipNlp对象
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
nlp_client = AipNlp(APP_ID, API_KEY, SECRET_KEY) # 调节发音的会泽的
# 第一个可以放要转化吃那个语音的文字
result = client.synthesis('', 'zh', 1, {
"per": 4, # 表示是男音还是女音
"spd": 8, # 表示说话的速度
"pit": 6,
"vol": 5,
}) # 识别正确返回语音二进制 错误则返回dict ,这时返回的是文件文本
if not isinstance(result, dict):
with open('auido.mp3', 'wb') as f:
f.write(result) # 把二进制语音写入到文件中 # 定义一个读取文件的函数
def get_file_content(filePath):
# 把wma格式的文件转化为.pcm格式的文件
os.system(f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.wma.pcm")
# 把转化了的格式保存到当前目录
with open(f"{filePath}.wma.pcm", 'rb') as fp:
# 返回这个文件读取的内容
return fp.read() # 并把这个文件返回给调用者 # get_file_content("cg.m4a")
# 识别本地文件, 把本地的语音文件转成pcm个格式的文件并把语音转化成二进制文件
res = client.asr(get_file_content('xh.m4a'), 'pcm', 16000, {
'dev_pid': 1536,
})
print(res, type(res))
# {'corpus_no': '6637053740205578210', 'err_msg': 'success.', 'err_no': 0, 'result': ['给我讲个笑话'], 'sn': '757488757051545309494'}, <class 'dict'> Q = res.get("result")[0]
# 取到输入的主要内容
print(1,Q) # 1 给我讲个笑话
# 判断是不是问的是名字,是拿Q和"你叫什么"做相似度匹配如果大于0.7,则表明用户表达的是这个意思
if nlp_client.simnet(Q, "你叫什么?").get("score") >= 0.7:
A = "我的名字叫雪雪"
result = client.synthesis(A, "zh", 1, {
"per": 4,
"pit": 8,
"spd": 4,
"vol": 5,
})
# 如果不存在result,就打开audio.mp3的文件
if not isinstance(result, dict):
with open("audio.mp3", "wb") as f:
f.write(result)
os.system("audio.mp3") else:
# 调用图灵机器人
import go_tuling
# 传2个参数,一个是用户输入的内容,并赋值给A
A = go_tuling.tl(Q, "asd")
# 结果赋值给result,并读取这个文件
result = client.synthesis(A, "zh", 1, {
"per": 4,
"pit": 8,
"spd": 4,
"vol": 5,
})
if not isinstance(result, dict):
with open("audio.mp3", "wb") as f:
f.write(result) os.system("audio.mp3")
调用图灵的代码:
import requests
url = "http://openapi.tuling123.com/openapi/api/v2"
data_dict = {
"reqType": 0,
"perception": {
"inputText": {
"text": "北京"
},
},
"userInfo": {
"apiKey": "96dfe320eec549519c5168093f93b2dc",
"userId": "asd",
}
}
def tl(text, uid):
# 给字典赋值text,这个text是传过来的用户输入的内容
data_dict["perception"]["inputText"]["text"] = text
# 并给字典赋值是哪个用户的要求
data_dict["userInfo"]["userInfo"] = uid
# 把这个消息数据反送给图灵
res = requests.post(url, json=data_dict)
# 会得到一个响应值,去json的方法
res_json = res.json()
print("res:", res, type(res))
# res: <Response [200]> <class 'requests.models.Response'>
print("res_json:", res_json,type(res_json))
# res_json: {'intent': {'actionName': '', 'code': 10006, 'intentName': ''}, 'results': [{'groupType': 1, 'resultType': 'text', 'values': {'text': '猪猪与爸爸 小猪与爸爸在谈话小猪说:爸爸为什么上个月有人来要钱你说没有,这个月那个人来要钱你说又没有?小猪爸爸:哎呀,爸爸要讲信用嘛!'}}]} <class 'dict'>
# 返回图灵相应的数据
return res_json.get("results")[0]["values"]["text"]
百度AI的语音合成,语音识别的更多相关文章
- 百度ai 基于node 语音识别 音频文件类型转换
百度ai 基于node 语音识别 音频文件类型转换 项目简介 源代码移步:https://github.com/xuess/ai-baidu-node 本项目主要功能为,本地音频语音识别和文件类型转换 ...
- 百度AI开放平台,语音识别,语音合成以及短文本相似度
百度AI开放平台:https://ai.baidu.com/ 语音合成 from aip import AipSpeech APP_ID=" #'你的 App ID' API_KEY=&qu ...
- 基于Flask和百度AI实现与机器人对话
实现对话机器人主要有个步骤 : 一.前端收集语音传入后端 二.后端基于百度AI接口进行语音识别,转换成文字 三.对文字进行自定义验证或通过图灵端口进行处理,生成回复内容 四.将文字通过百度AI接口合成 ...
- 基于百度AI开放平台的人脸识别及语音合成
基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...
- ros下基于百度语音的,语音识别和语音合成
代码地址如下:http://www.demodashi.com/demo/13153.html 概述: 本demo是ros下基于百度语音的,语音识别和语音合成,能够实现文字转语音,语音转文字的功能. ...
- 什么?小程序实时语音识别你还在痛苦的对接科大讯飞?百度Ai识别?
前言 微信小程序,说不上大火,但是需求还是不少的.各大企业都想插一足 于是前端同学就有事情做了. 需求 我需要录音 我边说话边识别,我要同声传译,我要文字转语音,还要萝莉音 我:??? 正文 一开始, ...
- 人工智能-调百度AI接口+图灵机器人
1.登陆百度AI的官网 1.注册:没有账号注册 2.创建应用 3.创建应用 4.查看应用的ID 5.Python代码 from aip import AipSpeech APP_ID = " ...
- python 全栈开发,Day122(人工智能初识,百度AI)
一.人工智能初识 什么是智能? 我们通常把人成为智慧生物,那么”智慧生物的能力”就是所谓的”智能”我们有什么能力?听,说,看,理解,思考,情感等等 什么是人工智能? 顾名思义就是由人创造的”智慧能力” ...
- 使用百度ai接口加图灵机器人完成简单web版语音对话
app文件 from flask import Flask, request, render_template, jsonify, send_file from uuid import uuid4 i ...
随机推荐
- 常见的linux命令及其翻译
常见的linux指令 1.ls ll 查看文件信息 2.cd 切换工作目录 cd 或 cd ~ 切换到/home/用户目录 cd. 切换到当前目录 cd.. 切换到上级目录 cd- 切换入上次所在的目 ...
- js layui 分页脚本
//分页 layui.use(['laypage'], function(){ var laypage = layui.laypage; laypage.render({ elem: 'page' , ...
- Django-模型层(1)
ORM MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置即可以轻松更换数据库,这极大的减轻了开发人员的工作 ...
- 【BZOJ 1222】 [HNOI2001] 产品加工(DP)
Description 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机 ...
- DOS使用笔记
DOS下cd命令: cd .. 上一级目录: g: 指定当期目录到G盘,而cd g:是没有效果的: 如图: 在安装Windows服务的过程中,如果installutil为64位版本,那么编译生成项目的 ...
- 【07】Firebug监控网络情况
[07] Firebug监控网络情况 Firebug可以监控网页中每个文件加载的时间. 打开Firebug.点击"网络",然后确定已经启用,重新载入当前页面.Firebug显示如下 ...
- UI入门教程
常常会听到这么一些忠告“多看 多想 多做” 你有没有发现一个问题,每天都在看各种设计作品,真到自己做的时候,一下子全都忘记了,脑子短路傻逼了.之前看到那么多好的设计作品也都白看了,人家的还是人家的 ...
- python接口自动化-multipart/form-data上传图片
前言 在提交表单操作的时候,经常会遇到图片上传的操作,图片上传是一个单独的接口,本篇以禅道为例,介绍如何上传图片 上传接口 1.以禅道上提交bug为例,在选择图片时,点确定按钮,就是上传图片了 2.用 ...
- LR百分比模式
1 场景模式切换 Vuser Group Mode转换为Percentage Mode:如下 Scenario->Convert Scenairio to the VuserGroup Mod ...
- 在C#代码中应用Log4Net系列教程(附源代码)地址
在博客园看到一篇关于Log4Net使用教程,比较详细,感谢这位热心的博主 博客园地址:http://www.cnblogs.com/kissazi2/archive/2013/10/29/339359 ...