Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::FFT< Real >::BatchedSTFTProcessor Class Reference

Stateful multichannel STFT processor with one analyzer per channel. More...

#include <fft.H>

Collaboration diagram for Aleph::FFT< Real >::BatchedSTFTProcessor:
[legend]

Public Member Functions

 BatchedSTFTProcessor (const size_t num_channels, const Array< Real > &window, const STFTOptions &options)
 
 BatchedSTFTProcessor (const size_t num_channels, const size_t frame_size, const STFTOptions &options)
 
template<typename WindowContainer >
requires Is_Real_Container<WindowContainer>
 BatchedSTFTProcessor (const size_t num_channels, const WindowContainer &window, const STFTOptions &options)
 
size_t num_channels () const noexcept
 
STFTProcessorchannel (const size_t index)
 
const STFTProcessorchannel (const size_t index) const
 
void reset ()
 
Array< Array< Array< Complex > > > process_block (const Array< Array< Real > > &block)
 
Array< Array< Array< Complex > > > pprocess_block (ThreadPool &pool, const Array< Array< Real > > &block, const size_t chunk_size=0)
 
Array< Array< Array< Complex > > > flush ()
 
Array< Array< Array< Complex > > > pflush (ThreadPool &pool, const size_t chunk_size=0)
 

Private Member Functions

void validate_batch_size (const size_t size, const char *ctx) const
 

Private Attributes

Array< STFTProcessorprocessors_
 

Detailed Description

template<std::floating_point Real = double>
class Aleph::FFT< Real >::BatchedSTFTProcessor

Stateful multichannel STFT processor with one analyzer per channel.

Definition at line 10883 of file fft.H.

Constructor & Destructor Documentation

◆ BatchedSTFTProcessor() [1/3]

template<std::floating_point Real = double>
Aleph::FFT< Real >::BatchedSTFTProcessor::BatchedSTFTProcessor ( const size_t  num_channels,
const Array< Real > &  window,
const STFTOptions options 
)
inlineexplicit

◆ BatchedSTFTProcessor() [2/3]

template<std::floating_point Real = double>
Aleph::FFT< Real >::BatchedSTFTProcessor::BatchedSTFTProcessor ( const size_t  num_channels,
const size_t  frame_size,
const STFTOptions options 
)
inlineexplicit

Definition at line 10907 of file fft.H.

◆ BatchedSTFTProcessor() [3/3]

template<std::floating_point Real = double>
Aleph::FFT< Real >::BatchedSTFTProcessor::BatchedSTFTProcessor ( const size_t  num_channels,
const WindowContainer window,
const STFTOptions options 
)
inlineexplicit

Definition at line 10915 of file fft.H.

Member Function Documentation

◆ channel() [1/2]

template<std::floating_point Real = double>
STFTProcessor & Aleph::FFT< Real >::BatchedSTFTProcessor::channel ( const size_t  index)
inline

◆ channel() [2/2]

template<std::floating_point Real = double>
const STFTProcessor & Aleph::FFT< Real >::BatchedSTFTProcessor::channel ( const size_t  index) const
inline

◆ flush()

template<std::floating_point Real = double>
Array< Array< Array< Complex > > > Aleph::FFT< Real >::BatchedSTFTProcessor::flush ( )
inline

Definition at line 10987 of file fft.H.

References output, and Aleph::FFT< Real >::BatchedSTFTProcessor::processors_.

◆ num_channels()

template<std::floating_point Real = double>
size_t Aleph::FFT< Real >::BatchedSTFTProcessor::num_channels ( ) const
inlinenoexcept

◆ pflush()

template<std::floating_point Real = double>
Array< Array< Array< Complex > > > Aleph::FFT< Real >::BatchedSTFTProcessor::pflush ( ThreadPool pool,
const size_t  chunk_size = 0 
)
inline

◆ pprocess_block()

template<std::floating_point Real = double>
Array< Array< Array< Complex > > > Aleph::FFT< Real >::BatchedSTFTProcessor::pprocess_block ( ThreadPool pool,
const Array< Array< Real > > &  block,
const size_t  chunk_size = 0 
)
inline

◆ process_block()

template<std::floating_point Real = double>
Array< Array< Array< Complex > > > Aleph::FFT< Real >::BatchedSTFTProcessor::process_block ( const Array< Array< Real > > &  block)
inline

◆ reset()

template<std::floating_point Real = double>
void Aleph::FFT< Real >::BatchedSTFTProcessor::reset ( )
inline

Definition at line 10946 of file fft.H.

References Aleph::FFT< Real >::BatchedSTFTProcessor::processors_.

◆ validate_batch_size()

template<std::floating_point Real = double>
void Aleph::FFT< Real >::BatchedSTFTProcessor::validate_batch_size ( const size_t  size,
const char ctx 
) const
inlineprivate

Member Data Documentation

◆ processors_


The documentation for this class was generated from the following file: