ESP32-SIDView
ESP32-SIDView copied to clipboard
SidWiz viewer for ESP32 [WORK IN PROGRESS]
ESP32-SIDView
This project is an attempt to provide a visual dimension to chiptune music while browsing the High Voltage SID Collection using an C64-themed UI.
The Waveform viewer is heavily inspired by SIDWizPlus.
Features:
- HVSC compliant SID music player: can play SID Files / subsongs in SID files / playlists.
- File browser: with dircache and playlist cache generation on first access.
- Waveform viewer: using SID information (this is not analog capture!).
- HVSC Archive downloader: because dowloading and unzipping manually is so 2020.
- SD-Updatable: so the SD Card can host other loadable binaries (e.g. WiFi configurator, MIDI relay, etc).
Demos:
- https://www.youtube.com/watch?v=vK3MDsCDaJo
- https://www.youtube.com/watch?v=0w8IsVCzwHA
Bill of materials:
- ESP32 LoLin D32 Pro (Wroom works too but Wrover is recommended)
- SPI TFT 1.4 128x128 (e.g. Wemos 1.44“ inch TFT LCD shield)
- I2C XPad Buttons Shield
- SPI Micro SD Card reader
- SID6581/FPGASID/TeenSID/SwinSID
- ESP32 <=> SID shield
Library Requirements:
- https://github.com/hpwit/SID6581
- https://github.com/Lovyan03/LovyanGFX
- https://github.com/GOB52/gob_json
- https://github.com/PaulStoffregen/Time
- https://github.com/tzapu/WiFiManager
- https://github.com/tobozo/M5Stack-SD-Updater
- https://github.com/tobozo/ESP32-Chimera-Core
- https://github.com/tobozo/ESP32-targz
- https://github.com/tobozo/WiFiManagerTz
- (optional/experimental) https://github.com/tobozo/ESP32-USB-Soft-Host
Usage:
- Build yourself a SID6581 to ESP32 PCB (see the /pcb folder or hwpit's stereo implementation
- Flash your ESP32 with the sketch
- Deploy the HVSC archive on the SD Card by either:
- Letting the ESP32-SIDViewer download and unzip it (this can take up to 4 hours and may require to setup the WiFi SSID/PASS in
config.h) - Manually copying the
MUSICIANS,GAMESandDEMOfolders from the HVSC archive into the/sidfolder and theSonglengths.md5file into the/md5folder.
- Letting the ESP32-SIDViewer download and unzip it (this can take up to 4 hours and may require to setup the WiFi SSID/PASS in
- Let the ESP32 do the indexing of the MD5 file, this is only a one time operation.
Credits:
- @hpwit
- http://www.earlevel.com/main/2013/06/01/envelope-generators/
- https://github.com/fdeste/ADSR
- https://github.com/JonArintok/ResonantLowPassFilterExample
- http://archive.6502.org/datasheets/mos_6581_sid.pdf
- https://hvsc.c64.org