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.

Issues
  • 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) [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
  • demo_bpm_extract.py consistently oversamples bpm by +2

    demo_bpm_extract.py consistently oversamples bpm by +2

    the bpm returned in this function (https://github.com/aubio/aubio/blob/master/python/demos/demo_bpm_extract.py) is consistently +2 bpm above what it should be (I have determined this with hundreds of music files using other bpm detection algorithms and tap notation)

    @piem I would appreciate assistance in figuring out what in this function is giving this result and whether it can be fixed!

    thanks!

    opened by maphouse 4
  • Aubio with audio file in realtime from python?

    Aubio with audio file in realtime from python?

    I want to know the pitch by frame by running the mp3 or wav file When the pitch value is output, 0 is continuously displayed. where is the problem? I want to (Ex, C1, F2)

    import aubio
    import numpy as np
    import pyaudio
    import time
    import argparse
    import queue
    import wave
    import music21  # yes! new favorite library
    
    # parser = argparse.ArgumentParser()
    # parser.add_argument("-input", required=False, type=int, help="Audio Input Device")
    # args = parser.parse_args()
    #
    # if not args.input:
    #     print("No input device specified. Printing list of input devices now: ")
    #     p = pyaudio.PyAudio()
    #     for i in range(p.get_device_count()):
    #         print("Device number (%i): %s" % (i, p.get_device_info_by_index(i).get('name')))
    #     print("Run this program with -input 1, or the number of the input you'd like to use.")
    #     exit()
    CHUNK = 1024
    wf = wave.open("temp.wav", 'rb')
    
    # PyAudio object.
    p = pyaudio.PyAudio()
    
    # Open stream.
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    # stream = p.open(format=pyaudio.paFloat32,
    #                 channels=1, rate=44100, input=True,
    #                 input_device_index=args.input, frames_per_buffer=4096)
    time.sleep(1)
    data = wf.readframes(CHUNK)
    # Aubio's pitch detection.
    pDetection = aubio.pitch("default", 2048, 2048 // 2, 44100)
    # Set unit.
    pDetection.set_unit("Hz")
    pDetection.set_silence(-40)
    
    q = queue.Queue()
    
    
    def get_current_note(volume_thresh=0.01, printOut=False):
        global data
        """Returns the Note Currently Played on the q object when audio is present
    
        Keyword arguments:
    
        volume_thresh -- the volume threshold for input. defaults to 0.01
        printOut -- whether or not to print to the terminal. defaults to False
        """
        current_pitch = music21.pitch.Pitch()
    
        while True:
            stream.write(data)
            data = wf.readframes(CHUNK)
            samples = np.fromstring(data, dtype=aubio.float_type)
            pitch = pDetection(samples)[0]
            print(pitch)
            # Compute the energy (volume) of the
            # current frame.
            volume = np.sum(samples ** 2) / len(samples) * 100
            # print(volume)
            if pitch > volume_thresh:  # adjust with your mic!
                current_pitch.frequency = pitch
            else:
                continue
    
            if printOut:
                print(current_pitch)
    
            else:
                current = current_pitch.nameWithOctave
                q.put({'Note': current, 'Cents': current_pitch.microtone.cents})
    
    
    if __name__ == '__main__':
        get_current_note(volume_thresh=0.001, printOut=True)
    
    opened by minwook96 0
  • Missing documentation - how to understand output of `aubio pitch` and `aubio notes`?

    Missing documentation - how to understand output of `aubio pitch` and `aubio notes`?

    Apologies for asking a question that is probably answered somewhere in the docs, but between these sites I cannot find the answer:

    https://aubio.org/manual/latest/cli.html#aubio https://aubio.org/documentation https://github.com/aubio/aubio/issues/new

    I do not understand what the output of the aubio pitch and aubio notes commands are.

    audio file: "I Love Kanye", by Kanye West (on YouTube here) commands: aubio pitch i-love-kanye.mp3 and aubio notes i-love-kanye.mp3

    aubio pitch sample output:

    (base) martin:Desktop martinconnor$ aubio pitch 09.\ I\ Love\ Kanye\ copy.mp3 
    0.000000	0.000000
    0.005805	0.000000
    0.011610	2255.677002
    0.017415	1234.997070
    0.023220	771.823730
    0.029025	469.961548
    0.034830	2127.355225
    0.040635	2088.092529
    0.046440	909.061890
    0.052245	908.138550
    0.058050	467.406403
    0.063855	465.747223
    0.069660	462.281494
    0.075465	459.564240
    0.081270	1834.805786
    0.087075	1773.861328
    0.092880	1745.297363
    0.098685	910.913269
    0.104490	831.457031
    0.110295	829.726196
    0.116100	832.404480
    0.121905	0.000000
    0.127710	829.331848
    0.133515	834.354248
    0.139320	855.222351
    0.145125	0.000000
    0.150930	321.989532
    0.156735	70.879410
    0.162540	1073.676270
    0.168345	78.648453
    0.174150	78.694801
    0.179955	144.124207
    0.185760	143.980957
    0.191565	169.961380
    0.197370	202.052338
    0.203175	201.367661
    0.208980	703.161194
    0.214785	229.030853
    0.220590	232.336227
    0.226395	236.057510
    0.232200	241.617416
    0.238005	251.036484
    0.243810	256.490662
    0.249615	262.420593
    0.255420	271.795532
    0.261224	274.221069
    0.267029	275.867157
    0.272834	276.927521
    0.278639	277.184906
    0.284444	276.553833
    0.290249	275.070312
    0.296054	272.945099
    0.301859	270.738770
    0.307664	268.701660
    0.313469	266.627899
    0.319274	264.268524
    0.325079	262.173401
    0.330884	260.317780
    0.336689	255.506668
    0.342494	253.204224
    0.348299	251.611511
    0.354104	249.555466
    0.359909	246.736282
    0.365714	242.597534
    0.371519	238.464157
    0.377324	235.591522
    0.383129	232.148575
    0.388934	228.528168
    0.394739	226.172043
    0.400544	224.810959
    0.406349	224.243057
    0.412154	223.427597
    0.417959	214.134247
    0.423764	213.898743
    0.429569	6259.341797
    0.435374	6553.820312
    0.441179	6790.392578
    0.446984	6668.113770
    0.452789	6484.388184
    0.458594	6449.885742
    0.464399	6589.834961
    0.470204	6862.158203
    0.476009	6853.378418
    0.481814	6576.416504
    0.487619	6399.205566
    0.493424	6438.535645
    0.499229	6269.137207
    0.505034	6021.243652
    0.510839	5944.690918
    0.516644	220.340805
    0.522449	232.385193
    0.528254	232.202774
    0.534059	5880.576660
    0.539864	216.217987
    0.545669	297.520325
    0.551474	377.006073
    0.557279	174.714264
    0.563084	175.741562
    0.568889	530.153931
    

    I do not understand what these two columns of numbers are. The one on the left seems to be timestamps for the whole song, but what is the one on the right?

    This is the output for aubio notes:

    (base) martin:Desktop martinconnor$ aubio notes 09.\ I\ Love\ Kanye\ copy.mp3 
    0.075465	
    70.000000	0.075465	0.116100	
    50.000000	0.197370	0.371519	
    59.000000	0.371519	0.406349	
    116.000000	0.458594	0.464399	
    72.000000	0.586304	0.609524	
    55.000000	0.795283	0.864943	
    57.000000	0.864943	0.998458	
    90.000000	1.126168	1.375782	
    51.000000	1.375782	1.428027	
    71.000000	1.428027	1.480272	
    69.000000	1.480272	1.503492	
    99.000000	1.596372	1.607982	
    112.000000	1.712472	1.747302	
    111.000000	1.747302	1.857596	
    57.000000	1.933061	1.985306	
    57.000000	1.985306	2.060771	
    52.000000	2.118821	2.153651	
    52.000000	2.165261	2.316190	
    54.000000	2.316190	2.351020	
    55.000000	2.351020	2.536780	
    92.000000	2.681905	2.948934	
    53.000000	2.948934	3.070839	
    98.000000	3.163719	3.192744	
    111.000000	3.314649	3.512018	
    58.000000	3.512018	3.541043	
    51.000000	3.686168	3.755828	
    113.000000	3.755828	3.877732	
    114.000000	3.877732	4.150567	
    91.000000	4.237642	4.324717	
    54.000000	4.324717	4.423401	
    53.000000	4.516281	4.556916	
    52.000000	4.556916	4.620771	
    99.000000	4.707846	4.736871	
    119.000000	4.835556	4.928435	
    59.000000	4.928435	5.044535	
    56.000000	5.044535	5.207075	
    53.000000	5.207075	5.270930	
    51.000000	5.270930	5.305760	
    55.000000	5.421859	5.630839	
    112.000000	5.688889	5.781769	
    55.000000	5.781769	6.019773	
    53.000000	6.019773	6.054603	
    53.000000	6.054603	6.112653	
    98.000000	6.211338	6.269388	
    70.000000	6.356463	6.408707	
    70.000000	6.408707	6.466757	
    60.000000	6.466757	6.617687	
    54.000000	6.762812	6.948571	
    55.000000	6.948571	6.983401	
    57.000000	6.983401	7.128526	
    82.000000	7.279456	7.575510	
    67.000000	7.575510	7.680000	
    99.000000	7.767075	7.819320	
    53.000000	7.912200	8.034104	
    57.000000	8.092154	8.405624	
    53.000000	8.405624	8.498503	
    58.000000	8.498503	8.533333	
    60.000000	8.533333	8.736508	
    55.000000	8.777143	8.840998	
    97.000000	8.840998	9.119637	
    54.000000	9.119637	9.218322	
    99.000000	9.305397	9.351837	
    56.000000	9.438912	9.508571	
    84.000000	9.601451	9.717551	
    58.000000	9.793016	9.827846	
    68.000000	9.827846	9.868481	
    113.000000	9.903311	10.077460	
    60.000000	10.077460	10.280635	
    54.000000	10.303855	10.367710	
    81.000000	10.367710	10.623129	
    54.000000	10.623129	10.657959	
    54.000000	10.657959	10.716009	
    99.000000	10.808889	10.837914	
    113.000000	10.936599	11.041088	
    60.000000	11.041088	11.110748	
    57.000000	11.162993	11.389388	
    57.000000	11.389388	11.563537	
    60.000000	11.563537	11.807347	
    58.000000	11.807347	11.813152	
    96.000000	11.917642	12.155646	
    56.000000	12.155646	12.248526	
    56.000000	12.341406	12.405261	
    12.550385	
    60.000000	12.550385	12.689705	
    61.000000	12.689705	12.724535	
    60.000000	12.724535	12.770975	
    117.000000	12.770975	12.933515	
    116.000000	12.933515	13.165714	
    61.000000	13.165714	13.212154	
    98.000000	13.392109	13.676553	
    56.000000	13.676553	13.746213	
    52.000000	13.746213	13.781043	
    99.000000	13.868118	13.908753	
    112.000000	14.030658	14.100317	
    61.000000	14.204807	14.262857	
    54.000000	14.425397	14.442812	
    59.000000	14.599546	14.704036	
    118.000000	14.791111	14.895601	
    96.000000	14.895601	15.029116	
    54.000000	15.029116	15.162630	
    54.000000	15.162630	15.290340	
    99.000000	15.371610	15.441270	
    79.000000	15.551565	15.574785	
    71.000000	15.702494	15.795374	
    15.946304	
    115.000000	15.946304	16.062404	
    59.000000	16.062404	16.172698	
    100.000000	16.259773	16.277188	
    80.000000	16.364263	16.399093	
    80.000000	16.399093	16.462948	
    60.000000	16.590658	16.631293	
    124.000000	16.747392	16.967982	
    60.000000	16.967982	17.002812	
    60.000000	17.002812	17.037642	
    58.000000	17.142132	17.194376	
    56.000000	17.194376	17.205986	
    55.000000	17.327891	17.449796	
    53.000000	17.449796	17.519456	
    58.000000	17.519456	17.554286	
    60.000000	17.554286	17.606531	
    98.000000	17.780680	18.082540	
    54.000000	18.082540	18.192834	
    99.000000	18.279909	18.337959	
    122.000000	18.448254	18.581769	
    71.000000	18.651429	18.726893	
    56.000000	18.825578	18.999728	
    50.000000	18.999728	19.075193	
    59.000000	19.075193	19.237732	
    58.000000	19.237732	19.260952	
    97.000000	19.382857	19.678912	
    53.000000	19.678912	19.760181	
    99.000000	19.853061	19.887891	
    60.000000	19.980771	20.050431	
    60.000000	20.160726	20.201361	
    59.000000	20.201361	20.271020	
    120.000000	20.271020	20.305850	
    71.000000	20.538050	20.729615	
    60.000000	20.729615	20.787664	
    99.000000	20.886349	21.141769	
    54.000000	21.141769	21.240454	
    53.000000	21.240454	21.298503	
    114.000000	21.321723	21.379773	
    98.000000	21.379773	21.408798	
    74.000000	21.507483	21.704853	
    62.000000	21.704853	21.762902	
    71.000000	21.855782	22.041542	
    60.000000	22.041542	22.076372	
    61.000000	22.076372	22.082177	
    60.000000	22.215692	22.250522	
    60.000000	22.250522	22.418866	
    61.000000	22.418866	22.430476	
    59.000000	22.575601	22.627846	
    58.000000	22.627846	22.790385	
    60.000000	22.790385	22.987755	
    60.000000	22.987755	23.132880	
    61.000000	23.132880	23.173515	
    63.000000	23.173515	23.237370	
    117.000000	23.237370	23.550839	
    60.000000	23.550839	23.707574	
    63.000000	23.707574	23.742404	
    98.000000	23.864308	23.899138	
    63.000000	23.899138	24.009433	
    63.000000	24.113923	24.270658	
    120.000000	24.288073	24.363537	
    71.000000	24.363537	24.409977	
    48.000000	24.491247	24.526077	
    79.000000	24.526077	24.682812	
    62.000000	24.682812	24.735057	
    112.000000	24.735057	24.752472	
    54.000000	24.856961	25.083356	
    54.000000	25.083356	25.292336	
    50.000000	25.367800	25.443265	
    55.000000	25.443265	25.698685	
    51.000000	25.698685	25.745125	
    50.000000	25.745125	25.779955	
    64.000000	25.884444	25.954104	
    49.000000	26.041179	26.081814	
    79.000000	26.081814	26.261769	
    61.000000	26.261769	26.308209	
    112.000000	26.308209	26.325624	
    54.000000	26.406893	26.627483	
    56.000000	26.627483	26.807438	
    51.000000	26.877098	26.958367	
    94.000000	26.958367	27.207982	
    52.000000	27.207982	27.289252	
    100.000000	27.376327	27.434376	
    72.000000	27.515646	27.573696	
    58.000000	27.573696	27.614331	
    60.000000	27.614331	27.747846	
    62.000000	27.747846	27.823311	
    61.000000	27.933605	28.177415	
    60.000000	28.310930	28.427029	
    55.000000	28.427029	28.485079	
    62.000000	28.485079	28.554739	
    55.000000	28.670839	28.711474	
    62.000000	28.711474	28.914649	
    58.000000	28.914649	29.059773	
    61.000000	29.059773	29.135238	
    62.000000	29.135238	29.152653	
    62.000000	29.239728	29.350023	
    58.000000	29.419683	29.518367	
    59.000000	29.611247	29.657687	
    60.000000	29.657687	29.797007	
    123.000000	29.855057	29.878277	
    60.000000	29.982766	30.238186	
    57.000000	30.238186	30.290431	
    55.000000	30.290431	30.319456	
    99.000000	30.429751	30.481995	
    72.000000	30.627120	30.789660	
    61.000000	30.789660	30.853515	
    54.000000	30.969615	31.010249	
    98.000000	31.155374	31.277279	
    59.000000	31.277279	31.480454	
    59.000000	31.480454	31.550113	
    99.000000	31.654603	31.677823	
    56.000000	31.782313	31.822948	
    57.000000	31.822948	31.898413	
    58.000000	31.910023	31.962268	
    59.000000	31.962268	32.002902	
    58.000000	32.002902	32.043537	
    118.000000	32.043537	32.362812	
    90.000000	32.461497	32.554376	
    76.000000	32.554376	32.606621	
    74.000000	32.606621	32.670476	
    57.000000	32.740136	32.809796	
    59.000000	32.809796	32.879456	
    70.000000	33.076825	33.326440	
    57.000000	33.326440	33.384490	
    100.000000	33.483175	33.512200	
    59.000000	33.634104	33.767619	
    59.000000	33.767619	33.906939	
    59.000000	33.906939	33.941769	
    116.000000	33.976599	33.994014	
    57.000000	34.098503	34.127528	
    60.000000	34.295873	34.493243	
    71.000000	34.609342	34.870567	
    58.000000	34.870567	34.922812	
    56.000000	35.015692	35.067937	
    62.000000	35.201451	35.230476	
    64.000000	35.311746	35.416236	
    61.000000	35.543946	35.631020	
    60.000000	35.631020	35.723900	
    117.000000	35.723900	35.822585	
    65.000000	35.822585	36.008345	
    94.000000	36.124444	36.600454	
    65.000000	36.600454	36.658503	
    75.000000	36.757188	36.826848	
    67.000000	36.826848	36.861678	
    122.000000	36.861678	36.913923	
    123.000000	36.913923	37.035828	
    60.000000	37.035828	37.157732	
    58.000000	37.157732	37.186757	
    70.000000	37.331882	37.569887	
    60.000000	37.569887	37.604717	
    111.000000	37.604717	37.610522	
    59.000000	37.720816	37.970431	
    58.000000	37.970431	38.074921	
    101.000000	38.161995	38.225850	
    68.000000	38.307120	38.353560	
    68.000000	38.353560	38.429025	
    115.000000	38.429025	38.463855	
    63.000000	38.568345	38.614785	
    60.000000	38.614785	38.876009	
    54.000000	38.876009	38.934059	
    58.000000	38.934059	39.131429	
    97.000000	39.264943	39.537778	
    57.000000	39.537778	39.648073	
    100.000000	39.735147	39.775782	
    58.000000	39.880272	39.915102	
    56.000000	39.915102	39.978957	
    59.000000	39.978957	40.147302	
    61.000000	40.147302	40.292426	
    57.000000	40.437551	40.472381	
    61.000000	40.472381	40.576871	
    61.000000	40.704580	40.774240	
    61.000000	40.774240	40.838095	
    56.000000	40.838095	40.901950	
    57.000000	40.901950	40.954195	
    96.000000	41.186395	41.232834	
    57.000000	41.232834	41.296689	
    57.000000	41.296689	41.517279	
    57.000000	41.517279	41.639184	
    101.000000	41.749478	41.790113	
    41.929433	
    54.000000	41.929433	41.987483	
    52.000000	41.987483	42.091973	
    52.000000	42.091973	42.132608	
    112.000000	42.225488	42.324172	
    56.000000	42.324172	42.573787	
    50.000000	42.573787	42.672472	
    46.000000	42.672472	42.707302	
    46.000000	42.829206	43.020771	
    50.000000	43.032381	43.334240	
    57.000000	43.345850	43.485170	
    63.000000	43.485170	43.520000	
    52.000000	43.525805	43.665125	
    55.000000	43.665125	43.670930	
    78.000000	43.798639	43.827664	
    56.000000	43.850884	43.932154	
    56.000000	43.932154	44.019229	
    52.000000	44.036644	44.193379	
    51.000000	44.193379	44.413968	
    45.008980	
    

    What are these three columns of numbers? Thank you!

    opened by mepc36 2
  • Memory-leak happens during fuzzing test

    Memory-leak happens during fuzzing test

    Describe the bug memory continues to grow during testing, see log.

    (base) [email protected]:/home/wen/git/polyfuzz/aubio# ./run.sh case-abnormal [1] Thu May 19 23:31:13 PDT 2022: memory percentage: 0.1 [2] Thu May 19 23:31:43 PDT 2022: memory percentage: 1.9 [3] Thu May 19 23:32:13 PDT 2022: memory percentage: 3.0 [4] Thu May 19 23:32:43 PDT 2022: memory percentage: 4.1 [5] Thu May 19 23:33:13 PDT 2022: memory percentage: 5.2 [6] Thu May 19 23:33:43 PDT 2022: memory percentage: 6.3 [7] Thu May 19 23:34:13 PDT 2022: memory percentage: 7.4 [8] Thu May 19 23:34:43 PDT 2022: memory percentage: 8.5 [9] Thu May 19 23:35:13 PDT 2022: memory percentage: 9.6 [10] Thu May 19 23:35:43 PDT 2022: memory percentage: 10.6

    To Reproduce

    run the command: ./run.sh case-abnormal python-script

    **** Environment **** Python3.8 & Ubuntu18.04 Aubio-version: the main branch

    Expected behavior the memory usage should not continue to increase

    opened by baltsers 0
  • strerror_r error on MSYS2 with clang

    strerror_r error on MSYS2 with clang

    I was trying to compile aubio for Ardour however, I see that there is no translation of strerror_r in MSYS2 clang:

    $ CC=clang CXX=clang++ scripts/build_mingw
    ...
    [ 81/243] Compiling tests/src/io/test-source_apple_audio.c
    ../src/io/source_wavread.c:101:5: warning: implicit declaration of function 'strerror_r' is invalid in C99 [-Wimplicit-function-declaration]
        AUBIO_STRERR("source_wavread: Failed opening %s (%s)\n", s->path, errorstr);
        ^
    ../src/aubio_priv.h:353:5: note: expanded from macro 'AUBIO_STRERR'
        AUBIO_STRERROR(errno, errorstr, sizeof(errorstr)); \
        ^
    ../src/aubio_priv.h:345:39: note: expanded from macro 'AUBIO_STRERROR'
    #define AUBIO_STRERROR(errno,buf,len) strerror_r(errno, buf, len)
                                          ^
    ../src/io/source_wavread.c:134:7: warning: implicit declaration of function 'strerror_r' is invalid in C99 [-Wimplicit-function-declaration]
          AUBIO_STRERR("source_wavread: Failed opening %s (could not seek past JUNK Chunk: %s)\n",
          ^
    ../src/aubio_priv.h:353:5: note: expanded from macro 'AUBIO_STRERR'
        AUBIO_STRERROR(errno, errorstr, sizeof(errorstr)); \
        ^
    ../src/aubio_priv.h:345:39: note: expanded from macro 'AUBIO_STRERROR'
    #define AUBIO_STRERROR(errno,buf,len) strerror_r(errno, buf, len)
                                          ^
    ../src/io/source_wavread.c:262:7: warning: implicit declaration of function 'strerror_r' is invalid in C99 [-Wimplicit-function-declaration]
          AUBIO_STRERR("source_wavread: could not seek past unknown chunk in %s (%s)\n",
          ^
    ../src/aubio_priv.h:353:5: note: expanded from macro 'AUBIO_STRERR'
        AUBIO_STRERROR(errno, errorstr, sizeof(errorstr)); \
        ^
    ../src/aubio_priv.h:345:39: note: expanded from macro 'AUBIO_STRERROR'
    #define AUBIO_STRERROR(errno,buf,len) strerror_r(errno, buf, len)
                                          ^
    ../src/io/source_wavread.c:443:5: warning: implicit declaration of function 'strerror_r' is invalid in C99 [-Wimplicit-function-declaration]
        AUBIO_STRERR("source_wavread: could not seek %s at %d (%s)\n", s->path, pos, errorstr);
        ^
    ../src/aubio_priv.h:353:5: note: expanded from macro 'AUBIO_STRERR'
        AUBIO_STRERROR(errno, errorstr, sizeof(errorstr)); \
        ^
    ../src/aubio_priv.h:345:39: note: expanded from macro 'AUBIO_STRERROR'
    #define AUBIO_STRERROR(errno,buf,len) strerror_r(errno, buf, len)
                                          ^
    ../src/io/source_wavread.c:464:5: warning: implicit declaration of function 'strerror_r' is invalid in C99 [-Wimplicit-function-declaration]
        AUBIO_STRERR("source_wavread: could not close %s (%s)\n", s->path, errorstr);
        ^
    ../src/aubio_priv.h:353:5: note: expanded from macro 'AUBIO_STRERR'
        AUBIO_STRERROR(errno, errorstr, sizeof(errorstr)); \
        ^
    ../src/aubio_priv.h:345:39: note: expanded from macro 'AUBIO_STRERROR'
    #define AUBIO_STRERROR(errno,buf,len) strerror_r(errno, buf, len)
                                          ^
    5 warnings generated.
    ...
    [132/243] Compiling aubio.pc.in
    ld.lld: error: undefined symbol: strerror_r
    >>> referenced by ../src/io/sink_flac.c:146
    >>>               src/io/sink_flac.c.1.o:(aubio_sink_flac_open)
    >>> referenced by ../src/io/sink_flac.c:347
    >>>               src/io/sink_flac.c.1.o:(aubio_sink_flac_close)
    >>> referenced by ../src/io/sink_vorbis.c:122
    >>>               src/io/sink_vorbis.c.1.o:(aubio_sink_vorbis_open)
    >>> referenced 12 more times
    

    Not sure if this helps

    Although using strerror_r should have had it the other way given I have GCC-based MinGW, I basically cannot since only clang supported aarch64 (which I will attempt later, but I need a x86_64 build first)

    opened by stevefan1999-personal 1
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 442 Jun 18, 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 7.8k Jun 26, 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.1k Jun 25, 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.2k Jun 27, 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 329 Jun 24, 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.1k Jun 23, 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.7k Jun 27, 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.7k Jun 25, 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 112 Jun 16, 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 10 Mar 27, 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.6k Jun 28, 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 6 Apr 6, 2022
C++ Audio and Music DSP Library

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

Mick Grierson 1.3k Jun 23, 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 184 Jun 23, 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 633 Jun 19, 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 484 Jun 23, 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
A library to play Commodore 64 music

libsidplayfp ============ https://github.com/libsidplayfp/libsidplayfp libsidplayfp is a C64 music player library which integrates the reSID SID chi

null 24 Apr 28, 2022
C/C++ library for converting a stream of OPL FM synth chip commands to the OPB music format

OPBinaryLib C/C++ library for converting a stream of OPL FM synth chip commands to the OPB music format Basic usage Store your OPL commands as a conti

Emma Maassen 10 Feb 2, 2022
PendulumSynth is an on-going and open-source project, running on Arduino platform with the goal of mixing real-world physics into music composition and musical performance.

PendulumSynth PendulumSynth is an on-going and open-source project, running on Arduino platform with the goal of mixing real-world physics into music

Mohammadreza Anvari 4 Jun 19, 2022
A laser cut Dreamcast Pop'n Music controller and integrated memory card using the Raspberry Pi Pico's Programmable IO

Dreamcast Pop'n Music Controller Using Raspbery Pi Pico (RP2040) Intro This is a homebrew controller for playing the Pop'n Music games on the Sega Dre

null 31 Jun 6, 2022
The music of Fibonacci and prime numbers

fibprimes "Main" branch contains source code and generated MIDI file. "MP3" branch contains the MP3 file converted from the MIDI file. General Each ch

null 25 Feb 4, 2022
projectM - cross-platform music visualization. Open-source and Milkdrop-compatible

projectM - cross-platform music visualization. Open-source and Milkdrop-compatible

projectM Visualizer 2.2k Jun 20, 2022
A music player based on RT-thread and AB32VG1.

A music player based on RT-thread and AB32VG1.

杨澄 7 May 16, 2022
By controlling the frequency at which the output Pins of MSP430 are turned off and on, we can make music.

By controlling the frequency at which the output Pins of MSP430 are turned off and on, we can make music.

Premkumar Vincent 1 Nov 9, 2021
Hydrogen is a tiny GDI Malware, with some bytebeat music, many payloads and some shaders

Hydrogen is a tiny GDI Malware, with some bytebeat music, many payloads and some shaders

Leo Lezury 13 Jun 3, 2022