Struct babycat::IntWaveform [−][src]
pub struct IntWaveform { /* fields omitted */ }
Expand description
Represents a fixed-length audio waveform as a Vec<i16>
.
This struct should only be used when needed to store or transmit
uncompressed audio data. For more operations on audio, it is better
to work with a FloatWaveform
.
Examples
use babycat::{FloatWaveform, IntWaveform, Waveform}; // The FloatWaveform stores audio samples as f32 values between -1.0 and 1.0. let float_waveform = FloatWaveform::from_file( "audio-for-tests/circus-of-freaks/track.mp3", Default::default(), ).unwrap(); assert_eq!( format!("{:?}", float_waveform), "FloatWaveform { frame_rate_hz: 44100, num_channels: 2, num_frames: 2492928}" ); println!("{:?}", &float_waveform.interleaved_samples()[30000..30005]); // [0.0238994, 0.08098572, 0.0208567, 0.09139156, 0.015145444] // The Intwaveform stores audio samples as i16 values between -32768 and 32767. let int_waveform = IntWaveform::from(float_waveform); assert_eq!( format!("{:?}", int_waveform), "IntWaveform { frame_rate_hz: 44100, num_channels: 2, num_frames: 2492928}" ); println!("{:?}", &int_waveform.interleaved_samples()[30000..30005]); // [783, 2653, 683, 2994, 496]
Trait Implementations
impl Clone for IntWaveform
[src]
impl Clone for IntWaveform
[src]fn clone(&self) -> IntWaveform
[src]
fn clone(&self) -> IntWaveform
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for IntWaveform
[src]
impl Debug for IntWaveform
[src]impl<'de> Deserialize<'de> for IntWaveform
[src]
impl<'de> Deserialize<'de> for IntWaveform
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl From<FloatWaveform> for IntWaveform
[src]
impl From<FloatWaveform> for IntWaveform
[src]fn from(item: FloatWaveform) -> Self
[src]
fn from(item: FloatWaveform) -> Self
[src]Performs the conversion.
impl From<IntWaveform> for FloatWaveform
[src]
impl From<IntWaveform> for FloatWaveform
[src]fn from(item: IntWaveform) -> Self
[src]
fn from(item: IntWaveform) -> Self
[src]Performs the conversion.
impl PartialEq<IntWaveform> for IntWaveform
[src]
impl PartialEq<IntWaveform> for IntWaveform
[src]fn eq(&self, other: &IntWaveform) -> bool
[src]
fn eq(&self, other: &IntWaveform) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &IntWaveform) -> bool
[src]
fn ne(&self, other: &IntWaveform) -> bool
[src]This method tests for !=
.
impl Serialize for IntWaveform
[src]
impl Serialize for IntWaveform
[src]impl Waveform<i16> for IntWaveform
[src]
impl Waveform<i16> for IntWaveform
[src]fn new(
frame_rate_hz: u32,
num_channels: u32,
interleaved_samples: Vec<i16>
) -> Self
[src]
frame_rate_hz: u32,
num_channels: u32,
interleaved_samples: Vec<i16>
) -> Self
fn frame_rate_hz(&self) -> u32
[src]
fn frame_rate_hz(&self) -> u32
[src]The frame rate (or sample rate) of the audio in memory. Read more
fn num_channels(&self) -> u32
[src]
fn num_channels(&self) -> u32
[src]The number of audio channels.
fn num_frames(&self) -> u64
[src]
fn num_frames(&self) -> u64
[src]The number of frames in the audio. Read more
fn interleaved_samples(&self) -> &[i16]
[src]
fn interleaved_samples(&self) -> &[i16]
[src]Return the waveform as a slice of interleaved samples.
impl Eq for IntWaveform
[src]
impl StructuralEq for IntWaveform
[src]
impl StructuralPartialEq for IntWaveform
[src]
Auto Trait Implementations
impl RefUnwindSafe for IntWaveform
impl Send for IntWaveform
impl Sync for IntWaveform
impl Unpin for IntWaveform
impl UnwindSafe for IntWaveform
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<F, T> IntoSample<T> for F where
T: FromSample<F>,
impl<F, T> IntoSample<T> for F where
T: FromSample<F>,
pub fn into_sample(self) -> T
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,