Mirco SDL

MIdi Realtime COmputer Sequence Definition Language
Fri May 01 2020

Huh ?

Mirco is a MIDI sequence definition language, it takes midi input and maps simple input notes to more complex patterns. Defined sequences can be parameterised and reused, allowing the easy creation of complex, variative patterns.

A simple mirco example file:

sequence seq1(A) {
    { 
    G0:2,
    _:2,
    C0:4, 
    D0:2,
    _:2} + A 
}

sequence seq3() {
    C4:50:16, /* test comment */ (C3, D#3), (C3, D#3, G3), C4|50:16
}

sequence seq4() { $trigger + {
    (C3, D#3, G3):8:2,       (C3, D#3, G3):8 + 7s, 
    (C3, D#3, G3):16,       (C3, D#3, G3)|50:16 + 7s, 
    (C3, D#3, G3):16,       (C3, D#3, G3):16 + 7s, 
    (C3, D#3, G3)|50:8:2,  (C3, D#3, G3)|50:16:2 + 7s
}}

// test comment

default: seq1($trigger)
auto: loop seq1($trigger)
C1: loop seq4()
D1: seq3()
C2: loop seq4()
C3: loop seq4()
C4: loop seq4()

Now hook up your MIDI equipment and run mirco in your shell!

$ ./mirco example.mirco --bpm 90 --api alsa --input 1 --output 2

© Mircosoft 2020