8#include "utils/audio.h"
9#include "utils/units.h"
46 units::sample_rate_t samplerate,
56 Stretcher (
const Stretcher &) =
delete;
57 Stretcher &operator= (
const Stretcher &) =
delete;
58 Stretcher (Stretcher &&) =
delete;
59 Stretcher &operator= (Stretcher &&) =
delete;
74 const float * in_samples_l,
75 const float * in_samples_r,
76 size_t in_samples_size,
77 float * out_samples_l,
78 float * out_samples_r,
79 size_t out_samples_wanted);
86 void set_time_ratio (
double ratio);
101 std::unique_ptr<Impl> pimpl_;
unsigned int get_latency() const
Get latency in number of samples.
@ Paulstretch
Paulstretch.
@ SBSMS
SBSMS - Subband Sinusoidal Modeling Synthesis.
static std::unique_ptr< Stretcher > create_rubberband(units::sample_rate_t samplerate, unsigned channels, double time_ratio, double pitch_ratio, bool realtime)
Create a new Stretcher using the rubberband backend.
zrythm::utils::audio::AudioBuffer stretch_interleaved(zrythm::utils::audio::AudioBuffer &in_samples)
Perform stretching.
signed_frame_t stretch(const float *in_samples_l, const float *in_samples_r, size_t in_samples_size, float *out_samples_l, float *out_samples_r, size_t out_samples_wanted)
Perform stretching.
int_fast64_t signed_frame_t
Signed type for frame index.