I am working on several utilities and algorithms for music generation and analysis. This is a subject of active development for me, so stay tuned for updates or reach out to me if you have any questions!


This repository is at the basis of my work: it defines classes and datastructures to represent musical components (notes, intervals, chords…), groups them in coherent structures and handles conversion to Midi. My other projects are using this as their core.

It’s available at: https://github.com/Wally869/MusiStrata


My attempt at implementing a music generation system based on MusiStrata. It is a WIP at the moment, and should be considered as me exploring various possibilities instead of a usable product.

See it: https://github.com/Wally869/MidiGenerator


A small webapp made using Javascript and Python to visualise midis.
It can show details on times between notes and intervals, either globally or per channel.

See it on github: https://github.com/Wally869/VisualMidi


Simple script to split midi files into components. It determines a cutoff threshold in terms of time in between messages to seperate channels into subsegments and outputs them as standalone midi files.

You can try it out: https://github.com/Wally869/MidiSplitter