首頁 > 遊戲
python讓你的文字會說話
由 程式猿小董 發表于 遊戲2023-01-29
簡介程式碼實現如下圖所示:audioaudio00:05未知來源總結:以上就是文字轉音訊的幾種方法了,baidu-aip的效果最好,但百家語音合成介面只免費一段時間,這段時間過後需要收費
dingtalklauncher是什麼意思
網上有很多各式各樣的聽書軟體,網站上也都語音播報功能。前幾天突發奇想我能不能自己實現把小說朗讀出來呢。經過幾天的摸索終於實現了,現在就記錄一下過程。這個功能主要是把文字轉成語音朗讀出來,Python支援的文字轉語音的庫有很多,這裡就介紹常用的幾種。
win32com庫
win32com庫本質是呼叫Windows電腦本身的語音功能,比較簡單,僅僅幾行程式碼就可以實現了。但是不能進行語速、音量控制,而且聲音是機器聲,比較生硬。
程式碼實現如下:
win32com。client winspeak = win。Dispatch()speak。Speak()speak。Speak()
pyttsx3庫
pyttsx3也是一款文字到語音的轉換庫,可以離線工作,與Python2和Python3都相容。pyttsx3可以實現語速、音量控制,可以呼叫系統的語音包朗讀文字,可以儲存為音訊檔案。
程式碼實現如下圖所示:
程式碼執行結果如下圖所示:
可以看到我們已經生成tssx3。mp3檔案,從列印看到我的系統只有兩個語音包,一箇中文,一個英文。voices[0]是中文,支援朗讀中文和英文,voices[1]是英文,只支援英文,讀取中文時沒有聲音。
baidu-aip庫
baidu-aip是百度推出的語音合成庫,百度智慧雲有語音合成介面,可以在Python中直接呼叫,有多種聲音可供選擇,可以成熟男音也可以撒嬌蘿莉音。
安裝baidu-aip
pip install baidu-aip
呼叫百度語音合成介面
百度智慧雲語音合成地址:
https
:
//ai。baidu。com/tech/speech/tts
只要有百度賬戶就可以登入,點選“立即使用”進入控制檯總覽,如下圖:
點選“應用列表”進入進入列表頁面,我這是已經建立了一個應用,如下圖:
剛進入的使用者需要點選“建立應用”進入應用建立頁面,如下圖所示:
填入應用名稱,勾選要使用的介面,然後點選“立即建立”,就完成應用建立了。建立完成返回應用列表頁面,在上面可以看到剛建立應用的AppID,API Key,Secret Key。返回控制檯總覽頁面,服務列表右邊有個“免費領取資源”連結,點選進去可以領取介面使用。
點選“API線上除錯”進入介面除錯頁面,選擇語音技術,語音合成,如下圖所示:
這裡就是文字合成語音的介面,技術文件詳細介紹了引數的傳值規則。
程式碼實現:
根據介面文件我們寫一個簡單的呼叫介面的程式碼,我們需要傳入AppID,API Key,Secret Key的值,per的值表示男聲女聲,
度小宇=1,度小美=0,度逍遙(基礎)=3,度丫丫=4,
度小宇
度
小美的普通的聲音,
度
逍遙度丫丫是有感情的聲音。
程式碼實現如下圖所示:
audio
audio
00:05
未知來源
總結:
以上就是文字轉音訊的幾種方法了,baidu-aip的效果最好,但百家語音合成介面只免費一段時間,這段時間過後需要收費。pytssx3效果還可以,我們可以在電腦上安裝其他語音包,應該也能達成想到的效果。