Using the AI Thinker Audio Kit Buttons

As you might know from my last posts I am currently extending my Arduino Audio Tools library to support the AI Thinker Audio Kit which is based on the ES8388 audio chip. . Originally I was of the opinion that the program logic for reading of the GPIO pins and the processing of the related actions should belong into a specific Arduino sketch and should not be part of an Audio Framework. The Audio Kit Read more…

Using the FLITE TTS Engine with the AI Thinker Audio Kit

As you might know from my last posts I am currently extending my Arduino Audio Tools library to support the AI Thinker Audio Kit which is based on the ES8388 audio chip. . I thought it might be helpful to have a ‘Text to Speech’ example for the Audio Kit. In this example I am using FLITE. The Arduino Sketch #include “flite_arduino.h” #include “AudioTools.h” #include “AudioDevices/ESP32AudioKit/AudioKit.h” using namespace audio_tools; AudioKitStream kit; Flite flite(kit); const char* Read more…

Turning the ‘AI Thinker Audio Kit’ into an Arduino Bluetooth Speaker

As you might know from my last posts I am currently extending my Arduino Audio Tools library to support the AI Thinker Audio Kit which is based on the ES8388 audio chip. . We can turn the AI Thinker ESP32 Audio Kit V2.2 easily into a Bluetooth Speaker with the following three libraries: ESP32-A2DP for the Bluetooth logic Arduino Audio Tools Library to provide the output AudioKit In the ESP32-A2DP library we can indicate a Read more…

The ‘AI Thinker Audio Kit’ Arduino Challenge

I found some cheap AI Thinker ESP32 Audio Kit V2.2 on AliExpress and because I was tired of all the wires I had to connect to implement my different scenarios that are possible with my Arduino Audio Tools Library, I thought it to be a good idea to buy this board. I am aware that this board, like the corresponding LyraT alternatives from Espressif are mainly used with the IDF/ADF framework, but I wanted to Read more…

Arduino Music Streaming mit live555 ?

Introduction I wanted to make some music streaming functionality available on Arduino. There are plenty of private music services using custom protocols which are out of reach. Fortunately there are also the open source protocols RTP and RTSP: RTP is the transport protocol for real-time data. It provides timestamp, sequence number, and other means to handle the timing issues in real-time data transport. RTSP is a control protocol that initiates and directs delivery of streaming Read more…

Using an ‘I2S HIRES ADC Audio I2S Capture Card Module’ with an ESP32

Quite some time ago I have purchased an Audio Analog to Digital Converter (ADC) module, but I never managed to have it working properly. Unfortunately Google Search could not help either and I was the only one using this module or having problems. The Software Finally I have it working now and therefore document my setup in the hope that this might save you some time. Since I am doing all my audio projects with Read more…

ADS1015: The Big Audio Failure

I am trying to build an Arduino based Guitar Pedal with the help of a Microcontroller and some cheap standard modules. So far, I had the data input, the Audio Effects ready and just needed to put everything together. When I tried to demonstrate how to output the sound from an ADS1015 ADC I realized that nothing was actually working: The output to the webserver was not producing any sound and the output via I2S Read more…

Arduino Audio Tools: Adding Input from the ADS1015 (or Using a Timer Based Stream)

Introduction In one of my last blogs I made a small test-sketch to print some audio data from an ADS1015 Analog to Digital Converter (ADC) capturing the input from an electric guitar using the Arduino loop(). In real life however, we want to drive the capturing of the samples with a timer. A first naive implementation was awfully failing because the ESP32 does not allow I2C calls in the timer interrupts. The solution is to Read more…

Arduino Audio Tools: Audio Effects

Introduction I was playing with the thought of building some Arduino Based Guitar Effects Pedals. With that in mind, I have added some simple sound effects to my Arduino Audio Tools Library and this is fitting quite nicely into the overall design. Overall Design SineWaveGenerator<int16_t> sine; GeneratedSoundStream<int16_t> stream(sine); AudioEffectStream effects(stream); The audio effects are applied to an input stream: Here in order to test the functionality, I just use a SineWaveGenerator provided to a GeneratedSoundStream Read more…

Arduino Based Guitar Pedals with Standard Components ?

A Guitar effects pedal is an electronic device that alters the sound of the instrument in different ways. They come in different types like Overdrive Pedals. Delay Pedals. Reverb Pedals. Multi-fx Pedals. Fuzz Pedals. Preamp Pedals. Looper Pedals. Chorus Pedals and playing around with them in different combinations can be quite addictive. You can find a few Arduino based solutions but they are usually based around some some custom boards. So I was wondering how Read more…