Files
klubhaus-doorbell/libraries/audio-tools/examples/examples-tts/streams-espeak-i2s/streams-espeak-i2s.ino
2026-02-16 19:05:11 -08:00

41 lines
1.1 KiB
C++

/**
* @file espeak-min.ino
* @author Phil Schatzmann
* @brief Arduino C++ API - minimum example. The espeak-ng-data is stored on in
* progmem with the arduino-posix-fs library and we output audio to I2S with the
* help of the AudioTools library
* @version 0.1
* @date 2022-10-27
*
* @copyright Copyright (c) 2022
*/
#include "AudioTools.h" // https://github.com/pschatzmann/arduino-audio-tools
#include "FileSystems.h" // https://github.com/pschatzmann/arduino-posix-fs
#include "espeak.h" // https://github.com/pschatzmann/arduino-espeak-ng
I2SStream i2s; // or replace with any other audio sink
ESpeak espeak(i2s);
void setup() {
Serial.begin(115200);
//file_systems::FSLogger.begin(file_systems::FSInfo, Serial);
// setup espeak
espeak.begin();
// setup output
audio_info espeak_info = espeak.audioInfo();
auto cfg = i2s.defaultConfig();
cfg.channels = espeak_info.channels; // 1
cfg.sample_rate = espeak_info.sample_rate; // 22050
cfg.bits_per_sample = espeak_info.bits_per_sample; // 16
i2s.begin(cfg);
}
void loop() {
espeak.say("Hello world!");
delay(5000);
}