Страницы

Поиск по вопросам

среда, 17 апреля 2019 г.

Сохранение и воспроизведение mp3-файла, полученного по HTTP

Необходимо синтезировать русскую речь на 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. Правда с установкой придётся немного повозиться, т.к. на данный момент очень мало актуальных инструкций в интернете.

Комментариев нет:

Отправить комментарий