ESPboy EBT Tracker
About
EBT is a tiny, minimalistic, yet quite powerful chiptune-like music editor with a tracker interface, originally developed for the ESPboy portable DIY handheld platform.
The source code is portable, so it may be available on other platforms as well. Currently it features an SDL port, so it can run on a regular desktop PC as well, sharing the same data format, so the song and instrument files are easily transferable between the devices.
EBT features
- 4 channels polyphony
- Speed control with an automatic shuffle
- Up to 128 order list positions with per-pattern transpose support
- Up to 128 instruments controlled via simple set of parameters
- 64 waveforms
- 4 volume levels
- Slide up/down and modulation (vibrato) effects
- Fixed pitch option
- Up to 160 single-channel patterns
- Up to 32 rows per pattern
- Up to 2 effects per a pattern row
- Arpeggio with variable speed
- Slides up and down
- Portamento (slide to a note)
- Waveform and phase control
- Speed control
- Stereo support
- A range of sound output devices supported
Outputs
A variety of the sound output options. The EBT now supports the built-in speaker via sigma-delta modulation, an external mono via SDM, a stereo PWM (was it ever done on the ESP8266?), and stereo via i2s DAC module. Check I2S DAC module connection schematic here.
How to compile
- Install Arduino IDE https://www.arduino.cc/en/Main/Software
- Install the WeMos D1 mini ESP866 board to your Arduino IDE https://www.instructables.com/Wemos-ESP8266-Getting-Started-Guide-Wemos-101/
- Install all the libs for ESPboy from here GitHub - ESPboy-edu/ESPboy_ArduinoIDE_Libraries: ESPboy Arduino IDE libraries to be installed
- Select the “LOLIN(WEMOS) D1 R2 & mini” board in the Arduino IDE and compile this code
IMPORTANT!
if you are using/updating original TFTeSPI library
you have to edit or replace usersetup.h file in the TFTeSPI folder in your Arduino libraries collection
according to this https://github.com/ESPboy-edu/ESPboy_ArduinoIDE_Libraries/blob/master/TFT_eSPI-master/User_Setup.h