Last Updated : 14 Jan, 2019
pyttsxis a cross-platform text to speech library which is platform independent. The major advantage of using this library for text-to-speech conversion is that it works offline. However,
pyttsxsupports only Python 2.x. Hence, we will see pyttsx3 which is modified to work on both Python 2.x and Python 3.x with the same code.
Use this command for Installation:pip install pyttsx3Usage -
First we need to import the library and then initialise it using
init()
function. This function may take 2 arguments.
init(driverName string, debug bool)
After initialisation, we will make the program speak the text using
say()
function. This method may also take 2 arguments.
say(text unicode, name string)
Finally, to run the speech we use
runAndWait()
All the
say()
texts won't be said unless the interpreter encounters
runAndWait()
.
Code #1:Speaking Text
Python3 1==
# importing the pyttsx library
import pyttsx3
# initialisation
engine = pyttsx3.init()
# testing
engine.say("My first code on text-to-speech")
engine.say("Thank you, Geeksforgeeks")
engine.runAndWait()
Code #2:
Listening for events
Python3
import pyttsx3
def onStart():
print('starting')
def onWord(name, location, length):
print('word', name, location, length)
def onEnd(name, completed):
print('finishing', name, completed)
engine = pyttsx3.init()
engine.connect('started-utterance', onStart)
engine.connect('started-word', onWord)
engine.connect('finished-utterance', onEnd)
sen = 'Geeks for geeks is a computer portal for Geeks'
engine.say(sen)
engine.runAndWait()
Why pyttsx?
It works offline, unlike other text-to-speech libraries. Rather than saving the text as audio file,
pyttsxactually speaks it there. This makes it more reliable to use for voice-based projects.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4