"RumbleRail is a standalone and modular Floppy Disk Jukebox - Load midi files onto the SD card and take it with you for tunes on the go!
There are countless floppy music projects on the interwebs, so what makes RumbleRail different?
Lets start with the assembly. A beautiful machined black aluminium rail carries all components: Eight floppy drives, matching number of floppy controllers, display breakout, SD card holder and a stand. All nicely combined into a single compact package.
The display plate is a seperate machined piece, providing a breakout for the 128×64 display, mounting hole for the rotary pulse encoder and hosting the main board.
Each floppy drive is equiped with two bright RGB LEDs (rrled) illuminating the floppy cases according to the currently played tune - a simple but actually quite pretty visualisation of the music being played.
The overall setup is completely modular. Each floppy is connected to its own floppy driver (rrfdc), which in turn speaks I²C with the main board (rrcmd). On power-on the main board auto-discovers the connected floppies and adjusts the software to utilize the available drives. In theory the amount of floppies connected to RumbleRail is only limited by I²C address/bus restrictions.
The most important feature of RumbleRail is the ability to run standalone. After being powered-on, the main board scans the hotswapable SD card (rrsdc) and lists its content on the display. The user can browse through the selection using the rotary encoder and, once a song is selected, the main board decodes the MIDI file and streams the notes to the floppy drivers.
Depending on the file extension of the midi file, different play modes can be chosen: Either midi tracks are mapped to floppy drives (.mix/.mit) or midi channels are mapped to floppy drives (.mim/.mic). The former extensions will (modulo) overflow the tracks/channels, in case there aren't enough drives available, while the latter extensions will keep a strict one-on-one mapping. The most used mode (.mis/.mid) tries to play as many notes - independant of channel or track - as possible simultaneously."