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