Précédent : Pure Data : prise en main                                      introduction                                   

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

7.PURE DATA : synthèse

 

 

7.0. introduction
La découverte de la synthèse, vient directement des recherches sur l'acoustique. Grâce aux analyses de Fourier, on a pu déterminer que tout son, aussi complexe soit-il, peut-être réduit à une addition d'ondes simples, qui varient d'une façon générale selon leurs fréquences, leurs amplitudes et leurs durées:


Forme du signal d'une note de hautbois, décomposition en harmoniques
et spectre sonore montrant leurs intensités relatives (d'après Lamirand-Joyal).

Ainsi, à l'inverse, peut-être est-il possible à partir d'ondes simples de générer une onde sonore complexe : c'est la synthèse (>>>télécharger un patch pure data sur les séries harmoniques = très explicite). Elle est liée à un support technologique, puisque qu'elle désigne de part sa définition un produit sonore artificielle, crée par l'assemblage de matières électronique, mécanique et numérique. La synthèse purement électronique-mécanique, c'est celle des synthétiseurs analogiques, par exemple les orgues hammond sont à base d'oscillateurs réparties sur les fréquences des touches d'un piano. La synthèse numérique, elle, génère une suite de nombres représentant les échantillons de la forme d'onde audio:

...,x[n-1], x[n], x[n+1], ...

n est l'index (signifié par les signes [ et ] ), ou le nombre d'échantillons du tableau x (un peu comme les tableaux en langage C je crois). Ces nombres peuvent suivre les formes d'une sinusoïde pour la plus simple jusqu'à des formes speudo aléatoires, plus complexe comme le "bruit" (noise). Voici l'exemple d'une sinusoïde réelle ( à distinguer de complexe) de 50 samples de long, d'une amplitude 1, de fréquence angulaire de 0,24, et de phase initiale 0.


Le point a parcours un cercle avec une vitesse uniforme,
alors le point b décrit un mouvement sinusoïdale.

>>>>"Acoustique et musique", Emile Leipp, éd. Masson, 1989.
>>>>http://laurent.bedouet.free.fr/Synthese/syosci.htm
>>>>http://espace-cubase.org/page.php?page=accueil
>>>>http://perso.club-internet.fr/clborne/syndiv.html

7.1. table d'onde (wavetable)
Les ondes sonores musicales sont en générale, extrêmement répétitives, illustrées par les notions de fréquences et de hauteur. Ainsi, une méthode éfficace consiste à ne faire calculer par la machine que les nombres pour un cycle de formes d'ondes et de stocker ces nombres en mémoire sur une liste, que l'on nomme table d'onde. Pour générer un son périodique, l'odinateur lit simplement la table d'onde en boucle, en envoyant les échantillons qu'il lit au DAC (Digital Analog Converter) pour la conversion du son : c'est la synthèse par lecture de table. Puisque cela ne prend que quelques nanosecondes à un ordinateur pour lire une valeur en mémoire, la synthèse par lecture de table est beaucoup plus rapide que le calcul de la valeur de chaque échantillon en partant de zéro.

>>>>"L'audionumérique", Curtis Roads, traduit par Jean de Reydellet, éd. DUNOD

pour une introduction aux formes d'ondes :
>>>>http://modulo4.free.fr/Cours.htm
>>>>http://www.chez.com/aquarella/htm/Dossiers/Synthese/tableondes.htm :

7.2. contrôle d'amplitude
Pour créer une sinusoïde pure, nous avons besoin d'un oscillateur : objet osc~. L'entrée de l'oscillateur est contrôlée par un objet nombre qui correspond à la fréquence d'oscillation (en cycles par seconde). La sortie est une sinusoïde d'amplitude de crête 1 (valeur absolue de l’amplitude maximal prise par la sinusoïde, soit x(n)= amplitude de crête*sin(2*n*fréquence/fréquence d'échantillonnage). Comme on l'a vu dans la page précédente, l'audio fonctionne en continu, donc pour contrôler l'amplitude de l'oscillateur, nous ajoutons un objet multiplieur. Celui-ci devra être entre 0 et 1.

Les sinusoïdes pures sont très sensibles aux changements brusques d'amplitude, cela peut provoquer des effets parasites, des "pops", des "clics", des bizz, struck, mach, bbberuachchchh . Ainsi, pour changer d'amplitude, il faut au moins 30 ms entre la valeur actuelle et celle désirée. Pour un signal comme le bruit, une pente de quelques ms suffit, voir même zéro. On utilise pour cela un générateur d'enveloppe, qui génère des pentes linéaires dans le temps, avec l'objet line~ dans Pure Data. (>>>>télécharger le patch)

7.3. enveloppe adsr
Le terme ADSR, désigne attack-decay-sustain-release. On parle d'enveloppe, parce que l'on manipule l'amplitude du son dans le temps. Très utilisée en synthèse.

Maintenant dans pure data (>>>>télécharger le patch = avec chaques objets détaillés):

C'est peut-être un peu compliqué pour une simple enveloppe. Il y a sûrement plus simple en utilisant l'objet"vline~" à la place de l'objet "line~".

7.4. modulation (FM = frequency modulation)

7.5. plus complexe
Pour allez plus loin, je vous conseille de parcourir la documentation du logiciel, dans le répertoire 3.Audio.examples. Et de télécharger des patchs d'aymeric pour débuter dans la synthèse. A l'avenir, peut-être faudra-t-il expliquer un patch qui simule un véritable synthétiseur-séquenceur comme le J06.adsr.sequenceur (à bon entendeur ...).

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Précédent : Pure Data : prise en main                                     introduction