A Puredata real-time music analysis patch retrieving humanly sensitive information from a live audio stream by using various methods.
Streams Music Information Retrieval data over a LAN using OSC.
Pure Data is multiplatform, as is this patch: Linux, Mac & Windows.
For the moment karmaSoundAnalyser's license is not clear. Particularly if you use it in a commercial project, please make sure to double-check the respective licenses of it's dependencies and their compatibility with the MIT license.
karmaSoundAnalyser is divided into several
.pd abstractions, each one handling the analysis of a particular musical aspect.
This Pure Data patch uses the excellent lib Aubio for onset and tempo detection. Alternatively you can use karmaFiddle using the native
fiddle object for onset detection.
Other features include an alternative onSet detection, pitch detection, silence detection, a 5-band equaliser, note detection, etc.
For a full list of MIR data, please refer to the OSC addresses table.
Note: Not all collected data is yet forwarded trough OSC.
Note: Configure Pd to load Aubio on launch or you'll have to open the pd patch twice.
- Pure Data
v0.47-1-64bit- The host app for this patch.
- Lib Aubio Pd plugin
v0.4- A Pd plugin for detecting tempo and more. (Warning: GNU/GPL licensed)
- Recomended: A wired LAN for better performance.
- Optional: MrPeach Pd externals.
sudo apt-get install puredata pd-aubio pd-cyclone pd-mrpeach
add /usr/lib/pg/extra/cyclone to your pb library search paths (from pd preferences)
Start Pd with
/usr/bin/pd -rt -oss -audiooutdev "2,3,4,5,6" -outchannels "2,2,2,2,2".
Installing Jack on linux can also be useful for routing audio.
sudo-apt-get install jackd qjackctl
Follow the Linux installation notes. Feel free to add additional setup notes in a pull request. :-)
Optional: You can install the MrPeach externals via: Pd < Help < Find Externals, then type
mr peach and install it.
Sorry, windows is yet untested but there's no reason it won't work.
Feel free to add setup notes in a pull request. :-)
karmaSoundAnalyser-PdVanilla.pd with Pure Data.
You can right click < open each abstraction to see what's happening within.
I recommend reading the Pd Floss Manuals if you're not familiar with Pd. ( French version here )