wgflute

wgflute — Simule un son de flûte.

Description

La sortie audio simule un son de flûte, réalisé au moyen d'un modèle physique développé par Perry Cook, mais recodé pour Csound.

Syntaxe

ares wgflute kamp, kfreq, kjet, iatt, idetk, kngain, kvibf, kvamp, ifn \
      [, iminfreq] [, ijetrf] [, iendrf]

Initialisation

iatt -- temps en secondes nécessaire pour atteindre la pression de souffle nominale. 0.1 semble correspondre à un jeu raisonnable.

idetk -- temps en secondes pour arrêter le souffle. 0.1 correspond à une extinction douce.

ifn -- table contenant la forme du vibrato, habituellement une table de sinusoïde, créée par une fonction

iminfreq (facultatif) -- fréquence la plus grave à laquelle l'instrument sera joué. Si elle est omise, elle prend la valeur initiale de kfreq. Si iminfreq est négative, l'initialisation est ignorée.

ijetrf (facultatif, 0.5 par défaut) -- quantité de réflexion dans le jet d'air qui excite la flûte. Le valeur par défaut est 0.5.

iendrf (facultatif, 0.5 par défaut) -- coefficient de réflexion du jet d'air. La valeur par défaut est 0.5. ijetrf et iendrf sont utilisés dans le calcul de la pression différentielle.

Exécution

kamp -- Amplitude de la note.

kfreq -- Fréquence de la note jouée. Elle peut être variée pendant l'exécution, mais je n'ai pas essayé.

kjet -- un paramètre contrôlant le jet d'air. Ses valeurs doivent être positives, aux environs de 0.3. L'intervalle utile est compris approximativement entre 0.08 et 0.56.

kngain -- amplitude de la composante de bruit, approximativement comprise entre 0 et 0.5.

kvibf -- fréquence du vibrato en Hz. L'intervalle recommandé va de 0 à 12

kvamp -- amplitude du vibrato

Exemples

Voici un exemple de l'opcode wgflute. Il utilise le fichier wgflute.csd.

Exemple 893. Exemple de l'opcode wgflute.

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
; Audio out   Audio in    No messages
-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o wgflute.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; Instrument #1.
instr 1
  kamp = 31129.60
  kfreq = 440
  kjet = 0.32
  iatt = 0.1
  idetk = 0.1
  kngain = 0.15
  kvibf = 5.925
  kvamp = 0.05
  ifn = 1

  a1 wgflute kamp, kfreq, kjet, iatt, idetk, kngain, kvibf, kvamp, ifn
  out a1
endin


</CsInstruments>
<CsScore>

; Table #1, a sine wave.
f 1 0 16384 10 1

; Play Instrument #1 for two seconds.
i 1 0 2
e


</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : John ffitch (d'après Perry Cook)
Université de Bath, Codemist Ltd.
Bath, UK

Nouveau dans la version 3.47 de Csound