使用Python實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音并生成wav文件的例子
目前手邊的一些工作,需要實(shí)現(xiàn)聲音播放功能,而且僅支持wav聲音格式。
現(xiàn)在,一些網(wǎng)站上支持文字轉(zhuǎn)語(yǔ)音功能,但是生成的都是MP3文件,這樣還需要額外的軟件來(lái)轉(zhuǎn)成wav文件,十分麻煩。
后來(lái),研究Python,發(fā)現(xiàn)Python可以很容易的實(shí)現(xiàn)上面的功能。
步驟如下,
1。使用百度語(yǔ)音實(shí)現(xiàn)TTS(Text To Speech),生成mp3文件;
2。 使用pydub和ffmpeg實(shí)現(xiàn)mp3轉(zhuǎn)wav格式。
下面,先上簡(jiǎn)單的示例代碼,然后對(duì)代碼作簡(jiǎn)單的分析。
#!/usr/bin/python -tt # -*- coding: utf-8 -*- from aip import AipSpeech from pydub import AudioSegment # Step 1, Using baidu AI to generate mp3 file from text #input your APP_ID/API_KEY/SECRET_KEY APP_ID = 'Your_APP_ID' API_KEY = 'Your_API_KEY' SECRET_KEY = 'Your_Secret_Key' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) result = client.synthesis('你好百度, good morning', 'zh', 1, { 'vol': 5,'per':4 }) if not isinstance(result, dict): with open('test.mp3', 'wb') as f: f.write(result) # Step 2, convert the mp3 file to wav file sound = AudioSegment.from_mp3('test.mp3') sound.export("test.wav", format="wav")
運(yùn)行上面的python代碼,就會(huì)生成test.mp3和test.wav,使用命令“aplay test.wav”,可以測(cè)試播放聲音。
下面對(duì)代碼做解析,
1。在運(yùn)行之前,需要安裝下面的庫(kù),
1.1 安裝百度AI模塊,安裝命令“pip install baidu-aip”
1.2 安裝pydub,pydub是python的一個(gè)音頻處理庫(kù)處理,能對(duì)wav格式的音頻直接進(jìn)行處理,安裝命令“pip install pydub”
1.3 安裝ffmpeg,可以實(shí)現(xiàn)對(duì)mp3格式的處理,安裝命令“sudo apt-get install ffmpeg”
2。需要注冊(cè)百度的應(yīng)用開(kāi)發(fā)者賬戶,
用戶可以自行去下面的網(wǎng)站去注冊(cè)語(yǔ)音合成-百度AIai.baidu.com,注冊(cè)百度云之后,去控制臺(tái)創(chuàng)建應(yīng)用,過(guò)程比較簡(jiǎn)單。
大家可以對(duì)上述代碼進(jìn)行進(jìn)一步的優(yōu)化,以實(shí)現(xiàn)自己想要的功能。
下面是完整的Python代碼,大家可以拿來(lái)使用,
#!/usr/bin/python -tt # -*- coding: utf-8 -*- """ module: baiduVoiceGenerate platform: Linux description: Generate Speech from Text, and convert the audio to wav file. Precondition: Please install below module before run this progrom, 1. pip install baidu-aip 2. pip install pydub 3. sudo apt-get install ffmpeg creater: Guangwei Jiang create time: 2018-11-21 """ from aip import AipSpeech from pydub import AudioSegment import time #input your own APP_ID/API_KEY/SECRET_KEY APP_ID = '14891501' API_KEY = 'EIm2iXtvDSplvR5cyHU8dAeM' SECRET_KEY = '4KkGGzTq2GVrBEYPLXXWEEIoyLL1F6Zt ' print("baiduVoiceGenerate: V1.0, by Guanagwei_Jiang, 20181121") str = raw_input("請(qǐng)輸入要轉(zhuǎn)成語(yǔ)音的文字: ") client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) result = client.synthesis(str, 'zh', 1, { 'vol': 5,'per':4 }) if not isinstance(result, dict): with open('temp.mp3', 'wb') as f: f.write(result) sound = AudioSegment.from_mp3('temp.mp3') sound.export(time.strftime("%Y%m%d_%H%M%S", time.localtime())+".wav", format="wav")
以上這篇使用Python實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音并生成wav文件的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python詳解文字轉(zhuǎn)語(yǔ)音的實(shí)現(xiàn)
- 基于Python PaddleSpeech實(shí)現(xiàn)語(yǔ)音文字處理
- python教程十行代碼教你語(yǔ)音轉(zhuǎn)文字QQ微信聊天
- python3實(shí)現(xiàn)語(yǔ)音轉(zhuǎn)文字(語(yǔ)音識(shí)別)和文字轉(zhuǎn)語(yǔ)音(語(yǔ)音合成)
- python文字轉(zhuǎn)語(yǔ)音實(shí)現(xiàn)過(guò)程解析
- python 利用pyttsx3文字轉(zhuǎn)語(yǔ)音過(guò)程詳解
- Python調(diào)用edge-tts實(shí)現(xiàn)在線文字轉(zhuǎn)語(yǔ)音效果
相關(guān)文章
django商品分類及商品數(shù)據(jù)建模實(shí)例詳解
這篇文章主要介紹了django商品分類及商品數(shù)據(jù)建模實(shí)例代碼內(nèi)容,需要的朋友們學(xué)習(xí)參考下。2020-01-01python通過(guò)urllib2爬網(wǎng)頁(yè)上種子下載示例
這篇文章主要介紹了通過(guò)urllib2、re模塊抓種子下載的示例,需要的朋友可以參考下2014-02-02通過(guò)Plotly實(shí)現(xiàn)交互式數(shù)據(jù)可視化的流程步驟
在數(shù)據(jù)科學(xué)和數(shù)據(jù)分析領(lǐng)域,數(shù)據(jù)可視化是一種非常重要的技術(shù),Plotly 是一個(gè)功能強(qiáng)大的 Python 可視化庫(kù),它可以幫助我們創(chuàng)建交互式的數(shù)據(jù)可視化圖表,本文將介紹如何使用 Plotly 實(shí)現(xiàn)交互式數(shù)據(jù)可視化,需要的朋友可以參考下2024-05-05pandas中concat函數(shù)實(shí)現(xiàn)橫向連接
在pandas中,concat函數(shù)可用于合并不同的Series和DataFrame對(duì)象,本文主要介紹了pandas中concat函數(shù)實(shí)現(xiàn)橫向連接,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04關(guān)于Python3爬蟲(chóng)利器Appium的安裝步驟
在本篇文章里小編給大家整理的是一篇關(guān)于Python3爬蟲(chóng)利器Appium的安裝步驟,需要的朋友們可以跟著參考下。2020-07-07pytorch通過(guò)訓(xùn)練結(jié)果的復(fù)現(xiàn)設(shè)置隨機(jī)種子
這篇文章主要介紹了pytorch通過(guò)訓(xùn)練結(jié)果的復(fù)現(xiàn)設(shè)置隨機(jī)種子的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06python opencv實(shí)現(xiàn)圖像配準(zhǔn)與比較
這篇文章主要為大家詳細(xì)介紹了python opencv實(shí)現(xiàn)圖像配準(zhǔn)與比較,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02