Skip to main content

Simplified Python Audio-Features Extraction.

Project description

Spafe

Simplified Python Audio Features Extraction

Build Status docs.rs License Python codecov codebeat badge PyPI version anaconda Downloads DOI

Table of Contents

Structure

spafe aims to simplify feature extractions from mono audio files. Spafe includes various computations related to filter banks, spectrograms, frequencies and cepstral features . The library has the following structure:

Filter banks

  • Bark filter banks
  • Gammatone filter banks
  • Linear filter banks
  • Mel filter banks

Spectrograms

  • Bark spectrogram
  • CQT spectrogram
  • Erb spectrogram
  • Mel spectrogram

Features

  • Bark Frequency Cepstral Coefficients (BFCCs)
  • Constant Q-transform Cepstral Coefficients (CQCCs)
  • Gammatone Frequency Cepstral Coefficients (GFCCs)
  • Linear Frequency Cepstral Coefficients (LFCCs)
  • Linear Prediction Components (LPCs)
  • Mel Frequency Cepstral Coefficients (MFCCs)
  • Inverse Mel Frequency Cepstral Coefficients (IMFCCs)
  • Magnitude based Spectral Root Cepstral Coefficients (MSRCCs)
  • Normalized Gammachirp Cepstral Coefficients (NGCCs)
  • Power-Normalized Cepstral Coefficients (PNCCs)
  • Phase based Spectral Root Cepstral Coefficients (PSRCCs)
  • Perceptual Linear Prediction Coefficents (PLPs)
  • Rasta Perceptual Linear Prediction Coefficents (RPLPs)

The theory behind features computed using spafe can be summmarized in the following graph:

Frequencies

  • Dominant frequencies
  • Fundamental frequencies

Installation

Dependencies

spafe requires:

if you want to use the visualization module/ functions of spafe, you will need to install:

Installation guide

Once you have the Dependencies installed, use one of the following install options.

Install from PyPI

  • To freshly install spafe:
pip install spafe
  • To update an existing installation:
pip install -U spafe

Install from Anaconda

  • Spafe is also available on anaconda:
conda install spafe

Install from source

  • You can build spafe from source, by following:
git clone git@github.com:SuperKogito/spafe.git
cd spafe
python setup.py install

Why use Spafe?

Unlike most existing audio feature extraction libraries (python_speech_features, SpeechPy, surfboard and Bob), Spafe provides more options for spectral features extraction algorithms, notably:

  • Bark Frequency Cepstral Coefficients (BFCCs)
  • Constant Q-transform Cepstral Coefficients (CQCCs)
  • Gammatone Frequency Cepstral Coefficients (GFCCs)
  • Power-Normalized Cepstral Coefficients (PNCCs)
  • Phase based Spectral Root Cepstral Coefficients (PSRCCs)

Most existing libraries and to their credits provide great implementations for features extraction but are unfortunately limited to the Mel Frequency Features (MFCC) and at best have Bark frequency and linear predictive coefficients additionally. Librosa for example includes great implementation of various algorithms (only MFCC and LPC are included), based on the Short Time Fourrier Transform (STFT), which is theoretically more accurate but slower than the Discret Fourrier Transform used in Spafe's implementation.

How to use

Various examples on how to use spafe are present in the documentation https://superkogito.github.io/spafe.

<!> Please make sure you are referring to the correct documentation version.

Contributing

Contributions are welcome and encouraged. To learn more about how to contribute to spafe please refer to the Contributing guidelines

Citing

  • If you want to cite spafe as a software used in your work, please cite the version used as indexed at Zenodo: DOI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spafe-0.3.0.tar.gz (50.2 kB view details)

Uploaded Source

Built Distributions

spafe-0.3.0-py3.9.egg (201.4 kB view details)

Uploaded Source

spafe-0.3.0-py3-none-any.whl (93.4 kB view details)

Uploaded Python 3

File details

Details for the file spafe-0.3.0.tar.gz.

File metadata

  • Download URL: spafe-0.3.0.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.15

File hashes

Hashes for spafe-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c29fd52c6d72a67fc27e9cfa932cf6e54d213439f6524aab06d3599b85725132
MD5 2817ecb94670299feb8f4f4c9cfb2dfa
BLAKE2b-256 98404341759fc423fb66cb382737fc83596cbe58b621ac08c616be0aaa79b29b

See more details on using hashes here.

Provenance

File details

Details for the file spafe-0.3.0-py3.9.egg.

File metadata

  • Download URL: spafe-0.3.0-py3.9.egg
  • Upload date:
  • Size: 201.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.15

File hashes

Hashes for spafe-0.3.0-py3.9.egg
Algorithm Hash digest
SHA256 527f4b9850a1a462648ddbcd0369dd5f72aeb41069a54e4945b8e17939b1dd36
MD5 c319392fc2ce9d97148f683eddb428af
BLAKE2b-256 a07d3b75d5f284af7a62d99482be0115f5c27a6a98bd195b7303b2ee8156720c

See more details on using hashes here.

Provenance

File details

Details for the file spafe-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: spafe-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 93.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.15

File hashes

Hashes for spafe-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac1c5d915adab1c8b61173c7ca3ff350528264f0611aaa4697ff7bffc130e230
MD5 985c5d0f47c537ac12ecbc8e6bbbaaf8
BLAKE2b-256 a2340956d0181c62c227402a787f2afdd3a1b5d9a99da7077b9fd0e05b68d754

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page