Code Monkey home page Code Monkey logo

ofxaubio's Introduction

aubio

CircleCI build status Azure Pipelines Appveyor build status Pypi Downloads Conda Downloads

Documentation DOI Commits since last release

aubio is a library to label music and sounds. It listens to audio signals and attempts to detect events. For instance, when a drum is hit, at which frequency is a note, or at what tempo is a rhythmic melody.

Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.

aubio provide several algorithms and routines, including:

  • several onset detection methods
  • different pitch detection methods
  • tempo tracking and beat detection
  • MFCC (mel-frequency cepstrum coefficients)
  • FFT and phase vocoder
  • up/down-sampling
  • digital filters (low pass, high pass, and more)
  • spectral filtering
  • transient/steady-state separation
  • sound file read and write access
  • various mathematics utilities for music applications

The name aubio comes from audio with a typo: some errors are likely to be found in the results.

Python module

A python module for aubio is provided. For more information on how to use it, please see the file python/README.md and the manual .

Tools

The python module comes with the following command line tools:

  • aubio extracts informations from sound files
  • aubiocut slices sound files at onset or beat timestamps

Additional command line tools are included along with the library:

  • aubioonset outputs the time stamp of detected note onsets
  • aubiopitch attempts to identify a fundamental frequency, or pitch, for each frame of the input sound
  • aubiomfcc computes Mel-frequency Cepstrum Coefficients
  • aubiotrack outputs the time stamp of detected beats
  • aubionotes emits midi-like notes, with an onset, a pitch, and a duration
  • aubioquiet extracts quiet and loud regions

Documentation

The latest version of the documentation can be found at:

https://aubio.org/documentation

Build Instructions

aubio compiles on Linux, Mac OS X, Windows, Cygwin, and iOS.

To compile aubio, you should be able to simply run:

make

To compile the python module:

./setup.py build

See the manual for more information about installing aubio.

Citation

Please use the DOI link above to cite this release in your publications. For more information, see also the about page in aubio manual.

Homepage

The home page of this project can be found at: https://aubio.org/

License

aubio is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Contributing

Patches are welcome: please fork the latest git repository and create a feature branch. Submitted requests should pass all continuous integration tests.

ofxaubio's People

Contributors

eliottparis avatar matrushka avatar piem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ofxaubio's Issues

improve linux build

Now there are installing instructions and scripts only for the MacOs/Darwin environment

[ error ] ofXml: couldn't load, "settings.xml" not found

Hello, I have succeed in running the script but with the error of:
[ error ] ofXml: couldn't load, "settings.xml" not found
[warning] ofXml: setTo(): empty document

I have looked through all the folders but couldn't find any "settings.xml" files. Would you kindly advice how to solve the problem please?

problems to build example on Linux

My setup is of v0.10.0 on Ubuntu 16.04:

bernardo@paulo-K46CB:~/openFrameworks/apps/myApps/testAubio$ make
HOST_OS=Linux
checking pkg-config libraries:   cairo zlib gstreamer-app-1.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-base-1.0 libudev freetype2 fontconfig sndfile openal libcurl glfw3 libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
with PKG_CONFIG_LIBDIR=
Compiling OF library for Release
make[1]: Entering directory '/home/bernardo/openFrameworks/libs/openFrameworksCompiled/project'
HOST_OS=Linux
checking pkg-config libraries:   cairo zlib gstreamer-app-1.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-base-1.0 libudev freetype2 fontconfig sndfile openal libcurl glfw3 libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
with PKG_CONFIG_LIBDIR=
HOST_OS=Linux
checking pkg-config libraries:   cairo zlib gstreamer-app-1.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-base-1.0 libudev freetype2 fontconfig sndfile openal libcurl glfw3 libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
with PKG_CONFIG_LIBDIR=
HOST_OS=Linux
checking pkg-config libraries:   cairo zlib gstreamer-app-1.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-base-1.0 libudev freetype2 fontconfig sndfile openal libcurl glfw3 libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
with PKG_CONFIG_LIBDIR=
Done!
make[1]: Leaving directory '/home/bernardo/openFrameworks/libs/openFrameworksCompiled/project'


Compiling testAubio for Release
make[1]: Entering directory '/home/bernardo/openFrameworks/apps/myApps/testAubio'
HOST_OS=Linux
checking pkg-config libraries:   cairo zlib gstreamer-app-1.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-base-1.0 libudev freetype2 fontconfig sndfile openal libcurl glfw3 libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
with PKG_CONFIG_LIBDIR=
Compiling /home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp
g++ -c -O3 -march=native -mtune=native -DNDEBUG -Wall -Werror=return-type -std=c++14 -DGCC_HAS_REGEX -DOF_USING_GTK -DOF_USING_GTK -DOF_USING_MPG123  -D_REENTRANT -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I/usr/include/AL -I/usr/include/alsa -I/usr/include/libdrm -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/mirclient -I/usr/include/mircore -I/usr/include/mircookie -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/bernardo/openFrameworks/libs/fmodex/include -I/home/bernardo/openFrameworks/libs/glm/include -I/home/bernardo/openFrameworks/libs/glm/include/glm -I/home/bernardo/openFrameworks/libs/glm/include/glm/gtc -I/home/bernardo/openFrameworks/libs/glm/include/glm/simd -I/home/bernardo/openFrameworks/libs/glm/include/glm/detail -I/home/bernardo/openFrameworks/libs/glm/include/glm/gtx -I/home/bernardo/openFrameworks/libs/json/include -I/home/bernardo/openFrameworks/libs/kiss/include -I/home/bernardo/openFrameworks/libs/pugixml/include -I/home/bernardo/openFrameworks/libs/tess2/include -I/home/bernardo/openFrameworks/libs/utf8/include -I/home/bernardo/openFrameworks/libs/utf8/include/utf8 -I/home/bernardo/openFrameworks/libs/openFrameworks -I/home/bernardo/openFrameworks/libs/openFrameworks/math -I/home/bernardo/openFrameworks/libs/openFrameworks/events -I/home/bernardo/openFrameworks/libs/openFrameworks/app -I/home/bernardo/openFrameworks/libs/openFrameworks/3d -I/home/bernardo/openFrameworks/libs/openFrameworks/gl -I/home/bernardo/openFrameworks/libs/openFrameworks/communication -I/home/bernardo/openFrameworks/libs/openFrameworks/utils -I/home/bernardo/openFrameworks/libs/openFrameworks/video -I/home/bernardo/openFrameworks/libs/openFrameworks/sound -I/home/bernardo/openFrameworks/libs/openFrameworks/types -I/home/bernardo/openFrameworks/libs/openFrameworks/graphics -I/home/bernardo/openFrameworks/addons/ofxAubio/src -I/home/bernardo/openFrameworks/addons/ofxGui/src -MMD -MP -MF /home/bernardo/openFrameworks/addons/obj/linux64/Release/ofxAubio/src/ofxAubioPitch.d -MT /home/bernardo/openFrameworks/addons/obj/linux64/Release/ofxAubio/src/ofxAubioPitch.o -o /home/bernardo/openFrameworks/addons/obj/linux64/Release/ofxAubio/src/ofxAubioPitch.o -c /home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp
/home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp:33:27: error: variable or field ‘setup’ declared void
 void ofxAubioPitch::setup(string method, int buf_s, int hop_s, int samplerate)
                           ^
/home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp:33:27: error: ‘string’ was not declared in this scope
/home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp:33:27: note: suggested alternatives:
In file included from /usr/include/c++/5/iosfwd:39:0,
                 from /usr/include/c++/5/ios:38,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from /home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.h:23,
                 from /home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp:21:
/usr/include/c++/5/bits/stringfwd.h:74:33: note:   ‘std::__cxx11::string’
   typedef basic_string<char>    string;   
                                 ^
/usr/include/c++/5/bits/stringfwd.h:74:33: note:   ‘std::__cxx11::string’
/home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp:33:42: error: expected primary-expression before ‘int’
 void ofxAubioPitch::setup(string method, int buf_s, int hop_s, int samplerate)
                                          ^
/home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp:33:53: error: expected primary-expression before ‘int’
 void ofxAubioPitch::setup(string method, int buf_s, int hop_s, int samplerate)
                                                     ^
/home/bernardo/openFrameworks/addons/ofxAubio/src/ofxAubioPitch.cpp:33:64: error: expected primary-expression before ‘int’
 void ofxAubioPitch::setup(string method, int buf_s, int hop_s, int samplerate)
                                                                ^
/home/bernardo/openFrameworks/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:358: recipe for target '/home/bernardo/openFrameworks/addons/obj/linux64/Release/ofxAubio/src/ofxAubioPitch.o' failed
make[1]: *** [/home/bernardo/openFrameworks/addons/obj/linux64/Release/ofxAubio/src/ofxAubioPitch.o] Error 1
make[1]: Leaving directory '/home/bernardo/openFrameworks/apps/myApps/testAubio'
/home/bernardo/openFrameworks/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:124: recipe for target 'Release' failed
make: *** [Release] Error 2
bernardo@paulo-K46CB:~/openFrameworks/apps/myApps/testAubio$ 

wget not installed by default on Yosemithe

Hey, thanks for this awesome library and wrapper!
Running the install script I got: ./scripts/fetch_aubio_osx_framework.sh: line 11: wget: command not found
(seems wget is not installed b default on Yosemite)

Fixed it by replacing (line 11) by curl -O http://aubio.org/bin/$AUBIO_VERSION/$AUBIO_ZIPFRAM.

Lost somes files ?

Dear,

When I run the project, I find that the "ofMain.h" is not found and other headers are the same,
"ofEventUtils.h"

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.