重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家分享的是有关如何使用Python实现文字转语音并生成wav文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站设计、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元高明做网站,已为上家服务,为高明各地企业和个人服务,联系电话:028-86922220步骤如下,
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文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。