repluck

repluck — Modèle physique de corde pincée.

Description

repluck est une implémentation du modèle physique de corde pincée. On peut contrôler le point d'excitation, le point de lecture, le filtre, et un signal audio additionnel, axcite. axcite est utilisé pour exciter la "corde". Basé sur l'algorithme de Karplus-Strong.

Syntaxe

ares repluck iplk, kamp, icps, kpick, krefl, axcite

Initialisation

iplk -- Le point d'excitation est iplk, qui représente une fraction de la longueur de la corde (0 à 1). Un point d'excitation de zéro signifie l'absence d'excitation initiale.

icps -- La corde produit une hauteur de icps.

Exécution

kamp -- Amplitude de la note.

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

krefl -- le coefficient de réflexion, indiquant l'amortissement et le taux d'extinction. Il doit être strictement compris entre 0 et 1 (il n'acceptera pas 0 ni 1).

Exécution

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

Exemples

Voici un exemple de l'opdcode repluck. Il utilise le fichier repluck.csd.

Exemple 893. Exemple de l'opdcode repluck.

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
-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>


Voici un autre exemple de l'opdcode repluck. Il utilise le fichier repluck-advanced.csd.

Exemple 894. Exemple avancé de l'opcode repluck.

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
-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_advanced.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; By Stefano Cucchi 2020

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

instr 1


iplk  = p4
kamp  = p5
icps  = p6

krefll randomi 0.52, 0.99, 0.61
kpickl randomi 0.1, 0.9, 13

kreflr = p7
kpickr = p8

ain1 diskin "fox.wav", 1, 0

asigl repluck iplk, kamp, icps, kpickl, krefll, ain1
asigl dcblock2 asigl	

asigr repluck iplk, kamp, icps, kpickr, kreflr, ain1
asigr dcblock2 asigr

kdeclick linseg 0, 0.05, 1, p3-0.1, 1, 0.05, 0

outch 1, asigl * kdeclick
outch 2, asigr * kdeclick
endin

</CsInstruments>
<CsScore>


i 1 0 4 0.11 0.5 69 0.9 0.11
i 1 3 4 0.11 0.5 12 0.9 0.11
i 1 6 4 0.41 0.5 1 0.2 0.11
i 1 9 4 0.11 0.5 300 0.9 0.99
i 1 12 4 0.11 0.5 182 0.9 0.99
i 1 15 15 0.99 0.5 12.039 0.9 0.11

e
</CsScore>
</CsoundSynthesizer>


Voir aussi

wgpluck2

Crédits

Auteur : John ffitch
Université de Bath/Codemist Ltd.
Bath, UK
1997

Nouveau dans la version 3.47