LibXtract is a simple, portable, lightweight library of audio feature extraction functions.

Related tags

Audio LibXtract
Overview

LibXtract

Build Status

LibXtract is a simple, portable, lightweight library of audio feature extraction functions. The purpose of the library is to provide a relatively exhaustive set of feature extraction primatives that are designed to be 'cascaded' to create a extraction hierarchies.

For example, 'variance', 'average deviation', 'skewness' and 'kurtosis', all require the 'mean' of the input vector to be precomputed. However, rather than compute the 'mean' 'inside' each function, it is expected that the 'mean' will be passed in as an argument. This means that if the user wishes to use all of these features, the mean is calculated only once, and then passed to any functions that require it.

This philosophy of 'cascading' features is followed throughout the library, for example with features that operate on the magnitude spectrum of a signal vector (e.g. 'irregularity'), the magnitude spectrum is not calculated 'inside' the respective function, instead, a pointer to the first element in an array containing the magnitude spectrum is passed in as an argument.

Hopefully this not only makes the library more efficient when computing large numbers of features, but also makes it more flexible because extraction functions can be combined arbitrarily (one can take the irregularility of the Mel Frequency Cepstral Coefficients for example).

A complete list of features can be found by viewing the header files, or reading the doxygen documentation, available with this package.

Downloading

The latest source code release for LibXtract can be downloaded from https://github.com/jamiebullock/LibXtract/downloads.

Dependencies

To build the SWIG bindings SWIG is required. For the Python bindings, a Python install is required. For the Java bindings a Java install is required.

Installation

Type make install to build and install to /usr/local. Type make install PREFIX=/somewhere/else to install to /somewhere/else,

Documentation

LibXtract headers are documented using doxygen comments.

If you have doxygen installed, the LibXtract build system should automatically detect this during configure and generate LaTeX and HTML documentation in the doc directory when LibXtract is built with make.

The generated HTML documentation can then be viewed in a web browser by opening the file doc/html/index.html.

Pre-generated documentation can be found on the LibXtract website

License 

Copyright (C) 2012 Jamie Bullock

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • xtract_init_fft FFT_SIZE

    xtract_init_fft FFT_SIZE

    Hi,

    I'm a bit confused abotu the fft size, I tried different settings, but the one that's working doesn't seem to be right. I'm starting with interleaved pcm buffer of 2048 samples(1024 per channel), therefor I should initialised mPcmData with 1024 samples. The spectrum array size then should be 1024 too, 512 bin frequencies followed by 512 frequency labels. The xtract_init_fft initialisation really confuses me, in my understanding the fft size is 512, however the only value that works is 2048, in the screenshot below you can see different results using 2048, 1024 and 512 fft size.

    #define PCM_SIZE 1024
    
    // init
    mPcmData    = std::shared_ptr<double>( new double[ PCM_SIZE ] );
    xtract_init_fft( PCM_SIZE << 1, XTRACT_SPECTRUM );
    
    // ...
    
    // get pcm data 2048 samples
    audio::Buffer32fRef buff = mPcmBuffer->getInterleavedData();
    
    for( size_t k=0; k < PCM_SIZE; k++ )
        mPcmData.get()[k] = buff->mData[k*2];
    
    // ...
    
    // get spectrum
    argd[0] = SAMPLERATE / (double)PCM_SIZE;
    argd[1] = XTRACT_MAGNITUDE_SPECTRUM;
    argd[2] = 0.0f;
    argd[3] = 0.0f;
    xtract_spectrum( mPcmData.get(), PCM_SIZE, _argd, mSpectrum.get() );
    

    xtract_spectrum

    opened by q-depot 12
  • vDSP_ctozD malloc error C++

    vDSP_ctozD malloc error C++

    I'm trying to implement simpletest.c example in c++, the app throws malloc error, while running Guard Malloc the app breaks on vDSP_ctozD called by XTRACT_SPECTRUM, however despite it breaks, it output the data correctly(spectral bins, MFCCs).

    opened by q-depot 9
  • Simpletest example crashes on Linux

    Simpletest example crashes on Linux

    The simpletest example crashes on Linux:

    *** glibc detected *** /home/ryan/Downloads/LibXtract-master/examples/simpletest/.libs/lt-simpletest: free(): invalid next size (normal): 0x085ec250 *** ======= Backtrace: ========= /lib/i386-linux-gnu/libc.so.6(+0x75ee2)[0xb75e8ee2] /home/ryan/Downloads/LibXtract-master/src/.libs/libxtract.so.0(xtract_init_mfcc+0x494)[0xb773be44] /home/ryan/Downloads/LibXtract-master/examples/simpletest/.libs/lt-simpletest[0x804877f] /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb758c4d3] /home/ryan/Downloads/LibXtract-master/examples/simpletest/.libs/lt-simpletest[0x804886d] ======= Memory map: ======== 08048000-08049000 r-xp 00000000 08:01 3550801 /home/ryan/Downloads/LibXtract-master/examples/simpletest/.libs/lt-simpletest 08049000-0804a000 r--p 00000000 08:01 3550801 /home/ryan/Downloads/LibXtract-master/examples/simpletest/.libs/lt-simpletest 0804a000-0804b000 rw-p 00001000 08:01 3550801 /home/ryan/Downloads/LibXtract-master/examples/simpletest/.libs/lt-simpletest 085d1000-085f2000 rw-p 00000000 00:00 0 [heap] b7512000-b752e000 r-xp 00000000 08:01 132020 /lib/i386-linux-gnu/libgcc_s.so.1 b752e000-b752f000 r--p 0001b000 08:01 132020 /lib/i386-linux-gnu/libgcc_s.so.1 b752f000-b7530000 rw-p 0001c000 08:01 132020 /lib/i386-linux-gnu/libgcc_s.so.1 b7545000-b7546000 rw-p 00000000 00:00 0 b7546000-b7570000 r-xp 00000000 08:01 131202 /lib/i386-linux-gnu/libm-2.15.so b7570000-b7571000 r--p 00029000 08:01 131202 /lib/i386-linux-gnu/libm-2.15.so b7571000-b7572000 rw-p 0002a000 08:01 131202 /lib/i386-linux-gnu/libm-2.15.so b7572000-b7573000 rw-p 00000000 00:00 0 b7573000-b7716000 r-xp 00000000 08:01 131085 /lib/i386-linux-gnu/libc-2.15.so b7716000-b7717000 ---p 001a3000 08:01 131085 /lib/i386-linux-gnu/libc-2.15.so b7717000-b7719000 r--p 001a3000 08:01 131085 /lib/i386-linux-gnu/libc-2.15.so b7719000-b771a000 rw-p 001a5000 08:01 131085 /lib/i386-linux-gnu/libc-2.15.so b771a000-b771d000 rw-p 00000000 00:00 0 b7730000-b7732000 rw-p 00000000 00:00 0 b7732000-b7749000 r-xp 00000000 08:01 3550740 /home/ryan/Downloads/LibXtract-master/src/.libs/libxtract.so.0.0.0 b7749000-b774a000 r--p 00016000 08:01 3550740 /home/ryan/Downloads/LibXtract-master/src/.libs/libxtract.so.0.0.0 b774a000-b774b000 rw-p 00017000 08:01 3550740 /home/ryan/Downloads/LibXtract-master/src/.libs/libxtract.so.0.0.0 b774b000-b774d000 rw-p 00000000 00:00 0 b774d000-b774e000 r-xp 00000000 00:00 0 [vdso] b774e000-b776e000 r-xp 00000000 08:01 131203 /lib/i386-linux-gnu/ld-2.15.so b776e000-b776f000 r--p 0001f000 08:01 131203 /lib/i386-linux-gnu/ld-2.15.so b776f000-b7770000 rw-p 00020000 08:01 131203 /lib/i386-linux-gnu/ld-2.15.so bfb03000-bfb24000 rw-p 00000000 00:00 0 [stack] Aborted (core dumped) ryan@ryan-VGN-T2XP-S:~/Downloads/LibXtract-master/examples/simpletest$ ^C ryan@ryan-VGN-T2XP-S:~/Downloads/LibXtract-master/examples/simpletest$

    bug 
    opened by jamiebullock 8
  • xtract_f0 input vector and results

    xtract_f0 input vector and results

    Hi,

    even though this seems pretty obvious I want to double check that xtract_f0 only accepts the spectrum to get the pitch, the results then should be the frequency in Hz, is this correct?

    I'm testing the function with a software that generates tones and the results don't match, basically higher tones generate small numbers and lower tones generate big ones. Also the function seems to ignore input signals below 100Hz, the pcm signal is oscillating but the f0 doesn't move and I'm looking at the raw data. If help I can upload a short video to show the problem.

    thanks.

    screen shot 2013-07-08 at 09 18 37 screen shot 2013-07-08 at 09 18 09 screen shot 2013-07-08 at 09 17 56

    opened by q-depot 7
  • make error

    make error

    hello, i keep getting a make error while building that says: simpletest.o: In function main': /home/mansi/SOFT/libxtract-0.6.6/examples/simpletest/simpletest.c:37: undefined reference toxtract_init_fft'come

    please help to overcome this error

    mansi

    opened by 26mansi 7
  • failing mingw64 compilation

    failing mingw64 compilation

    Hi Jamie, I'm not using MSVC, instead i'm trying to compile with MSYS2/MinGW64 in Windows. It's alway failing at ringbuf.c. It seems it has glibc dependencies and that seems to be a LINUX only C-library. What I am missing?

    build-system 
    opened by 11ols 6
  • How to build the docs?

    How to build the docs?

    With my poor knowledge of make, I couldn't find how to build the docs. Tried make, make html, ... always says "no target". It would be nice to add a section about this in the README file.

    opened by sebpiq 5
  • fft configure problems and make errors

    fft configure problems and make errors

    I am trying to install LibXtract on my MacOSX, but it won't work. First of all, when I configure everything, I get the following message:

    Summary:

    fft: no (not using fftw3, no fft functions) simpletest example: yes PD external: yes

    Although I have installed fftw 3.3.3. I tried by adding --with-ooura, but it won't change to fft: yes. Then when I hit make, the following message appears:

    Undefined symbols for architecture x86_64: "_xtract_init_fft", referenced from: _main in simpletest.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[3]: *** [simpletest] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2

    Are these problems linked? Does the make not work because it cannot find the fftw3 or is it another problem?

    Thanks for helping!

    opened by kafka-91 5
  • irregularity confusion

    irregularity confusion

    I'm a bit confused about the documentation for xtract_irregularity_k and xtract_irregularity_k concerning the size of the data param - should it be the size of the FFT or the size of the magnitude spectrum bins? My hunch is the latter, these are the results I'm getting:

    N = blocksize (512):

    • xtract_irregularity_k: roughly between 28 - 29
    • xtract_irregularity_j: always 0.012

    N = blocksize / 2:

    • xtract_irregularity_k: between 0.0 - 0.6
    • xtract_irregularity_j: very large numbers (in the hundreds of thousands)

    Any thoughts?

    Thanks, Rich

    opened by ghost 5
  • Python bindings not installed with build

    Python bindings not installed with build

    This may be my mistake but I cannot figure out how to install the python bindings. I downloaded the latest version of the project through github. In the official documentation the only thing mentioned is that you need SWIG and python. In older documentations it is stated that you need to run ./configure with specific arguments in order to install the python bindings.

    I have python 3.4.3 and SWIG is installed but I cannot find a configure file. When I run make the swig folder is not entered. If I manually enter the folder and run make I get the following results

    ../include/xtract/libxtract.h:300: Warning 314: 'def' is a python keyword, renaming to '_def' cc: error: Accelerate: No such file or directory cc: error: unrecognized command line option ‘-framework’ Makefile:21: recipe for target 'python' failed make: *** [python] Error 1

    Also in the swig folder if I run the test.py I get the "Failed to load the library "xtract"" error.

    opened by PGryllos 4
  • make install error

    make install error

    Hi,

    I'm trying to install LibXtract with the sudo make install command, but I am getting the following error message:

    Making install in puredata install -d /usr/local/lib/pd/extra install -m 644 ../../examples/puredata/.libs/xtract.pd_darwin /usr/local/lib/pd/extra/xtract~.pd_darwin install: ../../examples/puredata/.libs/xtract.pd_darwin: No such file or directory make[2]: *** [install] Error 71 make[1]: *** [install-recursive] Error 1 make: *** [install-recursive] Error 1

    I kind of think the "~" shouldn't be in the directory /usr/local/lib/pd/extra/xtract~.pd_darwin, but then again I'm really no expert...

    Could you help me with this problem?

    Thanks!

    build-system 
    opened by kafka-91 4
  • Build error on Windows

    Build error on Windows

    Hi all,

    I need a dll version of the library yet have the following error message when I'm trying to build it on Windows 10:

    C:\Users\XXX\Documents\Work\ExternalLibraries\Source\LibXtract>make install make[1]: Entering directory 'C:/Users/XXX/Documents/Work/ExternalLibraries/Source/LibXtract/src' The syntax of the command is incorrect. make[1]: *** [Makefile:92: .build/./delta.o] Error 1 make[1]: Leaving directory 'C:/Users/XXX/Documents/Work/ExternalLibraries/Source/LibXtract/src' make: *** [Makefile:31: install] Error 2

    Both the main and develop branches give the same error. When I build it on MACOS, everything is OK.

    Could you please help me with the issue.

    Thanks in advance...

    opened by ArtCoreIst 0
  • Wrong Spectrum Computation

    Wrong Spectrum Computation

    https://github.com/jamiebullock/LibXtract/blob/41273dd7a56ebe7f1a232cfa0b870ebb67eefd7d/src/vector.c#L323-L373

    I was trying to implement a higher level API in Julia and I've found these two lines that seem wrong to me. Shouldn't it compute the euclidean distance between imag and real? The following two lines seems copied from the previous clause:

    https://github.com/jamiebullock/LibXtract/blob/41273dd7a56ebe7f1a232cfa0b870ebb67eefd7d/src/vector.c#L367-L368

    If you confirm, I can do a pull request

    opened by 00sapo 1
  • Failing to build

    Failing to build

    I got this error:

    $ make install
    make[1]: Entrando no diretório '/home/mojo/Downloads/LibXtract-master/src'
    
    c-ringbuf/ringbuf.c: In function ‘ringbuf_read’:
    c-ringbuf/ringbuf.c:242:17: warning: implicit declaration of function ‘read’ [-Wimplicit-function-declaration]
      242 |     ssize_t n = read(fd, rb->head, count);
          |                 ^~~~
    c-ringbuf/ringbuf.c: In function ‘ringbuf_write’:
    c-ringbuf/ringbuf.c:306:17: warning: implicit declaration of function ‘write’ [-Wimplicit-function-declaration]
      306 |     ssize_t n = write(fd, rb->tail, count);
          |                 ^~~~~
    make[1]: Saindo do diretório '/home/mojo/Downloads/LibXtract-master/src'
    
    make[1]: Entrando no diretório '/home/mojo/Downloads/LibXtract-master/examples'
    
    make[2]: Entrando no diretório '/home/mojo/Downloads/LibXtract-master/examples/simpletest'
    
    WaveFile.cpp:75:8: warning: constante de caractere multi-caractere [-Wmultichar]
       75 |   case 'FFIR':
          |        ^~~~~~
    WaveFile.cpp:81:31: warning: constante de caractere multi-caractere [-Wmultichar]
       81 |     if (header.riff.format != 'EVAW')
          |                               ^~~~~~
    WaveFile.cpp:89:8: warning: constante de caractere multi-caractere [-Wmultichar]
       89 |   case ' tmf':
          |        ^~~~~~
    WaveFile.cpp:124:8: warning: constante de caractere multi-caractere [-Wmultichar]
      124 |   case 'atad':
          |        ^~~~~~
    WaveFile.cpp:143:29: warning: constante de caractere multi-caractere [-Wmultichar]
      143 |  if (header.riff.chunkID != 'FFIR')
          |                             ^~~~~~
    WaveFile.cpp:148:28: warning: constante de caractere multi-caractere [-Wmultichar]
      148 |  if (header.fmt.chunkID != ' tmf')
          |                            ^~~~~~
    /usr/bin/ld: ../../src/libxtract.a(scalar.o):(.bss+0x0): múltiplas definições de "wavelet_f0_state"; ../../src/libxtract.a(init.o):(.bss+0x0): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(scalar.o):(.bss+0x10): múltiplas definições de "ooura_data_autocorrelation_fft"; ../../src/libxtract.a(init.o):(.bss+0x10): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(scalar.o):(.bss+0x30): múltiplas definições de "ooura_data_spectrum"; ../../src/libxtract.a(init.o):(.bss+0x30): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(scalar.o):(.bss+0x50): múltiplas definições de "ooura_data_mfcc"; ../../src/libxtract.a(init.o):(.bss+0x50): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(scalar.o):(.bss+0x70): múltiplas definições de "ooura_data_dct"; ../../src/libxtract.a(init.o):(.bss+0x70): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(vector.o):(.bss+0x30): múltiplas definições de "ooura_data_spectrum"; ../../src/libxtract.a(init.o):(.bss+0x30): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(vector.o):(.bss+0x10): múltiplas definições de "ooura_data_autocorrelation_fft"; ../../src/libxtract.a(init.o):(.bss+0x10): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(vector.o):(.bss+0x0): múltiplas definições de "wavelet_f0_state"; ../../src/libxtract.a(init.o):(.bss+0x0): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(vector.o):(.bss+0x50): múltiplas definições de "ooura_data_mfcc"; ../../src/libxtract.a(init.o):(.bss+0x50): definido primeiro aqui
    /usr/bin/ld: ../../src/libxtract.a(vector.o):(.bss+0x70): múltiplas definições de "ooura_data_dct"; ../../src/libxtract.a(init.o):(.bss+0x70): definido primeiro aqui
    collect2: error: ld returned 1 exit status
    make[2]: *** [Makefile:85: simpletest] Erro 1
    make[2]: Saindo do diretório '/home/mojo/Downloads/LibXtract-master/examples/simpletest'
    
    make[1]: *** [Makefile:10: install] Erro 2
    make[1]: Saindo do diretório '/home/mojo/Downloads/LibXtract-master/examples'
    
    make: *** [Makefile:32: install] Erro 2
    
    
    opened by heit0r 5
  • Python bindings in 2019

    Python bindings in 2019

    Hi

    I just successfully executed the command make swig and I wanted to give my feedback on how I did it.

    1. First things first, you should be able to execute make install in the root of the project. So before anything else, do this. This should install LibXtract to /usr/local. If that didn't work execute following command: make install PREFIX=/usr/local

    2. Next up, let's install swig: In Ubuntu (or WSL for that matter). This is done by these commands:

    git clone https://github.com/swig/swig.git
    
    cd swig
    sudo apt-get install automake
    ./autogen.sh
    ./configure
    sudo apt-get install bison flex
    make
    sudo make install
    

    You can choose where you want to clone the project to. I just did it in the folder where I want to use LibXtract.

    1. when you'd execute 'make swig' in the root folder of the project you would probably get following error:
    xtract_wrap.c:154:11: fatal error: Python.h: No such file or directory
     # include <Python.h>
               ^~~~~~~~~~
    compilation terminated.
    

    This is because the devtools of Python aren't installed or your OS cannot find them. Before installing the devtools, check your Python version with python --version. You should install the right devtools for your version.

    sudo apt-get install python<version here>-devtools
    

    An overview of all the commands in different OS's: https://icetutor.com/question/fatal-error-python-h-no-such-file-or-directory/

    I still had a problem. Even though I installed the devtools, I couldn't import Python.h . I use anaconda and that was the problem.

    Open swig/Makefile in an editor of your choice and change the value of the -I flag to the location of your devtools. In anaconda you'd get something like /home/youruser/anaconda3/include/python3.6m.

    So, on line 22 and 23 change these values:

    	@swig -I/path/to/devtools -python $(NAME).i
    	@$(CC) $(CFLAGS) $(NAME)_wrap.c -o $(NAME)_wrap.o -I$(INCLUDEPY) -I/path/to/devtools
    

    Also, the provided test file is outdated. sei-nicolas created an alternative one in issue #93 (find it here)

    I hope this helps! cheers

    opened by CedricVanhaverbeke 1
  • No downloads/releases anymore?

    No downloads/releases anymore?

    It seems like all downloads/releases are gone. The readme points to https://github.com/jamiebullock/LibXtract/downloads but that says there aren't any downloads. Since there are also no tags set there are no releases to download anywhere :) Was this a deliberate change or an accident?

    opened by simonvanderveldt 3
Owner
Jamie Bullock
Lead C++ developer at Noiiz
Jamie Bullock
Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

A Python library for audio feature extraction, classification, segmentation and applications This doc contains general info. Click here for the comple

Theodoros Giannakopoulos 3.8k Feb 17, 2021
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 419 Dec 26, 2022
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 359 Feb 15, 2021
Audio augmentations library for PyTorch for audio in the time-domain

Audio augmentations library for PyTorch for audio in the time-domain, with support for stochastic data augmentations as used often in self-supervised / contrastive learning.

Janne 166 Jan 8, 2023
Audio features extraction

Yaafe Yet Another Audio Feature Extractor Build status Branch master : Branch dev : Anaconda : Install Conda Yaafe can be easily install with conda. T

Yaafe 231 Dec 26, 2022
spafe: Simplified Python Audio-Features Extraction

spafe aims to simplify features extractions from mono audio files. The library can extract of the following features: BFCC, LFCC, LPC, LPCC, MFCC, IMFCC, MSRCC, NGCC, PNCC, PSRCC, PLP, RPLP, Frequency-stats etc. It also provides various filterbank modules (Mel, Bark and Gammatone filterbanks) and other spectral statistics.

Ayoub Malek 310 Jan 1, 2023
A lightweight yet powerful audio-to-MIDI converter with pitch bend detection

Basic Pitch is a Python library for Automatic Music Transcription (AMT), using lightweight neural network developed by Spotify's Audio Intelligence La

Spotify 1.4k Jan 1, 2023
Audio spatialization over WebRTC and JACK Audio Connection Kit

Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.

Bruno Gola 34 Jun 29, 2022
praudio provides audio preprocessing framework for Deep Learning audio applications

praudio provides objects and a script for performing complex preprocessing operations on entire audio datasets with one command.

Valerio Velardo 105 Dec 26, 2022
convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format.

convert-to-opus-cli convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format. Installation Must have installed ffmp

null 4 Dec 21, 2022
Python library for audio and music analysis

librosa A python package for music and audio analysis. Documentation See https://librosa.org/doc/ for a complete reference manual and introductory tut

librosa 5.6k Jan 6, 2023
Python library for handling audio datasets.

AUDIOMATE Audiomate is a library for easy access to audio datasets. It provides the datastructures for accessing/loading different datasets in a gener

Matthias 121 Nov 27, 2022
A Python library for audio data augmentation. Inspired by albumentations. Useful for machine learning.

Audiomentations A Python library for audio data augmentation. Inspired by albumentations. Useful for deep learning. Runs on CPU. Supports mono audio a

Iver Jordal 1.2k Jan 7, 2023
Audio library for modelling loudness

Loudness Loudness is a C++ library with Python bindings for modelling perceived loudness. The library consists of processing modules which can be casc

Dominic Ward 33 Oct 2, 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.9k Dec 30, 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.3k Jan 3, 2023
A library for augmenting annotated audio data

muda A library for Musical Data Augmentation. muda package implements annotation-aware musical data augmentation, as described in the muda paper. The

Brian McFee 214 Nov 22, 2022
Python audio and music signal processing library

madmom Madmom is an audio signal processing library written in Python with a strong focus on music information retrieval (MIR) tasks. The library is i

Institute of Computational Perception 1k Dec 26, 2022
pedalboard is a Python library for adding effects to audio.

pedalboard is a Python library for adding effects to audio. It supports a number of common audio effects out of the box, and also allows the use of VST3® and Audio Unit plugin formats for third-party effects.

Spotify 3.9k Jan 2, 2023