創建應用
登錄網站
登錄www.ai.baidu.com
進入控制台
進入語音技術
創建應用
管理應用
技術文檔
SDK開發文檔
接口能力
版本更新記錄
注意事項
目前本SDK的功能同REST API,需要聯網調用http接口 。REST API 僅支持最多512字(1024 字節)的音頻合成,合成的文件格式為mp3。沒有其他額外功能。 如果需要使用離線合成等其它功能,請使用Android或者iOS 合成 SDK
請嚴格按照文檔里描述的參數進行開發。請注意以下幾個問題:
- 合成文本長度必須小於1024字節,如果本文長度較長,可以采用多次請求的方式。切忌文本長度超過限制。
- 新創建語音合成應用不限制每日調用量,但有QPS限額。詳細限額數據可在控制台中查看。完成個人實名認證及企業認證可提高QPS限額。若需更大QPS可進一步商務合作咨詢。
- 必填字段中,嚴格按照文檔描述中內容填寫。
支持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_KEY
與SECRET_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)