Expand description
audioscan core library: decode an audio file once and report format, EBU R128 loudness, and silence windows.
The CLI (src/main.rs) is a thin wrapper over analyze_path. Library
callers get a typed ScanError and a serializable Analysis.
§Examples
use audioscan::{ScanConfig, analyze_path};
let analysis = analyze_path("take.wav", &ScanConfig::default())?;
println!("integrated loudness: {:?} LUFS", analysis.integrated_lufs);
for [start, end] in &analysis.silences {
println!("silence {start}..{end}s");
}Modules§
- ffi
- C ABI entry points for audioscan.
Structs§
- Analysis
- One analysis result. Field names are the JSON keys consumers read.
- Scan
Config - Analysis configuration, separate from CLI and output-format concerns so the library has a clean input type.
Enums§
Constants§
- SCHEMA_
VERSION - JSON schema version. Bump only on a breaking change to the field set; new fields are additive and do not bump it.
Functions§
- analyze_
path - Decode
pathonce and return itsAnalysis.