百度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)
相關文章
相關標籤/搜索