31 return stft_.device_usable();
33 uint32_t
fft_size()
const {
return stft_.fft_size(); }
34 bool ready()
const {
return has_a_ && has_b_; }
42 bool render(
float t,
float* frame_out);
46 std::vector<float> a_, b_, mix_;
Spectral morph: capture two spectra (A and B) and render a blend at position t ∈ [0,...
Definition gpu_spectral_morph.hpp:17
bool gpu_available() const
Definition gpu_spectral_morph.hpp:28
bool device_usable() const
False once the prepared device is lost or its generation changed.
Definition gpu_spectral_morph.hpp:30
bool capture_b(const float *frame_in)
bool ready() const
Definition gpu_spectral_morph.hpp:34
uint32_t fft_size() const
Definition gpu_spectral_morph.hpp:33
bool prepare(uint32_t fft_size, signal::WindowFunction::Type window=signal::WindowFunction::Type::hann, render::GpuCompute *shared_device=nullptr)
shared_device (optional) reuses an existing GpuCompute so this morph and a sibling spectral primitive...
bool render(float t, float *frame_out)
Render the morph at position t (clamped to [0,1]) into frame_out (fft_size real samples).
bool capture_a(const float *frame_in)
GPU short-time Fourier transform primitive (spectral toolkit).
Definition gpu_stft.hpp:21
GPU compute pipeline for non-rendering workloads (e.g.
Definition gpu_compute.hpp:48
Type
Definition windowing.hpp:43
@ hann
Definition windowing.hpp:45
Definition flow_pans.hpp:19