2.5. Synthèse d'une Sinusoide

Dans la plupart des softs audio de synthèse et de traitement (Csound, Max/MSP, et PD, par exemple), les opérations audio sont présentées comme des réseaux.

L'utilisateur du logiciel définit le réseau, appellé patch, qui correspond à l'algorithme de synthèse, et puis s'occupe de la façon de controler les divers générateurs d'unité.

Nous utiliserons des blocs abstraits pour décrire les patchs, mais dans les section "exemples", nous devrons choisir un vrai environnement d'exécution et montrer certains détails de PD.

Pour montrer comment produire une sinusoide avec l'amplitude variant en fonction du temps nous devrons introduire deux générateurs d'unité. D'abord nous avons besoin d'une pure sinusoïde qui est produit à l'aide d'un oscillateur.

La figure suivante montre l'icône utiliser pour représenter un oscillateur sinusoïdal. L'entrée est une fréquence (cycles par seconde), et la sortie est une sinusoïde d'amplitude maximale 1.

(a) un oscillateur sinusoïdal ; (b) controle l'amplitude en utilisant un multiplicateur et un signal d'amplitude

(b) montre comment multiplier la sortie d'un oscillateur sinusoïdal par une amplitude scaler afin de controler l'amplitude.

Puisque l'amplitude maximale de l'oscillateur est 1, l'amplitude maximale du produit est donc en supposant que cette valeur change assez lentement et ne devient pas négatif en valeur.

Cette figure montre comment une sinusoide, celle du chapitre 1, est modifiée par le changement d'amplitude provoqué par un signal de controle

Deux règles générales peuvent être suggérées ici. Premierement, les sinusoides purs sont la classe des signaux les plus sensibles aux effets parasites du changement rapide d'amplitude; et en second lieu, selon l'amplitude du signal que vous modifiez, le controle d'amplitude aura besoin d'entre 0 et 30 millisecondes de temps de "rampe" (zéro pour les signaux tels que le bruit blanc, et 30 pour les mineurs tels qu'une sinusoide. Tout ceci dépend également des niveaux d'écoute et du contexte acoustique.

Les fonctions de contrôle d'amplitude appropriées peuvent être obtenues utilisant un générateur d'enveloppe. La figure suivante montre un réseau dans lequel un générateur d'enveloppe est utilisé pour controler l'amplitude d'un oscillateur.

Les générateurs d'enveloppe changent considérablement dans leur fonctionnalité d'une conception à l'autre, mais ce que nous souhaitons faire est disponible dans le modéle le plus simple , qu'il soit possible de générer des segments de ligne.

Si un segment de ligne est spécifié pour monter entre deux valeurs de sortie a et b sur N échantillons commençant à l'échantillon M, la sortie est :

La sortie peut avoir n'importe quel nombre de segments comme cela, fin à l'extrémité, sur la gamme entière de l'échantillon numéro n; des segments plats et horizontaux peuvent être faits par le réglage a=b.

En plus des changements d'amplitude du son, le control d'amplitude est souvent utilisé, particulièrement dans des applications temps réel, pour simplement activer/désactiver des sons, mettre l'amplitude sans à-coup à zéro.

La plupart des logiciel de synthèse fournissent différentes manières d'arrêter les modules d'échantillons de calcul, mais ici nous emploierons le controle d'amplitude.