Building an Arduino ESP32 Audio Bluetooth Receiver with output to SPDIF with just a few lines of code.

The last couple of days I have spent to add SDIF audio output support to my Arduino AudioTools library and I would like to thank joba-1 for testing the solution. Together with my ESP32-A2DP Bluetooth library we can build now a Bluetooth receiver that outputs the audio signals as SPDIF with just a few lines of code: The Arduino Sketch Here is the Arduino Sketch #define USE_A2DP #include “AudioConfigLocal.h” #include “AudioTools.h” BluetoothA2DPSink a2dp_sink; SPDIFStream spdif; Read more…

AAC Encoding on the AudioKit

For quite some time I was wondering why my arduino-fdk-aac library was using so much memory for the encoding of AAC files. Now that I have an AudioKit working with the debugger it was easier to analyze the situation and – oh boy – I found quite some errors. So I decided to address the issues and published a new corrected release. Arduino Sketch Here is a quick Arduino Sketch which demonstrates how to use Read more…

PlatformIO-Arduino: Debugging the ESP32 AudioKit with OS/X and Raspberry PI OS

I was planning to use the PlatformIO Debugger for quite some time: Here is a good overview of how to get started. I can also recommend Low-cost ESP32 In-circuit Debugging from Manuel BL. I wanted to use it both with OS/X and Linux: Most tutorials however describe Windows and therefore were not helpful to resolve my issues. It took me quite some time to have a working solution. Therefore I would like to document some Read more…

Using the ESP32 LyraT Audio Board with Arduino

After using the AI Thinker AudioKit I wanted to make sure that my libraries also work with the ESP32 LyraT Board from Espressif. There were basically just 2 stumbling blocks: Deploying Code: From the AudioKit I was used that I can plug in the UART cable and upload the code from Arduino w/o pushing any buttons. This is different in LyraT. You need to connect both the UART and Power Cable and then you need Read more…

Using the SAM TTS Engine with the Audiokit

I decided to use my SAM TTS Library with the AI Thinker Audio Kit. Unfortunately I found quite some bugs in my library that I needed to correct first, but now it is working as expected. Here is the Arduino Sketch #include “sam_arduino.h” #include “AudioTools.h” #include “AudioLibs/AudioKit.h” AudioKitStream kit; SAM sam(kit); const char* text = “Hallo my name is SAM”; void setup(){ Serial.begin(115200); AudioLogger::instance().begin(Serial, AudioLogger::Info); // setup i2s auto cfg = kit.defaultConfig(); cfg.bits_per_sample = sam.bitsPerSample(); Read more…

Microcontrollers and Apple MIDI

My Arduino MIDI Library is using Arduino Streams as a basic design feature and therefore it supports Bluetooth, TCP/IP and UDP. I am usually programming on an old Macbook, so I was wondering if I can extend my library to support Apple MIDI as well. After some research I found that Apple MIDI communicates on 2 UDP ports: one for the session management and the other for the midi data. I wanted to avoid me Read more…

Microcontrollers and MIDI – Using the Bluetooth Serial Interface

In one of my previous posts I gave an overview on how we can connect a microcontroller to a MIDI Device using a physical serial connection with the help of my Arduino MIDI Library. This solution is very similar, but replaces the physical connection with Serial Bluetooth This solution will work with any ESP32 and it will actually also work with any microcontroller if you connect a HC-05 Bluetooth Module! The PC Software We need Read more…

Microcontrollers and MIDI – Using the Serial Interface

In one of my previous posts I gave an overview on how we can connect an microcontroller to a MIDI Device. The simplest solution is to connect the MIDI Keyboard to the PC and use a FTDI serial adapter to communicate with your microcontroller. Because the keyboard is only sending data, we only need to connect the TX pin on the FTDI to the RX pin on the AudioKit board. Please make sure that the Read more…

Microcontrollers and MIDI – An Overview

In this Blog I would like to look into the options how we can connect a microcontroller with a Midi Keyboard. MIDI is a communication protocol from the 1980s that connects musical instruments and computers. MIDI keyboards nowadays usually have USB support and offer a separate MIDI port. Some modern keyboards even support Bluetooth. To use either USB or a MIDI connector is usually quite challenging for a microcontroller. So the easiest is usually to Read more…

AI Thinker AudioKit – A simple Synthesizer with STK

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 didn’t do much with my Arduino STK project lately, so I think this is the perfect opportunity to promote it a little bit. The STK Synthesizer First we import the libraries and declare the variables that we use: #include “AudioTools.h” #include “AudioLibs/AudioKit.h” Read more…