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
- Grain
- MP
- Operations
- Spectrum
- Synthesis
- Tuning
Structs§
- Represents an audio file. Samples are always stored in f64 format, regardless of their original format on disk.
Enums§
- Represents an error for audio files.
- Represents an audio format (fixed (S) or float (F)).
- Represents a window type.
Functions§
- Gets the corresponding window for a provided
WindowTypeand window size. - Creates a Bartlett window of size
window_length. - Creates a Blackman window of size
window_length. - Creates a Hamming window of size
window_length. - Creates a Hanning window of size
window_length. - Creates a rectangular window of size
window_length. - 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.
- 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
writefunction in this module. - Writes a WAV audio file to disk. Courtesy of hound. This writer will check to verify that the following are correct: