Skip to content

polyaft

Returns the polyphonic after-touch pressure of the selected note number, optionally mapped to an user-specified range.

Syntax

ires polyaft inote [, ilow] [, ihigh]
kres polyaft inote [, ilow] [, ihigh]

Initialization

inote -- note number. Normally set to the value returned by notnum

ilow (optional, default: 0) -- lowest output value

ihigh (optional, default: 127) -- highest output value

Performance

kres -- polyphonic pressure (aftertouch).

Examples

Here is an example of the polyaft opcode. It uses the file polyaft.csd.

Do not forget that you must include the -F flag when using an external MIDI file like “polyaft.mid”.

Example of the polyaft opcode.
<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out   Audio in   No messages  MIDI in
-odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
; For Non-realtime ouput leave only the line below:
; -o polyaft.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr      =  44100
ksmps   =  10
nchnls  =  1

        massign 1, 1
itmp    ftgen 1, 0, 1024, 10, 1         ; sine wave

        instr 1

kcps    cpsmidib 2              ; note frequency
inote   notnum                  ; note number
kaft    polyaft inote, 0, 127   ; aftertouch
; interpolate aftertouch to eliminate clicks
ktmp    phasor 40
ktmp    trigger 1 - ktmp, 0.5, 0
kaft    tlineto kaft, 0.025, ktmp
; map to sine curve for crossfade
kaft    =  sin(kaft * 3.14159 / 254) * 22000

asnd    oscili kaft, kcps, 1

        out asnd

        endin


</CsInstruments>
<CsScore>

t 0 120
f 0 9 2 -2 0
e


</CsScore>
</CsoundSynthesizer>

See also

MIDI input and Initialization

Credits

Added thanks to an email from Istvan Varga

New in version 4.12