repluck
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## 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 879. 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 880. 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

Précédent | Niveau supérieur | Suivant
remove | Sommaire | reshapearray