bowelyzer ######### | |supercollider| classes for analysis of several audio streams and sending of |osc| messages based on amplitude and frequency thresholds and onset detection Requirements ____________ | |supercollider| > 3.7 Features ________ * externalization of the |pitch|, |amplitude| and |pv_hainsworthfoote| UGens * |json| configuration file * multi-channel (channels are additionally selectable multiple times) * analysis of amplitude, pitch and onset settable * on-the-fly renaming and rerouting of channels Installation ____________ Git *** | Clone this repository to somewhere sclang will pick it up on recompiling its class library (such as your |supercollider_extension| folder): Linux ----- .. code:: bash cd ~/.local/share/SuperCollider/Extensions/local git clone git://sleepmap.de/audio/bowelyzer.git MacOSX ------ .. code:: bash cd ~/Library/Application Support/SuperCollider/Extensions/local git clone git://sleepmap.de/audio/bowelyzer.git | If the local folder doesn't exist, create it, otherwise you can also directly clone into the Extensions folder (the folder and all of its children will get picked up on recompile). | Symlinking is fine, too! .. code:: bash cd ~/some/other/directory git clone git://sleepmap.de/audio/bowelyzer.git cd ./local/share/SuperCollider/Extensios/local/ ln -s ~/some/other/directory/bowelyzer . Version ******* | You can also try a specific version of bowelyzer, by downloading it from the |bowelyzer-git-repository| (version tar balls are listed under the **Tag** header). | Extract the tar ball into the above mentioned **Extensions/local** folder on your specific operating system. Usage _____ | Go to the cloned directory and open **bowelyzer.scd** in your favorite SuperCollider IDE. | How to start the application with and without configuration is explained there. Configuration ************* | Bowelyzer is configured by a |json| file with pre-defined fields. | Have a look at the shipped example, to see how it works and what is available. | Generally there are some global options (such as *addresses* and *ports*) and per channel configurations (such as *inputs* and *controls*). * **Note**: The available inputs of |supercollider| are defined by your |supercollider_startupfile|. Make sure to set the correct amount of |supercollider_numinputbuschannels|. Output ****** Bowelyzer sends |osc| messages to a preconfigured host and port of the form **[/name, amplitude, pitch, hasPitch, onSet]**, where **/name** refers to the name of the channel, **amplitude** to the detected amplitude (0.0 - 1.0), **pitch** to the detected frequency (20Hz - 20kHz), **hasPitch** (0, 1) to whether a pitch was detected and **onSet** (0, 1) to whether an onset was detected. .. |supercollider_extension| raw:: html Extension .. |supercollider_numinputbuschannels| raw:: html numInputBusChannels .. |supercollider_startupfile| raw:: html startupFile .. |osc| raw:: html OSC .. |json| raw:: html JSON .. |supercollider| raw:: html SuperCollider .. |bowelyzer-git-repository| raw:: html bowelyzer git repository .. |pitch| raw:: html Pitch .. |amplitude| raw:: html Amplitude .. |pv_hainsworthfoote| raw:: html PV_HainsworthFoote