flooper

flooper — Lecture en boucle basée sur une table de fonction avec fondu enchainé.

Description

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 avec allocation différée.

Syntaxe

asig flooper kamp, kpitch, istart, idur, ifad, ifn

Initialisation

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

Exécution

asig -- signal de sortie

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.

Exemples

Exemple 260. 

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 261. 

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>


Crédits

Auteur : Victor Lazzarini
Avril 2005

Nouveau greffon dans la version 5

Avril 2005.