Text-to-Speech in Python
Convert text to speech in Python with picotts and pyttsx3.
1 min read
Updated
Two ways to synthesise speech in Python: the lightweight picotts wrapper and the cross-platform pyttsx3 library. Both scripts are below.
tts-with-picotts.py
python
import os
import subprocess
# Set the text to be read
text = "Bonjour, comment allez-vous?"
# Set the language to French
language = "fr-FR"
# Set the path of the audio file
audio_file_path = "audio.wav"
# Set the command for generating the audio file using pico2wave
command = f"pico2wave -l {language} -w {audio_file_path} '{text}'"
# Execute the command using subprocess
subprocess.call(command, shell=True)
# Play the audio file using the default audio player
os.startfile(audio_file_path)tts-with-pyttsx3.py
python
# Import the necessary libraries
import pyttsx3
# Initialize the pyttsx3 engine
engine = pyttsx3.init()
# Set the voice to a French voice
engine.setProperty('voice', 'fr')
# Set the speed of the engine
engine.setProperty('rate', 180)
# Set the volume of the engine
engine.setProperty('volume', 1.0)
# Define the input text in French
input_text = "Bonjour, comment ça va ?"
# Convert the input text to speech
engine.say(input_text)
# Play the speech
engine.runAndWait()