oximedia-audio-analysis
Advanced audio analysis and forensics for OxiMedia, providing comprehensive audio characterization for professional, forensic, and music applications.
Part of the oximedia workspace — a comprehensive pure-Rust media processing framework.
Features
- Spectral Analysis — Advanced frequency-domain analysis with multiple window functions; spectral centroid, flatness, crest factor, bandwidth, and contrast
- Voice Analysis — F0/formant analysis, gender detection, age estimation, emotion detection, speaker identification and verification
- Music Analysis — Harmonic analysis, chord progression detection, rhythmic analysis, timbral analysis, instrument identification
- Source Separation — Vocal/instrumental separation, drum and bass isolation via harmonic-percussive decomposition
- Echo and Reverb Analysis — Room acoustics measurement, RT60 estimation, early reflection pattern analysis
- Distortion Analysis — THD measurement, clipping detection, non-linear distortion characterization
- Dynamic Range Analysis — Crest factor, RMS tracking over time, loudness variation measurement
- Transient Detection — Attack/onset detection, ADSR envelope characterization, onset strength functions
- Pitch Analysis — YIN algorithm pitch tracking (patent-free), vibrato detection, F0 estimation with confidence
- Formant Analysis — F1–F4 tracking over time, vowel detection and classification, LPC-based formant extraction
- Audio Forensics — Authenticity verification, edit detection (cuts/splices), ENF analysis, compression history analysis, background noise consistency
- Noise Analysis — Noise profiling, SNR computation, noise floor estimation, noise type classification
- Psychoacoustic Analysis — Perceptual feature extraction, masking models
- Stereo Field Analysis — Width, phase correlation, mid/side analysis
- Spectral Flux — Frame-to-frame spectral change detection
Usage
Add to your Cargo.toml:
[]
= "0.1.1"
use ;
let config = default;
let analyzer = new;
let samples = vec!; // 1 second of audio
let sample_rate = 44100.0;
let result = analyzer.analyze?;
println!;
println!;
API Overview (81 source files, 479 public items)
Core types:
AudioAnalyzer— Main analysis entry pointAnalysisConfig— Configuration for analysis parameters
Modules:
spectral— Frequency-domain spectral analysis (FFT frame, spectral features, flux, contrast)voice— Voice characteristic analysis (characteristics, speaker identification)rhythm— Rhythmic feature extraction and tempo analysismusic— Music-specific analysis (timbre, rhythm)forensics— Audio authenticity and tampering detection (compression history, noise consistency)pitch— Pitch tracking (YIN algorithm), vibrato detectionpitch_tracker— Extended pitch tracking frameworkformant— Formant frequency analysis and vowel detectionnoise— Noise profiling and SNR computationecho— Echo and reverb detection and measurementonset— Transient and onset detectiontransient— Transient detection and envelope analysisbeat— Beat tracking and rhythm analysiscepstral— Cepstral analysis for voice and musicharmony— Harmonic analysis and chord detectionpsychoacoustic— Psychoacoustic feature extractionstereo_field— Stereo width and phase correlationspectral_contrast,spectral_features,spectral_flux— Advanced spectral metricsseparate— Source separationtempo_analysis— Tempo estimation
License
Apache-2.0 — Copyright 2024-2026 COOLJAPAN OU (Team Kitasan)