DaisySP
|
#include <granularplayer.h>
Public Member Functions | |
void | Init (float *sample, int size, float sample_rate) |
float | Process (float speed, float transposition, float grain_size) |
GranularPlayer Module
Date: November, 2023
Author: VinÃcius Fernandes
GranularPlayer is a lookup table player that provides independent time stretching and pitch shifting via granulation. Inspired by the grain.player object from else pure data's library.
void GranularPlayer::Init | ( | float * | sample, |
int | size, | ||
float | sample_rate ) |
Initializes the GranularPlayer module.
sample | pointer to the sample to be played |
size | number of elements in the sample array |
sample_rate | audio engine sample rate |
float GranularPlayer::Process | ( | float | speed, |
float | transposition, | ||
float | grain_size ) |
Processes the granular player.
speed | playback speed. 1 is normal speed, 2 is double speed, 0.5 is half speed, etc. Negative values play the sample backwards. |
transposition | transposition in cents. 100 cents is one semitone. Negative values transpose down, positive values transpose up. |
grain_size | grain size in milliseconds. 1 is 1 millisecond, 1000 is 1 second. Does not accept negative values. Minimum value is 1. |