0%

python | 语音模块

python 的语音处理模块。

参考资料

gtts模块

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

安装并导入

1
2
pip install gtts
from gtts import gTTS

配置gtts客户端

1
2
3
tts = gTTS(text=text, lang='zh-tw')
text:音频内容
lang: 音频语言

保存音频文件

1
tts.save("XXX.mp3")

baidu-aip

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 下载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) #写入文件

pyttsx3

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

下载pyttsx3模块并导入

1
2
pip install pyttsx3
import pyttsx3

初始化

1
pp = pyttsx3.init()

添加语音文本

1
pp.say('Hello World')

运行

1
pp.runAndWait()

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

比如说音量调节

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

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

1
pp.startLoop()

pywin32

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

安装并且导入:

1
2
pip install pywin32
import win32com.client

配置客户端接口:

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

生成音频:

1
speaker.Speak("hello")

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

speech

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

下载并导入

1
2
pip install speech
import speech

生成音频

1
speech.say('hello')
请我喝杯咖啡吧~