AI Thinker Audio Kit: Synthesizer to Bluetooth

In the last Blog, I have shown how to use the Synthesizer class. I wanted to verify the audio quality issue by sending the output to Bluetooth Here is the sketch. I just added a callback method to feed the bluetooth source: Arduino Sketch #define USE_MIDI #include “BluetoothA2DPSource.h” #include “AudioTools.h” #include “AudioTools/Synthesizer.h” #include “AudioLibs/AudioKit.h” BluetoothA2DPSource a2dp_source; AudioKitStream kit; Synthesizer synthesizer; GeneratedSoundStream<int16_t> in(synthesizer); SynthesizerKey keys[] = {{PIN_KEY1, N_C3},{PIN_KEY2, N_D3},{PIN_KEY3, N_E3},{PIN_KEY4, N_F3},{PIN_KEY5, N_G3},{PIN_KEY6, N_A3},{0,0}}; int32_t get_sound_data(Frame *data, Read more…

AI Thinker Audio Kit: A Polythonic Synthesizer with the AudioTools Library

I have described in my last blog how to build a simple Synthesizer with my Arduino Audio Tools library to support the AI Thinker Audio Kit which is based on the ES8388 audio chip. In the meantime I have decided to wrap the described solution into it’s own Synthesizer class and solve the problem that we can generate only one tone at the time by putting the audio chain into a separate class for each Read more…

AI Thinker Audio Kit: Building a Simple Synthesizer with the AudioTools Library

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. In my Arduino Audio Tools we have all ingredients to turn our ESP32 AudioKit into a simple synthesizer with just a few lines of code: Naturally you can use this functionality on any other Processor. You just need to replace the output object Read more…

Investigating the AI Thinker AudioKit Audio Input Bug…

In my last blog, I have described how to process audio input data and encountered the bug that the microphone and line input are mixed together and that there is an open issue for this which has been open for quite some time now. So I decided to do a little bit of research for my ESP32 AudioKit V2.2 3478 : First Assumption: The Registers are not set up correctly The ES8388 Data Sheet describes Read more…

AudioKit: Processing Audio Input

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. The AI Thinker ESP32 AudioKit was raising my interest because it also provides audio input in the form of built in microphones and an line-in jack. So far I demonstrated how to output sound to the AudioKit and it is about time to Read more…

My ‘Arduino AudioKit HAL’ Library has ben released….

Arduino AudioKit HAL 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. . There are different ESP32 AudioKit boards available that can be programmed with the Espressif ADF Framework. The ADF Framework contains an abstraction layer to support different CODEC chips. Unfortunately ADF can not be used in Arduino, but it would Read more…

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…