Вы можете использовать следующие методы.
Метод 1: Речевой движок Microsoft (протестирован на Windows 10)
На платформе Windows 10 вы можете использовать следующую альтернативу.
import win32com.client as wincl
speaker = wincl.Dispatch("SAPI.SpVoice")
speaker.Speak("Hello World")
Метод 2: Используйте gtts
+ pygame
(независимое от ОС решение)
Здесь вы можете использовать gtts
, чтобы сохранить текст в виде mp3-файла, а затем загрузитьи играть в нее, используя pygame
.
Шаг 1: сохранение текста в формате MP3
#pip install gTTS
from gtts import gTTS
tts = gTTS(text='Good morning', lang='en')
tts.save("good.mp3")
Шаг 2: загрузка и воспроизведение файла MP3
#pip install pygame
from pygame import mixer
mixer.init()
mixer.music.load('good.mp3')
mixer.music.play()
Другой вариант : Используйте VLC MediaPlayer для воспроизведения файла MP3.
#pip install python-vlc
import vlc
p = vlc.MediaPlayer("good.mp3")
p.play()
Метод 3: Непосредственное воспроизведение текста в речь из буфера
Нет необходимости сохранять в формате mp3.
Источник:
- gTTS прямой выход
- https://gtts.readthedocs.io/en/latest/module.html#playing-sound-directly
- https://gist.github.com/lamegaton/1c7f383d6434a9b02f5652ddbee258d9
from gtts import gTTS
from io import BytesIO
# Use gTTS to Store Speech on Buffer
tts = gTTS(text='Good morning', lang='en')
mp3 = BytesIO()
tts.write_to_fp(mp3)
mp3.seek(0)
# Play from Buffer
mixer.init()
mixer.music.load(mp3)
mixer.music.play()
Ссылки
- https://pythonprogramminglanguage.com/text-to-speech/
- https://pypi.org/project/gTTS/
- Воспроизведение mp3 песни на питоне