百度AI技术
利用百度提供接口,实现智能语音
语音合成 -- TTS(text to speech)
注册
在 ai.baidu.com 页面中点击 控制台 ,弹出登陆 / 注册页面
创建应用
登陆成功后,点击左侧的语音技术。
跳转页面后。点击创建应用,按照对应的提示填写

想用python 操作,需要下载 baidu-aip
- 如果已安装pip,执行
pip install baidu-aip即可。 - 如果已安装setuptools,执行
python setup.py install即可。
新建AipSpeech
AipSpeech是语音识别的Python SDK客户端,为使用语音识别的开发人员提供了一系列的交互方法。
参考如下代码新建一个AipSpeech:
from aip import AipSpeech """ 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
在 应用列表 中点击 需要的应用 。会查看到你需要的参数

from aip import AipSpeech """ 你的 APPID AK SK """
APP_ID = ''
API_KEY = 'NyIrwuFvSfp8oAgN1cK0GGXE'
SECRET_KEY = 'sDY2EVkirZLBfIcOPfffoWKVUBP2ONZx'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
result = client.synthesis('你好呀,我的朋友', 'zh', 1, {
'vol': 5,
}) # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
with open('auido.mp3', 'wb') as f:
f.write(result)
支持Python版本:2.7.+ ,3.+
合成文本长度必须小于1024字节,如果本文长度较长,可以采用多次请求的方式。文本长度不可超过限制

错误返回格式
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。

语音识别 -- ASR(Automatic Speech Recognition )
在拥有百度AI账号后,就省去了前面的步骤。直接开始。
下载baidu-aip
如果已安装pip,执行pip install baidu-aip即可。
如果已安装setuptools,执行python setup.py install即可。
新建AipSpeech
from aip import AipSpeech """ 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
参数和 语音合成一样
示例
import os from aip import AipSpeech """ 你的 APPID AK SK """
APP_ID = ''
API_KEY = 'G9k256n6aeMRnfvS1paws50x'
SECRET_KEY = 'nCbbF44iUp6QrNvSgcYW0eo2EKKl4cvR' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 读取文件
def get_file_content(filePath):
cmd_str = f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm" os.system(cmd_str)
with open(f"{filePath}.pcm", 'rb') as fp:
return fp.read() # 识别本地文件
res = client.asr(get_file_content('wyn.m4a'), 'pcm', 16000, {
'dev_pid': 1536,
})
print(res.get("result")[0])
cmd_str = f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm"
os.system(cmd_str)
这里的两行代码。是用来转换音频格式的。将所有格式的音频文件都转换为 pcm ,其他格式的文件也能进行操作。效果不是最好的
需要 ffmpeg 这个工具。安装成功后。添加到环境变量。重启编辑器
支持Python版本:2.7.+ ,3.+
原始 PCM 的录音参数必须符合 16k 采样率、16bit 位深、单声道,支持的格式有:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。
目前系统支持的语音时长上限为60s,请不要超过这个长度,否则会返回错误。

错误返回格式
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
文本相似度 NPL--(natural language processing)
下载baidu-aip
如果已安装pip,执行pip install baidu-aip即可。
如果已安装setuptools,执行python setup.py install即可。
新建AipSpeech
from aip import AipNlp """ 你的 APPID AK SK """
APP_ID = ''
API_KEY = 'G9k256n6aeMRnfvS1paws50x'
SECRET_KEY = 'nCbbF44iUp6QrNvSgcYW0eo2EKKl4cvR' NLP_client = AipNlp(APP_ID, API_KEY, SECRET_KEY) res = NLP_client.simnet("你叫什么名字","你的名字是什么") print(res.get("score"))

| 错误码 | 错误信息 | 描述 |
|---|---|---|
| 1 | Unknown error | 服务器内部错误,请再次请求, 如果持续出现此类错误,请通过QQ群(860337848)或提交工单联系技术支持团队。 |
| 2 | Service temporarily unavailable | 服务暂不可用,请再次请求, 如果持续出现此类错误,请通过QQ群(860337848)或提交工单联系技术支持团队。 |
| 3 | Unsupported openapi method | 调用的API不存在,请检查请求URL后重新尝试,一般为URL中有非英文字符,如“-”,可手动输入重试 |
| 4 | Open api request limit reached | 集群超限额,请再次请求, 如果持续出现此类错误,请通过QQ群(860337848)或提交工单联系技术支持团队。 |
| 6 | No permission to access data | 无权限访问该用户数据,创建应用时未勾选相关接口 |
| 13 | Get service token failed | 获取token失败 |
| 14 | IAM Certification failed | IAM 鉴权失败 |
| 15 | app not exsits or create failed | 应用不存在或者创建失败 |
| 17 | Open api daily request limit reached | 每天请求量超限额,可通过QQ群(860337848)联系群管、提交工单提升限额 |
| 18 | Open api qps request limit reached | QPS超限额,可通过QQ群(860337848)联系群管、提交工单提升限额 |
| 19 | Open api total request limit reached | 请求总量超限额,可通过QQ群(860337848)联系群管、提交工单提升限额 |
| 100 | Invalid parameter | 无效的access_token参数,请检查后重新尝试 |
| 110 | Access token invalid or no longer valid | access_token无效 |
| 111 | Access token expired | access token过期 |
| 282000 | internal error | 服务器内部错误,请再次请求, 如果持续出现此类错误,请通过QQ群(632426386)或工单联系技术支持团队。 |
| 282002 | input encoding error | 编码错误,请使用GBK编码 |
| 282004 | invalid parameter(s) | 请求中包含非法参数,请检查后重新尝试 |
| 282130 | no result | 当前查询无结果返回,出现此问题的原因一般为:参数配置存在问题,请检查后重新尝试 |
| 282131 | input text too long | 输入长度超限,请查看文档说明 |
| 282133 | param {参数名} not exist | 接口参数缺失 |
| 282300 | word error | word不在算法词典中 |
| 282301 | word_1 error | word_1提交的词汇暂未收录,无法比对相似度 |
| 282302 | word_2 error | word_2提交的词汇暂未收录,无法比对相似度 |
| 282303 | word_1&word_2 error | word_1和word_2暂未收录,无法比对相似度 |
利用图灵机器人互动
import os
from aip import AipSpeech, AipNlp """ 你的 APPID AK SK """
APP_ID = ''
API_KEY = 'G9k256n6aeMRnfvS1paws50x'
SECRET_KEY = 'nCbbF44iUp6QrNvSgcYW0eo2EKKl4cvR' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
NLP_client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
import requests def go_tl(Q):
'''
请求机器人
:param Q:识别完成的文本
:return:
'''
data = {
"perception": {
"inputText": {
"text": Q
}
},
"userInfo": {
"apiKey": "2213889293634c759484cac88a91c170",
"userId": ""
}
} res = requests.post("http://openapi.tuling123.com/openapi/api/v2", json=data)
res_dict = res.json()
return res_dict.get("results")[0].get("values").get("text") def get_file_content(filePath):
'''
读取文件
:param filePath:读取的文件
:return:
'''
cmd_str = f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm"
os.system(cmd_str)
with open(f"{filePath}.pcm", 'rb') as fp:
return fp.read() # 识别本地文件
res = client.asr(get_file_content('wyn.m4a'), 'pcm', 16000, {
'dev_pid': 1536,
}) Q = res.get("result")[0]
print(Q)
A = "我不知道你在说什么" sim = NLP_client.simnet(Q, "你的名字是什么").get("score")
print(sim)
if sim >= 0.58:
A = "我的名字叫图灵"
else:
A = go_tl(Q) result = client.synthesis(A, 'zh', 1, {
'vol': 5,
"spd": 4,
"pit": 5,
"per": 4
}) # 识别正确返回语音二进制 错误则返回dict
if not isinstance(result, dict):
with open('Answer.mp3', 'wb') as f:
f.write(result)
图灵机器人使用文档 点击这里
百度AI技术的更多相关文章
- 百度AI技术QQ群
百度语音QQ群 648968704 视频分析QQ群 632473158 DuerOSQQ群 604592023 图像识别QQ群 649285136 文字识别QQ群 631977213 理解与交互技术U ...
- 如何快速将百度大脑AI技术内置智能小程序中
实现效果: 该AI智能小程序目前集成了百度AI开放平台数十个AI服务产品功能,包括人脸识别.文字识别.表格识别.红酒识别.货币识别.地标识别.手势识别.商标识别.果蔬识别.菜品识别等图片识别功能,以及 ...
- 综合5项百度大脑AI技术,快速构建智能交通方案
一.整体方案:思路:整合百度AI功能,通过百度AI解决.优化在公交运行过程中遇到的运营.管理.安全等方面的问题.具体如下: 安全方面:通过驾驶员检测+语音合成,对驾驶员状态进行实时检测,跟踪,告警. ...
- 基于百度AI人脸识别技术的Demo
编写demo之前首先浏览官方API:http://ai.baidu.com/docs#/Face-API/top 下面是源码: package com.examsafety.test; import ...
- 初探机器学习之使用百度AI服务实现图片识别与相似图片
一.百度云AI服务 最近在调研一些云服务平台的AI(人工智能)服务,了解了一下阿里云.腾讯云和百度云.其中,百度云提供了图像识别及图像搜索,而且还细分地提供了相似图片这项服务,比较符合我的需求,且百度 ...
- 基于百度AI开放平台的人脸识别及语音合成
基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...
- python 全栈开发,Day122(人工智能初识,百度AI)
一.人工智能初识 什么是智能? 我们通常把人成为智慧生物,那么”智慧生物的能力”就是所谓的”智能”我们有什么能力?听,说,看,理解,思考,情感等等 什么是人工智能? 顾名思义就是由人创造的”智慧能力” ...
- [初识]使用百度AI接口,图灵机器人实现简单语音对话
一.准备 1.百度ai开放平台提供了优质的接口资源https://ai.baidu.com/ (基本免费) 2.在语音识别的接口中, 对中文来说, 讯飞的接口是很好的选择https://www.xf ...
- Flask&&人工智能AI -- 6 人工智能初识,百度AI,图灵机器人
一.人工智能初识,百度AI的创建与应用 参考连接:https://www.cnblogs.com/xiao987334176/p/9620113.html 1. 百度ai开放平台 2. AipSpee ...
随机推荐
- MVC——再探MVC——增删查改
MVC 是我大学学的比较弱的,甚至不懂原理.(那时候都在准备蓝桥杯 软件杯比赛.) 在重新学 肯定要学MVC 现在知道了为什么叫MVC了 MVC是怎么工作的 MVC 是一个设计模式 控制器(Cont ...
- Python笔记_第四篇_高阶编程_正则表达式_3.正则表达式深入
1. re.split 正则的字符串切割 str1 = "Thomas is a good man" print(re.split(r" +",str1)) # ...
- gitKraken取消/关闭全屏
如果你找不到在哪里设置的 这是配置文件 注意 fullScreen 字段,改这个字段可以改变是不是全屏,改变之前先关闭软件, 文件目录 第二张图
- 小白学习之pytorch框架(6)-模型选择(K折交叉验证)、欠拟合、过拟合(权重衰减法(=L2范数正则化)、丢弃法)、正向传播、反向传播
下面要说的基本都是<动手学深度学习>这本花书上的内容,图也采用的书上的 首先说的是训练误差(模型在训练数据集上表现出的误差)和泛化误差(模型在任意一个测试数据集样本上表现出的误差的期望) ...
- 批量刷数据sql
update t_free_m** m set m.plate_no = ( select v.plate_num from t_wh_vehi*** v where v.vin = m.car_v ...
- python图像处理:一福变五福
快过年了,各种互联网产品都出来撒红包.某宝一年一度的“集五福活动”更是成为每年的必备活动之一. 虽然到最后每人大概也就分个两块钱,但作为一个全民话题,大多数人还是愿意凑凑热闹. 毕竟对于如今生活在大城 ...
- day56-mysql-其他查询-面试题-重点
一.重点 面试题 1. 临时表查询: -- 查询高于本部门平均工资的人员 #1.先查询部门人员的平均工资 SELECT dept_id,AVG(salary)as sal from person GR ...
- [原]how to view custom provider's events(collected without provider registered) by wpa
最近想使用etw作为高效的日志机制,也不想暴露机密信息(关键信息在msnifest文件中).也就是不能在客户机器上注册自己的provider,那需要manifest文件.这样采集回来的.etl文件如果 ...
- 2017-2018 ACM-ICPC Northern Eurasia (Northeastern European Regional) Contest (NEERC 17)
2017-2018 ACM-ICPC Northern Eurasia (Northeastern European Regional) Contest (NEERC 17) A 题意:有 n 个时刻 ...
- Sqlite教程(1) SQLiteOpenHelper
首先,创建DbHelper对象,继承SQLiteOpenHelper. Configuration是自行创建的工具类,里面都是App的一些环境设置. public class DbHelper ext ...
