pub struct StftProcessor {
pub fft: FftProcessor,
pub ifft: IfftProcessor,
}Expand description
Helper for STFT processing with proper overlap-add.
Fields§
§fft: FftProcessorFFT processor.
ifft: IfftProcessorIFFT processor.
Implementations§
Source§impl StftProcessor
impl StftProcessor
Sourcepub fn new(fft_size: usize, hop_size: usize, sample_rate: u32) -> Result<Self>
pub fn new(fft_size: usize, hop_size: usize, sample_rate: u32) -> Result<Self>
Create a new STFT processor.
Sourcepub fn with_window(
fft_size: usize,
hop_size: usize,
sample_rate: u32,
window: WindowFunction,
) -> Result<Self>
pub fn with_window( fft_size: usize, hop_size: usize, sample_rate: u32, window: WindowFunction, ) -> Result<Self>
Create with a specific window function.
Sourcepub fn process<F>(&mut self, samples: &[f32], processor: F) -> Vec<f32>
pub fn process<F>(&mut self, samples: &[f32], processor: F) -> Vec<f32>
Process samples through FFT, apply a function, and IFFT back.
Auto Trait Implementations§
impl Freeze for StftProcessor
impl !RefUnwindSafe for StftProcessor
impl Send for StftProcessor
impl Sync for StftProcessor
impl Unpin for StftProcessor
impl !UnwindSafe for StftProcessor
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.