BaiduのAIインタフェースの呼び出し

アプリケーションの作成

ウェブサイトをご覧ください

www.ai.baidu.comログイン

コンソールを入力します。

音声技術を入力します。

アプリケーションの作成

管理アプリケーション

技術資料

SDKの開発ドキュメント

インターフェイス機能

バージョン更新レコード

注意事項

現時点では、REST APIとSDKの機能は、ネットワークは、HTTPインタフェースを呼び出す必要があります。REST APIは  512ワード(1024バイト)にのみ音声合成をサポートし、合成ファイル形式はmp3です。他の追加機能はありません。SDK AndroidまたはiOSを使用して、あなたが他の機能オフライン合成を使用する必要がある場合は、合成

開発のためのマニュアルに記載されたパラメータに厳密に従いました。以下の質問に注意してください。

  1. 長い記事の長さは、要求されたモードは、複数回使用することができます場合は、テキストの合成は、1024バイト以下でなければなりません。テキストの長さが制限を超えてはなりません。
  2. 新しく作成された日々の通話音量の音声合成アプリケーションは制限されないが、そこにQPS制限されていません。詳細なデータ範囲は、コンソールで表示することができます。完全な個人実名認証および認定企業は、QPSの制限を向上させることができます。よりQPSさらにための事業協力協議
  3. 必要なフィールド、文書の記載内容に厳密に従って記入。

サポートPythonのバージョン:2.7 + 3 +。

方法次のPython SDKのインストール:

  • ピップ、実行がインストールされている場合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文本包含以下参数:

  • 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

# 将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)

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

text1 = "浙富股份"

text2 = "万事通自考网"

""" 调用短文本相似度 """
client.simnet(text1, text2);

""" 如果有可选参数 """
options = {}
options["model"] = "CNN"

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

请求参数

返回数据参数

代码演示

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

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)

 

おすすめ

転載: www.cnblogs.com/songzhixue/p/11195474.html