Crate aus

Source
Expand description

§aus

This is a crate for audio processing and analysis in Rust, combining new functionality with aggregated functionality from other existing crates. For example, this crate provides wrappers for rustfft, allowing a FFT to be performed with a single function call. It also has a STFT/ISTFT function pair. It also has built-in window generation in the style of numpy. And there are implementations of spectral feature extraction, such as calculating spectral centroid, entropy, slope, etc.

Modules§

analysis
Audio and spectral analysis
grain
Grain
mp
Multithreaded tools
operations
Audio operations
spectrum
Spectrum
synthesis
Synthesis
tuning
Tuning
util
Utilities

Structs§

AudioFile
Represents an audio file. Samples are always stored in f64 format, regardless of their original format on disk.

Enums§

AudioError
Represents an error for audio files.
AudioFormat
Represents an audio format (fixed (S) or float (F)).
WindowType
Represents a window type.

Functions§

generate_window
Gets the corresponding window for a provided WindowType and window size.
generate_window_bartlett
Creates a Bartlett window of size window_length.
generate_window_blackman
Creates a Blackman window of size window_length.
generate_window_hamming
Creates a Hamming window of size window_length.
generate_window_hanning
Creates a Hanning window of size window_length.
generate_window_rectangular
Creates a rectangular window of size window_length.
mixdown
Mixes an audio file down to mono. This will mix all channels down to the first one, and delete the remaining channels. It is performed in-place, so you will lose data.
read
Reads an audio file. Courtesy of symphonia. Supports WAV and AIFF, and (hopefully) all other Symphonia formats. Note that if you are reading a mp3 file, you may need to set the bits_per_sample and audio_format if you plan to write the file using the write function in this module.
write
Writes a WAV audio file to disk. Courtesy of hound. This writer will check to verify that the following are correct: