audio/stretcher.h file

Time and pitch stretching API.

Contents

Classes

struct Stretcher
Stretcher interface.

Enums

enum StretcherBackend { STRETCHER_BACKEND_RUBBERBAND, STRETCHER_BACKEND_PAULSTRETCH, STRETCHER_BACKEND_SBSMS }

Typedefs

using Stretcher = struct Stretcher
Stretcher interface.

Functions

auto stretcher_new_rubberband(unsigned int samplerate, unsigned int channels, double time_ratio, double pitch_ratio, bool realtime) -> Stretcher*
Create a new Stretcher using the rubberband backend.
auto stretcher_stretch(Stretcher* self, float* in_samples_l, float* in_samples_r, size_t in_samples_size, float* out_samples_l, float* out_samples_r, size_t out_samples_wanted) -> ssize_t
Perform stretching.
auto stretcher_get_latency(Stretcher* self) -> unsigned int
Get latency in number of samples.
auto stretcher_stretch_interleaved(Stretcher* self, float* in_samples, size_t in_samples_size, float** _out_samples) -> ssize_t
Perform stretching.
void stretcher_free(Stretcher* self)
Frees the resampler.