a library for audio and music analysis

Overview

aubio

Travis build status Appveyor build status Commits since last release

Documentation DOI

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.

Comments
  • Recognizing VS 2017 / msvc 14.10, static vs shared libs, MD/MT

    Recognizing VS 2017 / msvc 14.10, static vs shared libs, MD/MT

    I am currently trying to create a vcpkg port for aubio and I am having various problems:

    • msvc 14.10 (=VS2017) is not recognized, maybe because of a new path-logic? CL is now at: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\CL.exe;

    • a problem I have not understood yet is an error-message that aubio.lib was created twice. Might it be, that the export lib and the static lib are created with the same filename so that one overwrites the other?

    • I would like to find a way to make one build compile shared libs only, and another separate build compile static libs only. Is that possible, e.g. with a configure option?

    • also it seems that the dll is not installed in the bin directory. Only the exe's are.

    • finally I would also like to be able to control static vs dynamic CRT linkage (MD/MT) through the build configuration. Is that possible?

    Thank you in advance for any help.

    opened by bagong 74
  • Aubio on Pypy?

    Aubio on Pypy?

    Hi, It looks liike waf build works on pypy, the python bindings themselves do not build because of the error below, I wonder how possible it is to get this working with pypy?

    I guess at worst it could be reimplementing using cffi, on the other hand it might just be tweaking the bindings a bit ..

    $ ./setup.py build
    running build
    running build_py
    running build_ext
    building 'aubio._aubio' extension
    cc -O2 -fPIC -Wimplicit -DUSE_LOCAL_AUBIO=1 -Iext -I/mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include -Igen -I../src -I../build/src -I/mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include -c ext/aubiomodule.c -o build/temp.linux-x86_64-2.7/ext/aubiomodule.o
    ext/aubiomodule.c: In function ‘init_aubio’:
    ext/aubiomodule.c:215:3: warning: implicit declaration of function ‘_import_array’ [-Wimplicit-function-declaration]
       err = _import_array ();
       ^
    cc -O2 -fPIC -Wimplicit -DUSE_LOCAL_AUBIO=1 -Iext -I/mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include -Igen -I../src -I../build/src -I/mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include -c ext/aubioproxy.c -o build/temp.linux-x86_64-2.7/ext/aubioproxy.o
    cc -O2 -fPIC -Wimplicit -DUSE_LOCAL_AUBIO=1 -Iext -I/mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include -Igen -I../src -I../build/src -I/mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include -c ext/ufuncs.c -o build/temp.linux-x86_64-2.7/ext/ufuncs.o
    In file included from /usr/include/numpy/ufuncobject.h:4:0,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/npy_math.h: In function ‘__npy_inff’:
    /usr/include/numpy/npy_math.h:26:17: error: unknown type name ‘npy_uint32’
         const union { npy_uint32 __i; float __f;} __bint = {0x7f800000UL};
                     ^
    /usr/include/numpy/npy_math.h: In function ‘__npy_nanf’:
    /usr/include/numpy/npy_math.h:32:17: error: unknown type name ‘npy_uint32’
         const union { npy_uint32 __i; float __f;} __bint = {0x7fc00000UL};
                     ^
    /usr/include/numpy/npy_math.h: In function ‘__npy_pzerof’:
    /usr/include/numpy/npy_math.h:38:17: error: unknown type name ‘npy_uint32’
         const union { npy_uint32 __i; float __f;} __bint = {0x00000000UL};
                     ^
    /usr/include/numpy/npy_math.h: In function ‘__npy_nzerof’:
    /usr/include/numpy/npy_math.h:44:17: error: unknown type name ‘npy_uint32’
         const union { npy_uint32 __i; float __f;} __bint = {0x80000000UL};
                     ^
    In file included from ext/aubio-types.h:18:0,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ufuncobject.h: At top level:
    /usr/include/numpy/ufuncobject.h:29:17: error: unknown type name ‘NpyAuxData’
                     NpyAuxData *innerloopdata);
                     ^
    /usr/include/numpy/ufuncobject.h:41:17: error: unknown type name ‘NpyAuxData’
                     NpyAuxData *innerloopdata);
                     ^
    /usr/include/numpy/ufuncobject.h:73:33: error: unknown type name ‘NPY_CASTING’
                                     NPY_CASTING casting,
                                     ^
    /usr/include/numpy/ufuncobject.h:118:29: error: unknown type name ‘PyUFunc_StridedInnerLoopFunc’
                                 PyUFunc_StridedInnerLoopFunc **out_innerloop,
                                 ^
    /usr/include/numpy/ufuncobject.h:119:29: error: unknown type name ‘NpyAuxData’
                                 NpyAuxData **out_innerloopdata,
                                 ^
    /usr/include/numpy/ufuncobject.h:127:29: error: unknown type name ‘PyUFunc_MaskedStridedInnerLoopFunc’
                                 PyUFunc_MaskedStridedInnerLoopFunc **out_innerloop,
                                 ^
    /usr/include/numpy/ufuncobject.h:128:29: error: unknown type name ‘NpyAuxData’
                                 NpyAuxData **out_innerloopdata,
                                 ^
    /usr/include/numpy/ufuncobject.h:197:9: error: unknown type name ‘PyUFunc_TypeResolutionFunc’
             PyUFunc_TypeResolutionFunc *type_resolver;
             ^
    /usr/include/numpy/ufuncobject.h:210:9: error: unknown type name ‘PyUFunc_InnerLoopSelectionFunc’
             PyUFunc_InnerLoopSelectionFunc *inner_loop_selector;
             ^
    /usr/include/numpy/ufuncobject.h:214:9: error: unknown type name ‘PyUFunc_MaskedInnerLoopSelectionFunc’
             PyUFunc_MaskedInnerLoopSelectionFunc *masked_inner_loop_selector;
             ^
    /usr/include/numpy/ufuncobject.h:221:9: error: unknown type name ‘npy_uint32’
             npy_uint32 *op_flags;
             ^
    /usr/include/numpy/ufuncobject.h:228:9: error: unknown type name ‘npy_uint32’
             npy_uint32 iter_flags;
             ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:59:6: error: nested redefinition of ‘enum NPY_TYPES’
     enum NPY_TYPES {    NPY_BOOL=0,
          ^
    /usr/include/numpy/ndarraytypes.h:59:6: error: redeclaration of ‘enum NPY_TYPES’
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:50:6: note: originally defined here
     enum NPY_TYPES {    NPY_BOOL=0,
          ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:59:21: error: redeclaration of enumerator ‘NPY_BOOL’
     enum NPY_TYPES {    NPY_BOOL=0,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:50:21: note: previous definition of ‘NPY_BOOL’ was here
     enum NPY_TYPES {    NPY_BOOL=0,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:60:21: error: redeclaration of enumerator ‘NPY_BYTE’
                         NPY_BYTE, NPY_UBYTE,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:51:21: note: previous definition of ‘NPY_BYTE’ was here
                         NPY_BYTE, NPY_UBYTE,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:60:31: error: redeclaration of enumerator ‘NPY_UBYTE’
                         NPY_BYTE, NPY_UBYTE,
                                   ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:51:31: note: previous definition of ‘NPY_UBYTE’ was here
                         NPY_BYTE, NPY_UBYTE,
                                   ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:61:21: error: redeclaration of enumerator ‘NPY_SHORT’
                         NPY_SHORT, NPY_USHORT,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:52:21: note: previous definition of ‘NPY_SHORT’ was here
                         NPY_SHORT, NPY_USHORT,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:61:32: error: redeclaration of enumerator ‘NPY_USHORT’
                         NPY_SHORT, NPY_USHORT,
                                    ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:52:32: note: previous definition of ‘NPY_USHORT’ was here
                         NPY_SHORT, NPY_USHORT,
                                    ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:62:21: error: redeclaration of enumerator ‘NPY_INT’
                         NPY_INT, NPY_UINT,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:53:21: note: previous definition of ‘NPY_INT’ was here
                         NPY_INT, NPY_UINT,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:62:30: error: redeclaration of enumerator ‘NPY_UINT’
                         NPY_INT, NPY_UINT,
                                  ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:53:30: note: previous definition of ‘NPY_UINT’ was here
                         NPY_INT, NPY_UINT,
                                  ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:63:21: error: redeclaration of enumerator ‘NPY_LONG’
                         NPY_LONG, NPY_ULONG,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:54:21: note: previous definition of ‘NPY_LONG’ was here
                         NPY_LONG, NPY_ULONG,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:63:31: error: redeclaration of enumerator ‘NPY_ULONG’
                         NPY_LONG, NPY_ULONG,
                                   ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:54:31: note: previous definition of ‘NPY_ULONG’ was here
                         NPY_LONG, NPY_ULONG,
                                   ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:64:21: error: redeclaration of enumerator ‘NPY_LONGLONG’
                         NPY_LONGLONG, NPY_ULONGLONG,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:55:21: note: previous definition of ‘NPY_LONGLONG’ was here
                         NPY_LONGLONG, NPY_ULONGLONG,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:64:35: error: redeclaration of enumerator ‘NPY_ULONGLONG’
                         NPY_LONGLONG, NPY_ULONGLONG,
                                       ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:55:35: note: previous definition of ‘NPY_ULONGLONG’ was here
                         NPY_LONGLONG, NPY_ULONGLONG,
                                       ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:65:21: error: redeclaration of enumerator ‘NPY_FLOAT’
                         NPY_FLOAT, NPY_DOUBLE, NPY_LONGDOUBLE,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:56:21: note: previous definition of ‘NPY_FLOAT’ was here
                         NPY_FLOAT, NPY_DOUBLE, NPY_LONGDOUBLE,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:65:32: error: redeclaration of enumerator ‘NPY_DOUBLE’
                         NPY_FLOAT, NPY_DOUBLE, NPY_LONGDOUBLE,
                                    ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:56:32: note: previous definition of ‘NPY_DOUBLE’ was here
                         NPY_FLOAT, NPY_DOUBLE, NPY_LONGDOUBLE,
                                    ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:65:44: error: redeclaration of enumerator ‘NPY_LONGDOUBLE’
                         NPY_FLOAT, NPY_DOUBLE, NPY_LONGDOUBLE,
                                                ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:56:44: note: previous definition of ‘NPY_LONGDOUBLE’ was here
                         NPY_FLOAT, NPY_DOUBLE, NPY_LONGDOUBLE,
                                                ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:66:21: error: redeclaration of enumerator ‘NPY_CFLOAT’
                         NPY_CFLOAT, NPY_CDOUBLE, NPY_CLONGDOUBLE,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:57:21: note: previous definition of ‘NPY_CFLOAT’ was here
                         NPY_CFLOAT, NPY_CDOUBLE, NPY_CLONGDOUBLE,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:66:33: error: redeclaration of enumerator ‘NPY_CDOUBLE’
                         NPY_CFLOAT, NPY_CDOUBLE, NPY_CLONGDOUBLE,
                                     ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:57:33: note: previous definition of ‘NPY_CDOUBLE’ was here
                         NPY_CFLOAT, NPY_CDOUBLE, NPY_CLONGDOUBLE,
                                     ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:66:46: error: redeclaration of enumerator ‘NPY_CLONGDOUBLE’
                         NPY_CFLOAT, NPY_CDOUBLE, NPY_CLONGDOUBLE,
                                                  ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:57:46: note: previous definition of ‘NPY_CLONGDOUBLE’ was here
                         NPY_CFLOAT, NPY_CDOUBLE, NPY_CLONGDOUBLE,
                                                  ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:67:21: error: redeclaration of enumerator ‘NPY_OBJECT’
                         NPY_OBJECT=17,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:58:21: note: previous definition of ‘NPY_OBJECT’ was here
                         NPY_OBJECT=17,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:68:21: error: redeclaration of enumerator ‘NPY_STRING’
                         NPY_STRING, NPY_UNICODE,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:59:21: note: previous definition of ‘NPY_STRING’ was here
                         NPY_STRING, NPY_UNICODE,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:68:33: error: redeclaration of enumerator ‘NPY_UNICODE’
                         NPY_STRING, NPY_UNICODE,
                                     ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:59:33: note: previous definition of ‘NPY_UNICODE’ was here
                         NPY_STRING, NPY_UNICODE,
                                     ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:69:21: error: redeclaration of enumerator ‘NPY_VOID’
                         NPY_VOID,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:60:21: note: previous definition of ‘NPY_VOID’ was here
                         NPY_VOID,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:74:21: error: redeclaration of enumerator ‘NPY_DATETIME’
                         NPY_DATETIME, NPY_TIMEDELTA, NPY_HALF,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:65:21: note: previous definition of ‘NPY_DATETIME’ was here
                         NPY_DATETIME, NPY_TIMEDELTA, NPY_HALF,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:74:35: error: redeclaration of enumerator ‘NPY_TIMEDELTA’
                         NPY_DATETIME, NPY_TIMEDELTA, NPY_HALF,
                                       ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:65:35: note: previous definition of ‘NPY_TIMEDELTA’ was here
                         NPY_DATETIME, NPY_TIMEDELTA, NPY_HALF,
                                       ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:74:50: error: redeclaration of enumerator ‘NPY_HALF’
                         NPY_DATETIME, NPY_TIMEDELTA, NPY_HALF,
                                                      ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:65:50: note: previous definition of ‘NPY_HALF’ was here
                         NPY_DATETIME, NPY_TIMEDELTA, NPY_HALF,
                                                      ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:76:21: error: redeclaration of enumerator ‘NPY_NTYPES’
                         NPY_NTYPES,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:67:21: note: previous definition of ‘NPY_NTYPES’ was here
                         NPY_NTYPES,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:77:21: error: redeclaration of enumerator ‘NPY_NOTYPE’
                         NPY_NOTYPE,
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:68:21: note: previous definition of ‘NPY_NOTYPE’ was here
                         NPY_NOTYPE,
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:78:21: error: redeclaration of enumerator ‘NPY_CHAR’
                         NPY_CHAR,      /* special flag */
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:69:21: note: previous definition of ‘NPY_CHAR’ was here
                         NPY_CHAR,      /* special flag */
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:79:21: error: redeclaration of enumerator ‘NPY_USERDEF’
                         NPY_USERDEF=256,  /* leave room for characters */
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:70:21: note: previous definition of ‘NPY_USERDEF’ was here
                         NPY_USERDEF=256,  /* leave room for characters */
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:82:21: error: redeclaration of enumerator ‘NPY_NTYPES_ABI_COMPATIBLE’
                         NPY_NTYPES_ABI_COMPATIBLE=21
                         ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:73:21: note: previous definition of ‘NPY_NTYPES_ABI_COMPATIBLE’ was here
                         NPY_NTYPES_ABI_COMPATIBLE=21
                         ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:423:3: error: conflicting types for ‘PyArray_Dims’
     } PyArray_Dims;
       ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:45:3: note: previous declaration of ‘PyArray_Dims’ was here
     } PyArray_Dims;
       ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:21:23: error: conflicting types for ‘PyObject’
     #define PyArray_Descr PyObject
                           ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:86:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/object.h:35:3: note: previous declaration of ‘PyObject’ was here
     } PyObject;
       ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:20:23: error: conflicting types for ‘PyObject’
     #define PyArrayObject PyObject
                           ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:21:23: note: previous declaration of ‘PyObject’ was here
     #define PyArray_Descr PyObject
                           ^
    In file included from /usr/include/numpy/ndarrayobject.h:17:0,
                     from /usr/include/numpy/arrayobject.h:4,
                     from /usr/include/numpy/ufuncobject.h:231,
                     from ext/aubio-types.h:18,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/ndarraytypes.h:738:9: error: unknown type name ‘npy_int32’
             npy_int32 month, day, hour, min, sec, us, ps, as;
             ^
    /usr/include/numpy/ndarraytypes.h:744:9: error: unknown type name ‘npy_int32’
             npy_int32 sec, us, ps, as;
             ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:46:23: error: conflicting types for ‘_PyPyArray_NDIM’
     #define _PyArray_NDIM _PyPyArray_NDIM
                           ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:46:23: note: previous declaration of ‘_PyPyArray_NDIM’ was here
     #define _PyArray_NDIM _PyPyArray_NDIM
                           ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:506:17: note: in expansion of macro ‘_PyArray_NDIM’
     PyAPI_FUNC(int) _PyArray_NDIM(PyObject *arg0);
                     ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:158:23: error: conflicting types for ‘_PyPyArray_DATA’
     #define _PyArray_DATA _PyPyArray_DATA
                           ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:158:23: note: previous declaration of ‘_PyPyArray_DATA’ was here
     #define _PyArray_DATA _PyPyArray_DATA
                           ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:498:20: note: in expansion of macro ‘_PyArray_DATA’
     PyAPI_FUNC(void *) _PyArray_DATA(PyObject *arg0);
                        ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:188:30: error: expected identifier or ‘(’ before ‘char’
     #define PyArray_BYTES(arr) ((char *)PyArray_DATA(arr))
                                  ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:158:23: error: expected ‘)’ before ‘_PyPyArray_DATA’
     #define _PyArray_DATA _PyPyArray_DATA
                           ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:475:22: error: conflicting types for ‘_PyPyArray_DIM’
     #define _PyArray_DIM _PyPyArray_DIM
                          ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:475:22: note: previous declaration of ‘_PyPyArray_DIM’ was here
     #define _PyArray_DIM _PyPyArray_DIM
                          ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:499:24: note: in expansion of macro ‘_PyArray_DIM’
     PyAPI_FUNC(Py_ssize_t) _PyArray_DIM(PyObject *arg0, Py_ssize_t arg1);
                            ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:233:25: error: conflicting types for ‘_PyPyArray_STRIDE’
     #define _PyArray_STRIDE _PyPyArray_STRIDE
                             ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:233:25: note: previous declaration of ‘_PyPyArray_STRIDE’ was here
     #define _PyArray_STRIDE _PyPyArray_STRIDE
                             ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:509:24: note: in expansion of macro ‘_PyArray_STRIDE’
     PyAPI_FUNC(Py_ssize_t) _PyArray_STRIDE(PyObject *arg0, Py_ssize_t arg1);
                            ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:239:24: error: conflicting types for ‘_PyPyArray_FLAGS’
     #define _PyArray_FLAGS _PyPyArray_FLAGS
                            ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:239:24: note: previous declaration of ‘_PyPyArray_FLAGS’ was here
     #define _PyArray_FLAGS _PyPyArray_FLAGS
                            ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:501:17: note: in expansion of macro ‘_PyArray_FLAGS’
     PyAPI_FUNC(int) _PyArray_FLAGS(PyObject *arg0);
                     ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:265:27: error: conflicting types for ‘_PyPyArray_ITEMSIZE’
     #define _PyArray_ITEMSIZE _PyPyArray_ITEMSIZE
                               ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:265:27: note: previous declaration of ‘_PyPyArray_ITEMSIZE’ was here
     #define _PyArray_ITEMSIZE _PyPyArray_ITEMSIZE
                               ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:504:17: note: in expansion of macro ‘_PyArray_ITEMSIZE’
     PyAPI_FUNC(int) _PyArray_ITEMSIZE(PyObject *arg0);
                     ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:299:23: error: conflicting types for ‘_PyPyArray_TYPE’
     #define _PyArray_TYPE _PyPyArray_TYPE
                           ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:299:23: note: previous declaration of ‘_PyPyArray_TYPE’ was here
     #define _PyArray_TYPE _PyPyArray_TYPE
                           ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:513:17: note: in expansion of macro ‘_PyArray_TYPE’
     PyAPI_FUNC(int) _PyArray_TYPE(PyObject *arg0);
                     ^
    In file included from ext/aubio-types.h:14:0,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/numpy/arrayobject.h:147:54: error: expected ‘)’ before ‘&’ token
     #define PyArray_CHKFLAGS(m, flags) (PyArray_FLAGS(m) & (flags))
                                                          ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /usr/include/numpy/__ufunc_api.h: In function ‘_import_umath’:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:410:31: warning: initialization from incompatible pointer type [enabled by default]
     #define PyImport_ImportModule PyPyImport_ImportModule
                                   ^
    ext/ufuncs.c: In function ‘add_ufuncs’:
    ext/ufuncs.c:95:3: warning: passing argument 1 of ‘PyPyModule_GetDict’ from incompatible pointer type [enabled by default]
       dict = PyModule_GetDict(m);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:473:26: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define PyModule_GetDict PyPyModule_GetDict
                              ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:243:24: note: in expansion of macro ‘PyModule_GetDict’
     PyAPI_FUNC(PyObject *) PyModule_GetDict(PyObject *arg0);
                            ^
    ext/ufuncs.c:95:8: warning: assignment from incompatible pointer type [enabled by default]
       dict = PyModule_GetDict(m);
            ^
    ext/ufuncs.c:99:3: warning: passing argument 1 of ‘PyPyDict_SetItemString’ from incompatible pointer type [enabled by default]
       PyDict_SetItemString(dict, "unwrap2pi", f);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:220:30: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define PyDict_SetItemString PyPyDict_SetItemString
                                  ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:91:17: note: in expansion of macro ‘PyDict_SetItemString’
     PyAPI_FUNC(int) PyDict_SetItemString(PyObject *arg0, const char *arg1, PyObject *arg2);
                     ^
    ext/ufuncs.c:99:3: warning: passing argument 3 of ‘PyPyDict_SetItemString’ from incompatible pointer type [enabled by default]
       PyDict_SetItemString(dict, "unwrap2pi", f);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:220:30: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define PyDict_SetItemString PyPyDict_SetItemString
                                  ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:91:17: note: in expansion of macro ‘PyDict_SetItemString’
     PyAPI_FUNC(int) PyDict_SetItemString(PyObject *arg0, const char *arg1, PyObject *arg2);
                     ^
    ext/ufuncs.c:100:3: warning: passing argument 1 of ‘PyPy_DecRef’ from incompatible pointer type [enabled by default]
       Py_DECREF(f);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:274:19: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define Py_DecRef PyPy_DecRef
                       ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:472:18: note: in expansion of macro ‘Py_DecRef’
     PyAPI_FUNC(void) Py_DecRef(PyObject *arg0);
                      ^
    ext/ufuncs.c:106:3: warning: passing argument 1 of ‘PyPyDict_SetItemString’ from incompatible pointer type [enabled by default]
       PyDict_SetItemString(dict, "freqtomidi", g);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:220:30: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define PyDict_SetItemString PyPyDict_SetItemString
                                  ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:91:17: note: in expansion of macro ‘PyDict_SetItemString’
     PyAPI_FUNC(int) PyDict_SetItemString(PyObject *arg0, const char *arg1, PyObject *arg2);
                     ^
    ext/ufuncs.c:106:3: warning: passing argument 3 of ‘PyPyDict_SetItemString’ from incompatible pointer type [enabled by default]
       PyDict_SetItemString(dict, "freqtomidi", g);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:220:30: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define PyDict_SetItemString PyPyDict_SetItemString
                                  ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:91:17: note: in expansion of macro ‘PyDict_SetItemString’
     PyAPI_FUNC(int) PyDict_SetItemString(PyObject *arg0, const char *arg1, PyObject *arg2);
                     ^
    ext/ufuncs.c:107:3: warning: passing argument 1 of ‘PyPy_DecRef’ from incompatible pointer type [enabled by default]
       Py_DECREF(g);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:274:19: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define Py_DecRef PyPy_DecRef
                       ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:472:18: note: in expansion of macro ‘Py_DecRef’
     PyAPI_FUNC(void) Py_DecRef(PyObject *arg0);
                      ^
    ext/ufuncs.c:113:3: warning: passing argument 1 of ‘PyPyDict_SetItemString’ from incompatible pointer type [enabled by default]
       PyDict_SetItemString(dict, "miditofreq", h);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:220:30: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define PyDict_SetItemString PyPyDict_SetItemString
                                  ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:91:17: note: in expansion of macro ‘PyDict_SetItemString’
     PyAPI_FUNC(int) PyDict_SetItemString(PyObject *arg0, const char *arg1, PyObject *arg2);
                     ^
    ext/ufuncs.c:113:3: warning: passing argument 3 of ‘PyPyDict_SetItemString’ from incompatible pointer type [enabled by default]
       PyDict_SetItemString(dict, "miditofreq", h);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:220:30: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define PyDict_SetItemString PyPyDict_SetItemString
                                  ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:91:17: note: in expansion of macro ‘PyDict_SetItemString’
     PyAPI_FUNC(int) PyDict_SetItemString(PyObject *arg0, const char *arg1, PyObject *arg2);
                     ^
    ext/ufuncs.c:114:3: warning: passing argument 1 of ‘PyPy_DecRef’ from incompatible pointer type [enabled by default]
       Py_DECREF(h);
       ^
    In file included from /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/Python.h:81:0,
                     from ext/aubio-types.h:1,
                     from ext/ufuncs.c:2:
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_macros.h:274:19: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyObject *’
     #define Py_DecRef PyPy_DecRef
                       ^
    /mnt/data/home/stu/.virtualenvs/shoebot-pgi-pypy/include/pypy_decl.h:472:18: note: in expansion of macro ‘Py_DecRef’
     PyAPI_FUNC(void) Py_DecRef(PyObject *arg0);
                      ^
    error: command 'cc' failed with exit status 1
    
    
    pending 
    opened by stuaxo 38
  • Help required using Aubio in Swift iOS project

    Help required using Aubio in Swift iOS project

    Hi, I'm new to both iOS(swift) and to aubio. I just want to implement a simple functionality of pitch detection in my app, by passing an audio file to aubio, and have it return the pitch value in Hz with timestamp. While I've been able to do this with the command line using 'aubiopitch', I've no idea how to do it in iOS(swift). Right now I've included the aubio framework inside my app and included the Accelerate framework, and created a bridging header to include the header files. Can somebody please help me out with a basic implementation of the above said functionality?

    opened by rkgi10 37
  • Segmentation fault: 11 on demo_tempo.py

    Segmentation fault: 11 on demo_tempo.py

    I'm on a 2013 MacBook Pro Retina with 8 GB of RAM, I'm not familiar with C or its implementation. I'm unable to get the demo_tempo working due to a segmentation fault.

    using the command python demo_tempo.py <file>.mp3

    Perhaps I am using it incorrectly? It also occurs if I use a .wav, or add in the samplerate as a parameter.

    Thanks,

    Caleb

    opened by caleb-allen 27
  • memory leak or no garbage collection?

    memory leak or no garbage collection?

    Hi,

    I'm trying to use aubio to calculate bpms for bunch of files in a row. After thorough investigation I've found out that problem is either in the depths of aubio module or in failing python garbage collection. Consider the following code (python 2.7, was taken from example):

    from aubio import tempo, source
    import time
    
    # tempo detection delay, in samples
    # default to 4 blocks delay to catch up with
    
    # this emulates 10 files
    for _ in xrange(0, 10):
        win_s = 512                 # fft size
        hop_s = win_s / 2        # hop size
    
        samplerate = 0
        s = source('test.wav', samplerate, hop_s)
        samplerate = s.samplerate
        o = tempo("default", win_s, hop_s, samplerate)
    
        # list of beats, in samples
        beats = []
    
        # total number of frames read
        total_frames = 0
    
       # actual leaking is inside loop
        while True:
            samples, read = s()
            is_beat = o(samples)
            if is_beat:
                this_beat = o.get_last_s()
                beats.append(this_beat)
            total_frames += read
            if read < hop_s: break
    
        print _
        time.sleep(3)
    
    time.sleep(4)
    

    I've added sleeps to make it handy for spotting on growing memory percentage. On my system (4G of ram), this script goes from 1.2% to 12%. As for python garbage collection, setting all used variables in loop and after it to None, deleting them and adding gc.collect() does not help, memory continue to grow.

    opened by lyssdod 27
  • Using aubio 0.4.5 in a Windows environment

    Using aubio 0.4.5 in a Windows environment

    Dear Sir or Madam,

    I recently downloaded aubio 0.4.5 for Windows (64-bit architecture), with ffmpeg build. I would like to explore the pitch detection functionality. But I am new to aubio, C and Python. I am not sure where to begin if I want to analyse audio!

    Google searches seem to imply that aubio is run through the command line, but I'm not sure exactly how to use the command line and aubio to analyse an audio file.

    I would appreciate it if you could point me in the right direction, so I can actually start using aubio!

    Yours faithfully,

    Caleb Owusu-Yianoma

    opened by calebkoy 25
  • Forever loop while getting tempo on iPhone 5

    Forever loop while getting tempo on iPhone 5

    Hello,

    I got this issue while i was trying to get tempo value of a song. I have tried to do this on arm64 devices like iPhone6, iPhone6+, it doesn't happen. It just appear in iPhone5, i guest it may be cpu arch problem, because iphone 5 is 32 bit CPU, while iPhone 6 and 6+ is 64 bit CPU. I do some debugging and found cause of problem come from beattracking.c, this line:

    phase = fvec_quadratic_peak_pos (bt->phout, maxindex);

    Value of the phase variable after this calculation is nan. Later, the beat value is calculated on phase value, so beat become nan too. And here is the loop that can not break because beat + bp is always nan

      while (beat + bp < 0) {
        beat += bp;
      }
    
    

    My question is: How to fix this problem?

    Thanks,

    opened by tiennth 20
  • simplify emscripten

    simplify emscripten

    wscript :

    • use waf/extra/c_emscripten and simplify manually set flags
    • use node to test js files

    add get_waf_emscripten.sh to setup waf with emscripten

    opened by MartinHN 19
  • Failed opening 'filename' (could not find 'fmt' in RIFF header)

    Failed opening 'filename' (could not find 'fmt' in RIFF header)

    Hi there,

    I just cloned the aubio git repository to try the different onset and pitch detection techniques on some of my own recordings. I am using the python library.

    However, on this audio file (and on any other audio file I have tried), I get the following error:

    (aubio) pavlos55[email protected]:~/aubio/python/demos$ python demo_onset_plot.py 3stSTRING.WAV 
    Traceback (most recent call last):
      File "demo_onset_plot.py", line 19, in <module>
        s = source(filename, samplerate, hop_s)
    RuntimeError: AUBIO ERROR: source_wavread: Failed opening 3stSTRING.WAV (could not find 'fmt ' in RIFF header)
    
    

    I have also tried with Python3 with no success.

    opened by pavlos163 19
  • Aubio with line-in/microphone in realtime from python ?

    Aubio with line-in/microphone in realtime from python ?

    Is it possible to use aubio with realtime audio in python - whether that's aubio interfacing with something like pulseaudio, or setting up all the audio in python, with e.g. pysoundcard (the new version of pyaudio) ?

    https://github.com/bastibe/PySoundCard

    opened by stuaxo 19
  • Error while trying to install aubio

    Error while trying to install aubio

    Hi, I am facing an error when I try to install aubio through pip

    Can somebody help me, please?

    > pip install aubio
    Collecting aubio
      Using cached https://files.pythonhosted.org/packages/cd/80/302d89240603e5347c7f8026c8b02c59f8dfaec66c91a743d82de7c86006/aubio-0.4.9.tar.gz
    Requirement already satisfied: numpy in c:\users\gabriel.monteiro\appdata\local\programs\python\python37\lib\site-packages (from aubio) (1.16.3)
    Building wheels for collected packages: aubio
      Building wheel for aubio (setup.py) ... error
      ERROR: Complete output from command 'c:\users\gabriel.monteiro\appdata\local\programs\python\python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\GABRIE~1.MON\\AppData\\Local\\Temp\\pip-install-es8ltb5c\\aubio\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\GABRIE~1.MON\AppData\Local\Temp\pip-wheel-uor_bb_m' --python-tag cp37:
      ERROR: running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-3.7
      creating build\lib.win-amd64-3.7\aubio
      copying python\lib\aubio\cmd.py -> build\lib.win-amd64-3.7\aubio
      copying python\lib\aubio\cut.py -> build\lib.win-amd64-3.7\aubio
      copying python\lib\aubio\midiconv.py -> build\lib.win-amd64-3.7\aubio
      copying python\lib\aubio\slicing.py -> build\lib.win-amd64-3.7\aubio
      copying python\lib\aubio\__init__.py -> build\lib.win-amd64-3.7\aubio
      running build_ext
      error: [WinError 2] O sistema não pode encontrar o arquivo especificado
      checking for aubio = 0.4.9
      Running "pkg-config --libs --cflags aubio = 0.4.9" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
      Info: aubio 0.4.9 was not found by pkg-config
      Info: looking for *optional* additional packages
      checking for libavcodec
      Running "pkg-config --libs --cflags libavcodec" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
      checking for libavformat
      Running "pkg-config --libs --cflags libavformat" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
      checking for libavutil
      Running "pkg-config --libs --cflags libavutil" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
      checking for libswresample
      Running "pkg-config --libs --cflags libswresample" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
      checking for libavresample
      Running "pkg-config --libs --cflags libavresample" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
      checking for sndfile
      Running "pkg-config --libs --cflags sndfile" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
      checking for samplerate
      Running "pkg-config --libs --cflags samplerate" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
      Info: libaubio was not installed or built locally with waf, adding src/
      Running command: cl.exe -E -DAUBIO_UNSTABLE=1 -Isrc src\aubio.h
      ----------------------------------------
    
    >   ERROR: Failed building wheel for aubio
      Running setup.py clean for aubio
    Failed to build aubio
    Installing collected packages: aubio
      Running setup.py install for aubio ... error
        ERROR: Complete output from command 'c:\users\gabriel.monteiro\appdata\local\programs\python\python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\GABRIE~1.MON\\AppData\\Local\\Temp\\pip-install-es8ltb5c\\aubio\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\GABRIE~1.MON\AppData\Local\Temp\pip-record-rje46fyw\install-record.txt' --single-version-externally-managed --compile:
        ERROR: running install
        running build
        running build_py
        running build_ext
        error: [WinError 2] O sistema não pode encontrar o arquivo especificado
        checking for aubio = 0.4.9
        Running "pkg-config --libs --cflags aubio = 0.4.9" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
        Info: aubio 0.4.9 was not found by pkg-config
        Info: looking for *optional* additional packages
        checking for libavcodec
        Running "pkg-config --libs --cflags libavcodec" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
        checking for libavformat
        Running "pkg-config --libs --cflags libavformat" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
        checking for libavutil
        Running "pkg-config --libs --cflags libavutil" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
        checking for libswresample
        Running "pkg-config --libs --cflags libswresample" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
        checking for libavresample
        Running "pkg-config --libs --cflags libavresample" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
        checking for sndfile
        Running "pkg-config --libs --cflags sndfile" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
        checking for samplerate
        Running "pkg-config --libs --cflags samplerate" failed: FileNotFoundError(2, 'O sistema não pode encontrar o arquivo especificado', None, 2, None)
        Info: libaubio was not installed or built locally with waf, adding src/
        Running command: cl.exe -E -DAUBIO_UNSTABLE=1 -Isrc src\aubio.h
        ----------------------------------------
    
    > ERROR: Command "'c:\users\gabriel.monteiro\appdata\local\programs\python\python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\GABRIE~1.MON\\AppData\\Local\\Temp\\pip-install-es8ltb5c\\aubio\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\GABRIE~1.MON\AppData\Local\Temp\pip-record-rje46fyw\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\GABRIE~1.MON\AppData\Local\Temp\pip-install-es8ltb5c\aubio\
    
    compilation 
    opened by gabrielmonteiroflex 17
  • Using command line options in Python

    Using command line options in Python

    I couldn't find any thing about this in docs: is it possible to use options available for the command line in the Python side too? I am particularly interested in aubioonset's options (e.g. threshhold, using jack etc.)

    Thank you!

    opened by amirteymuri 0
  • Bar detection?

    Bar detection?

    I use aubio in lighting control software (glight), where I use it for real-time beat detection and moving lights to the beats. This works really well. I'm now looking to extend this to "bar" detection, i.e. to include knowledge of when a bar starts and how many beats are in bar. Is this possible with aubio? If not, would this be an interesting feature request?

    opened by aroffringa 0
  • Add an aubiolevel CLI tool to compute the sound pressure level

    Add an aubiolevel CLI tool to compute the sound pressure level

    Aubio enables users to compute the sound pressure level of a buffer using miscutils.h, but there is no way to get that information from CLI tools right now.

    This adds support for a standalone CLI tool so that extracting sound pressure level information does not require building a program against the library.


    I have created this for my own needs and figure it could useful for the upstream as well.

    opened by delthas 0
Releases(0.4.9)
  • 0.4.9(Feb 27, 2019)

    Version 0.4.9 includes:

    • src/: improve overall stability, fixing potential crashes and memory leaks on invalid arguments (closes gh-216); improve library messages and reporting of system errors
    • tests/: major clean-up (closes gh-219), check return codes, increase code coverage
    • python/tests/: switch to pytest (closes gh-163), check emitted warnings
    • python/: add pages to manual with brief descriptions of classes

    Special thanks to Guoxiang Niu (@niugx) for reporting the following vulnerabilities, fixed with this release:

    • CVE-2018-19800 prevent a possible buffer overflow in new_aubio_tempo
    • CVE-2018-19801 prevent a null-pointer dereference in new_aubio_filterbank
    • CVE-2018-19802 prevent a null-pointer dereference in new_aubio_onset

    Also many thanks to @dvzrv, @romanbsd, @Bee-HN, @Lord-Kamina, and everyone who helped reporting the issues solved with this release.

    Source code(tar.gz)
    Source code(zip)
  • 0.4.8(Nov 22, 2018)

    Version 0.4.8 includes:

    • src/notes: new option release_drop (gh-203)
    • src/spectral: new parameters added to filterbank and mfcc (gh-206)
    • python/lib: start documenting module (gh-73, debian #480018), improve build for
      win-amd64 (gh-154, gh-199, gh-208)
    • src fixes: prevent crash when using fft sizes unsupported by vDSP (gh-207),
      prevent saturation when down-mixing a multi-channel source (avcodec/ffmpeg)

    Thanks to @mj15003, @OneDirection9, @notalentgeek, @ulyssesp, @MaxHastings, @baozix, and everyone who reported and helped tracking down these issues.

    Source code(tar.gz)
    Source code(zip)
  • 0.4.7(Sep 23, 2018)

    Version 0.4.7 includes:

    • src/io/, src/notes/, src/pitch: prevent crashes on corrupted files
    • src/spectral/dct.h: add dct type II object with optimised versions
    • examples/: fix jack midi output, improve messages when jack disabled
    • python/: add dct support, minor bug fixes tests and demos
    • wscript: improve support for BLAS/ATLAS

    Many thanks to @jcowgill, @WIZARDISHUNGRY, @ancorcruz, @cyclopsian, and @fCorleone for their patches, bug reports, and comments, and to everyone who contributed to this release.

    See full ChangeLog for the detail.

    Source code(tar.gz)
    Source code(zip)
  • 0.4.6(Oct 4, 2017)

    Version 0.4.6 includes:

    • yinfast, a new version of the YIN pitch detection algorithm, that uses spectral convolution to compute the same results as the original yin, but with a cost O(N log(N)), making it much faster than the plain implementation (O(N^2))

    • Intel IPP optimisations (thanks to Eduard Mueller), available for Linux, MacOS, Windows, and Android

    • improved support for emscripten (thanks to Martin Hermant), which compiles the aubio library as a javascript module and lets you run aubio's algorithms directly from within a web-page.

    0.4.6 also comes with several bug fixes and improvements.

    Many thanks to Eduard Mueller (@emuell), Martin Hermant (@MartinHN), Hannes Fritz (@hztirf), Stuart Axon (@stuaxo), Jörg (@7heW4yne), ssj71 (@ssj71), Andreas Borg (@borg), Rob (@mlrobsmt) and everyone else for their valuable contributions and input.

    Source code(tar.gz)
    Source code(zip)
  • 0.4.5(Apr 10, 2017)

    A new version of aubio, 0.4.5, is available.

    This version features:

    • a new aubio python command line tool to extract information from sound files
    • improved default parameters for onset detection, using adaptive spectral whitening and compression
    • support for libswresample

    New options --miditap-note and --miditap-velo have been added to aubioonset and aubiotrack to adjust the note and velocity of the midi note emitted by onsets and beats.

    0.4.5 also comes with a bunch of fixes, including improved documentation, build system fixes, and platform compatibility.

    Many thanks to Martin Hermant (@MartinHN), Sebastian Böck (@superbock), Travis Seaver (@tseaver) and others for their help and contributions.

    More info at aubio.org

    Source code(tar.gz)
    Source code(zip)
  • 0.4.4(Mar 28, 2017)

    This version features a new logging module that allows redirecting errors, warnings, and other messages coming from libaubio. As usual, these messages are printed to stderr or stdout by default.

    Another new feature is the --minioi option added to aubioonset, which lets you adjust the minimum Inter-Onset Interval (IOI) separating two consecutive events. This makes it easier to reduce the number of doubled detections.

    New demos have been added to the python/demos folder, including one using the pyaudio module to read samples from the microphone in real time.

    More info at aubio.org

    Source code(tar.gz)
    Source code(zip)
  • 0.4.3(Mar 28, 2017)

    This version features a complete rewrite of the python module, making it faster and more memory efficient than any previous version. It also adds compatibility for Python 3.x.

    The build system has been improved so that python-aubio can now be installed with pip using a simple command:

    $ pip install aubio
    

    0.4.3 also comes with a number of improvements and several optimisations, so you should see both the library and the python module run significantly faster. Many computations have been vectorised, using either Atlas/cblas or the Accelerate framework, depending on the host platform.

    More info on aubio.org

    Source code(tar.gz)
    Source code(zip)
Convenient unified display of the most relevant technical and tag data for video and audio files.

MediaInfoLib README MediaInfo(Lib) is a convenient unified display of the most relevant technical and tag data for video and audio files. MediaInfoLib

MediaArea 489 Nov 24, 2022
Simple and Fast Multimedia Library

SFML — Simple and Fast Multimedia Library SFML is a simple, fast, cross-platform and object-oriented multimedia API. It provides access to windowing,

Simple and Fast Multimedia Library 8.2k Nov 25, 2022
Minimalistic MP3 decoder single header library

minimp3 Minimalistic, single-header library for decoding MP3. minimp3 is designed to be small, fast (with SSE and NEON support), and accurate (ISO con

Lion 1.2k Dec 1, 2022
PML is a simple, lightweight, easy to use multimedia library written in C.

PML is a simple, lightweight, easy to use multimedia library written in C. PML also works natively with C++, and bindings can be used/made to the native C code for other languages.

Fossbay 12 May 6, 2021
WangBin 3.3k Nov 23, 2022
C++ library for audio and music analysis, description and synthesis, including Python bindings

Essentia Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPL license.

Music Technology Group - Universitat Pompeu Fabra 2.2k Dec 5, 2022
Arduino Audio Tools (Music Player, Music Recorder supporting I2S, Microphones, DAC, ADC, A2DP, Url)

Arduino Audio Tools Some basic header-only C++ classes that can be used for Audio Processing provided as Arduino Library: a simple I2S class (to read

Phil Schatzmann 478 Nov 27, 2022
a library for audio and music analysis

aubio 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 wh

aubio 2.8k Nov 29, 2022
a library for audio and music analysis

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.

aubio 2.8k Nov 29, 2022
Probabilistic Risk Analysis Tool (fault tree analysis, event tree analysis, etc.)

SCRAM SCRAM is a Command-line Risk Analysis Multi-tool. This project aims to build a command line tool for probabilistic risk analysis. SCRAM is capab

Olzhas Rakhimov 115 Nov 30, 2022
Xan's NFS Music Player - Custom music player replacement and a BASS library interface for NFS.

Xan's NFS Music Player This is a custom music player replacement and a BASS library interface for NFS. FEATURES Custom playlist generation - put any n

Lovro Pleše 15 Nov 23, 2022
Strawberry is a music player and music collection organizer.

Strawberry is a music player and music collection organizer. It is a fork of Clementine released in 2018 aimed at music collectors and audiophiles. It's written in C++ using the Qt toolkit.

Strawberry Music Player 1.7k Dec 4, 2022
Minipops alternative firmware for Music Thing Modular Radio Music

RMoxy Minipops drummer alternative firmware for Music Thing Modular Radio Music module The repository for the Radio Music module by Tom Whitwell Kits

Johan Berglund 7 Nov 6, 2022
C++ Audio and Music DSP Library

_____ _____ ___ __ _ _____ __ __ __ ____ ____ / \\_ \\ \/ / |/ \| | | | \_ \/ \ | Y Y \/ /_ \> <| | Y Y \ | |_|

Mick Grierson 1.4k Nov 26, 2022
Terrain Analysis Using Digital Elevation Models (TauDEM) software for hydrologic terrain analysis and channel network extraction.

TauDEM (Terrain Analysis Using Digital Elevation Models) is a suite of Digital Elevation Model (DEM) tools for the extraction and analysis of hydrolog

David Tarboton 190 Nov 22, 2022
A simple CLI to extract & save artwork of a 🎵 music/audio file.

artwork-extractor A simple CLI to extract & save artwork of a ?? music/audio file. Usage Dependencies MediaInfoLib On Debian based distros, one may in

Hitesh Kumar Saini 5 Aug 4, 2021
PortAudio is a portable audio I/O library designed for cross-platform support of audio

PortAudio is a cross-platform, open-source C language library for real-time audio input and output.

PortAudio 758 Nov 28, 2022
🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)

Verovio is a fast, portable and lightweight library for engraving Music Encoding Initiative (MEI) digital scores into SVG images. Verovio also contain

RISM Switzerland 513 Nov 28, 2022
A lightweight music DSP library.

Soundpipe Soundpipe is a lightweight music DSP library written in C. It aims to provide a set of high-quality DSP modules for composers, sound designe

Paul Batchelor 102 Dec 14, 2021