algorithmic music broadcast
interacts: version control services, listener browsers
constitutes: audio broadcast of music written in programming languages
includes: composer, arranger, broadcaster
competes: algoraves
resembles: wikifunctions
target audiences: coders, musicians, students, listeners
patterns: infrastructure-as-code
stakeholders: Algorithmic Music Research Institute, Algorithmic Music Radio, Norcivilian Records
listener must hear public audio stream
listener must see public video stream
composer must send livecoding loops
composer must stop loop
composer must hear audio stream
composer can send to authorized stream
composer must see livecoding logs
arranger must add instruments
arranger must remove instruments
arranger can deploy entire infrastructure as code
listener must donate wealth
composer must receive wealth
arranger must redistribute wealth
composer must write code in any language
listener must see code for the music
listener can see music theory analysis of sounds
listener can become arranger with ease
listener must know that the music is algorithmic
composer can copy music of other composers
listener won’t be intimidated by the source of musical pieces
listener must experience memorable music
composer must publish code for the musical pieces
composer must specify a creative commons license for musical pieces
composer must see version-controlled history of development of musical ideas
composer must implement music theory
arranger must reads midi from osc
arranger must synthesize sounds with samplers, instruments, lv2 plugins
arranger can choose musical piece from list
arranger won’t dummy virtual midi device
arranger must convert OSC messages to midi using o2m
arranger can mix several musical pieces
arranger must broadcast resulting midi from the mix to OSC over public network using m2o
arranger must convert midi messages to sounds
arranger can perform musical pieces alongside the orchestrator
arranger can approve a set of composers to send real-time OSC messages
composer can send OSC messages in real-time to the orchestrator if approved by the arranger
arranger can write the orchestrator in liquidsoap with lv2 plugins
arranger can assemble a plugin graph for the orchestrator in an audio plugin host
arranger must resolve a set of musical pieces and orchestrations to a constant grid
arranger must stream audio over the public network
arranger can broadcast with icecast
arranger can join the broadcast with butt
arranger can mix another broadcast
listener can choose broadcast from list at radio-browser.info
listener can read what musical piece is playing
listener can read code of musical piece
composer must must return a stream of MIDI messages
composer must test the musical piece’s midi messages on a synthesizer
composer must execute the musical piece and return a stream of OSC messages encapsulating MIDI in osmid format
composer can write musical piece in any programming language that implements performer