ESPboy EBT tracker

ESPboy EBT Tracker

by shiru8bit (shiru@mail.ru)

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

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

ESPboy EBT tracker update to v1.1 GitHub - ESPboy-edu/ESPboy_EBT_Tracker: ESPboy tracker by shiru8bit (shiru@mail.ru) WTFPL v1.1 features:

EBT v1.1 improvements

  • Play option removed from SONG screen
  • Name and author fields are added to the song file, can be set from the SONG screen
  • Squeeze function added to optimize song data
  • Some waveforms tuned up to match the original wtbeep, to allow easy conversion
    between two
  • Stereo panning reworked a bit, allowing 9 positions left-to-right instead of 3
  • Default panning settings are added
  • An option to swap the LFT/RGT buttons
  • A crash course section added into the manual
  • Two cursor colors swapped to make it more visible with blinking off
  • Play/Stop info line is only shown while the RGT button is held down
  • 32 extra waveforms added, including various noise and modulation effects
  • Sound synthesizer and music player separated into two independent entities
  • A standalone player code that stores data in the program memory
  • Hardware-specific:
    • LovyanGFX display library supported
    • 2.0 inch TFT display support (ST7789V) for a custom built EBTboy
  • SDL build specific:
    • Irrelevant config options such as sound output device are not displayed
    • 128x128 and 240x340 modes support, with 8x8 and 15x16 fonts
    • Main control keys are remapped
    • Direct keyboard support added, for entering numbers, letters, and better
      navigation

ESPboy EBT tracker updated to v1.2
19.11.23

EBT v1.2 improvements

● The sound synthesis engine upgraded to feature instrument pairing
● Octave in the instrument editor replaced with semitone offset, for better flexibility
● Instrument short names added, used just for user’s reference
● Minor improvements in the name input dialog
● Optional pattern hints
● Independent item cursor position for multi-page screens, to avoid annoyance with the unwanted page swaps
● A backup option
● File browser has been fixed fixed to display larger than screen file lists correctly regardless of the screen size
● A file manager implemented to check the Flash memory usage and delete files on the device itself
● Minimalistic one-step limited undo for pattern, instrument, and order list changes ● In-pattern contents transpose function
● SDL build specific: ○ Y/N keys in the confirmation dialog ○ Backspace and Delete for parameters ○ Pattern changes entered from the keyboard are now also audible accordingly to the settings (изменено)