midi2pico by gamax92

Published 2023-06-12


Hello there, I've been working on this piece of software called midi2pico
It does what it implies, converts midis into music for pico-8

I've recently just added proper drum support, so in celebration of that I want to release this little demo.

Come checkout midi2pico at github: https://github.com/gamax92/midi2pico

It's a very configurable midi conversion program, with the ability to mute channels, change volumes, and to shift pitches to fit into pico-8's audio range. midi2pico attempts to arrange midi data in a logical way, storing the beginning of a song at sfx 0 and the end of the song near the end of available sfx.

MIDI Format 0, pitch bends, sfx deduplication, silence removal, and now drums are supported. A midi instrument and drum to pico-8 translation table is supported, though not very populated and most instruments use a default conversion. Look for 'Instrument to PICO-8 Map' and 'Drums to PICO-8 Map' inside midi2pico.lua

A separate utility is also included for debugging midi files called midi2note. midi2note shows the end result after midi2opus, opus2score, and score2note conversions that midi2pico also uses.

Installation is easy, all you need is lua 5.2 and the MIDI library, which is available in luarocks as 'luarocks install midi' or download the MIDI library directly here and place it along side midi2pico.lua

lua 5.1 is also supported, but you will need a bit32 backport which is also available in luarocks as 'luarocks install bit32'