Skip to content

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Latest commit

 

History

197 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Audio911

Audio Feature Extraction in Julia

Build Status dev documentation stable documentation bibtex CodeCov

Audio911.jl is your Swiss Army knife for extracting audio features in a simple and fast way.

Inspired by MATLAB's audio feature extraction toolkit, Audio911.jl guarantees the same results while being designed to be modular, allowing you to connect various extraction algorithms as you prefer. It currently provides STFT, linear spectrograms, mel/bark/ERB spectrograms, and MFCC coefficients, with new algorithms being added constantly—so stay tuned!

Features

Time-Frequency Representations

  • STFT: Short-Time Fourier Transform with customizable windows
  • Linear Spectrogram: LinSpec
  • Mel Spectrogram: MelSpec (HTK and Slaney styles)
  • Bark Spectrogram: Auditory Bark scale
  • ERB Spectrogram: Equivalent Rectangular Bandwidth scale

Coefficients

  • MFCC: Mel-Frequency Cepstral Coefficients with delta/delta-delta
  • Customizable Rectification: Log or cubic root
  • Energy Options: Standard or MFCC-based log energy

Extras

  • Modular Design: Compose your own audio processing pipelines by chaining algorithms
  • Multi-Format Audio: Load WAV, MP3, FLAC and OGG files via AudioReader.jl
  • On-the-Fly Resampling: Built-in sample rate conversion

Installation

using Pkg
Pkg.add("Audio911")

Quick Start

using Audio911

# Load an audio file (automatically resampled to 16kHz)
audio = load("speech.wav"; sr=16000, mono=true, norm=true)

# Compute STFT
stft = Stft(audiofile; win=movingwindow(winsize=512, winstep=256), type=hamming, periodic=true, spectrum=power)

# Generate Mel spectrogram
mel_spec = MelSpec(stft; win_norm=true, nbands=32, norm=bandwidth, domain=:linear, scale=htk)

# Extract MFCC coefficients
mfcc = Mfcc(mel_spec; ncoeffs=30, rect=cubic_root)

# Access the results
mfcc_coeffs = get_data(mfcc)  # 13×N matrix of coefficients

Learn More

For a comprehensive understanding of Audio911.jl's capabilities, check out our tutorials in the documentation. The tutorials cover:

  • Step-by-step guide for building complete audio processing pipelines
  • Real-world examples for speech recognition, music analysis, and environmental sound classification
  • Best practices for parameter selection and optimization
  • Advanced techniques including custom filterbank designs and feature engineering

Each tutorial includes reproducible code examples with real audio files, so you can follow along and adapt the techniques to your own projects.

About

Audio911.jl is developed by the ACLAI Lab @ University of Ferrara.

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages