wgpluck

wgpluck — Une simulation haute fidélité de corde pincée.

Description

Une simulation haute fidélité de corde pincée, utilisant des lignes à retard avec interpolation.

Syntaxe

ares wgpluck icps, iamp, kpick, iplk, idamp, ifilt, axcite

Initialisation

icps -- fréquence de la corde pincée

iamp -- amplitude de la corde pincée

iplk -- point d'excitation le long de la corde, dans l'intervalle compris entre 0 et 1. 0 = pas d'excitation.

idamp -- amortissement de la note. Il contrôle l'extinction globale de la corde. Plus la valeur de idamp est importante, plus la décroissance est rapide. Avec une valeur négative, il y aura un accroissement progressif de la sortie.

ifilt -- contrôle l'atténuation du filtre sur le chevalet. Les valeurs élevées provoquent une décroissance plus rapide des harmoniques supérieurs.

Exécution

kpick -- Fraction de la longueur de la corde où sera lue la sortie.

axcite -- un signal d'excitation de la corde.

Une corde de fréquence icps est pincée avec l'amplitude iamp au point iplk. L'extinction de la corde virtuelle est contrôlée par idamp et ifilt qui simule le chevalet. L'oscillation est lue au point kpick, et excitée par le signal axcite.

Exemple

Voici un exemple de l'opcode wgpluck. Il utilise le fichier wgpluck.csd.

Exemple 1217. Un exemple de l'opcode wgpluck.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out   Audio in
-odac             ;;;RT audio out
; For Non-realtime ouput leave only the line below:
; -o wgpluck.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; by Menno Knevel 2021

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

icps = 220
iamp = 1
kpick = 0.5
iplk = 0
idamp = p4
ifilt = p5
ichoice = p6

if ichoice == 1 then
    axcite =    0                   ; no exciter signal
else
    axcite diskin2  "fox.wav", 1    ; use the fox as exciter
    axcite *=   .15                 ; but lower amplitude
endif

apluck wgpluck icps, iamp, kpick, iplk, idamp, ifilt, axcite
apluck  dcblock2    apluck          ; gets rid of DC offset
outs apluck, apluck

endin

</CsInstruments>
<CsScore>
f 1 0 16384 10 1        ; sine wave.
s
;          damp     filter  choice           
i 1 0 8     10      1000      1
i 1 + 8     30      10        1
s
i 1 0 8     10      1000      2
i 1 + 8     30      10        2
e
</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Michael A. Casey
M.I.T.
Cambridge, Mass.
1997

Nouveau dans la Version 3.47