Crate audio_samples

Source
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§

AudioSamples
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§

AudioSampleError
Error types that can occur during audio sample operations.
ChannelLayout
Describes how multi-channel audio data is organized in memory

Constants§

SUPPORTED_DTYPES
Array of supported audio sample data types as string identifiers

Traits§

AudioSample
Core trait defining the interface for audio sample types.
ConvertTo
Trait for converting one sample type to another with proper scaling.

Type Aliases§

AudioSampleResult
Convenience type alias for results that may contain AudioSampleError