百度AI接口調用


創建應用

登錄網站

登錄www.ai.baidu.com

進入控制台

進入語音技術

創建應用

管理應用

技術文檔

SDK開發文檔

接口能力

版本更新記錄

注意事項

目前本SDK的功能同REST API,需要聯網調用http接口 。REST API 僅支持最多512字(1024 字節)的音頻合成,合成的文件格式為mp3。沒有其他額外功能。 如果需要使用離線合成等其它功能,請使用Android或者iOS 合成 SDK

請嚴格按照文檔里描述的參數進行開發。請注意以下幾個問題:

  1. 合成文本長度必須小於1024字節,如果本文長度較長,可以采用多次請求的方式。切忌文本長度超過限制。
  2. 新創建語音合成應用不限制每日調用量,但有QPS限額。詳細限額數據可在控制台中查看。完成個人實名認證及企業認證可提高QPS限額。若需更大QPS可進一步商務合作咨詢
  3. 必填字段中,嚴格按照文檔描述中內容填寫。

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

安裝使用Python SDK有如下方式:

  • 如果已安裝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文本包含以下參數:

  • 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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM