Midi - charlierobson/ZXpand-Vitamins GitHub Wiki
tl;dr:
Step 1.
Build a super serial breakout board.
Step 2.
Connect super serial breakout to a midi module.
Step 3.
Run MIDIPLAY.P
The devilish detail
Step 1.
The super serial breakout board is a small simple PCB, single sided and easily made at home, which presents an FTDI TTL cable style serial header, joystick connector, ESP8266 type 1 header with voltage conditioning, and 5 pin DIN MIDI OUT socket.
I have no plans to manufacture these, unless demand is high enough.
Step 2.
I don't know much about midi modules, high end or otherwise, but I know a man that does. I use a USB-MIDI bridge and a soft synth, and it seems to do the job.
Step 3.
MIDIPLAY is the last part in a small workflow which starts with a .MID file that you might wish to hear. The first part is some pre-processing of the raw midi file. Nab the 'MIDICSV' tools from the fourmilab website. MIDICSV converts the midi file into a human readable form describing the midi events and, crucially, their absolute timing. This event list is then further processed by a utility called MIDIMASH which builds a binary file in a form that is efficient for the zeddy to stream. This may then be ingested by MIDIPLAY.
MIDIPLAY showcases a new feature of the ZXpand+ firmware available from V1.05. Invoke it like so:
LOAD "MIDIPLAY:zxmfilename"
If a file exists matching the argument given after the colon in the file path then it is played. Examine the MIDIPLAY program or further enlightenment.