pub struct RtpghiProcessor { /* private fields */ }Expand description
Phase reconstruction processor using RTPGHI.
Implementations§
Source§impl RtpghiProcessor
impl RtpghiProcessor
Sourcepub fn new(fft_size: usize, hop_size: usize) -> Self
pub fn new(fft_size: usize, hop_size: usize) -> Self
Create a new RTPGHI processor.
§Arguments
fft_size- FFT size (must be power of 2)hop_size- Hop size in samples
Sourcepub fn process_frame(&mut self, magnitudes: &[f32]) -> Vec<f32>
pub fn process_frame(&mut self, magnitudes: &[f32]) -> Vec<f32>
Sourcepub fn process_frame_into(&mut self, magnitudes: &[f32], phases_out: &mut [f32])
pub fn process_frame_into(&mut self, magnitudes: &[f32], phases_out: &mut [f32])
Process one STFT frame without allocations: given magnitudes, write reconstructed phases into the provided output slice.
§Arguments
magnitudes- Magnitude spectrum (spectrum_size = fft_size/2 + 1)phases_out- Output slice for reconstructed phases (same length)
§Panics
If magnitudes or phases_out length does not equal fft_size/2 + 1.
Sourcepub fn latency_samples(&self) -> usize
pub fn latency_samples(&self) -> usize
Get the latency in samples.
Auto Trait Implementations§
impl Freeze for RtpghiProcessor
impl RefUnwindSafe for RtpghiProcessor
impl Send for RtpghiProcessor
impl Sync for RtpghiProcessor
impl Unpin for RtpghiProcessor
impl UnsafeUnpin for RtpghiProcessor
impl UnwindSafe for RtpghiProcessor
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.