We can perform text-to-speech in Python using the PyTTSX3 speech synthesis library.
Install the PyTTSX3 library:
$ pip install pyttsx3
The following example script will synthesize the audio for speaking “hello”.
synthesize-hello.py:
import pyttsx3 synthesizer = pyttsx3.init() synthesizer.say("hello") synthesizer.runAndWait() synthesizer.stop()
To perform speech synthesis with a specific voice, use the following.
This is specific to macOs.
synthesize-by-voice.py:
import pyttsx3 synthesizer = pyttsx3.init() voices = synthesizer.getProperty("voices") for voice in voices: print(voice.id) voiceChoice = input("Enter name: ") synthesizer.setProperty("voice", "com.apple.speech.synthesis.voice." + str(voiceChoice)) stringToSay = input("Enter text to read: ") synthesizer.say(stringToSay) synthesizer.runAndWait() synthesizer.stop()
The example run below shows the available voices and the input choosing a specific voice.
The input string is then synthesized as speech.
com.apple.speech.synthesis.voice.Alex com.apple.speech.synthesis.voice.alice com.apple.speech.synthesis.voice.alva ... com.apple.speech.synthesis.voice.yuri com.apple.speech.synthesis.voice.zosia com.apple.speech.synthesis.voice.zuzana Enter name: yuri Enter text to read: this is a fake voice
The output is audio.