alpass — Réverbère un signal en entrée avec une réponse en fréquence plate.
ilpt -- durée de boucle en secondes, déterminant la « densité d'échos » de la réverbération. Celle-ci caractérise à son tour la « couleur » du filtre en peigne dont la courbe de réponse en fréquence contiendra ilpt * sr/2 pics régulièrement espacés entre 0 et sr/2 (la fréquence de Nyquist). La durée de boucle peut être aussi grande que le permet la mémoire disponible. L'espace requis pour une boucle de n secondes est de 4n*sr octets. L'espace pour le retard est alloué et retourné comme dans delay.
iskip (facultatif, 0 par défaut) -- état initial de l'espace de données de la boucle de retard (cf. reson). La valeur par défaut est 0.
insmps (facultatif, 0 par défaut) -- valeur du retard, en nombre d'échantillons.
xrvt -- la durée de réverbération (définie comme le temps en secondes pris par un signal pour décroitre à 1/1000 ou 60 dB de son amplitude originale).
Le filtre répète l'entrée avec une densité d'écho déterminée par la durée de boucle ilpt. Le taux d'atténuation est indépendant et il est déterminé par xrvt, la durée de réverbération (définie comme le temps en secondes pris par un signal pour décroitre à 1/1000 ou 60 dB de son amplitude originale). La sortie apparait sans retard.
Voici un exemple de l'opcode alpass. Il utilise le fichier alpass.csd.
Exemple 55. Exemple de l'opcode alpass.
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 alpass.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 100 nchnls = 2 0dbfs = 1 gamix init 0 instr 1 acps expon p4, p3, p5 asig vco 0.6, acps, 1 outs asig, asig gamix = gamix + asig endin instr 99 arvt1 line 3.5*1.5, p3, 6 arvt2 line 3.5, p3, 4 ilpt = 0.1 aleft alpass gamix, arvt1, ilpt aright alpass gamix, arvt2, ilpt*2 outs aleft, aright gamix = 0 ; clear mixer endin </CsInstruments> <CsScore> f1 0 4096 10 1 i 1 0 3 20 2000 i 99 0 8 e </CsScore> </CsoundSynthesizer>