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 Extension folder):
Linux
cd ~/.local/share/SuperCollider/Extensions/local git clone git://sleepmap.de/audio/bowelyzer.git
MacOSX
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!
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 startupFile. Make sure to set the correct amount of 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.