/** * @file streams-generator-i2s.ino * @author Phil Schatzmann * @brief see https://github.com/pschatzmann/arduino-audio-tools/blob/main/examples/examples-stream/streams-generator-spdif/README.md * @author Phil Schatzmann * @copyright GPLv3 */ #include "AudioTools.h" #include "AudioTools/AudioLibs/SPDIFOutput.h" AudioInfo info(44100, 2, 16); SineWaveGenerator sineWave(32000); // subclass of SoundGenerator with max amplitude of 32000 GeneratedSoundStream sound(sineWave); // Stream generated from sine wave SPDIFOutput out; StreamCopy copier(out, sound, 2048); // copies sound into i2s // Arduino Setup void setup(void) { // Open Serial Serial.begin(115200); AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Info); // start I2S Serial.println("starting SPDIF..."); auto config = out.defaultConfig(); config.copyFrom(info); config.pin_data = 23; config.buffer_size = 384; config.buffer_count = 8; out.begin(config); // Setup sine wave sineWave.begin(info, N_B4); Serial.println("started..."); } // Arduino loop - copy sound to out void loop() { copier.copy(); }