Expand description
§Audio Samples
A high-performance audio processing library for Rust with Python bindings.
This library provides a comprehensive set of tools for working with audio data, including type-safe sample format conversions, statistical analysis, and various audio processing operations.
§Core Features
- Type-safe audio sample conversions between i16, I24, i32, f32, and f64
- High-performance operations leveraging ndarray for efficient computation
- Comprehensive metadata tracking (sample rate, channels, duration)
- Flexible data structures supporting both mono and multi-channel audio
- Python integration via PyO3 bindings
§Example Usage
use audio_samples::AudioSamples;
use ndarray::array;
// Create mono audio with sample rate
let data = array![1.0f32, 2.0, 3.0, 4.0, 5.0];
let audio = AudioSamples::new_mono(data, 44100);
assert_eq!(audio.sample_rate(), 44100);
assert_eq!(audio.channels(), 1);
assert_eq!(audio.samples_per_channel(), 5);
Re-exports§
pub use crate::operations::AudioChannelOps;
pub use crate::operations::AudioEditing;
pub use crate::operations::AudioProcessing;
pub use crate::operations::AudioSamplesOperations;
pub use crate::operations::AudioStatistics;
pub use crate::operations::AudioTransforms;
pub use crate::operations::AudioTypeConversion;
pub use crate::operations::NormalizationMethod;
Modules§
- operations
- Audio processing operations and transformations.
- python
- Python bindings for the audio_samples library.
Macros§
- I24
- Re-export i24 for dependent crates to use.
creates an
i24
from a constant expression will give a compile error if the expression overflows an i24
Structs§
- Audio
Samples - Represents audio samples in a format that can be used for various audio processing tasks. This struct contains both the audio data and metadata like sample rate, channel information, etc.
- I24
- Re-export i24 for dependent crates to use. A signed 24-bit integer type.
Enums§
- Audio
Sample Error - Error types that can occur during audio sample operations.
- Channel
Layout - Describes how multi-channel audio data is organized in memory
Constants§
- SUPPORTED_
DTYPES - Array of supported audio sample data types as string identifiers
Traits§
- Audio
Sample - Core trait defining the interface for audio sample types.
- Convert
To - Trait for converting one sample type to another with proper scaling.
Type Aliases§
- Audio
Sample Result - Convenience type alias for results that may contain AudioSampleError