Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
stretcher.h File Reference

Time and pitch stretching API. More...

#include <stdbool.h>
#include <stddef.h>
#include <sys/types.h>
#include "utils/types.h"
#include <rubberband/rubberband-c.h>
Include dependency graph for stretcher.h:

Go to the source code of this file.

Data Structures

struct  Stretcher
 Stretcher interface. More...
 

Enumerations

enum  StretcherBackend { STRETCHER_BACKEND_RUBBERBAND , STRETCHER_BACKEND_PAULSTRETCH , STRETCHER_BACKEND_SBSMS }
 

Functions

Stretcherstretcher_new_rubberband (unsigned int samplerate, unsigned int channels, double time_ratio, double pitch_ratio, bool realtime)
 Create a new Stretcher using the rubberband backend.
 
ssize_t 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)
 Perform stretching.
 
unsigned int stretcher_get_latency (Stretcher *self)
 Get latency in number of samples.
 
void stretcher_set_time_ratio (Stretcher *self, double ratio)
 
ssize_t stretcher_stretch_interleaved (Stretcher *self, float *in_samples, size_t in_samples_size, float **_out_samples)
 Perform stretching.
 
void stretcher_free (Stretcher *self)
 Frees the resampler.
 

Detailed Description

Time and pitch stretching API.

Definition in file stretcher.h.