当前位置:首页 >> 脚本专栏

浅谈盘点5种基于Python生成的个性化语音方法

    小编在很小的时候就特别喜欢搞怪,模仿别人的声音,尤其是老头老太太模仿的那是一个出神入化。

    今天小编就带大家模仿一下个性化的声音,不过不是用小编的嘴,而是用程序,看它们都是怎么被模仿出来的。

1、gtts模块

    这是一款语音模块,它可以将任意文字转换为音频文件,格式为mp3。下面我们一起来看看它的用法:

一、安装并导入:

pip install gtts
from gtts import gTTS

二、配置gtts客户端

tts = gTTS(text=text, lang='zh-tw')

text:音频内容
lang: 音频语言

三、保存音频文件

tts.save("XXX.mp3")

2、baidu-aip

    通过在百度开放开发者平台申请语音合成账号来生成音频文件。

浅谈盘点5种基于Python生成的个性化语音方法 

# 下载baidu-aip模块并导入
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,默认为5中语速,
pit:音调,取值0-9,默认为5中语调,
vol:音量,取值0-15,默认为5中音量,
per:发音人选择, 0为女声,1为男声, 3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
}) #配置个性化语音
with open('XX.mp3','wb') as f: #打开文件流
f.write(res)  #写入文件

3、pyttsx3

这也是一款优秀的文字转语音的模块,它生成的音频文件也比较具有个性化。

下载pyttsx3模块并导入:

pip install pyttsx3
import pyttsx3

初始化:

pp = pyttsx3.init()

添加语音文本:

pp.say('Hello World')

运行:

pp.runAndWait()

当然它还可以调整声音的音量,频率,变声,当然设置方法都差不多,都是先拿到它对应功能的值然后在进行加减。

比如说音量调节:

vol=pp.getProperty('volume')
pp.setProperty('vol',vol+0.5)

对于发音,频率,变声则为 vioce,rate,vioces,是不是很好理解了?当然,如果你想让它循环播放,只需加一个事件驱动循环即可:

pp.startLoop()

4、pywin32

操作window dll的库,它可以实现很多功能,十分强大。

安装并且导入:

pip install pywin32
import win32com.client

配置客户端接口:

speaker = win32com.client.Dispatch("SAPI.SpVoice")

生成音频:

speaker.Speak("hello")

由于对中文支持不友好,所以基本用的不多。

5、speech

也是一款强大的语音模块,依赖于pywin32,而且它最适合做语音启动程序了。

下载并导入:

pip install speech
import speech

生成音频:

speech.say('hello')

这么多音频模块,你了解多少了,到底哪一个才是你的菜呢?