repluck — Modèle physique de corde pincée.
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.
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.
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).
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>