Python調用百度語音合成SDK實現文字轉音頻

百度語音合成

https://cloud.baidu.com/doc/SPEECH/s/Ik4nlz8l6

安裝百度語音Python SDK

pip install baidu-aip

AipSpeech是語音合成的Python SDK客戶端,爲使用語音合成的開發人員提供了一系列的交互方法。

初始化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服務控制檯中的應用列表中查看。

配置AipSpeech

如果用戶需要配置AipSpeech的網絡請求參數(一般不需要配置),可以在構造AipSpeech之後調用接口設置參數,目前只支持以下參數:

接口 說明
setConnectionTimeoutInMillis 建立連接的超時時間(單位:毫秒
setSocketTimeoutInMillis 通過打開的連接傳輸數據的超時時間(單位:毫秒)

語音合成

  • 合成文本長度必須小於1024字節,如果本文長度較長,可以採用多次請求的方式。文本長度不可超過限制
result  = client.synthesis('培根芝士', 'zh', 1, {'spd':5,'vol': 5,'per':4})

# 識別正確返回語音二進制 錯誤則返回dict 參照下面錯誤碼
if not isinstance(result, dict):
    with open('output.mp3', 'wb') as f:
        f.write(result)

參數說明: 

參數 類型 描述 是否必須
tex String 合成的文本,使用UTF-8編碼,
請注意文本長度必須小於1024字節
cuid String 用戶唯一標識,用來區分用戶,
填寫機器 MAC 地址或 IMEI 碼,長度爲60以內
spd String 語速,取值0-9,默認爲5中語速
pit String 音調,取值0-9,默認爲5中語調
vol String 音量,取值0-15,默認爲5中音量
per String 發音人選擇, 0爲女聲,1爲男聲,
3爲情感合成-度逍遙,4爲情感合成-度丫丫,默認爲普通女

返回樣例:

// 成功返回二進制文件流
// 失敗返回
{
    "err_no":500,
    "err_msg":"notsupport.",
    "sn":"abcdefgh",
    "idx":1
}

錯誤返回格式

若請求錯誤,服務器將返回的JSON文本包含以下參數:

  • error_code:錯誤碼。
  • error_msg:錯誤描述信息,幫助理解和解決發生的錯誤。

錯誤碼:

錯誤碼 含義
500 不支持的輸入
501 輸入參數不正確
502 token驗證失敗
503 合成後端錯誤


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章