Istnieje wiele modułów, które potrafią zamienić tekst na mowę. Jednym z nich jest biblioteka pyttsx3, który można zainstalować za pomocą pip:
pip install pyttsx3
na windowsie, podczas instalacji pyttsx3 zostaną zainstalowane też dodatkowe moduły (np. pypiwin32)
Dokumentacja i przykłady korzystania z biblioteki:
pypi – https://pypi.org/project/pyttsx3/
pyttsx3 docs – https://pyttsx3.readthedocs.io/en/latest/
Prosty przykład programu zamieniającego tekst na mowę:
import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()
Sprawdzenie dostępnych głosów i ustawienie głosu polskiego Paulina
import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty("voices")
for voice in voices:
print("Voice ", voice.name)
print("Voice ID ", voice.id)
engine.setProperty('voice', "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_PL-PL_PAULINA_11.0")
engine.say("Cześć ludziska")
engine.runAndWait()
Przykładowy program zamiany tekstu na mowę za pomocą modułu gtts
# Import the required module for text
# to speech conversion
from gtts import gTTS
# This module is imported so that we can
# play the converted audio
import os
# The text that you want to convert to audio
mytext = 'Cześć. Jak się masz?'
# Language in which you want to convert
language = 'pl'
# Passing the text and language to the engine,
# here we have marked slow=False. Which tells
# the module that the converted audio should
# have a high speed
myobj = gTTS(text=mytext, lang=language, slow=False)
# Saving the converted audio in a mp3 file named
# welcome
myobj.save("welcome.mp3")
# Playing the converted file
os.system("welcome.mp3")