vibrato — Génère un vibrato naturel contrôlable par l'utilisateur.
kout vibrato kAverageAmp, kAverageFreq, kRandAmountAmp, \
kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, \
kcpsMaxRate, ifn [, iphs
ifn -- Numéro de la table de vibrato. Elle contient normalement une onde sinus ou triangle.
iphs -- (facultatif) Phase initiale de la table, exprimée comme une fraction d'une période (0 à 1). Avec une valeur négative, l'initialisation de la phase sera ignorée. La valeur par défaut est 0.
kAverageAmp -- Valeur de l'amplitude moyenne du vibrato
kAverageFreq -- Valeur de la fréquence moyenne du vibrato (en cps)
kRandAmountAmp -- Importance de la déviation aléatoire de l'amplitude
kRandAmountFreq -- Importance de la déviation aléatoire de la fréquence
kAmpMinRate -- Fréquence minimale des segments de déviation aléatoire de l'amplitude (en cps)
kAmpMaxRate -- Fréquence maximale des segments de déviation aléatoire de l'amplitude (en cps)
kcpsMinRate -- Fréquence minimale des segments de déviation aléatoire de la fréquence (en cps)
kcpsMaxRate -- Fréquence maximale des segments de déviation aléatoire de la fréquence (en cps)
vibrato produit un vibrato naturel contrôlable par l'utilisateur. Le concept consiste à varier aléatoirement la fréquence et l'amplitude de l'oscillateur générant le vibrato, afin de simuler les irrégularités d'un vibrato réel.
Afin d'avoir un contrôle total de ces variations aléatoires, plusieurs arguments sont présents en entrée. Les variations aléatoires sont obtenues à partir de deux suites séparées de segments, la première contrôlant les déviations d'amplitude, la seconde les déviations de fréquence. La durée moyenne de chaque segment dans chaque suite peut être raccourcie ou allongée par les arguments kAmpMinRate, kAmpMaxRate, kcpsMinRate, kcpsMaxRate, et les déviations par rapport aux valeurs d'amplitude et de fréquence moyennes peuvent être ajustées indépendamment au moyen de kRandAmountAmp et de kRandAmountFreq.
Voici un exemple de l'opcode vibrato. Il utilise le fichier vibrato.csd.
Exemple 1182. Exemple de l'opcode vibrato.
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 vibrato.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kaverageamp init .5 kaveragefreq init 5 krandamountamp line p4, p3, p5 ;increase random amplitude of vibrato krandamountfreq init .3 kampminrate init 3 kampmaxrate init 5 kcpsminrate init 3 kcpsmaxrate init 5 kvib vibrato kaverageamp, kaveragefreq, krandamountamp, krandamountfreq, kampminrate, kampmaxrate, kcpsminrate, kcpsmaxrate, 1 asig poscil .8, 220+kvib, 1 ;add vibrato outs asig, asig endin </CsInstruments> <CsScore> f 1 0 16384 10 1 ;sine wave i 1 0 15 .01 20 e </CsScore> </CsoundSynthesizer>