首頁 > 遊戲

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可以實現語速、音量控制,可以呼叫系統的語音包朗讀文字,可以儲存為音訊檔案。

程式碼實現如下圖所示:

python讓你的文字會說話

程式碼執行結果如下圖所示:

python讓你的文字會說話

可以看到我們已經生成tssx3。mp3檔案,從列印看到我的系統只有兩個語音包,一箇中文,一個英文。voices[0]是中文,支援朗讀中文和英文,voices[1]是英文,只支援英文,讀取中文時沒有聲音。

baidu-aip庫

baidu-aip是百度推出的語音合成庫,百度智慧雲有語音合成介面,可以在Python中直接呼叫,有多種聲音可供選擇,可以成熟男音也可以撒嬌蘿莉音。

安裝baidu-aip

pip install baidu-aip

呼叫百度語音合成介面

百度智慧雲語音合成地址:

https

//ai。baidu。com/tech/speech/tts

python讓你的文字會說話

只要有百度賬戶就可以登入,點選“立即使用”進入控制檯總覽,如下圖:

python讓你的文字會說話

點選“應用列表”進入進入列表頁面,我這是已經建立了一個應用,如下圖:

python讓你的文字會說話

剛進入的使用者需要點選“建立應用”進入應用建立頁面,如下圖所示:

python讓你的文字會說話

填入應用名稱,勾選要使用的介面,然後點選“立即建立”,就完成應用建立了。建立完成返回應用列表頁面,在上面可以看到剛建立應用的AppID,API Key,Secret Key。返回控制檯總覽頁面,服務列表右邊有個“免費領取資源”連結,點選進去可以領取介面使用。

點選“API線上除錯”進入介面除錯頁面,選擇語音技術,語音合成,如下圖所示:

python讓你的文字會說話

這裡就是文字合成語音的介面,技術文件詳細介紹了引數的傳值規則。

程式碼實現:

根據介面文件我們寫一個簡單的呼叫介面的程式碼,我們需要傳入AppID,API Key,Secret Key的值,per的值表示男聲女聲,

度小宇=1,度小美=0,度逍遙(基礎)=3,度丫丫=4,

度小宇

小美的普通的聲音,

逍遙度丫丫是有感情的聲音。

程式碼實現如下圖所示:

python讓你的文字會說話

audio

audio

00:05

未知來源

總結:

以上就是文字轉音訊的幾種方法了,baidu-aip的效果最好,但百家語音合成介面只免費一段時間,這段時間過後需要收費。pytssx3效果還可以,我們可以在電腦上安裝其他語音包,應該也能達成想到的效果。

Tags:語音介面baidu如下點選