百度AI接口调用

建立应用

登陆网站

登陆www.ai.baidu.com

进入控制台

进入语音技术

建立应用

管理应用

技术文档

SDK开发文档

接口能力

版本更新记录

注意事项

目前本SDK的功能同REST API,须要联网调用http接口 。REST API 仅支持最多512字(1024 字节)的音频合成,合成的文件格式为mp3。没有其余额外功能。 若是须要使用离线合成等其它功能,请使用Android或者iOS 合成 SDKpython

请严格按照文档里描述的参数进行开发。请注意如下几个问题:服务器

  1. 合成文本长度必须小于1024字节,若是本文长度较长,能够采用屡次请求的方式。切忌文本长度超过限制。
  2. 新建立语音合成应用不限制每日调用量,但有QPS限额。详细限额数据可在控制台中查看。完成我的实名认证及企业认证可提升QPS限额。若需更大QPS可进一步商务合做咨询
  3. 必填字段中,严格按照文档描述中内容填写。

支持Python版本:2.7.+ ,3.+工具

安装使用Python SDK有以下方式:oop

  • 若是已安装pip,执行pip install baidu-aip便可。

语音合成

新建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) # 就是咱们以前建立应用的那些信息

在上面代码中,常量APP_ID在百度云控制台中建立,常量API_KEYSECRET_KEY是在建立完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问作签名验证,可在AI服务控制台中的应用列表中查看。网站

请求说明

result  = client.synthesis('你好百度', 'zh', 1, { 'vol': 5, }) # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict): with open('auido.mp3', 'wb') as f: f.write(result)

更多请求参数

返回样例

// 成功返回二进制文件流 // 失败返回 { "err_no":500, "err_msg":"notsupport.", "sn":"abcdefgh", "idx":1 }

错误信息返回

若请求错误,服务器将返回的JSON文本包含如下参数:ui

  • error_code:错误码。
  • error_msg:错误描述信息,帮助理解和解决发生的错误。

错误码

实战演示

from aip import AipSpeech """ 你的 APPID AK SK """ APP_ID = '16815805' API_KEY = 'G7dSyQYqyr3SrWO71rjivtuh' SECRET_KEY = 'NYfwjHWjRgGk8Rf2wP2bXoW7sW15ucmK' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) result = client.synthesis('先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。', 'zh', 1, { 'vol': 5,   # 更多参数查看pythonSDK文档
}) # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict): with open('出师表.mp3', 'wb') as f: f.write(result) # 在本地生成一个mp3格式的语音文件

语音识别

语音格式转换工具:

连接:https://pan.baidu.com/s/1pfjXvJsANzjGvnn-cmVZMg
提取码:t0mc url

# 将m4a格式的音频文件转换为pcm格式
# 配置完ffmpeg须要重启pycharm从新加载环境变量,环境变量不能有中文,pycharm不能识别中文路径

代码演示

import os from aip import AipSpeech """ 你的 APPID AK SK """ APP_ID = '16815805' API_KEY = 'G7dSyQYqyr3SrWO71rjivtuh' SECRET_KEY = 'NYfwjHWjRgGk8Rf2wP2bXoW7sW15ucmK' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 读取文件
def get_file_content(filePath): # 将m4a格式的音频文件转换为pcm格式
    # 配置完ffmpeg须要重启pycharm从新加载环境变量,环境变量不能有中文,pycharm不能识别中文路径
    cmd_str = f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm" os.system(cmd_str) # 在cmd运行上面的命令
    with open(f"{filePath}.pcm", 'rb') as fp: return fp.read() # 识别本地文件
res = client.asr(get_file_content('录音.m4a'), 'pcm', 16000, { 'dev_pid': 1536, }) # 将语音识别成文本
print(res.get("result")[0])

短文本类似度

天然语言处理—短文本类似度

新建AipNlp

from aip import AipNlp """ 你的 APPID AK SK """ APP_ID = '你的 App ID' API_KEY = '你的 Api Key' SECRET_KEY = '你的 Secret Key' client = AipNlp(APP_ID, API_KEY, SECRET_KEY)

短文本类似度接口用来判断两个文本的类似度得分。spa

text1 = "浙富股份" text2 = "万事通自考网"

""" 调用短文本类似度 """ client.simnet(text1, text2); """ 若是有可选参数 """ options = {} options["model"] = "CNN"

""" 带参数调用短文本类似度 """ client.simnet(text1, text2, options)

请求参数

返回数据参数

代码演示

结合语音识别,判断两条数据的类似度.net

import os from aip import AipSpeech,AipNlp # 短文本类似度

""" 你的 APPID AK SK """ APP_ID = '16815805' API_KEY = 'G7dSyQYqyr3SrWO71rjivtuh' SECRET_KEY = 'NYfwjHWjRgGk8Rf2wP2bXoW7sW15ucmK' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) NLP_client = AipNlp(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('录音.m4a'), 'pcm', 16000, { 'dev_pid': 1536, }) # 将语音识别成文本
Q = res.get("result")[0] # 将两个文本进行对比
sim = NLP_client.simnet(Q,"你好").get("score")  # {'log_id': 5728331156191316048, 'texts': {'text_2': '你好', 'text_1': '好'}, 'score': 0.614362}
print(sim)
相关文章
相关标签/搜索