Skip to content

Daandelange/karmaSoundAnalyser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.