adsynt2

adsynt2 — Réalise une synthèse additive avec un nombre arbitraire de partiels - pas nécessairement harmoniques - avec interpolation.

Description

Réalise une synthèse additive avec un nombre arbitraire de partiels, pas nécessairement harmoniques. (Voir adsynt)

Syntaxe

ar adsynt2 kamp, kcps, iwfn, ifreqfn, iampfn, icnt [, iphs]

Initialisation

iwfn -- table contenant une forme d'onde, normalement une sinus. Les valeurs de la table ne sont pas interpolées pour des raisons de performance, si bien que des tables plus grandes apportent une meilleure qualité.

ifreqfn -- table contenant les valeurs de fréquence de chaque partiel. ifreqfn peut contenir les valeurs de fréquence initiales de chaque partiel, mais elle est habituellement utilisée pour générer des paramètres pendant l'exécution avec tablew. Les fréquences doivent être relatives à kcps. La taille doit être au moins égale à icnt.

iampfn -- table contenant les valeurs d'amplitude de chaque partiel. iampfn peut contenir les valeurs d'amplitude initiales de chaque partiel, mais elle est habituellement utilisée pour générer des paramètres pendant l'exécution avec tablew. Les amplitudes doivent être relatives à kamp. La taille doit être au moins égale à icnt.

icnt -- nombre de partiels à générer.

iphs -- phase initiale de chaque oscillateur, si iphs = -1, l'initialisation est ignorée. Si iphs > 1, toutes les phases seront initialisées avec une valeur aléatoire.

Exécution

kamp -- amplitude de la note.

kcps -- fréquence de base de la note. Les fréquences des partiels seront relatives à kcps.

La fréquence et l'amplitude de chaque partiel sont données dans les deux tables fournies. Le but de cet opcode est de faire générer par un instrument les paramètres de synthèse au taux-k et de les écrire dans des tables globales avec l'opcode tablew.

adsynt2 est identique à adsynt (by Peter Neubäcker), sauf qu'il réalise une interpolation linéaire pour les enveloppes d'amplitude de chaque partiel. Il est un peu plus lent que adsynt, mais l'interpolation améliore grandement la qualité du son dans les transitoires rapides des enveloppes d'amplitude lorsque kr < sr (c'est-à-dire quand ksmps > 1). Il n'y pas d'interpolation pour les enveloppes de hauteur, car dans ce cas la dégradation de la qualité sonore n'est pas aussi évidente même avec de grandes valeurs de ksmps. Il n'est pas recommandé quand kr = sr ; dans ce cas, adsynt est meilleur (car plus rapide).

Crédits

Ecrit par Gabriel Maldonado.

Nouveau dans Csound 5 (Disponible auparavant seulement dans CsoundAV)