vibrato

vibrato — Génère un vibrato naturel contrôlable par l'utilisateur.

Description

Génère un vibrato naturel contrôlable par l'utilisateur.

Syntaxe

kout vibrato kAverageAmp, kAverageFreq, kRandAmountAmp, \
      kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, \
      kcpsMaxRate, ifn [, iphs

Initialisation

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.

Exécution

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.

Exemples

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>


Voir aussi

jitter, jitter2, vibr

Crédits

Auteur : Gabriel Maldonado

Nouveau dans la version 4.15