Pure Data
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
depreciated Remove unnecessary files, depreciate old ones. Jan 17, 2017
utils Cleaning the repo and add readme Run section Jan 28, 2017
License.md Added notes about license. Jun 15, 2017
OSCCleanFloat.pd Begin implementing the new [sigmund] object to replace [fiddle] Jan 15, 2017
OSCRoutes.md Implemented karmaNotes OSC sending Jan 29, 2017
README.md Added notes about license. Jun 15, 2017
karmaAubio.pd Auio sampling changes Jan 28, 2017
karmaAudioOut.pd Added karmaNotes component Jan 28, 2017
karmaBalance.pd Switched to MrPeach OSC. Still compatible with native (vanilla) OSC. Jan 29, 2017
karmaDSP.pd Further implementing aubio abstraction. Jan 19, 2017
karmaFiddle.pd Added karmaNotes component Jan 28, 2017
karmaMetronom.pd Rename metronom Jan 28, 2017
karmaNotes.pd Implemented karmaNotes OSC sending Jan 29, 2017
karmaOSCMrPeach.pd Switched to MrPeach OSC. Still compatible with native (vanilla) OSC. Jan 29, 2017
karmaOSCNative.pd Further implementing aubio abstraction. Jan 19, 2017
karmaSoundAnalyser-PdVanilla.pd Implemented karmaNotes OSC sending Jan 29, 2017
karmaSoundAnalyser.png Screenshot update Jan 29, 2017
km_alternate.pd Refactor alternate abstraction Jan 16, 2017
km_clean_signal.pd Begin implementing the new [sigmund] object to replace [fiddle] Jan 15, 2017
km_counter.pd Begin with implementing the karmaFiddle abstraction Jan 19, 2017
km_osc_format.pd Switched to MrPeach OSC. Still compatible with native (vanilla) OSC. Jan 29, 2017
km_osc_pack_mrpeach.pd Switched to MrPeach OSC. Still compatible with native (vanilla) OSC. Jan 29, 2017
km_osc_pack_native.pd Switched to MrPeach OSC. Still compatible with native (vanilla) OSC. Jan 29, 2017
km_resample_avg.pd Begin implementing the new [sigmund] object to replace [fiddle] Jan 15, 2017
km_sin_track_osc.pd Switched to MrPeach OSC. Still compatible with native (vanilla) OSC. Jan 29, 2017
km_smooth.pd Refactor km_smooth abstraction Jan 16, 2017

README.md

karmaSoundAnalyser

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.

Preview
Note: Click here to watch an older demo video

License

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.

Details

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.

OSC Routing

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.

Dependencies

  • 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.

Installation

Linux

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

Rpi

Follow the Linux installation notes. Feel free to add additional setup notes in a pull request. :-)

Mac OSX

On mac you need Pd-vanilla 0.47-1-64bit and Aubio 0.4, then it should work out of the box. Later versions should also work.

Optional: You can install the MrPeach externals via: Pd < Help < Find Externals, then type mr peach and install it.

Hint: To get started quickly, use VLC to play a track and output it trough SoundFlower (2ch), then set the Pd sound input to Soundflower accordingly. Alternatively use Jack OSX to route audio.

Windows

Sorry, windows is yet untested but there's no reason it won't work.
Feel free to add setup notes in a pull request. :-)


Run

Simply open 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 )


Thanks


Brewed by Daan de Lange within the Karma Kusala lab.