ofxAudioAnalyzer - Update


I´ve recently updated ofxAudioAnalyzer addon. New algorithms has been added and now its much easier to use.

ofxAudioAnalyzer is an addon for audio analysis that wraps Essentia library. It provides the following algorithms :

RMS, Instant power, Energy, Pitch frequency, Pitch Confidence, Pitch Salience, HFC, Centroid, Inharmonicity, Spectral Complexity, Dissonance, Roll Off, Odd To Even Harmonic Energy Ratio, Strong Peak, Strong Decay, Onsets, Spectrum, Mel Bands, MFCC, Harmonic Pitch Class Profile, Tristimulus.

This are the main New Features:

  • Added static builds of Essentia library to the addon directory, no need to install it into the system.

  • Multichannel ofSoundBuffer functionality.

  • Smoothing and Normalizing values functionality integrated into the algorithms.

  • Added audio file player functionality.

  • New examples added.

  • New algorithms added: Dissonance, Roll Off, Odd To Even Harmonic Energy Ratio, Strong Peak, Strong Decay and Tristimulus.

Link to the addon repository: https://github.com/leozimmerman/ofxAudioAnalyzer
Brief demo video: https://vimeo.com/129795472

This forum thread can be use to any further related issue, apart from Github repository issues.



I’m trying to build the examples but I’m getting a file not found error for

#include <audiodecoder.h>

on ofxAudioDecoder.

Any idea why? I’m on 0.9.4, running OSX10.11.6.


Have you checked https://github.com/leozimmerman/ofxAudioAnalyzer/issues/6 ??


Thanks Izmmrman.



I’m trying to build examples from ofxAudioAnalyzer addon.
Get around 100 issues about essentia library.

error: undefined reference to `essentia::***’

I’ve install it. Have done all steps provided on essentia site.
Errors still appear.
Any idea why? And how can i fix it?
OF 0.9.8. Ubuntu 16.04 LTS. QtCreator 4.2.0

I also run ./waf run_tests
7 tests Failed, 124 passed.

[ FAILED ] AudioLoader.SimpleLoad
[ FAILED ] AudioLoader.SampleFormatConversion
[ FAILED ] Network.SimpleVisibleNetwork
[ FAILED ] Network.ExecutionNetworkWithComposite
[ FAILED ] Scheduler.SourceProxyFork
[ FAILED ] TreeTraversal.DepthFirstMap
[ FAILED ] TreeTraversal.DepthFirstSearch


There are added static builds of essentia for linux64 included in the addon repo. Try using the makefiles, they already link them.
Also check this for the audio player: https://github.com/leozimmerman/ofxAudioAnalyzer#audio-file-player

For Essentia compilation issues you should check Essentia’s github and documentation



I’m ussing of.9.8 and i’m getting this error:
Any idea? the other examples works fine i just can use the sound buffer.


@aliva666 Are you using leo’s version of ofxAudioDecoder? On GitHub he writes:

In OSX, ofSoundPlayerExtended uses ofxAudioDecoder. This fork was used for testing the examples: [https://github.com/leozimmerman/ofxAudioDecoder](https://github.com/leozimmerman/ofxAudioDecoder) .

Otherwise have you tried following the fix Xcode suggests for the first error? As for the 3rd error, AUDIODECODER_OK should be defined in audiodecoderbase.h located in the addons/ofxAudiodecoder/libs/include folder. Do you have that file present and is there the following on line 56:
Finally, how did you include the addon in your project? Through Project Generator or by hand?


You could also try my pull request, which fixed issues I was having using 0.9.8 and ofxAudioAnalyzer on a mac.


@clem Yeah, i’m using leoz version.

I tried the sugestions and i’m getting other errors.
For this part n line 56: #define AUDIODECODER_OK 0 is alredy there send you a screenshot.
I added the addon using the ofPlugin


You have this problem when adding the addon to a new preoject only?
The addon examples compile ok?

If it’s only in new projects, try adding the addons with the Project Generator (https://github.com/leozimmerman/ofxAudioAnalyzer#usage)


Same problem using the project generator


Hi. I’m running on linux 64. I tried using the makefile to compile “example_emptyExample” but it seems to fail when linking. I get a bunch of lines like this:
/media/stuff/playground/openframeworks/of_v0.9.8_linux64_release/addons/obj/linux64/Release/ofxAudioAnalyzer/src/ofxAudioAnalyzerUnit.o: In function ofxAudioAnalyzerUnit::setup(int, int)': ofxAudioAnalyzerUnit.cpp:(.text+0x4f22): undefined reference toessentia::standard::Algorithm::input(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’

Any thoughts? I’m pretty sure I was able to use this library about a year ago, but I have since re-formatted my computer and am using a fresh openframeworks install.


OK I fixed it by recompiling essentia, and then swapping in the “libessentia.a” file.
It was necessary to use the lightweight version (wasn’t working until I read the notes for building essentia).
So I guess the answer was there the whole time… but maybe someone else will read this and feel encouraged.


I’ve just tested current master ofxAudioAnalyzer with last stable version of OF (0.9.8) and everything work fine for me, examples, audiodecoder, project generator.
I’m using OSX 10.11.6 and Xcode 8.1

Are you 0.9.8 stable version?


Hi, Thank you!

I am geeting >>No member named 'numMessages in ‘ofxPd’ <<
I have it included in my files and as an add on, pd and audioAnalyser examples work.

OFX .9.8_OSX 10.11.5 Xcode 8.0


Does anyone know if this addon can do VAD - voice activation detection?