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