#analyzer #frame #vpr #duration #index

vpr-audio-analyzer

Audio file analyzer

1 unstable release

0.1.0 Sep 11, 2023

#464 in Audio

26 downloads per month
Used in vpr-audio-player

MIT license

44KB
982 lines

Vpr Audio Analyzer

The Vpr Audio Analyzer, pronounced "Vapor Audio Analyzer," is an asynchronous toolkit for working with audio files. It offers three key functions:

Retrieve Audio Frames:

Extracts audio frames from an audio file and presents them as an array.

let file = File::open(path).unwrap();
let reader = BufReader::new(file);
let analyzer = Analyzer::new(reader);

let frames = analyzer.get_audio_frames().await.unwrap();

Calculate Duration:

Quickly finds the duration of an audio file. If there's a XING header, it uses that for a faster calculation; otherwise, it sums up audio frame durations.

let file = File::open(path).unwrap();
let reader = BufReader::new(file);
let analyzer = Analyzer::new(reader);

let duration = analyzer.get_duration().await.unwrap();

Generate Seek Index:

Creates a timestamp and byte offset index for precise navigation within an audio file, useful for accurate seeking during playback.

let file = File::open(path).unwrap();
let reader = BufReader::new(file);
let analyzer = Analyzer::new(reader);

let seek_index = analyzer.get_seek_index().await.unwrap();

Dependencies

~2.4–10MB
~57K SLoC