5個(gè)Python中實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音模塊的使用講解
一. 用 gtts 模塊
參考文檔:https://gtts.readthedocs.io/en/latest/
使用前需要先安裝:pip3 install gtts ,樣例如下:
# -*- encoding: utf-8 -*- from gtts import gTTS text = """ 從前,有一座美麗的大森林,森林里住著許多小動(dòng)物,它們每天過(guò)著無(wú)憂無(wú)慮的生活。有一天,森林里來(lái)了幾個(gè)伐木工人, 他們拿著斧頭和鋸子,把一棵棵樹(shù)給砍倒了。幾天下來(lái),裸露的土地不斷擴(kuò)大,森林里的樹(shù)木不斷減少。大象看了之后非常生氣, 他和幾個(gè)好朋友決定把這些伐木工人抓起來(lái),送到動(dòng)物法庭上。第二天,大象他們就把伐木工人給抓了起來(lái),送到了動(dòng)物法庭上。 許多旁觀者都紛紛議論起來(lái),猴法官說(shuō):“安靜,安靜,大象你們把這些人抓來(lái)是怎么回事?”大象說(shuō):“這些人亂砍樹(shù)木,破壞我們的家園。 大象的好朋友小猴說(shuō):“對(duì)呀,他們把樹(shù)給砍光了,我們就不能在樹(shù)上蕩秋千了?!毙▲B(niǎo)也說(shuō):”猴法官,要是沒(méi)有樹(shù)木,我們就不能筑巢了。 長(zhǎng)頸鹿說(shuō):“要是沒(méi)有樹(shù)木,我們就吃不到樹(shù)葉了,我們會(huì)餓死的?!甭?tīng)到這里,猴法官對(duì)伐木工人說(shuō):“你們亂砍樹(shù)木是不對(duì)的, 沒(méi)有了樹(shù)木,我們動(dòng)物就無(wú)法生存,同樣也會(huì)給你們?nèi)祟悗?lái)災(zāi)難的。”聽(tīng)了這些話,伐木工人覺(jué)得很慚愧,知道自己錯(cuò)了, 他們保證以后不再亂砍樹(shù)木破壞森林了,還在森林入口立了一塊告示牌,上面寫(xiě)著:“保護(hù)森林,人人有責(zé)?!睆拇艘院?,人們不再破壞森林, 動(dòng)物和人類和平相處,大家都過(guò)著幸福、快樂(lè)的生活。 """ tts = gTTS(text=text, lang='zh-tw') tts.save("XXX.mp3")
二. 用pyttsx3模塊
參考文檔:https://pyttsx3.readthedocs.io/en/latest/
優(yōu)勢(shì):
1、完全脫機(jī)文本到語(yǔ)音轉(zhuǎn)換,可以在系統(tǒng)中安裝的不同語(yǔ)音中進(jìn)行選擇;
2、控制語(yǔ)音的速度/速率,調(diào)整音量;
3、將語(yǔ)音音頻另存為文件;
4、簡(jiǎn)單、強(qiáng)大、直觀的API。
使用前需要先安裝:pip3 install pyttsx3
基本使用
import pyttsx3 engine = pyttsx3.init() engine.say("I will speak this text") engine.runAndWait()
直接朗讀
import pyttsx3 pyttsx3.speak("I will speak this text")
更改語(yǔ)音、速率和音量
import pyttsx3 engine = pyttsx3.init() # object creation """ RATE""" rate = engine.getProperty('rate') # getting details of current speaking rate print (rate) #printing current voice rate engine.setProperty('rate', 125) # setting up new voice rate """VOLUME""" volume = engine.getProperty('volume') #getting to know current volume level (min=0 and max=1) print (volume) #printing current volume level engine.setProperty('volume',1.0) # setting up volume level between 0 and 1 """VOICE""" voices = engine.getProperty('voices') #getting details of current voice #engine.setProperty('voice', voices[0].id) #changing index, changes voices. o for male engine.setProperty('voice', voices[1].id) #changing index, changes voices. 1 for female engine.say("Hello World!") engine.say('My current speaking rate is ' + str(rate)) engine.runAndWait() engine.stop() """Saving Voice to a file""" # On linux make sure that 'espeak' and 'ffmpeg' are installed engine.save_to_file('Hello World', 'test.mp3') engine.runAndWait()
三. baidu-aip
通過(guò)在百度開(kāi)放開(kāi)發(fā)者平臺(tái)申請(qǐng)語(yǔ)音合成賬號(hào)來(lái)生成音頻文件。樣例如下:
# 下載baidu-aip模塊并導(dǎo)入 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) #配置百度語(yǔ)音客戶端res=client.synthesis(text,lang,1,options={ #spd:語(yǔ)速,取值0-9,默認(rèn)為5中語(yǔ)速, #pit:音調(diào),取值0-9,默認(rèn)為5中語(yǔ)調(diào), #vol:音量,取值0-15,默認(rèn)為5中音量, #per:發(fā)音人選擇, 0為女聲,1為男聲, 3為情感合成-度逍遙,4為情感合成-度丫丫,默認(rèn)為普通女}) #配置個(gè)性化語(yǔ)音 with open('XX.mp3','wb') as f: #打開(kāi)文件流 f.write(res) #寫(xiě)入文件
四. pywin32
操作window dll的庫(kù),它可以實(shí)現(xiàn)很多功能,十分強(qiáng)大。不過(guò)經(jīng)測(cè)試,對(duì)中文支持不太友好。
需要先安裝:pip install pywin32
# -*- encoding: utf-8 -*- from win32com import client # 配置客戶端接口 speaker = client.Dispatch("SAPI.SpVoice") speaker.Speak("hello")
五. speech
也是一款強(qiáng)大的語(yǔ)音模塊,依賴于pywin32,而且它最適合做語(yǔ)音啟動(dòng)程序了。
下載并導(dǎo)入:pip install speech
import speech # 生成音頻: speech.say('hello')
到此這篇關(guān)于5個(gè)Python中實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音模塊的使用講解的文章就介紹到這了,更多相關(guān)Python文字轉(zhuǎn)語(yǔ)音內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音的項(xiàng)目實(shí)踐
- Python中語(yǔ)音轉(zhuǎn)文字相關(guān)庫(kù)介紹(最新推薦)
- 基于Python實(shí)現(xiàn)語(yǔ)音識(shí)別和語(yǔ)音轉(zhuǎn)文字
- Python詳解文字轉(zhuǎn)語(yǔ)音的實(shí)現(xiàn)
- python文字轉(zhuǎn)語(yǔ)音實(shí)現(xiàn)過(guò)程解析
- python文字轉(zhuǎn)語(yǔ)音的實(shí)例代碼分析
- Python將文字轉(zhuǎn)成語(yǔ)音并讀出來(lái)的實(shí)例詳解
相關(guān)文章
python爬蟲(chóng)用request庫(kù)處理cookie的實(shí)例講解
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python爬蟲(chóng)用request庫(kù)處理cookie的實(shí)例講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。2021-02-02windows中安裝Python3.8.0的實(shí)現(xiàn)方法
這篇文章主要介紹了windows中安裝Python3.8.0的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11基于Python中capitalize()與title()的區(qū)別詳解
下面小編就為大家分享一篇基于Python中capitalize()與title()的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Django uwsgi Nginx 的生產(chǎn)環(huán)境部署詳解
這篇文章主要介紹了Django uwsgi Nginx 的生產(chǎn)環(huán)境部署詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Virtualenv 搭建 Py項(xiàng)目運(yùn)行環(huán)境的教程詳解
這篇文章主要介紹了Virtualenv 搭建 Py項(xiàng)目運(yùn)行環(huán)境的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06matplotlib設(shè)置顏色、標(biāo)記、線條,讓你的圖像更加豐富(推薦)
這篇文章主要介紹了matplotlib設(shè)置顏色、標(biāo)記、線條,讓你的圖像更加豐富,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09