Skip to content

Bensuo/ESP32-DSP-Testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 DSP Testing

A simple project for testing working with audio/DSP code in an embedded context. The project is developed using PlatformIO and the ESP32 Arduino libraries. It is being run on the following hardware:

  • ESP32 dev board
  • ICS-43434 I2S microphone board for getting audio in
  • MAX 98357A I2S amplifier powering a small speaker.
  • Three buttons for controlling the code.

Current breadboard setup

Forgive my wiring setup I am new to electronics

Current Features

  • Record and playback a couple of seconds of audio data.
  • Stackable effects including a hard clipper, simple low pass and delay.

Limitations/Future Work

  • The main audio buffer is limited in space by the ESP32 SRAM size and it's inherent limitations.
    • This means that lower than ideal sample rates and bit-depths are required, as well as limited recording time.
    • Ideally this data would not be stored in RAM but on some kind of flash storage.
  • Continuous recording/playback of audio data for real-time effects application.
    • Difficult with current setup due to feedback concerns.
  • Effects are not externally controllable and parameters/FX used must be specified in code.
  • Implement some more complicated effects:
    • Reverb
    • Distortion/Fuzz
    • Delay with multiple delay lines
    • More sophisticated filters
  • Experiment with developing against ESP-IDF rather than the ESP32 Arduino library, as the I2S APIs may be somewhat outdated.

Acknowledgements

About

Experiments with performing audio DSP on an ESP32 dev board.

Resources

Stars

Watchers

Forks