Overview¶
Dependencies¶
You’ll need Pure Data for sound-production. Some objects rely on external puredata libraries. These can be installed with the deken plugin.
Getting started¶
Open a python shell (I recommend Ipython) in this folder. to start the app:
from roqba import main
main.main()
to pause:
main.director.pause()
to resume:
main.director.unpause()
to stop:
main.director.stop()
adjust speed by:
main.director.speed = <speed> # length of the shortest note-length in seconds.
follow the log-messages with:
tail -f log.txt
follow a graphical (scrolling) representation on the notes played by:
tail -f scrolling.txt
note that on some systems tail will not continuously follow the file and it is necessary to run for example a repeated cat:
watch -n 0.1 cat scrolling.txt
diagram¶

introduction¶
main starts a thread in which the app runs.
director contains the main loop in its _play method.
_play calls the _Composers_ (synchronous) generate method following the metronome’s clock
generate calls the voices’ coroutines until a satisfactory harmonic result is obtained.
the stream-analyzer (and performer) controls if there are drum-fills or embellishments to be added. it also checks for conditions of a ceasura.
If a caesura is given, a flag is set which the director uses to modify its behaviour.
Finally the musical frame is sent to both the Note-Gateway and the Notator module.