无需互联网即可使用 Python 实现逼真的文字转语音?
Realistic text to speech with Python that doesn't require internet?
我正在尝试创建一个人工智能程序(没什么大的或特别的)并且我希望它有声音(谁不想呢?)。我研究了 espeak、festival、gTTS,它们很好用,但不够现实,我无法真正为之自豪,如果这有意义的话。我一直在寻找更现实的东西。
像这样
from gtts import gTTS
tts = gTTS(text='what to say', lang='en')
tts.save('/path/to/file.mp3')
gTTS 工作正常。我喜欢它。这是现实的,但它需要互联网。问题是,我希望我的应用程序尽可能独立。而且我讨厌依赖互联网。
还有其他选择吗?
PS:我目前是 运行 Linux,所以您的 OS 可能有不同的解决方案。
尝试使用pyttsx3 2.5,根据documentation:
gTTS which works perfectly in python3 but it needs internet connection to work since it relies on google to get the audio data.But Pyttsx is completely offline and works seemlesly and has multiple tts-engine support.
适用于 Python 2 和 3
要安装它:
pip install pyttsx3
使用起来应该很简单:
import pyttsx3;
engine = pyttsx3.init();
engine.say("I will speak this text");
engine.runAndWait() ;
编辑 1 - 更改声音
要获得不那么机械化的声音,您可以尝试按如下方式更改声音:
engine.setProperty('voice', voice.id)
获取可用语音
voices = engine.getProperty('voices')
您可以按照以下问题中的说明尝试不同的可用语音:。
编辑 2 - 选择语音引擎
该库支持以下引擎:
- sapi5 - Windows
上的 SAPI5
- nsss - Mac OS X
上的 NSSpeechSynthesizer
- espeak - 所有其他平台上的 eSpeak
如果 espeak 不是很自然,如果你使用 Windows 可以尝试 sapi5,如果你使用 Mac OS X.
可以尝试 nsss
您可以在init方法中指定引擎,例如:
pyttsx3.init(driverName='sapi5')
我正在尝试创建一个人工智能程序(没什么大的或特别的)并且我希望它有声音(谁不想呢?)。我研究了 espeak、festival、gTTS,它们很好用,但不够现实,我无法真正为之自豪,如果这有意义的话。我一直在寻找更现实的东西。 像这样
from gtts import gTTS
tts = gTTS(text='what to say', lang='en')
tts.save('/path/to/file.mp3')
gTTS 工作正常。我喜欢它。这是现实的,但它需要互联网。问题是,我希望我的应用程序尽可能独立。而且我讨厌依赖互联网。
还有其他选择吗?
PS:我目前是 运行 Linux,所以您的 OS 可能有不同的解决方案。
尝试使用pyttsx3 2.5,根据documentation:
gTTS which works perfectly in python3 but it needs internet connection to work since it relies on google to get the audio data.But Pyttsx is completely offline and works seemlesly and has multiple tts-engine support.
适用于 Python 2 和 3
要安装它:
pip install pyttsx3
使用起来应该很简单:
import pyttsx3;
engine = pyttsx3.init();
engine.say("I will speak this text");
engine.runAndWait() ;
编辑 1 - 更改声音
要获得不那么机械化的声音,您可以尝试按如下方式更改声音:
engine.setProperty('voice', voice.id)
获取可用语音
voices = engine.getProperty('voices')
您可以按照以下问题中的说明尝试不同的可用语音:
编辑 2 - 选择语音引擎
该库支持以下引擎:
- sapi5 - Windows 上的 SAPI5
- nsss - Mac OS X 上的 NSSpeechSynthesizer
- espeak - 所有其他平台上的 eSpeak
如果 espeak 不是很自然,如果你使用 Windows 可以尝试 sapi5,如果你使用 Mac OS X.
可以尝试 nsss您可以在init方法中指定引擎,例如:
pyttsx3.init(driverName='sapi5')