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], ...
Où 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