Rubber Band Library  1.8.1
rubberband-c.h File Reference

Go to the source code of this file.

Macros

#define RUBBERBAND_VERSION   "1.8.1"
 
#define RUBBERBAND_API_MAJOR_VERSION   2
 
#define RUBBERBAND_API_MINOR_VERSION   5
 

Typedefs

typedef int RubberBandOptions
 
typedef struct RubberBandState_ * RubberBandState
 

Enumerations

enum  RubberBandOption {
  RubberBandOptionProcessOffline = 0x00000000, RubberBandOptionProcessRealTime = 0x00000001, RubberBandOptionStretchElastic = 0x00000000, RubberBandOptionStretchPrecise = 0x00000010,
  RubberBandOptionTransientsCrisp = 0x00000000, RubberBandOptionTransientsMixed = 0x00000100, RubberBandOptionTransientsSmooth = 0x00000200, RubberBandOptionDetectorCompound = 0x00000000,
  RubberBandOptionDetectorPercussive = 0x00000400, RubberBandOptionDetectorSoft = 0x00000800, RubberBandOptionPhaseLaminar = 0x00000000, RubberBandOptionPhaseIndependent = 0x00002000,
  RubberBandOptionThreadingAuto = 0x00000000, RubberBandOptionThreadingNever = 0x00010000, RubberBandOptionThreadingAlways = 0x00020000, RubberBandOptionWindowStandard = 0x00000000,
  RubberBandOptionWindowShort = 0x00100000, RubberBandOptionWindowLong = 0x00200000, RubberBandOptionSmoothingOff = 0x00000000, RubberBandOptionSmoothingOn = 0x00800000,
  RubberBandOptionFormantShifted = 0x00000000, RubberBandOptionFormantPreserved = 0x01000000, RubberBandOptionPitchHighQuality = 0x00000000, RubberBandOptionPitchHighSpeed = 0x02000000,
  RubberBandOptionPitchHighConsistency = 0x04000000, RubberBandOptionChannelsApart = 0x00000000, RubberBandOptionChannelsTogether = 0x10000000
}
 This is a C-linkage interface to the Rubber Band time stretcher. More...
 

Functions

RubberBandState rubberband_new (unsigned int sampleRate, unsigned int channels, RubberBandOptions options, double initialTimeRatio, double initialPitchScale)
 
void rubberband_delete (RubberBandState)
 
void rubberband_reset (RubberBandState)
 
void rubberband_set_time_ratio (RubberBandState, double ratio)
 
void rubberband_set_pitch_scale (RubberBandState, double scale)
 
double rubberband_get_time_ratio (const RubberBandState)
 
double rubberband_get_pitch_scale (const RubberBandState)
 
unsigned int rubberband_get_latency (const RubberBandState)
 
void rubberband_set_transients_option (RubberBandState, RubberBandOptions options)
 
void rubberband_set_detector_option (RubberBandState, RubberBandOptions options)
 
void rubberband_set_phase_option (RubberBandState, RubberBandOptions options)
 
void rubberband_set_formant_option (RubberBandState, RubberBandOptions options)
 
void rubberband_set_pitch_option (RubberBandState, RubberBandOptions options)
 
void rubberband_set_expected_input_duration (RubberBandState, unsigned int samples)
 
unsigned int rubberband_get_samples_required (const RubberBandState)
 
void rubberband_set_max_process_size (RubberBandState, unsigned int samples)
 
void rubberband_set_key_frame_map (RubberBandState, unsigned int keyframecount, unsigned int *from, unsigned int *to)
 
void rubberband_study (RubberBandState, const float *const *input, unsigned int samples, int final)
 
void rubberband_process (RubberBandState, const float *const *input, unsigned int samples, int final)
 
int rubberband_available (const RubberBandState)
 
unsigned int rubberband_retrieve (const RubberBandState, float *const *output, unsigned int samples)
 
unsigned int rubberband_get_channel_count (const RubberBandState)
 
void rubberband_calculate_stretch (RubberBandState)
 
void rubberband_set_debug_level (RubberBandState, int level)
 
void rubberband_set_default_debug_level (int level)
 

Macro Definition Documentation

◆ RUBBERBAND_VERSION

#define RUBBERBAND_VERSION   "1.8.1"

Definition at line 31 of file rubberband-c.h.

◆ RUBBERBAND_API_MAJOR_VERSION

#define RUBBERBAND_API_MAJOR_VERSION   2

Definition at line 32 of file rubberband-c.h.

◆ RUBBERBAND_API_MINOR_VERSION

#define RUBBERBAND_API_MINOR_VERSION   5

Definition at line 33 of file rubberband-c.h.

Typedef Documentation

◆ RubberBandOptions

typedef int RubberBandOptions

Definition at line 89 of file rubberband-c.h.

◆ RubberBandState

typedef struct RubberBandState_* RubberBandState

Definition at line 92 of file rubberband-c.h.

Enumeration Type Documentation

◆ RubberBandOption

This is a C-linkage interface to the Rubber Band time stretcher.

This is a wrapper interface: the primary interface is in C++ and is defined and documented in RubberBandStretcher.h. The library itself is implemented in C++, and requires C++ standard library support even when using the C-linkage API.

Please see RubberBandStretcher.h for documentation.

If you are writing to the C++ API, do not include this header.

Enumerator
RubberBandOptionProcessOffline 
RubberBandOptionProcessRealTime 
RubberBandOptionStretchElastic 
RubberBandOptionStretchPrecise 
RubberBandOptionTransientsCrisp 
RubberBandOptionTransientsMixed 
RubberBandOptionTransientsSmooth 
RubberBandOptionDetectorCompound 
RubberBandOptionDetectorPercussive 
RubberBandOptionDetectorSoft 
RubberBandOptionPhaseLaminar 
RubberBandOptionPhaseIndependent 
RubberBandOptionThreadingAuto 
RubberBandOptionThreadingNever 
RubberBandOptionThreadingAlways 
RubberBandOptionWindowStandard 
RubberBandOptionWindowShort 
RubberBandOptionWindowLong 
RubberBandOptionSmoothingOff 
RubberBandOptionSmoothingOn 
RubberBandOptionFormantShifted 
RubberBandOptionFormantPreserved 
RubberBandOptionPitchHighQuality 
RubberBandOptionPitchHighSpeed 
RubberBandOptionPitchHighConsistency 
RubberBandOptionChannelsApart 
RubberBandOptionChannelsTogether 

Definition at line 48 of file rubberband-c.h.

Function Documentation

◆ rubberband_new()

RubberBandState rubberband_new ( unsigned int  sampleRate,
unsigned int  channels,
RubberBandOptions  options,
double  initialTimeRatio,
double  initialPitchScale 
)

◆ rubberband_delete()

void rubberband_delete ( RubberBandState  )

◆ rubberband_reset()

void rubberband_reset ( RubberBandState  )

◆ rubberband_set_time_ratio()

void rubberband_set_time_ratio ( RubberBandState  ,
double  ratio 
)

◆ rubberband_set_pitch_scale()

void rubberband_set_pitch_scale ( RubberBandState  ,
double  scale 
)

◆ rubberband_get_time_ratio()

double rubberband_get_time_ratio ( const  RubberBandState)

◆ rubberband_get_pitch_scale()

double rubberband_get_pitch_scale ( const  RubberBandState)

◆ rubberband_get_latency()

unsigned int rubberband_get_latency ( const  RubberBandState)

◆ rubberband_set_transients_option()

void rubberband_set_transients_option ( RubberBandState  ,
RubberBandOptions  options 
)

◆ rubberband_set_detector_option()

void rubberband_set_detector_option ( RubberBandState  ,
RubberBandOptions  options 
)

◆ rubberband_set_phase_option()

void rubberband_set_phase_option ( RubberBandState  ,
RubberBandOptions  options 
)

◆ rubberband_set_formant_option()

void rubberband_set_formant_option ( RubberBandState  ,
RubberBandOptions  options 
)

◆ rubberband_set_pitch_option()

void rubberband_set_pitch_option ( RubberBandState  ,
RubberBandOptions  options 
)

◆ rubberband_set_expected_input_duration()

void rubberband_set_expected_input_duration ( RubberBandState  ,
unsigned int  samples 
)

◆ rubberband_get_samples_required()

unsigned int rubberband_get_samples_required ( const  RubberBandState)

◆ rubberband_set_max_process_size()

void rubberband_set_max_process_size ( RubberBandState  ,
unsigned int  samples 
)

◆ rubberband_set_key_frame_map()

void rubberband_set_key_frame_map ( RubberBandState  ,
unsigned int  keyframecount,
unsigned int *  from,
unsigned int *  to 
)

◆ rubberband_study()

void rubberband_study ( RubberBandState  ,
const float *const *  input,
unsigned int  samples,
int  final 
)

◆ rubberband_process()

void rubberband_process ( RubberBandState  ,
const float *const *  input,
unsigned int  samples,
int  final 
)

◆ rubberband_available()

int rubberband_available ( const  RubberBandState)

◆ rubberband_retrieve()

unsigned int rubberband_retrieve ( const  RubberBandState,
float *const *  output,
unsigned int  samples 
)

◆ rubberband_get_channel_count()

unsigned int rubberband_get_channel_count ( const  RubberBandState)

◆ rubberband_calculate_stretch()

void rubberband_calculate_stretch ( RubberBandState  )

◆ rubberband_set_debug_level()

void rubberband_set_debug_level ( RubberBandState  ,
int  level 
)

◆ rubberband_set_default_debug_level()

void rubberband_set_default_debug_level ( int  level)