您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何使用Python實現文字轉語音并生成wav文件的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
步驟如下,
1。使用百度語音實現TTS(Text To Speech),生成mp3文件;
2。 使用pydub和ffmpeg實現mp3轉wav格式。
下面,先上簡單的示例代碼,然后對代碼作簡單的分析。
#!/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")
運行上面的python代碼,就會生成test.mp3和test.wav,使用命令“aplay test.wav”,可以測試播放聲音。
下面對代碼做解析,
1。在運行之前,需要安裝下面的庫,
1.1 安裝百度AI模塊,安裝命令“pip install baidu-aip”
1.2 安裝pydub,pydub是python的一個音頻處理庫處理,能對wav格式的音頻直接進行處理,安裝命令“pip install pydub”
1.3 安裝ffmpeg,可以實現對mp3格式的處理,安裝命令“sudo apt-get install ffmpeg”
2。需要注冊百度的應用開發者賬戶,
用戶可以自行去下面的網站去注冊語音合成-百度AIai.baidu.com,注冊百度云之后,去控制臺創建應用,過程比較簡單。
大家可以對上述代碼進行進一步的優化,以實現自己想要的功能。
下面是完整的Python代碼,大家可以拿來使用,
#!/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("請輸入要轉成語音的文字: ") 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實現文字轉語音并生成wav文件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。