Remixoscope is a project mainly written in GO and SUPERCOLLIDER, it's free.
Automatically incorporate environmental audio into a musical work.
ideas:
go language-wise seems well suited for a file based non realtime version this project, primarily because of goroutines.
pd may work. super collider too. nsound. impromptu. check out capabilities of all of them.
in fact, i think i need to split this into two parts.
the analyzer will work on input audio files, and spit out descriptor files. MAYBE work on audio files
something else will consume them. file based stuff in go.
sc class to read json file and present X outputs of bands √
now i guess i need to create code to: a.) allocate bands (max beats 2) 2-channel buffers in two sets: active and filling. set this number in server options and reboot server at start. b.) create one synthdef to play all set of active buffers (for a band?) in order c.) another to read input and fill buffers d.) poll to see if buffers are full. I guess I can use a bufrd for this or will i need a custom ugen? e.) when filling buffers are full, switch targets of synths, clear formerly active buffers and start filling with randomly selected new input track
i think i need to schedule the play and record actions from sclang.
a thought: instead of scheduling new synth creation on every beat, have a doneAction of 0 and modulate the buffer number? same with playbufs
need to start go section over. refactoring has made things even less understandable. analyzer is probably ok.
producer needs to accept a list of files instead of recording from interface.
currently too tired to understand what to do