Saturday, 4 January 2014

Challenge accepted - virtual analog 'glamclaps' on PIANA 2.0

The handclap turned out to be a little more complex than I realized, but still straightforward.

Bandpass filter is tracking the note being played, up a fifth, via this (sorry it's all still code right now rather than knob settings) - FREQA * 1.5

modterm(MODOUTPUT_CUTOFF,  ABC_ADD_DE,
                         MODINPUT_KFREQA,
                         MODINPUT_K1,
                         MODINPUT_K1,
                         MODINPUT_KFREQA,
                         MODINPUT_K50 );

Resonance 0.33.

LFO 2 is driving the multiple clap events that modulate the noise level - this is setting LFO 2 of synth zero to 70Hz, morph value of 0.33 gives a sawtooth, PD of 0.0 gives a symmetrical wave -

remoteSetLFO(0, p, 2, 70.0f, 0.33f, 0.0f )


EG0 controls overall level - rise time zero, decay time 80ms to a sustain level of 0.6, then a sustain half life and a release half life of 50ms.
remoteSetEG(0, p, 0, 0.00, 0.08, 0.6, 0.050, 0.050 )

EG3 controls the level of the clap events - these die more quickly than the overall level, so over the decay period of EG0 the clap impulses get weaker -
remoteSetEG(0, p, 3, 0.00, 0.05, 0.99, 0.004, 0.004 )

And this ties it together - noise level is (LFO2 * EG3 * 0.5) + 1.0, and EG0 further amplitude modulates this into the final waveform -

modterm(MODOUTPUT_LEVELC,  ABC_ADD_DE,
                         MODINPUT_LFO_2,
                         MODINPUT_EG_3,
                         MODINPUT_K50,
                         MODINPUT_K1,
                         MODINPUT_K1 );

And it sounds like this - to add some more fatness there is both a stereo delay and a gentle reverb on this, but to my ears there is a satisfying 1979/1980 Human Leagueness to this - Fox on the Run on tuned handclaps - no samples, a feedback shift register noise generator, resonant bandpass filter, 2 LFOs, 2 EGs and the fabbo mathulation matrix, and you have an instant Rock and Roll Part 2 handclap setting.

1 comment:

  1. Note that all these 'remoteSetXXX' and 'modterm' events map onto sysexes, so you can do all this setup via a MIDI stream.

    ReplyDelete