pluck~

pluck~ is a MAX/MSP external based on the Karplus + Strong plucked string algorithm. In 1983 Kevin Karplus and Alex Strong developed a simple plucked string algorithm. It consists of noise input into a delay line. A periodicity emerges as the delay overlaps and a complex tone emerges. A combination of the original noise wave and the delay time determines the timbre. I have added a feedback loop to sustain the sounds.

Never having programmed a delay/feedback loop, the algorithm gave me problems at first. So, I will share it with you.

  **Thanks to August Friscia for help with the algorithm.

float *table1;
float *delaytable;
float *feedback;

int phase1 = 0;
int delay1 = rand()%tablesize;

// initialize tables
for (i=0; i< x->tablesize; i++)
{
  x->table1[i] = (rand()%100);
  x->table1[i] = (x->table1[i]/50.00) - 1; // for range -1 to 1
  x->delaytable[i] = 0;
  x->feedback[i] = 0;
}

perform
{
  x->delaytable[x->delay1] =
      x->table1[x->phase1] + (x->feedback[x->phase1] * 0.99);

  *++out1 = x->delaytable[x->phase1];

  x->feedback[x->phase1] = x->delaytable[x->phase1];

  phase1 += 1;
  delay1 += 1;
}


a piece made with pluck~ and didgeridoo
excerpt from ochre || 3'00" mp3

//---------------------------

DOWNLOAD

Questions and Comments welcome.

*** C source for Max/MSP external ***