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!
- 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
- MFCC: Mel-Frequency Cepstral Coefficients with delta/delta-delta
- Customizable Rectification: Log or cubic root
- Energy Options: Standard or MFCC-based log energy
- 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
using Pkg
Pkg.add("Audio911")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 coefficientsFor 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.
Audio911.jl is developed by the ACLAI Lab @ University of Ferrara.
MIT License
