flooper — Lecture en boucle basée sur une table de fonction avec fondu enchainé.
Cet opcode lit les données audio d'une table de fonction et les restitue dans une boucle dont le début, la durée et l'étendue du fondu enchainé sont fixés par l'utilisateur. On peut également contrôler la hauteur de la boucle ainsi que sa lecture à l'envers. Il accepte des tables dont la longueur n'est pas une puissance de deux, telles que celles de GEN01 à allocation différée, avec un ou deux canaux.
istart -- début de la boucle en secondes
idur -- durée de la boucle en secondes
ifad -- étendue du fondu enchainé en secondes
ifn -- numéro de la table de function, généralement créée au moyen de GEN01
asig1[, asig2] -- signal de sortie (mono ou stéréo).
kamp -- contrôle de l'amplitude
kpitch -- contrôle de la hauteur (rapport de transposition) ; avec des valeurs négatives, la boucle est lue à l'envers.
Exemple 320.
aout flooper 16000, 1, 1, 4, 0.05, 1 ; loop starts at 1 sec, for 4 secs, 0.05 crossfade out aout
L'exemple ci-dessus montre l'opération de base de flooper. La hauteur peut être contrôlée au taux-k ainsi que l'amplitude. L'exemple suppose que la table 1 contient au moins 5.05 secondes de données audio (boucle durant 4 secondes, commençant 1 seconde après le début de la table, avec un fondu enchainé de 0.05 secondes après la fin de la boucle).
Voici un autre exemple de l'opcode flooper. Il utilise les fichiers flooper.csd et fox.wav.
Exemple 321.
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 flooper.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kpitch line 1, p3, .9 ;lower pitch a bit during the note aout flooper .9, kpitch, 1, .53, 0.05, 1 ; loop starts at 1 sec, for .53 secs, 0.05 crossfade outs aout, aout endin </CsInstruments> <CsScore> ;table size is deferred, ; and format taken from the soundfile header f 1 0 0 1 "fox.wav" 0 0 0 i 1 0 8.2 e </CsScore> </CsoundSynthesizer>