Arduino Audio Tools (Music Player, Music Recorder supporting I2S, Microphones, DAC, ADC, A2DP, Url, MP3, AAC, AudioKit, ES8388)
Go to file
2021-05-01 13:54:12 +02:00
docs file example 2021-04-29 15:33:57 +02:00
examples Some I2S scenarios 2021-05-01 13:54:12 +02:00
sandbox Some I2S scenarios 2021-05-01 13:54:12 +02:00
src Some I2S scenarios 2021-05-01 13:54:12 +02:00
.DS_Store WAF file support 2021-05-01 08:43:13 +02:00
Doxyfile Rename sound to audio 2021-04-29 22:50:28 +02:00
library.properties Rename sound to audio 2021-04-29 22:50:28 +02:00
License.txt I2S 2021-04-29 11:52:46 +02:00
README.md Some I2S scenarios 2021-05-01 13:54:12 +02:00

Arduino Audio Tools

Some basic C++ classes that can be used for Audio Processing privided as Arduino Library

  • Additional Stream implementations: MemoryStream - ESP32 only: UrlStream, I2SStream
  • a simple I2S class (to read and write to the internal I2S) [ESP32 only]
  • a simple ADC class (to read analog data with the help of I2S) [ESP32 only]
  • Converters
  • Musical Notes (with Frequencies of notes)
  • SineWaveGenerator (to generate some sine tone)
  • NBuffer (Multi buffer for writing and reading of (audio) data)
  • TimerAlarmRepeating (e.g. for sampling audio data using exact times) [ESP32 only]
  • A Wav Encoder and Decoder
  • AudioOutputWithCallback class to provide callback integration with ESP8266Audio

This functionality provides the glue which makes different audio processing components and libraries work together. We also provide plenty of examples that demonstrate how to implement the different scenarios.

The design philosophy is based on the Arduino conventions: we use the begin() and end() methods to start and stop the processing and we propagate the use of Streams.

Optional Libraries

Dependent on the example you might need to install some of the following libraries:

Examples

  • adc-a2dp - Stream Analog input to A2DP Bluetooth
  • adc-serial - Stream Analog input to Serial
  • file_raw-a2dp - Stream Row File from SD card to A2DP Bluetooth
  • file_raw-serial - Stream Raw File from SD card to Serial
  • file_mp3-a2dp - Stream MP3 File from SD card to A2DP Bluetooth using the ESP8266Audio library
  • i2s-a2dp - Stream I2S Input to A2DP Bluetooth
  • i2s-serial - Stream I2S Input to Serial

Installation

You can download the library as zip and call include Library -> zip library. Or you can git clone this project into the Arduino libraries folder e.g. with

cd  ~/Documents/Arduino/libraries
git clone pschatzmann/arduino-audio-tools.git

Documentation

Here is the generated Class documentation. You might find further information in one of my blogs

Project Status

This is currently work in progress:

Functionality Status
Analog input - ADC tested
I2S tested
Files (RAW, MP3...) tested
Streams open
WAV encoding/deconding open
AAC encoding/deconding open
int24_t tested