Необходимо синтезировать русскую речь на Python 3.6. Решил воспользоваться Yandex SpeechKit. В документации сказано, что в качестве ответа сервер возвращает звуковой файл в заданном в запросе формате (в моем случае mp3). Как дальше можно сохранить или воспроизвести этот файл?
Ответ
Для того, чтобы воспроизвести аудио, нужно его сначала сохранить.
Это делается очень просто с помощью библиотеки requests и pyglet
import requests
import pyglet
# ... Ваш код
text_to_speech = '' # текст, который будет воспроизведён
request = requests.get('https://tts.voicetech.yandex.net/tts', params={'text': text_to_speech})
with open('foo.mp3', 'wb') as file:
file.write(request.content)
song = pyglet.media.load('foo.mp3')
song.play()
pyglet.app.run()
Без сохранения в файл, к сожалению, сделать немногим сложнее, в pyglet я такой "фичи" не нашёл. Может потому что плохо искал, не знаю
Но для таких целей мне подошёл GStreamer. Правда с установкой придётся немного повозиться, т.к. на данный момент очень мало актуальных инструкций в интернете.
Комментариев нет:
Отправить комментарий