Ah, sorry I just pushed an update removing that restriction – astrid uses asyncio and the concurrent futures module (which have been fairly quickly moving targets in the 3.x series) I’m only testing against 3.6 now, but earlier builds of the 3.x series may work!
I should also say: pippi is ready now for practical use, though it’s still in beta. Astrid is still pretty early alpha.
If you want to experiment, check out some of the example instruments in the orc directory.
The basic process is:
Start the astrid server (runs in the foreground for development now, but is meant to run as a daemon in the background) by running:
astrid server
Then, open a new terminal & start the client:
astrid
Which starts a repl you can use to send instructions to the server (msgpack via zmq). The prompt looks like:
^_-
I’m putting a lot of debug info into the system logs, on a systemd system you can tail the log for messages like:
journalctl -xf
Load one of the instruments by name (filename minus the extension – this is orc/tone.py):
^_- a tone
And then trigger a render / playback:
^_- p tone
Instruments can be triggered via MIDI, by adding some configuration to the instrument script. They can be configured to re-render in sequence forever, play once, or play over a set of onsets given via an onsets function or param on the instrument module. The instruments yeild a generator function, which is rendered in parallel – so to render a chord, do something like:
for note in chord:
yeild something_that_returns_a_buffer(note)
To send a MIDI message instead of rendering a buffer, instead return a tuple of (freq, amp, length) which will trigger a noteon at the given freq & velocity, and schedule a noteoff after the duration given by the length param (in seconds) has passed.
Instruments can contain multiple outputs and onset maps… there should be an example in there showing how to use the @player decorator to define a set of voices, which will be triggered in tandem. Check out the beat.py instrument.
All that said, again this is super alpha so stuff’s gonna break. 
More docs coming later, just focusing on getting all the basic functionality in place now!