GEN31

GEN31 — Mélange n'importe quelle forme d'onde définie dans une table existante.

Description

Cette routine est semblabe à GEN09, mais permet le mélange de n'importe quelle forme d'onde définie dans une table existante.

Syntaxe

f # date taille  31  src  pna ampa phsa  pnb ampb phsb  ...

Exécution

src -- numéro de la table source

pna, pnb, ... -- numéro de partiel, doit être un entier positif

ampa, ampb, ... -- échelle d'amplitude

phsa, phsb, ... -- phase initiale (0 à 1)

GEN31 ne supporte pas les tables avec un point de garde (c'est-à-dire une taille de table = puissance-de-deux + 1). Bien que de telles tables fonctionnent aussi bien en entrée qu'en sortie, lors de la lecture d'une table source, le point de garde est ignoré, et lors de l'écriture de la table en sortie, le point de garde est simplement copié du premier échantillon (index de table = 0).

La raison de cette limitation est que GEN31 utilise la TFR, qui nécessite que la taille de table soit une puissance de deux. GEN32 permet l'utilisation de l'interpolation linéaire pour le rééchantillonage et le déphasage, ce qui rend possible l'utilisation de n'importe quelle taille de table (cependant, pour les partiels calculés par TFR, la limitation de la puissance de deux existe toujours).

Exemples

Voici un exemple de la routine GEN31. Il utilise le fichier gen31.csd.

Exemple 1302. Exemple de la routine GEN31.

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>

<CsInstruments>
0dbfs = 1

gisine  ftgen  0,0,4096,10,1
gi31    ftgen  0,0,4096,31,gisine, 1,1,0, 2,1,0, 3,1,0, 4,1,0, 5,1,0, 6,1,0

instr 1
  aa  oscil3  0.6, 440, gi31
      out     aa
endin
</CsInstruments>

<CsScore>
i1 0 5
e
</CsScore>

</CsoundSynthesizer>


Crédits

Auteur : Istvan Varga

Nouveau dans la version 4.15