天天看點

python實作文字轉語音

存在問題:

系統中無語音識别,不能用pyttsx3庫進行實作

解決方案:

調用第三方百度的語音合成api生成音頻檔案,然後再播放音頻檔案

步驟:

1)安裝百度提供的Python庫:pip install baidu-aip

 安裝音頻播放庫:pip install playsound

2)運作以下代碼:

#識别文字并生成音頻檔案
from aip import AipSpeech
APP_ID = '10'
API_KEY = 'ftm'
SECRET_KEY = 'BBl'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) #這三個參數需要注冊百度AI雲平台進行擷取
result = client.synthesis('文字轉音頻在此輸入', 'zh', 1, {
    'vol': 5, 'per': 1
})  #需要轉化的文字在括号内第一個屬性内填寫
    #vol為音量,per為聲音種類

# 識别正确傳回語音二進制 錯誤則傳回dict 參照下面錯誤碼,生成音頻
if not isinstance(result, dict):
    with open('ex17WordToAudio_DataOut.mp3', 'wb') as f:
        f.write(result)

#以下播放音頻
from playsound import playsound
for i in range(0,3):
    playsound("ex17WordToAudio_DataOut.mp3")


           

注:

1)百度AI雲平台位址:https://ai.baidu.com/

2)進入後添加應用,擷取相應的接口ID和密鑰(上文提到的三個參數)

python實作文字轉語音

3)synthesis函數的參數:

python實作文字轉語音

4)此處必須先生成音頻再播放,能否直接轉化後就進行播放,如有知曉,請交流探讨