Crate cortix

Crate cortix 

Source
Expand description

§Cortix - Perceptual Audio Spectrum Analyser

A high-performance, perceptually-accurate spectrum analysis library featuring Gammatone filterbanks, multiple frequency scales (Bark, ERB, Mel), and real-time processing capabilities.

Named after the Organ of Corti - the biological spectrum analyser in the cochlea where sound is converted to neural signals.

§Quick Start

use cortix::{Analyser, Scale};

// Create analyser with builder pattern
let mut analyser = Analyser::builder()
    .sample_rate(48000.0)
    .bands(40)
    .scale(Scale::ERB)
    .build();

// Process audio and get envelope
let audio = vec![0.0f32; 512];
let envelope = analyser.process(&audio);

// Get dB values
let db = analyser.envelope_db();

§Features

  • Gammatone Filterbank - Auditory model with true frequency resolution
  • Multiple Scales - Bark, ERB, Mel, Log, and Linear frequency spacing
  • Real-time Performance - Sub-millisecond latency, efficient per-sample processing
  • Perceptually Accurate - Based on auditory neuroscience research

§Frequency Scales

ScaleDescriptionUse Case
LinearUniform Hz spacingScientific analysis
LogLogarithmic (octaves)Music, harmonics
BarkCritical bandsMasking, loudness
ERBEquivalent rectangular bandwidthAuditory models
MelPitch perceptionSpeech recognition

Re-exports§

pub use analyser::AnalysisMode;
pub use analyser::Analyser;
pub use analyser::AnalyserBuilder;
pub use gammatone::FilterbankBuilder;
pub use gammatone::GammatoneFilter;
pub use gammatone::GammatoneFilterbank;
pub use scales::bark_to_hz;
pub use scales::critical_bandwidth;
pub use scales::erb_bandwidth;
pub use scales::erb_to_hz;
pub use scales::generate_bands;
pub use scales::hz_to_bark;
pub use scales::hz_to_erb;
pub use scales::hz_to_mel;
pub use scales::mel_to_hz;
pub use scales::BandInfo;
pub use scales::Scale;

Modules§

analyser
Spectrum Analyser
gammatone
Gammatone Filterbank
scales
Frequency Scale Conversions