Can't seem to get TickRate to change when playing back sample, when playing sample with 's' or 'd' key, both play at the same rate, trying to make it so that when playing different keys it will play a different pitch of the recorded sound like a sort of piano keyboard. It's probably a silly mistake but any help would be appreciated thanks. :)
import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.signals.*;
import ddf.minim.ugens.*;
import ddf.minim.spi.*;
Minim minim;
AudioOutput out;
AudioSample sample1;
AudioInput in;
AudioRecorder recorder;
boolean recorded;
FilePlayer player;
TickRate rateControl;
float rate =2;
void setup()
{
size(512, 200, P3D);
minim = new Minim(this);
in = minim.getLineIn(Minim.STEREO, 512);
recorder = minim.createRecorder(in, "myrecording.wav");
rateControl = new TickRate(1.f);
out = minim.getLineOut(Minim.STEREO, 512);
player = new FilePlayer(minim.loadFileStream("myrecording.wav") );
player.patch(rateControl).patch(out);
}
void draw()
{
}
void keyReleased()
{
if ( !recorded && key == 'r' )
{
if ( recorder.isRecording() )
{
recorder.endRecord();
recorded = true;
}
else
{
recorder.beginRecord();
}
}
if ( recorded && key == 'q' )
{
player = new FilePlayer( recorder.save() );
sample1 = minim.loadSample( "myrecording.wav" , 512 );
if ( sample1 == null ) println("didn't get sample");
}
}
void keyPressed()
{
if ( key == 's' )
{
sample1.trigger();
}
else if ( key == 'd' )
{
rateControl.value.setLastValue(rate);
sample1.trigger();
}
}