pub struct AudioMetadata {
pub sample_rate: u32,
pub bit_depth: u8,
pub num_channels: u8,
pub num_samples: Option<usize>,
pub duration_secs: Option<f64>,
pub tags: HashMap<String, String>,
}Expand description
Audio metadata for signal processing
Stores standard audio properties that can be embedded in WAV/FLAC files or used for proper signal reconstruction.
Fields§
§sample_rate: u32Sample rate in Hz
bit_depth: u8Bit depth (8, 16, 24, 32)
num_channels: u8Number of channels (1=mono, 2=stereo)
num_samples: Option<usize>Total number of samples
duration_secs: Option<f64>Duration in seconds
Additional metadata tags
Implementations§
Source§impl AudioMetadata
impl AudioMetadata
Sourcepub fn new(
sample_rate: u32,
bit_depth: u8,
num_channels: u8,
) -> TokenizerResult<Self>
pub fn new( sample_rate: u32, bit_depth: u8, num_channels: u8, ) -> TokenizerResult<Self>
Create new audio metadata
Sourcepub fn from_signal(
signal: &Array1<f32>,
sample_rate: u32,
bit_depth: u8,
num_channels: u8,
) -> TokenizerResult<Self>
pub fn from_signal( signal: &Array1<f32>, sample_rate: u32, bit_depth: u8, num_channels: u8, ) -> TokenizerResult<Self>
Create metadata from signal length
Sourcepub fn nyquist_frequency(&self) -> f32
pub fn nyquist_frequency(&self) -> f32
Compute Nyquist frequency
Sourcepub fn to_wav_metadata(&self) -> String
pub fn to_wav_metadata(&self) -> String
Export as WAV-compatible metadata JSON
Sourcepub fn from_wav_metadata(json: &str) -> TokenizerResult<Self>
pub fn from_wav_metadata(json: &str) -> TokenizerResult<Self>
Import from WAV-compatible metadata JSON
Trait Implementations§
Source§impl Clone for AudioMetadata
impl Clone for AudioMetadata
Source§fn clone(&self) -> AudioMetadata
fn clone(&self) -> AudioMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AudioMetadata
impl Debug for AudioMetadata
Source§impl<'de> Deserialize<'de> for AudioMetadata
impl<'de> Deserialize<'de> for AudioMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for AudioMetadata
impl RefUnwindSafe for AudioMetadata
impl Send for AudioMetadata
impl Sync for AudioMetadata
impl Unpin for AudioMetadata
impl UnwindSafe for AudioMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more