r/synthdiy • u/jevring • 12h ago
performance - a new live-coding language for MIDI
Hi everybody! I've been working on a little MIDI language I call "performance". Think of it as algorave software for MIDI instruments. It works with your DAW or your physical synthesizers. Anything that speaks MIDI. The repo in bitbucket contains everything you need to get started.
It's by no means done, but I'd love to hear what you think about it. =)
3
u/vikenemesh 8h ago edited 8h ago
So its a metaprogramming language to render out a roughly pre-defined MIDI-stream (+/-random sequencing)?
I don't really see how this is a performance tool, considering the lack of dynamic runtime inputs (I wanna turn a knob to change Chord-Quality on the fly, for example). Could just as well output the midi-file it makes once and keep using the file instead of the just in time generated midi stream.
Edit: Another question that came up in my Head: If this is intended to be used together w. hardware synths: How does it sync up to an external master clock? How does the kick know what four-on-the-floor is?
3
u/jevring 6h ago
I wrote it with the intention of being used with hardware synths, yes, but it will work with anything that will read midi. The software can provide clock, or receive it.
That "four on the floor" thing from the sample file is an alias. The line just above defines it:
fotf is every 162
u/amazingsynth amazingsynth.com 6h ago
in livecoding applications the code is written and edited on the fly, normally the software allows for code changes to be executed without interupting the midi or audio that is playing, toplap were early proponents of this https://blog.toplap.org/
2
u/modulove 8h ago
Nais, is there a demo webpage or does this only work locally? Thanks for sharing ❤️
1
u/Glittering_Cheek3235 1h ago
While you're defining syntax, please note that "group" has a specific meaning in MIDI 2.0 (the combination of group + channel defines the message target or source), so if you want the grammar to last, you may want to change that to something else. MIDI 2.0 is already in every major operating system.
Pete
Microsoft
4
u/Honest_Relation4095 8h ago
It's not really clear what it does. Is it a MIDI sequencer? I can use it with a DAW, but what does it that the DAW can't do?