deltapx

deltapx — Lit depuis ou écrit dans une ligne à retard avec interpolation.

Description

deltapx est semblable à deltapi ou à deltap3. Cependant, il permet une meilleure qualité d'interpolation. Cet opcode peut lire depuis et écrire dans une ligne à retard delayr/delayw avec interpolation.

Syntaxe

aout deltapx adel, iwsize

Initialisation

iwsize -- taille de la fenêtre d'interpolation en échantillons. Les valeurs permises sont des multiples entiers de 4 compris entre 4 et 1024. iwsize = 4 utilise l'interpolation cubique. Des valeurs croissantes de iwsize améliorent la qualité sonore au prix d'une utilisation plus intensive du CPU, et d'une durée de délai minimale.

Exécution

aout -- Signal de sortie.

adel -- Délai en secondes.

a1      delayr   idlr
        deltapxw a2, adl1, iws1
a3      deltapx  adl2, iws2
        deltapxw a4, adl3, iws3
        delayw   a5

Durées de délai minimales et maximales :

idlr >= 1/kr                                Longueur de la ligne à retard
 
adl1 >= (iws1/2)/sr                         Ecriture avant la lecture
adl1 <= idlr - (1 + iws1/2)/sr              (permet des délais plus courts)
 
adl2 >= 1/kr + (iws2/2)/sr                  Temps de lecture
adl2 <= idlr - (1 + iws2/2)/sr
adl2 >= adl1 + (iws1 + iws2) / (2*sr)
adl2 >= 1/kr + adl3 + (iws2 + iws3) / (2*sr)
 
adl3 >= (iws3/2)/sr                         Ecriture après lecture
adl3 <= idlr - (1 + iws3/2)/sr              (permet une rétroaction)
        

[Note] Note

Les tailles de fenêtres des autres opcodes que deltapx sont : deltap, deltapn : 1, deltapi : 2 (linéaire), deltap3 : 4 (cubique).

Exemples

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

Exemple 230. Exemple de l'opcode deltapx.

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     ;;;RT audio out
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o deltapx.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1

a1      phasor   300
a1      =  a1 - 0.5
a_      delayr   1
adel    phasor   4
adel    =  sin(2 * 3.14159265 * adel) * 0.01 + 0.2
        deltapxw a1, adel, 32
adel    phasor   2
adel    =  sin(2 * 3.14159265 * adel) * 0.01 + 0.2
        deltapxw a1, adel, 32
adel    =  0.3
a2      deltapx  adel, 32
a1      =  0
        delayw   a1
        outs     a2*.7, a2*.7
endin
</CsInstruments>
<CsScore>

i1 0 5
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

deltapxw

Crédits

Auteur : Istvan Varga
Août 2001

Nouveau dans la version 4.13