zeroOne
zeroOne is a polyphonic instrument, multi-instrument, DSLish/API MIDI sequencer for live coding music. It sends MIDI messages to any stand-alone synthesiser or DAW.
To some videos live coding with it go here.(twttr)
Dependencies
RtMidi library
Live coding
cling (an interative C++ interpreter) is for the live coding enverionment.
1. Install cling
On Mac and Linux using Homebrew
- open your command line software
- type
brew install cling
2. Or download cling
Alternatively, you can download the right build for your machine:cling builds for Linux and MacOS
Or you still can compile/link zeroOne as any other c++ library and code with it as so.
How to use it
-
open your synth ready to listen MIDI messages
-
open your command line software
-
run ./build.sh
-
at cling's prompt load zeroone by entering the following lines:
[cling]$ .L zeroone
[cling]$ #include "../src/zoengine.h"
[cling]$ zeroone()
-
after message "zEROoNE on <((()))>" appears, copy/paste the code below:
Instrument 1 sends "C Major" chord notes to midi channel 1, 0.9 amplitude and 1/4 duration.
i1.play(n(
({36,40,43}),
0.9,
{4},
))
and/or
Instrument 2 sends cycling c4,cs4 and d4 notes to midi channel 2, 0.5 amplitude, 1/4, 1/8, 1/4, 1/8, 1/4 duration sequence.
i2.play(n(
{cycle({48,49,50},isync(2))},
0.5,
({4,8,4,8,4})
))
and/or
Instrument 3 sends cycling pentatonic minor scale notes to midi channel 3 and modulates cc channel 1 and 2.
i3.play(n(
{cycle(
scale_::transpose(scale_::pentatonicminor,5),
isync(3))
},
0.9,
({4,8,4,8,4})),
cc(1,rnd(chop(10))),
cc(2,bounce(0,127))
)