deltapx — Lit depuis ou écrit dans une ligne à retard avec interpolation.
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.
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.
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 | |
---|---|
Les tailles de fenêtres des autres opcodes que deltapx sont : deltap, deltapn : 1, deltapi : 2 (linéaire), deltap3 : 4 (cubique). |
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>