repluck — Physical model of the plucked string.
repluck is an implementation of the physical model of the plucked string. A user can control the pluck point, the pickup point, the filter, and an additional audio signal, axcite. axcite is used to excite the 'string'. Based on the Karplus-Strong algorithm.
iplk -- The point of pluck is iplk, which is a fraction of the way up the string (0 to 1). A pluck point of zero means no initial pluck.
icps -- The string plays at icps pitch.
kamp -- Amplitude of note.
kpick -- Proportion of the way along the string to sample the output.
krefl -- the coefficient of reflection, indicating the lossiness and the rate of decay. It must be strictly between 0 and 1 (it will complain about both 0 and 1).
Here is an example of the repluck opcode. It uses the file repluck.csd.
Example 753. Example of the repluck opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o repluck.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 instr 1 iplk = 0.75 kamp = .8 icps = 110 krefl = p4 kpick = p5 axcite oscil 1, 1, 1 asig repluck iplk, kamp, icps, kpick, krefl, axcite asig dcblock2 asig ;get rid of DC offset outs asig, asig endin </CsInstruments> <CsScore> f 1 0 16384 10 1 ;sine wave. s i 1 0 1 0.95 0.75 ;sounds heavier (=p5) i 1 + 1 < i 1 + 1 < i 1 + 1 < i 1 + 10 0.6 s i 1 0 1 0.95 0.15 ;sounds softer (=p5) i 1 + 1 < i 1 + 1 < i 1 + 1 < i 1 + 10 0.6 e </CsScore> </CsoundSynthesizer>