自定义Python gTTS语音

问题描述 投票:0回答:8

我一直在使用 python 3.4 的 gTTS 模块来制作语音文本的 mp3 文件。它一直有效,但所有的语音都是某种成年女性的声音。有没有办法自定义 gTTS 朗读文本的声音?

python python-3.x text-to-speech google-text-to-speech
8个回答
20
投票

不幸的是,你似乎无法做到这一点。该脚本使用此网页来获取语音,看来您所能做的就是每种语言都有一个语音。

阅读实际来源表明您的下一个最佳选择是尝试通过仍然是英语的其他语言(例如,en-uk)。它可能会产生不同的结果,仍然是英语,但具有不同的方言。


3
投票

是的,如果您想更改语言或提供另一种口音,您可以这样做。

gTTS('hello', lang='en', tld='com.au')
。 其中“tld”参数用于重音。如需更多口音,请检查此 .


2
投票
是否可以通过 Audacity 传递 gTTS 输出并对男性声音进行更改? gTTS 我刚刚开始有一个非常好的女声,但引擎无法很好地读取长句子或意外单词。 尽管如此,它仍然是迄今为止我发现的最好的免费软件,而且实际上比所有其他免费软件以及很多付费软件都要好。 我只需要编写 py 脚本以及如何使用 python,后来了解到 Anaconda 是解决你的烦恼的灵丹妙药。 获得了我的系统终端和 pip 来正确安装 gTTS,这是我在 Anaconda 之前无法做到的。 人们为 3.+ 编写的脚本现在可以在默认 py v2.7 中运行而不会出现错误。 终端现在是 env 3.6.8,但所有旧的 py 脚本仍然运行良好。


2
投票
如果您在命令提示符下调用“gtts-cli --all”,您可以看到 gTTS 实际上支持很多语音。但是,您只能更改口音,而不能更改性别。


2
投票
是的,您可以用几种语言和口音自定义文本。您可以在这里找到完整的文档:

gTTS 文档

您可以通过这种方式尝试不同的语言和口音:

tts_obj = gTTS(text=tts, tld=tlds["South Africa"], lang=lang, slow=False)
    

1
投票
您可以随时使用 pyttsx3, 它默认为男声,但您也可以将其更改为女声,并且您可以更改更多参数,例如速度和音量。我认为 gtts 的语音质量还是稍微好一些。 如果您想使用它,这里有一些帮助您入门的文档:

https://www.geeksforgeeks.org/text-to-speech-changing-voice-in-python


0
投票
有没有办法改变性别或说话者而不通过与“tlds”变量不同的变量进行更改?


-1
投票
您可以通过在请求 tts 时传递第二个参数来轻松更改输出语言。所以就这样吧:

tts = gTTS("Say something", lang = 'XX') #replace XX with your language code

Google Text-to-Speech 的 python 文档网站上,您可以找到一个表格,其中包含一些国家/地区的一些语言代码。

© www.soinside.com 2019 - 2024. All rights reserved.