Воспроизведение аудио на ESP32 или Arduino

Я нахожусь в процессе создания говорящего робота и подключил свой ESP32 к сервису Google text-to-speech. Служба возвращает мне 8-битный аудиосигнал base64.

Мне нужно воспроизвести этот звук, и я не могу понять, как это сделать. Я знаю, что для PCM существует библиотека воспроизведения звука, но данные, которые ей требуются, не являются base64.

, 👍0

Обсуждение

Base64 - это просто кодировка для инкапсуляции 8-битных данных в текст ASCII. Это не имеет ничего общего со звуком. Сначала декодируйте его в двоичные данные, а затем используйте подходящую библиотеку для вашего оборудования, чтобы воспроизвести его., @Majenko

На esp существует также автономная версия преобразования текста в речь. Просто если ты хочешь попробовать..., @Adriano

Я не знаю погода это поможет вам есть парень который делает классные вещи в GitHub text to speech в esp8266 надеюсь он будет работать и в esp32 https://github.com/earlephilhower/ESP8266SAM, @Avon97


1 ответ


1

Base64 не имеет ничего общего со звуком. Это просто способ инкапсуляции двоичных данных в текст ASCII, чтобы их можно было безопасно включать в текстовые структуры, такие как JSON, или передавать по текстовому каналу связи.

Нет никакой библиотеки для "воспроизведения" base64 просто потому, что base64-это не то, что вы играете.

Сначала вы декодируете текст base64 в необработанный 8-битный двоичный файл. Именно тогда эти данные вы воспроизводите через любую библиотеку, наиболее подходящую для вашего оборудования.

Например, на ESP32 у вас есть функция base64_decode (). Вы можете прочитать о том, как его использовать, в этом уроке.

,