La synthèse sonore - TPE Synthèse sonore Comment synthétiser
Transcription
La synthèse sonore - TPE Synthèse sonore Comment synthétiser
La synthèse sonore Comment synthétiser une note de musique ? Modèles et Modélisations Julie Schuhmacher Thibaut Bardon Cyrille Pauthenier Thibault Péra 1 « Je rêve d'instruments obéissant à la pensée et qui, avec l'apport d'une floraison de timbres insoupçonnés, se prêtent à toutes les combinaisons qu'il me plaira de leur imposer et se plient aux exigences de mon rythme intérieur. » Edgar Varèse, 1917. 2 Sommaire: Introduction................................................................................................... 3 I.Analyse d’un son......................................................................................... 5 a) Etude d’un instrument et d’une note de musique.............................................................. 5 i)Harmoniques................................................................................................................................................. 5 ii)Timbre.......................................................................................................................................................... 6 iii) Notes et fréquences.................................................................................................................................... 7 iv)Définitions................................................................................................................................................. 10 b) Méthode................................................................................................................................ 11 i) L’oscillogramme........................................................................................................................................ 11 ii)Transformée de Fourier.............................................................................................................................. 12 iii)Sonagramme..............................................................................................................................................14 II. Synthèse d’un son................................................................................... 16 a) Différentes méthodes........................................................................................................... 16 b) La synthèse additive............................................................................................................ 17 i)Principe........................................................................................................................................................17 ii)Notre logiciel.............................................................................................................................................. 19 iii)Nos résultats.............................................................................................................................................. 20 c) La synthèse numérique ...................................................................................................... 21 i)Principe........................................................................................................................................................21 ii)Notre logiciel.............................................................................................................................................. 24 iii)Nos résultats.............................................................................................................................................. 25 Conclusion................................................................................................... 26 Annexes:....................................................................................................... 27 Bibliographie................................................................................................41 Synthèses personnelles................................................................................ 42 3 .Introduction Le son est une onde qui se propage dans l’air, l’eau ou les solides, d’autant plus vite que le milieu est dense. Dans le vide il n’y a aucun son (ce n'est pas une onde électromagnétique). La fréquence d’un son est son nombre d’oscillations par seconde. Plus ce nombre est grand, plus ce son semble aigu. Pur ou complexe, harmonique ou non harmonique, chaque son a son identité tonale. L’intensité se mesure sur une échelle avec nos sensations. De plus l'oreille humaine ne perçoit le son qu’entre les fréquences 20 et 20 000 hertz, au-delà il est impossible d’entendre quelque chose. Le son est depuis toujours l'outil de communication privilégié des animaux et de l'homme. Ce dernier a inventé des moyens nouveaux pour en créer, avec des instruments de musique ou tout simplement en tapant sur des pierres ou des tronc d'arbres. Ainsi, l'homme inventa une autre forme de langage qu'on appelle aujourd'hui musique. La création de sons « artificiels » n'est apparue qu'au début du XXe siècle, avec l'invention des méthodes d'enregistrements. Quant à la « synthèse », elle n'a pris son essor qu'a la fin du XXe siècle, avec le développement des technologies électroniques. C'est devenu aujourd'hui un formidable outil de création pour les musiciens et les compositeurs. Comment synthétiser une note de musique ? Pour répondre à cette question nous analyserons tout d'abord la composition et les propriétés d'un son d'instrument puis nous étudierons comment exploiter ces propriétés, afin de synthétiser artificiellement cet instrument. 4 I. Analyse d’un son a) Etude d’un instrument et d’une note de musique i) Harmoniques Les harmoniques sont les composantes d’une note de musique. Sans aucun harmonique on obtient un son sortant directement d’un générateur basse fréquence, un son plat, non musical. L’intensité des harmoniques d’une note est ce qui différencie les instruments. C’est pourquoi ils ne sont pas « répartis » de la même manières chez tous les instruments de musique: pour une clarinette ce sont les harmoniques impairs qui sont les plus présents tandis que pour d’autres instruments l’intensité des harmoniques diminue quand les fréquences augmentent. Pour savoir quel sont les harmoniques d’une note, la méthode est simple. Il suffit de multiplier la fréquence de la fondamentale par deux puis trois puis quatre... Harmonique n° : Fréquence en Hertz : Note correspondante : 1 : fondamentale 65,4 Do 1 2 : "octave" 2x65,4=131 Do 2 3 : "quinte" 3x65.4=196 Sol 2 4 : "quinzième" 4x65,4=262 Do 3 5 : "tierce" 5x65,4=327 Mi 3 6 : "larigot" 6x65,4=392 Sol 3 7 : "septième" 7x65,4=458 Si b 3 On obtient alors le nom des harmoniques qui composent la fondamentale et leur hauteur. La fondamentale est la note jouée, son octave est le son deux fois plus aigu. La tierce quant à elle est située à un ton et demi de la fondamentale et la quinte se trouve à trois tons et demi de la fondamentale. Les chiffres à coté des noms des notes (do1 ou do2) correspondent à la hauteur de la note. Les harmoniques tiennent un rôle essentiel dans le son. En quelques sorte c’est grâce à eux qu’un son peut être agréable à écouter. 5 ii) Timbre Chaque instrument possède son propre timbre. Il correspond à l’intensité de chacune des harmoniques qui compose une note. Un son timbré est un son musical, ou du moins agréable à entendre. Un son qui sort d’un générateur basse fréquence est dépourvu de musicalité puisqu’il ne possède aucun harmonique, c’est un son plat. Selon les instruments, l’importance des différents harmoniques n’est pas la même. C’est pour cela que l’on perçoit différentes couleurs de son: il peut paraître perçant, rond, velouté, ou encore nasillard. Le timbre d’un son est lié à sa composition fréquentielle et à son évolution dans le temps. On peut donc reconnaître l’origine et l’appartenance d’un son. De plus sur des sonagrammes photographiés on observe des « parasites ». Ils représentent le niveau de bruit blanc de l’instrument ce qui change aussi selon les instruments. Par exemple un son de flûte chinoise émettra plus de bruit (le souffle) qu’une flûte à bec (voir photos ci dessous). Sonagramme de flûte a bec (au dessus) et d’une flûte chinoise (en dessous) (photo 1) Les bruits blancs font aussi partie des caractéristiques d’un son et donc de son timbre. Hélas nous n’avons pas pu tenir compte de cette caractéristique pour reproduire un son car nous ne possédons pas un matériel assez avancé. 6 iii) Notes et fréquences Pour pouvoir déterminer quelles sont les harmoniques qui composent un son il nous a fallu déterminer les fréquences de ces notes pour savoir s’il existe un lien entre elles. Protocole expérimental : Nous avons branché un générateur basse fréquence (GBF) sur un oscilloscope afin d’observer l’allure générale d’un son pur (sans harmonique) par rapport à un son de flûte traversière (que l’on a pu observer à l’aide d’un micro branché sur l’oscilloscope). Observations et interprétations : La courbe du son sorti du GBF est constituée d’un seul trait d’épaisseur constante qui varie périodiquement au cours du temps. On peut comparer l’allure de la courbe à une fonction sinus ou cosinus simple. En revanche la courbe du son de flûte n’est pas constituée d’un trait d’épaisseur constante, l’épaisseur varie sans cesse. On a donc conclu que l’épaisseur du trait correspondait aux différents harmoniques comme chaque trait correspondait à une certaine fréquence. On a ensuite utilisé un accordeur, qui est un instrument utilisé en musique pour accorder les instruments comme les guitares, un accordeur permet la reconnaissance des différentes notes. On a donc fait varier la fréquence du GBF en notant à quelle note correspondait chaque fréquence. On obtient le tableau suivant: Notes Do Do# Ré Ré# Mi Fa Fa# Sol Sol# La La# Si Fréquences en hertz 261 277 294 311 329 349 370 392 415 440 466 494 Fréquence une octave au dessus (en hertz) 524 555 587 623 660 698 739 784 830 880 934 989 7 Analyse du tableau : On constate que pour passer d’une octave à une autre, quelle que soit la note, il faut multiplier par 2 la fréquence pour obtenir la même note à l’octave supérieure, ou bien diviser par deux pour avoir la note à l’octave en dessous. On a aussi constaté en traçant un graphique avec les fréquences que toutes les fréquences étaient reliées par une fonction exponentielle. Le fait qu’il y ai 12 demi-tons dans une octave permet de déterminer cette fonction : Donc pour passer d’une octave à l’octave supérieure il faut soit ajouter 12 demi-tons soit multiplier par 2, d’où l’équation suivante : Quelle que soit t appartenant à R : f (t+12)= 2 f (t) A l’instant origine où t=0, on note f (0)=A f (0+12) = f (12) = 2A f (12+12) = f (24) = 4A f (24+12) = f (36) = 8A f (36+12) = f (48) = 16A … Donc f (12n) = 2n x A Si t est un multiple de 12, donc si t = 12n Alors n = t/12 D’où f (t) = 2t/12 x A = (21/12)t x A Donc si t est un multiple de 12, f (t) = f (0) x (21/12)t Fonction exponentielle de base 21/12 On peut aussi vérifier cette fonction en notant la valeur permettant de passer d’une fréquence au demi-ton supérieur, pour cela on note la valeur du quotient d’une fréquence trouvée expérimentalement par la fréquence précédente : Fréquence en Hertz Quotient de la fréquence sur la fréquence précédente Quotient à la puissance 12 277 1,06130268 2,04207242 294 1,06137184 2,04366984 311 1,05782313 1,96316455 329 1,05787781 1,96438273 349 1,06079027 2,03027257 370 1,06017192 2,01611623 392 1,05945946 1,99991766 415 1,05867347 1,98218578 440 1,06024096 2,0176924 466 1,05909091 1,99158516 494 1,06008584 2,01415267 524 1,06072874 2,02885989 261 8 555 1,05916031 1,9931517 587 1,05765766 1,95948263 623 1,06132879 2,04267534 660 1,05939005 1,99834591 698 1,05757576 1,9576626 739 1,05873926 1,98366435 784 1,0608931 2,03263543 830 1,05867347 1,98218578 880 1,06024096 2,0176924 934 1,06136364 2,04348027 989 1,05888651 1,98697766 Moyenne: 1,05963159 2,00400113 Donc pour passer d’une note au demi-ton supérieur il faut bien multiplier la fréquence de la note par 21/12. 9 iv) Définitions Il est important de définir pour la suite certains termes. Tout d'abord, il faut savoir que l'évolution d'une note de musique peut se décomposer en trois temps principaux (on peut en trouver beaucoup plus, mais simplifions) Tout d'abord, l'attaque : C'est le moment ou le marteau frappe la corde , que l'archet met les cordes en vibration ou que le souffle de l'instrumentiste met la flûte en vibration. L'amplitude du son y est plus importante. L'attaque est suivie d'une légère chute. Il y a ensuite le maintien : C'est le moment où la note est tenue (tant que la touche du piano est enfoncée par exemple). La corde vibre seule ou sous l'impulsion de l'archet, la flûte sonne. L'amplitude y est soit stable, soit décroissante. Puis il y a l'extinction : C'est le moment où l'étouffoir étouffe la corde, l'archet arrête de frotter la corde ou l'instrumentiste arrête de souffler. C'est la résonance de l'instrument. Un phénomène acoustique qu'il est important de définir pour la suite est de phénomène des battements. Il est difficile de se les représenter mentalement. Imaginons que vous ayez un oscilloscope électronique et deux GBF. Vous réglez le premier GBF à une fréquence F et vous le connectez à l'oscilloscope. Si votre oscilloscope est bien réglé, vous y verrez une courbe sinusoïde fixe (elle ne se déplace pas latéralement). Maintenant, branchez le deuxième GBF sur la même entrée, mais réglé sur une fréquence très légèrement différente de F. Si ces deux fréquences étaient identiques, vous verriez le résultat stable de l'addition des deux sinusoïdes. Mais les deux fréquences étant légèrement différentes, la seconde va “glisser” sur la première. Concrètement, l'amplitude de la somme varie au cours du temps. Tantôt elle est égale à la somme des amplitudes, tantôt elle est égale uniquement à l'amplitude de la première. Il en résulte un son irrégulier, comme si vous écoutiez de la musique en montant et abaissant le volume plusieurs fois par seconde. Ce phénomène est très important en musique, car au sein du son de certains instruments (c'est parfaitement audible avec l'accordéon) certains harmoniques ne sont pas des multiples de la fondamentale, et donc “frottent” avec d'autres harmoniques, il en résulte un grincement. Ces battements font partie des éléments qui nous ont gênés par la suite, lorsque nous avons essayé de synthétiser un son d'instrument comme l'accordéon, le piano ou le violon... 10 b) Méthode i) L’oscillogramme L’oscillogramme d’un son est la représentation graphique de l’onde sonore, que l'on appelle en électronique oscillogramme. Cette représentation est en réalité un graphe représentant l’évolution de l’énergie des molécules d'air en fonction du temps. En effet, le son est une onde qui se propage par l’intermédiaire des molécules d’air. Celles-ci bougent avec le déplacement de l’onde sonore. La différence de timbre entre deux instruments (différence entre un piano et une clarinette) est la conséquence d’une forme d’onde différente. L'oscillogramme de l’instrument sera donc spécifique à chaque instrument. Oscillogramme d'accordéon Oscillogramme de Piano Oscillogramme de Clarinette Oscillogramme de Violon Cette représentation du son est indispensable pour le musicien, comme pour l’informaticien. Nous avons, lors de nos expériences, obtenu des graphes similaires avec un oscilloscope et un microphone. Mais il s'est avéré bien plus pratique de les étudier avec le logiciel de manipulation musicale Audacity (gratuit). Ce sont ces derniers que nous avons exploités, et ce sont ceux-ci que vous pouvez voir ci-dessus. On constate que le son est un phénomène périodique. Ce graphe n'est pas en soi très compliqué: il doit donc exister une formule mathématique capable de le décrire. 11 ii) Transformée de Fourier Le mathématicien français Joseph Fourier (1768 – 1830) (cf biographie en Annexes), dans sa théorie analytique de la chaleur (publiée en 1808), énonce un théorème fort intéressant: « Toute fonction périodique f (t) peut être décomposée en une somme de N fonctions (sinus et cosinus) fondamentales ». Ceci ce traduit par la formule suivante: Cette fonction, nommée Transformée de Fourier est trop compliquée pour notre étude. Mais il est possible de la simplifier. En effet, le son est une onde périodique. On peut donc la décomposer en une série de fonctions sinus et cosinus. Mais, en matière d’onde sonore, la phase n’a (quasiment) aucune influence sur le son final. Il s'agira donc d'une somme de N fonctions sinus (la fonction cosinus étant une fonction sinus avec une phase de π / 2)... On peut donc écrire: Que nous dit cette formule : Une fonction périodique f(t) est égale à une somme (Σ) de N fonctions sinus de la forme: g(x) = an sin ( nωt ) C'est à dire une fonction sinus tout a fait classique, où an est l'amplitude, nω/2π la fréquence (avec numéro de la fonction sinus (1 ,2 ,3...), t, le temps, et ω/2π est la fréquence de départ, ou fréquence fondamentale (440 Hz, par exemple)). Joseph Fourier fournit aussi une formule pour calculer l'amplitude a n de la fonction sinus. Mais elle est bien trop compliquée pour nous. (C’est en effet une intégrale). Nous nous contenterons juste d'y remarquer que l'amplitude est liée à la fréquence. Cette formule n'est pas directement exploitable pour les ondes (sonores, mais aussi lumineuses (pour les photographes)). Un mathématicien dont l'Histoire n'a pas retenu le nom, entreprit de modifier ces équations, afin de les adapter à un traitement informatique moderne: la Transformée de Fourier rapide est née (en anglais, Fast Fourier Transformation, FFT). Ces équations ont été transformées en un algorithme capable de décomposer une onde complexe en une somme de fonctions sinus fondamentales, appelées partiels. Les résultats sont généralement présentés sous forme d'un graphe comme celui-ci : 12 amplitude (unité arbitraire) fréquence (Hertz) Ce graphe est la Transformée de Fourier rapide d'une note de clarinette créée avec le logiciel Synthèse (cf II, 2). Chaque « pic » est en réalité la représentation graphique d'une sinusoïde. On observe en passant, qu'un son de clarinette est formé de plusieurs fonctions sinus, mais cela sera détaillé au chapitre des Timbres. En abscisse de ce graphe, nous pouvons lire la fréquence en Hertz, tandis qu'en ordonnée, nous avons l'amplitude. Chaque « sommet » de ces « pics » indique la fréquence et l'ordonnée de la fonction sinus qu'il représente. Nous pouvons les lire en cliquant dessus (dans le logiciel Synthèse). La décomposition du son (Transformée de Fourier rapide, mais il y a aussi d'autres méthodes, le plus souvent basées sur les équations de Joseph Fourier) est un outil indispensable aux musiciens, ingénieurs du son, électroniciens et autres créateurs de musique synthétique. Nous avons bien conscience que cet outil formidable n'est pas vraiment à notre niveau, et ne correspond pas aux exigences d'un TPE, mais il est indispensable à notre étude, car il permet de comprendre et d'expliquer l'ensemble des grands principes acoustiques (harmonie musicale, intervalles, battements...) et permet de comprendre comment recréer artificiellement un son. 13 iii) Sonagramme Le sonagramme est fondé sur la transformée de Fourier rapide, et il permet d'observer l’évolution des harmoniques en fonction du temps. Le temps est représenté en abscisse et la fréquence de l’harmonique se trouve en ordonnée. Chaque instrument possède un graphique différent (voir photo 4 ci dessous). En jouant un son de flûte on a observé différents traits espacés de façon égale. De plus on observe que sur un sonagramme de clarinette les traits sont épais pour les harmoniques impaires. L’épaisseur du trait correspond à l’importance de l’harmonique dans ce son. Plus le trait est épais plus l’harmonique est important et donc moins le trait est épais moins l’harmonique est présent. Selon les instruments le sonagramme diffère. Pour un instrument à corde pincée (comme par exemple la guitare ou le clavecin) on remarque que le sonagramme varie au cours du temps. C’est à dire que les harmoniques vont « s’éteindre » au fur et à mesure pendant la résonance de la note (chute). Les harmoniques les plus aiguës vont être les premiers à arrêter de résonner. Le graphique du piano est plus complexe, tout d’abord les traits ne sont pas espacés de manière égale. Les harmoniques les plus aigus s’espacent de plus en plus. Et comme pour la guitare ils varient différemment au cours du temps (voir photo 4). Mais ici les harmoniques multiples de trois résonnent plus longtemps. Le dégradé fonctionne aussi selon les multiples de trois. La troisième durera plus longtemps que les deux autres et ainsi de suite pour la sixième, et la neuvième... Pour les instruments à vent comme la flûte et la clarinette, l'amplitude des harmoniques est constante pendant le maintien du son.. Un sonagramme permet donc de pouvoir connaître presque parfaitement la nature de l’instrument et, pourquoi pas, le nom de cet instrument. Par la suite ces sonagrammes vont nous permettre de régler l’importance de l’harmonique dans le son que l’on voudra synthétiser. Voici l’exemple d’un sonagramme. (Photo 1) 14 Représentation plus stylisée (photo 2 prise à la cité des sciences) Sonagrammes caractéristiques (photos 3) A chaque commencement de la note on observe les différentes manières d’attaquer la note. Par exemple pour le violon avec un archet on dit que la corde est frottée. Le frottement est représenté par tous les petits points. Mais pour la guitare qui est un instrument à corde pincée, c’est représenté par des triangles non reliés entre eux. Le piano étant un instrument à cordes frappées les « triangles d’attaque » sont réunis. Le marteau vient donc frapper la corde qui entraînera la résonance des autres harmoniques. 15 II. Synthèse d’un son Vers 1951, Eimert, Meyer-Eppler et Stockhausen deviennent à Cologne les pionniers de la musique électronique, qui partait de vibrations sonores électriques : il s'agissait de produire des sons aux paramètres biens contrôlés, suivant les prescriptions de partitions existantes à priori, et construites suivant des règles formelles très précises. En 1957, Max Mathews réalise aux USA le premier enregistrement numérique et la première synthèse de sons par ordinateur. a) Différentes méthodes Nous avons retenu 5 grandes familles que nous allons maintenant vous présenter. Nous omettons volontairement les différentes formes de synthèse vocale (foomantique,...) dont nous ne nous sommes pas occupées. La synthèse additive : C'est une forme de synthèse très simple sur le principe et extrêmement intéressante. C'est en quelque sorte une réciproque du théorème de Fourier. Nous avons choisi de l'étudier. On en trouvera une définition complète dans la partie qui lui est consacrée. La synthèse soustractive : Ce n'est pas, comme on pourrait le supposer, le contraire de la précédente. Elle est beaucoup plus compliquée à mettre en oeuvre, car elle consiste à prendre une onde de départ très riche en harmoniques (une onde carrée dans l'idéal, car elle est composée d'une infinité de fonctions sinus) et d'enlever les harmoniques inutiles à l'aide d'une série de filtres dits “passe–bas”, c'est à dire capables d'isoler et de séparer certaines plages de fréquences, donc certains harmoniques. La synthèse granulaire : C'est l'une des formes les plus compliquées ! Elle est en fait fondée sur les mêmes idées que celle de Fermat lorsqu'il a étudié la lumière et l'énergie considérées comme des fluides continus : découper l'onde sonore en “grains” comme on décompose l'énergie en quanta ou la lumière en photons ! Elle consiste à ajouter des “grains” sonores afin de reconstituer l'instrument. Elle est donc très compliquée, très fastidieuse, mais elle permet de synthétiser tous les sons sans distinction (voix humaines comprises) et donne des résultats formidables ! (Voir CD: Synthèse d'une Chorale entière par synthèse granulaire, fait par L’IRCAM) La synthèse par table d'onde et modulation de fréquence : c'est un combiné des deux méthodes qui permet une forme de synthèse numérique très simple, et très utilisée par tous les spécialistes de l'informatique musicale, car fournissant de très bons résultats. La synthèse par modèles physiques : C'est de loin la plus intéressante des formes mais aussi l'une des plus compliquées, et donc peu utilisée. Elle consiste en fait à simuler l'intégralité de l'instrument et étudier la façon dont il va résonner. On créé ainsi des violons virtuels, des guitares virtuelles mais aussi des instruments qui n'existent pas. Elle est en fait principalement utilisée pour améliorer les instruments existants, en simulant entièrement les modifications qu'on pourrait y faire, pour améliorer sa qualité sonore, sans le construire ! C'est de la physique appliquée à la musique! 16 b) La synthèse additive i) Principe La synthèse additive repose sur le théorème de Fourrier ou plutôt sur sa réciproque. Ainsi, on peut faire la somme de sinusoïdes simples pour reformer un son complexe. Un son est composé d’une fondamentale et de ses harmoniques. Ainsi pour faire une synthèse additive, il suffit d’ajouter à cette fondamentale les harmoniques voulus. Ceci peut être résumé par le schéma ci-dessous: 17 Si on additionne des sinusoïdes sans tenir compte des règles précédemment établies, on obtient un son désagréable donc non musical. Ce qui nous intéresse dans la synthèse, c'est d'obtenir des sons aussi agréables que des sons d'instruments, voire si possible, exactement le même son. L'idée serait donc de décomposer un son d'instrument avec une transformée de Fourier rapide, de mesurer ses différents harmoniques, et de rentrer ces valeurs dans les générateurs pour obtenir le même son au final. C'est ce que nous avons essayé de faire. Pour cela, nous avons mis au point un petit logiciel nommé Synthèse ( version 0.42 ). Vous trouverez ce logiciel sur le CD additionnel, ainsi qu'une présentation détaillée du logiciel en annexe. Voici comment nous avons procédé : Protocole expérimental: Le matériel: • • • • Un ordinateur pour installer le logiciel et d’enregistrer des échantillons de sons, Le logiciel de synthèse additive qui nous a permis de mettre en œuvre la synthèse des sons, Un micro afin d’enregistrer des sons de flûte traversière Un casque, pour écouter le son produit Expérimentation: Etape 1: il faut enregistrer une note sur l’ordinateur via un micro. Etape 2: on joue ce son sur l'ordinateur et on l'arrête à un instant T, son Fourier apparaît à l’écran, puis on enregistre celui-ci. Etape 3: chaque sinusoïde doit correspondre au son de base, (le logiciel est muni de 24 partiels (donc 24 sinusoïdes possibles). Etape 4: on doit connaître la fréquence de chaque sinusoïde du son de base, on se sert pour cela du Fourier géant qui nous donne avec précision les informations voulues. Etape 5: on entre ensuite les données dans le partiel qui va reproduire sur le graphique une courbe de même fréquence que celle de base. Etape 6: on doit ensuite choisir l’amplitude, pour cela, on fait coïncider la sinusoïde de départ avec celle synthétisée. On répète l’opération pour chaque sinusoïde du son de départ. Si le protocole est bien suivi, le son synthétisé qui sort du casque devrait ressembler étroitement à celui de départ. Si vous souhaitez effectuer vous-même cette manipulation, insérez le CD additionnel. Vous pourrez tester ce logiciel sans l'installer. Pour l'utilisation, reportez-vous à la notice d'utilisation située en Annexe. 18 ii) Notre logiciel Pourquoi avoir crée nous-même un logiciel ? Tout simplement parce qu'il n'existe pas sur le marché de logiciel adapté pour la synthèse additive. Il n'en existe qu'un qui puisse à peu près accomplir cette tâche, mais il a un défaut : il coûte 200$ ! Les logiciels pour professionnels ont parfois des fonctions de synthèse additive, mais celles-ci ne sont pas adaptées pour la synthèse de sons existants; cette fonction est inutile aux professionnels, qui utilisent préférentiellement la synthèse par modulation, bien plus pratique à utiliser, et qui donne de bien meilleurs résultats. En matière de synthèse additive, il existe un super calculateur développé par l'IRCAM (Institut de Recherche et de Coordination Acoustique/Musique) qui est capable automatiquement de décomposer un son complexe d'instrument et de le recomposer par synthèse additive. Mais ce n'est que de la recherche. Comment créer un logiciel ? Pour créer ce logiciel, nous avons utilisé un langage de programmation peu connu, nommé Python. Ce langage a l'avantage d'être jusqu'à 10 fois plus concis qu'un langage classique (C, C++, Fortran...), plus simple et plus accessible pour un débutant. Il permet, en outre, de créer des interfaces graphiques complexes (Fenêtres), avec un minimum d'effort. Nous utilisons aussi la bibliothèque (morceau de programme déjà écrit par quelqu'un d’autre) Snack, développée par Kåre Sjölander, qui permet, entre autre, de générer les sinusoïdes, créer les sonagrammes et les Transformées de Fourier rapides. Nous n'avions « juste » qu'à coller les bouts. Présentation du logiciel. En voici deux captures d'écran. Pour des raisons de place, vous trouverez une description détaillée en Annexe, ainsi qu'une notice d'utilisation. 19 iii) Nos résultats Nous avons réussi à synthétiser certains sons d'instruments simples comme des flûtes, par exemple. Par contre, les instruments complexes comme le piano ou le violon sont particulièrement difficiles à reproduire, et nous n'avons pas obtenu de résultats satisfaisants. Cela est dû à plusieurs facteurs: Tout d'abord, il est difficile de reconnaître le son d'un instrument, s'il est dépourvu d'attaque et d'extinction; ce que notre logiciel ne permet pas de simuler. Lors de l'attaque et de l'extinction, les harmoniques sont souvent complètement différents de ceux de la zone de maintien. Puis le son d'un instrument évolue significativement au cours du temps. Si l'on réalise la Transformée de Fourier rapide en temps réel, on constate que l'amplitude des harmoniques est en constante variation. Cela est dû en partie aux parasites du microphone et de la carte son de l'ordinateur, mais pas uniquement. Des phénomènes de battements entre les harmoniques apparaissent, créant le timbre du son. De plus, certains parasites (souffle de l'instrumentiste, frottement de l'archet sur les cordes...) font partie du son. Mais notre analyse les élimine. En effet, en arrêtant l'enregistrement, nous n'avons qu'une image fixe et instantanée du son. Mais le son, lui, varie. C'est comme si vous enregistriez la vitesse instantanée d'un véhicule sur l'autoroute, sur un trajet Paris Marseille et que vous en extrapoliez à partir de la distance, le temps qu'il a mis (En réalité, il a peut être fait 10 km sur l'autoroute, et fait le reste du trajet sur une départementale, pour admirer la beauté du paysage). Ainsi, les sons simples, dont la « vitesse » est régulière seront facilement synthétisables (flûtes..), mais ceux dont la « vitesse » est très irrégulière (majorité des instruments), ne donneront pas de résultats satisfaisants, car le logiciel ne tient pas compte de la variation de leur « vitesse » en fonction du temps. Mais, comme tout instrument de mesure et de génération de signaux, chaque générateur de sinusoïde produit aussi du bruit. Ce bruit prend la forme d'harmoniques supplémentaires, ou encore de bruit de fond très grave, invisible sur la Transformée de Fourier rapide. Lorsque l'on ajoute deux sinusoïdes, le bruit de fond n'est quasiment pas audible, il ne gène donc en rien la synthèse. En revanche, lorsque nous dépassons la dizaine de sinusoïdes, le bruit devient supérieur au signal, et le son obtenu n'a rien de comparable avec l'instrument d'origine. Une autre limitation vient de la transformée de Fourier rapide. En effet, le module qui la génère ne permet pas d'en modifier l'échelle. Ainsi, lorsque l'on décompose un son grave, les « pics » correspondant aux différents harmoniques sont si proches, qu'ils sont difficilement discernables. Ainsi, il est très difficile de synthétiser des sons graves... C'est un ensemble de facteurs indépendants de notre volonté qui a fait que nos expériences ont plus ou moins échoué. Nous avons appris par la suite, en continuant nos recherches documentaires, que la synthèse additive est la forme de synthèse qui est de loin la plus simple sur le principe, mais qu'elle est, en revanche, la plus compliquée à mettre en pratique. Nous en avons en quelque sorte fait les frais. Mais il faut savoir qu'un son, si bien recomposé soit-il, n'est jamais aussi beau que le son d'origine. 20 c) La synthèse numérique i) Principe La synthèse numérique appelée également « sampling » (échantillonnage) est de nos jours la synthèse la plus utilisée. Tout d’abord on numérise un son préalablement enregistré dans une banque de sons. Un son est une onde périodique dont la valeur varie au cours du temps. Pour la numériser, il suffit donc de noter les variations de l’onde au cours du temps. La qualité de la numérisation dépend donc à la fois de la fréquence d’échantillonnage (le nombre de mesures par seconde) et de la précision de ces mesures. 21 L’oreille humaine pouvant entendre jusqu’à 20 000 Hz, pour éviter l'« aliasing » (les spectres sonores se recouvrent) il faut que la fréquence d’échantillonnage soit supérieure au moins à deux fois la fréquence la plus élevée. Une fréquence de 40 000 Hz est donc une fréquence d’échantillonnage suffisante en musique. A ce stade on a donc un son numérique : une suite finie de valeurs. Pour écouter ce son il suffit donc de jouer ces valeurs avec la même fréquence d’échantillonnage, mais le son s’arrêtera à la fin des valeurs, pour le prolonger il faut le passer en boucle. Il faut donc que le début et la fin de l’enregistrement puissent s’enchaîner. Il faut qu’il y ait exactement une ou plusieurs périodes entre le début et la fin de l’enregistrement. Période à mettre en boucle Période mise en boucle 22 Si l'on joue ces valeurs avec une fréquence d’échantillonnage plus grande, alors on va jouer plus de valeurs par seconde, donc le son sera plus aigu, et réciproquement plus grave avec une fréquence plus petite. On observe que c’est bien ce qui se passe lorsqu’on fait avance rapide sur un magnétophone, on entend un son plus aigu. En multipliant la fréquence d’échantillonnage par deux on obtient donc le premièr harmonique de la note pré enregistrée, c’est à dire la même note à l’octave au-dessus. On peut donc à partir d’une seule note dans la banque de sons en jouer plusieurs. L’avantage de cette synthèse est qu'elle conserve les caractères de l’instrument, autrement dit le timbre. Le son ainsi synthétisé est donc très proche de la réalité. Pour transposer les valeurs numériques en signal continu, il faut utiliser un CNA (convertisseur numérique – analogique). On a constaté précédemment que la puissance d’une note variait au cours du temps (attaque _ chute _ maintien _ résonnance). Afin d’obtenir une note instrumentale il faut donc tenir compte de ces variations. On entre donc dans le convertisseur numérique-analogique (CNA) une fréquence d’échantillonnage, des valeurs numériques qui permettent d’obtenir une courbe, ainsi que la table d’amplitude, c’est à dire l’intensité au cours du temps que l’on veut donner au son. Principe de la synthèse numérique. 23 ii) Notre logiciel Présentation: Ce logiciel a un seul but : valider la faisabilité de la synthèse par modulation de fréquence. Ce logiciel lit en effet un son avec différentes fréquences d'échantillonnage, selon une table de fréquences pré-calculées. Au démarrage du logiciel, vous ouvrez un son (format wav (son non compressé)) (capture n°1). Vous avez ensuite accès à une interface (capture n°2) qui vous propose de transformer votre note en une autre. Ainsi, si vous cliquez sur le bouton « + quinte », le son monte d'une quinte, c'est à dire que, si vous aviez enregistré un Do, celui-ci sera transformé en un Sol ! Ce logiciel est en réalité un logiciel de validation d'un projet plus gros, malheureusement inachevé à cause d'un problème de temps, nommé AzertyPiano. Ce logiciel visait à transformer un clavier Azerty en un clavier piano, en utilisant un seul échantillon préalablement enregistré. Il appliquerait, à la différence de TransposeNote, toutes les méthodes de la synthèse par table d'onde (attaque, bouclage de la zone de maintien, extinction...). Malheureusement, il nous sera impossible de vous en présenter une version utilisable. 24 iii) Nos résultats Ils sont encourageants ! Le son modulé est parfaitement identique à l'original et le son parfaitement conforme à ce que produit l'instrument ! ( Si l'on omet les parasites ) En revanche, Ce logiciel, contrairement au projet AzertyPiano, n'applique que le principe de la modulation de fréquence. Le son qui est lu est donc d'autant plus court que la vitesse de lecture (fréquence d’échantillonnage) est rapide. Il n'applique pas le principe du bouclage de la zone de maintien, principe de base de la synthèse utilisé par tous les amateurs et professionnels (système MIDI, entre autre...) C'est donc une aventure à poursuivre... (Mais il faut bien avouer que nous sommes en train de refaire ce que d'autre ont déjà fait, mais en bien mieux !) 25 Conclusion Connaissant la composition d’une note de musique (timbre, harmoniques...), on peut exploiter ces propriétés, afin de synthétiser des sons d’instruments. Il existe énormément de formes de synthèse, nous nous sommes intéressés en théorie aux plus simples: la synthèse additive et la synthèse numérique. C'est un sujet très riche et qui a motivé des équipes entières de chercheurs pendant des dizaines d'années. Nos résultats ne sont pas à la hauteur d’un résultat professionnel, mais ils sont néanmoins satisfaisants, comme vous pourrez le constater en essayant le CD additionnel. Cette forme de musique s’est énormément développée depuis une vingtaine d'années année avec l'essor des ordinateurs personnels. C'est l'outil de travail des compositeurs de notre siècle, car elle permet d'avoir un orchestre chez soi, et leur permet de réaliser très facilement des orchestrations. Des groupes de musique (surtout des musiciens amateurs) utilisent aussi cette technique pour compenser les instruments qu'il n'ont pas. On peut se demander si cette forme de musique n'est pas celle dont rêvait Edgar Varèse. (cf page 2) En tout cas, on s'en approche... 26 Annexes: ● Présentation de Synthèse 0.42 ● Notice d'utilisation de Synthèse 0.42 ● Biographie de Joseph Fourier ● Code source des programmes Synthèse et TransposeNote 27 28 29 30 31 Biographie de Joseph Fourier Jean-Baptiste Fourier (qu'on connaît aussi sous le nom de Joseph Fourier) est né le 21 mars 1768 à Auxerre. Il est le douzième des quinze enfants de son père. Alors qu'il n'a que 10 ans, il perd ses parents et est placé à l'école militaire d'Auxerre. Il réalise des études prometteuses en Français et en latin, mais son intérêt se porte sur les mathématiques. Il lit notamment les 6 tomes du Cours de mathématiques de Bézout. Il rentre ensuite au séminaire, mais n'a pas vraiment la vocation et il retourne en 1789 enseigner à son ancienne école à Auxerre. En 1794, il est de la première promotion de l'Ecole Normale Supérieure, où ses professeurs ont pour nom Lagrange, Laplace et Monge. Elève le plus brillant, il profite de cet excellent entourage pour s'investir beaucoup dans la recherche mathématique. En 1797, il remplace Lagrange à la chaire d'analyse et de mécanique de l'Ecole Polytechnique, bien qu'il n'ait pas encore à son actif de découverte majeure. Napoléon le nomme préfet de l'Isère, en mémoire des services qu'il lui à rendu lors de la période révolutionnaire, sans que l'on sache si Fourier lui-même désirait ce poste. C'est à Grenoble que Fourier réalise l'essentiel de ces travaux les plus importants. Son obsession est le problème de la chaleur, c'est-à-dire l'étude de l'évolution de la température d'un corps au cours du temps. De 1802 à 1807, il trouve l'équation de la propagation de la chaleur dans les corps solides, puis trouve une méthode pour la résoudre, ce qui est maintenant l'analyse de Fourier. Fourier décompose une fonction mathématique unique, mais difficile à décrire mathématiquement, en une somme infinie de fonctions en sinus et en cosinus. Il est alors plus facile de décrire au cours du temps l'évolution de chacune de ces fonctions, et de retrouver la température au temps t en refaisant la somme. Cette hypothèse audacieuse est contestée par ses contemporains Laplace, Poisson et Lagrange; ce dernier se lève même en pleine séance de l'Institut des sciences et déclare qu'il tient pour fausse la théorie de Fourier. Il faut dire que, même pour les critères de rigueur de l'époque, les conclusions de Fourier étaient hardies. Par exemple, dans un langage moderne, 32 Fourier ne s'intéresse jamais à la convergence de ses séries. Pour les anciens, ce qui les tracassait était plutôt le phénomène inverse : il leur semblait impossible qu'une superposition, même infinie, de fonctions continues, puisse donner une fonction discontinue. Malgré ces réserves, Fourier est primé par l'Institut pour son mémoire en 1812. En 1817, il est élu à l'Académie des sciences. En 1822, il devient secrétaire de la section mathématique. A ce poste, il aidera beaucoup de jeunes mathématiciens prometteurs, dont Dirichlet, Sturm ou Ostrogradsky. Pendant la fin de sa vie, il consacre beaucoup de temps à préciser ses arguments, et à débattre avec ses contemporains, notamment Biot et Poisson, qui lui contestent la priorité des découvertes! D'après: http://www.bibmath.net/bios/index.php3?action=affiche&quoi=fourier 33 Codes sources Si j'ai tenu à rajouter le code source de mon programme en annexe du dossier, c'est pour prouver que c'est réellement moi qui ai écrit ce logiciel, en publiant ce code, que le programmeur est le seul à posséder. C'est aussi pour que vous vous rendiez compte du travail que cela représente, car il n'y a aucun copier/coller ! Les amateurs de programmation pourront s'en donner à coeur joie ! Code source de synthèse #! /usr/bin/env python # -*- coding:Latin-1 -*#-------------------------------------------------------------------------------------------------# Synthese v 0,42 # # Par Cyrille Pauthenier # # Ce programme permet de reconstituer un son par synthese additive # # Distribué sous la liscence GNU - GPL # #--------------------------------------------------------------------------------------------------#Importation des differents modules... from Tkinter import * from tkSnack import * from Wsurf import * #Classe principale class main: '''Classe principale du programme synthese. Elle initialise la fenêtre ainsi que les différents modules''' def __init__(self): #Initialisation des variables global partiel self.partiel = [ '''p1''', '''p2''', '''p3''', '''p4''', '''p5''', '''p6''' '''p7''','''p8''','''p9''','''p10''','''p11''','''p12''','''p13''','''p14''','''p15''','''p16''', '''p17''','''p18''', '''p19''','''p20''','''p21''','''p22''','''p23''','''p24''', '''p25''', '''noise''', '''master''' ] global maxAmpl ampl = 300 maxAmpl = 300 partiel = self.partiel #Initialisation de la fenêtre Tk et de Snack self.main = Tk() initializeSnack(self.main) self.main.title('''Synthese -- Addition de partiaux... ;-)''') #Initialisation du son snd self.snd0 = Sound() self.snd1 = Sound() #Création du player main = self.main self.player = initPlayer(main, self.snd0) self.player.grid(row = 0, column = 0, columnspan = 3) #Création du Sonongramme self.Sonagramme = initSonagramme(self.snd0, self.snd1) self.Sonagramme.grid(row = 1, column = 0, columnspan = 3) #Création du contrôle des analyses self.analyse = initButtonsAnalyse( main , self.snd0, self.snd1) self.analyse.grid(row = 2, column = 0, columnspan = 3) 34 #Création du fourier self.fourier = initFourier(self.snd0, main ,self.snd1) self.fourier.grid( row = 0, column = 3, columnspan = 4, rowspan = 3) #Création du widget Master self.partiel[25] = initMaster(self.snd0) self.partiel[25].grid(row = 3, column = 0, rowspan = 2) #Création du widget Noise self.partiel[24] = initNoise(self.snd0) self.partiel[24].grid(row = 5, column = 0, rowspan = 2) #Création des widget des partiaux self.interval = [ 'Octave', 'Tierce', 'Quinte', 'Septieme' ] for j in range( 4 ) : for i in range( 6 ): part = self.partiel[i + ( j * 6 )] self.partiel[ i + ( j * 6 )] = initScaleBox ( partiel = part, nbPartiel = i + 1, interval = self.interval[j] ) self.partiel[i + ( j * 6 )].grid( row= j + 3, column = i+1 ) #Création des bouttons qui jouent les differents partiaux self.bouttons = initPlayPartiel(self.snd0) self.bouttons.grid(row = 7, column = 0, columnspan = 7 ) #Fin de la fenêtre self.main.mainloop() class initPlayer(Frame): '''Création du lecteur/enregistreur de l'interface''' def __init__(self, main, snd, parent=None, sound=None, *args, **kw): Frame.__init__(self) #Déclaration des variables self.main = main self.sound = snd self.main.tk.eval('package require -exact wsurf 1.8') #appel du player Wsurf global ws ws = Wsurf(self.main,title='Player',configuration='') ws.grid(row = 0, column = 0, columnspan = 3) class initMaster(Frame): '''Création du widget Master''' def __init__(self, snd): Frame.__init__(self) #Création du scale Master self.masterlb = Label(self, text = 'Master' ) self.masterlb.grid( row = 0 ) master = Scale(self, from_=1760, to=220,length=150, command= self.config) master.grid( row = 1 ) master.set(440.0) def config (self, masterFreq): for i in range ( 4 ): interval = [ 0, 5, 7, 10 ] octaveFreq = int(masterFreq)*(1.059463094)**interval[i] for j in range ( 6 ): partiel[j + ( i * 6 )].s1.delete(0, END) partiel[j + ( i * 6 )].s1.insert(0, int(octaveFreq * 2 ** j)) partiel[j + ( i * 6 )].config() class initNoise(Frame): '''Création du widget Noise''' def __init__(self, snd): Frame.__init__(self) #Initialisation des variables self.chk = IntVar() 35 #Initialisation du son self.snd = Sound() self.filt = Filter('generator', 440.0) #Création du widget Noise Checkbutton(self, text = '''Bruit Blanc''', variable = self.chk, command = self.config).grid(row = 2) Scale(self, from_=32767, to=0, length=150, command= self.noise).grid( row = 3) def noise(self, ampl): type = "noise" shape = 0.0 self.filt.configure(440, ampl, shape, type, -1) class initPlayPartiel(Frame): '''Création de la classe qui interroge les paramètres de chacun des curseurs, et joue les partiels adéquates''' def __init__(self, _snd): Frame.__init__(self) #Création des bouttons du joueur de partiel Button(self, bitmap='snackPlay', command=self.play).grid(row=0,column = 0, sticky= E) Button(self, bitmap='snackStop', command=self.stop).grid(row=0,column = 1, sticky= W) def play(self): #Joue les differents partiaux for i in range ( 25 ): partiel[i].snd.stop() if partiel[i].chk.get(): partiel[i].snd.play(filter=partiel[i].filt) def stop(self): #Arrête de jouer les differents partiaux for i in range ( 25 ): partiel[i].snd.stop() class initSonagramme(Frame): '''Création du Widget Sonagramme''' def __init__(self, snd0, snd1): Frame.__init__(self) #Déclaration des variables self.snd0 = snd0 #Création du Sonagramme self.c = SnackCanvas(self, height=150, width=400, bg='black') self.c.pack() self.c.create_spectrogram(1,1,sound=self.snd0, width=400,height=150, pixelspersec=200) class initButtonsAnalyse(Frame): '''Création des bouttons qui jouent et enregistrent''' def __init__(self, main, snd0, snd1): Frame.__init__(self) self.sndSwitch = 0 self.main = main self.snd0 = snd0 self.snd1 = snd1 self.pack() Tkinter.Button(self, image='snackOpen', command=self.load).pack(side='left') Tkinter.Button(self, image='snackSave', command=self.save).pack(side='left') Tkinter.Button(self, bitmap='snackPlay', command=self.play).pack(side='left') Tkinter.Button(self, bitmap='snackRecord', fg='red',command=self.record).pack(side='left') Tkinter.Button(self, bitmap='snackStop', command=self.stop).pack(side='left') Tkinter.Button(self, text='''FFT''', command = self.gigantF).pack(side = 'left') Tkinter.Button(self, text='''Set 100%''', command = self.percent).pack(side = 'left') self.consReinit = Tkinter.Button(self, text='''Switcher -> Son2''', command = self.preserve) self.consReinit.pack(side = 'left') def preserve(self): if self.sndSwitch == 0: self.sndSwitch = 1 self.consReinit.configure( text = '''Switcher -> Son1''' ) else: self.sndSwitch = 0 self.consReinit.configure( text = '''Switcher -> Son2''' ) 36 def percent(self): if self.test(): global maxAmpl maxAmpl = pxy print 'new maxAmpl', maxAmpl def test(self): try: _pxy = pxy return 1 except: return 0 def gigantF(self): #Lance le fourier geant fourierGeant = gigantFourier(self.main, self.snd0, self.snd1) def save(self): #Enregistre le son dans un fichier wav file = self.main.tk.call('eval', 'snack::getSaveFile') if self.sndSwitch == 0: self.snd0.write(file) else: self.snd1.write(file) def load(self): #Charge le fichier son file = self.main.tk.call('eval', 'snack::getOpenFile') self.snd0.read(file, progress='snack::progressCallback') ws.openFile(file) def play(self): #Joue le son if self.sndSwitch == 0: self.snd0.play() else: self.snd1.play() def stop(self): #Stop l'enregistrement du son ws.stop() self.snd0.stop() self.snd1.stop() def record(self): #Lance l'enregistrement du son if self.sndSwitch == 0: self.snd0.record() else: self.snd1.record() class gigantFourier: def __init__(self, main, snd0, snd1): #Initialisation des variables self.main = main self.snd0 = snd0 self.snd1 = snd1 #Configuration de la fenêtre du fourier self.fourier = Toplevel(self.main) #quitter et set 100% Button(self.fourier, text='Fermer', command=self.fourier.destroy).grid(row=0, columnspan = 2, column = 0, sticky=W) Button(self.fourier, text='''Set 100%''', command = self.percent).grid(row=0, columnspan = 2, column = 1, sticky=E) #Création du canvas snack et des transformées de fourier self.fourierGeant = SnackCanvas(self.fourier, height=600, width=800) self.fourierGeant.create_section(0, 0, sound=self.snd0, start=6000, end=6100, height=600, width=800) self.fourierGeant.create_section(0, 0, sound=self.snd1, start=6000, end=6100, height=600, width=800) #initialisation du scruteur d'évenement self.fourierGeant.bind('<Button 1 >', self.pointeur ) 37 #Initialisation des lignes et du texte self.fourierGeant.line2 = self.fourierGeant.create_line(0,0,0,0,fill = 'green') self.fourierGeant.line1 = self.fourierGeant.create_line(0,0,0,0, fill = 'blue') self.fourierGeant.create_text(( 400 , 10 ), text = 'Cliquez sur le graphe') self.fourierGeant.grid(row=1, columnspan = 2, column = 0) def pointeur(self, event): #Formules mathématiques qui font l'échelle des curseurs global hz, pxy hz = event.x * 10 pxy = 600 - event.y ampl = (600-event.y)*100/ maxAmpl #Affiche le message self.message = '''Fréquence : ''' + str(hz) + ' Hz; Amplitude : ' + str(ampl) + ''' %''' self.fourierGeant.coords(self.fourierGeant.line1, event.x,25, event.x, 600) self.fourierGeant.coords(self.fourierGeant.line2, 0,event.y,800,event.y) #Place le rectangle dans lequel est écrit le texte self.fourierGeant.rect = self.fourierGeant.create_rectangle(200,1,600,20,fill='white') self.fourierGeant.text = self.fourierGeant.create_text( ( 400 , 10 ), text = self.message) def percent(self): if self.test(): global maxAmpl maxAmpl = pxy print 'new maxAmpl', maxAmpl class initFourier(Frame): '''Création du petit graphe Fourier''' def __init__(self, snd0, main, snd1): #Configuration de l'héritage Frame.__init__(self) #Initialisation des variables self.snd0 = snd0 self.snd1 = snd1 self.main = main #Création du Canvas avec Fourier self.canvas = SnackCanvas(self, height=300, width=500, bg = 'light grey') self.canvas.create_section(0, 0, sound=self.snd0, start=6000, end=6100, height=300, width=500) self.canvas.create_section(0, 0, sound=self.snd1, start=6000, end=6100, height=300, width=500) #Texte par défault self.message = 'Cliquez sur le graphe' #initialisation du scruteur d'évenement self.canvas.bind('<Button 1 >', self.pointeur ) #Initialisation des lignes et du texte self.line2 = self.canvas.create_line(0,0,0,0,fill = 'green') self.line1 = self.canvas.create_line(0,0,0,0, fill = 'blue') self.text = self.canvas.create_text( ( 250 , 10 ), text = self.message) #Pack self.canvas.pack() def pointeur(self, event): #Formules mathématiques qui font l'échelle des curseurs global hz, pxy hz = event.x * 16 pxy = 300 - event.y ampl = (300-event.y)*100/ maxAmpl #Affiche le message self.message = '''Fréquence : ''' + str(hz) + ' Hz; Amplitude : ' + str(ampl) + ''' %''' self.canvas.coords(self.line1, event.x,25, event.x, 300) self.canvas.coords(self.line2, 0,event.y,500,event.y) #Place le rectangle dans lequel est écrit le texte self.rect = self.canvas.create_rectangle(100,1,400,20,fill='white') 38 self.text = self.canvas.create_text( ( 250 , 10 ), text = self.message) class initScaleBox(Frame): '''Initialisation de la frame des deux curseurs''' def __init__(self, partiel = 'p1', nbPartiel = 1, interval = 'Octave' ): Frame.__init__(self) #Initialisations des variables self.chk = IntVar() self.partiel = partiel #Initialisation du son self.snd = Sound() self.filt = Filter('generator', 440.0) #Initialisation de l'entête Label(self, text = nbPartiel ).grid(row=0, column = 1) Checkbutton(self, text = interval+''' n°''', variable = self.chk, command = self.config).grid(row = 0, column = 0) #initialisation du champs d'entré n°1 self.s1 = Entry(self,width=14) self.s1.bind('<Return>', self.validate) self.s1.grid(row=2, column = 0, columnspan=2, padx = 15) #initialisation du champs d'entré n°2 self.s2 = Entry(self,width=14) self.s2.bind('<Return>', self.validate) self.s2.grid(row=3, column = 0, columnspan=2, padx = 15) #Création du boutton valider self.boutton = Button(self, text='valider', command=self.validate) self.boutton.grid(row=4, column=0, columnspan=2) #Initialisation du volume de la sinusoïde par défault self.s2.insert(0, 20000) def config(self,a = -1): #Configuration de la sinusoïde type = "sine" shape = 0.0 if a == -1: self.play = 0 self.filt.configure(self.s1.get(), self.s2.get(), shape, type, -1) def validate(self): #valide les modification au widget s1 et s2 if self.s1.get() > 20000 and self.s2.get() > 30000: self.config() else: self.s1.delete(0, END) self.s2.delete(0, END) self.s1.insert(0, 440.0) self.s2.insert(0, 20000) #--------------------------------------------------------------------------------------------------# Si le programme est éxécuté seul... #--------------------------------------------------------------------------------------------------if __name__ == '__main__': a = main() Code source de TranposeNote: #! /usr/bin/env python # -*- coding:Latin-1 -*import sys, os, time from Tkinter import * from tkSnack import * def autrenom(): 39 son.configure( frequency = bitrate[0] ) son.play(filter=map1) def dt1(): son.configure( frequency = bitrate[1] ) son.play(filter=map1) def dt2(): son.configure( frequency = bitrate[2] ) son.play(filter=map1) def dt3(): son.configure( frequency = bitrate[3] ) son.play(filter=map1) def dt4(): son.configure( frequency = bitrate[4] ) son.play(filter=map1) def dt5(): son.configure( frequency = bitrate[5] ) son.play(filter=map1) def dt6(): son.configure( frequency = bitrate[6] ) son.play(filter=map1) def dt7(): son.configure( frequency = bitrate[7] ) son.play(filter=map1) def dt8(): son.configure( frequency = bitrate[8] ) son.play(filter=map1) def dt9(): son.configure( frequency = bitrate[9] ) son.play(filter=map1) def dt10(): son.configure( frequency = bitrate[10] ) son.play(filter=map1) def dt11(): son.configure( frequency = bitrate[11] ) son.play(filter=map1) def dt12(): son.configure( frequency = bitrate[12] ) son.play(filter=map1) root = Tk() root.title('Transposition de son par modulation de fréquence') initializeSnack(root) filename = root.tk.call('eval', 'snack::getOpenFile') son = Sound() map1 = Filter('map', 1.0) son.config(file=filename) b1 = Button(root, text='''Hauteur normale''', command = autrenom) b1.pack(side = 'bottom') Button(root, text='+ Seconde mineure', command = dt1).pack(side = 'bottom') Button(root, text='+ Seconde Majeure', command = dt2).pack(side = 'bottom') Button(root, text='+ tierce mineure', command = dt3).pack(side = 'bottom') Button(root, text='+ tierce Majeure', command = dt4).pack(side = 'bottom') Button(root, text='+ quarte', command = dt5).pack(side = 'bottom') Button(root, text='+ quarte augmentée', command = dt6).pack(side = 'bottom') Button(root, text='+ quinte', command = dt7).pack(side = 'bottom') Button(root, text='+ quinte augmentée', command = dt8).pack(side = 'bottom') Button(root, text='+ sixte augmentée', command = dt9).pack(side = 'bottom') Button(root, text='+ semptième mineure', command = dt10).pack(side = 'bottom') Button(root, text='+ septième Majeure', command = dt11).pack(side = 'bottom') Button(root, text='+ octave', command = dt12).pack(side = 'bottom') bitrate = [ 44100, 46722, 49500, 52444, 55562, 58866, 62366, 66075, 70040, 74166, 78576, 83249, 88200 ] root.mainloop() 40 Bibliographie Pour la réalisation de ce TPE, nous avons utilisé de nombreux ouvrages et sites internet. En voici les références: ● L'audionumérique de Curtis Road édition Dunod ( une bible de 700 pages sur la synthèse sonore faite par un pionnier de la Musique Assisté par Ordinateur, MAO ) ● Le son musical de John Piece édition Pour la science, Belin AudioFanzine ( le site de référence pour les musicien qui font de la MAO ) Nous avons utilisé de nombreux dossiers référencés sur cette page: http://fr.audiofanzine.com/apprendre/dossiers/ le site de l'INRP ( Institut National de Recherche Pédagogique ) http://www.inrp.fr/Acces/JIPSP/phymus/m_techni/synthfm/synthfm.htm ● Un site sur la Transformée de Fourier http://perso.wanadoo.fr/f6crp/elec/ca/fourier.htm ● Des sites sur la synthèse musicale http://perso.wanadoo.fr/b.leconte/sylvain/differenttype.htm http://www.macmusic.org/articles/view.php/lang/FR/id/22/ ?vRmtQjpAznOhMaS=1 41 Synthèses personnelles ● Synthèse personnelle de Julie Schuhmacher ● Synthèse personnelle de Thibaut Bardon ● Synthèse personnelle de Cyrille Pauthenier ● Synthèse personnelle de Thibault Péra 42 Synthèse personnelle de Julie Schuhmacher Réussir à synthétiser un son implique de connaître sa composition. C’est pourquoi nous avons jugé essentiel de commencer par cette partie. Le timbre, la répartition des harmoniques ainsi que les caractères acoustiques du son sont les critères que nous devions prendre en compte pour tenter de synthétiser un son. Et bien sûr en deuxième partie nous avons abordé la synthèse en elle-même. Pour nous aider, nous sommes allés à la cité des sciences. Il y a différentes façons de synthétiser un son et nous avons choisi la synthèse additive et la synthèse numérique qui nous paraissaient les plus abordables pour notre niveau. La synthèse additive permet donc d’ajouter plusieurs harmoniques qui composent un son et nous avons réussi à reproduire un son de flûte traversière grâce a quatre d’entre elles. L’ajout d’autres harmoniques aurait peut être altéré ce son à cause des frottements. La synthèse numérique quant à elle fonctionne grâce à un table d’amplitude (ce qui représente l’intensité que l’on veut donner au son pendant la temps que durera la note) d’une table d’onde et d’une fréquence d’échantillonnage. Nous n’avons pas fait d’expérience de ce genre puisque nous n’avions pas le matériel nécessaire, mais par contre nous avons testé cette synthèse grâce à un magnétophone qui, avec le bouton marche rapide, reproduisait l’effet de changement de la fréquence d’échantillonnage. La synthèse d’un son n’est pas une chose facile. Aussi je trouve que nos résultats, bien que moyens, sont plutôt satisfaisants. Etant musicienne, j’avais déjà quelques connaissances sur ce sujet et c’est en partie pour cela que ce thème me semblait intéressant à aborder .C’est aussi pourquoi j’avais proposé comme thème assez large la musique. Ces connaissances nous ont permis d’éviter quelques recherches qui auraient pu être longues, comme les différents types d’instruments (à cordes frappées pincées…), mais nous avons quand même dû chercher des informations sur le théorème de Fourier et sur les différentes synthèses. De plus pour les premières expériences sur les sonagrammes nous avions à disposition ma flûte traversière permettant d’avoir des échantillons de bonne qualité plutôt que d’avoir à utiliser des échantillons pris sur internet. L’oreille musicale nous a aussi aidés lors de la recherche des fréquences et pour essayer de vérifier si un des sons d’origine était le même que celui synthétisé. N’ayant pas de connaissances suffisantes en programmation je n’ai pas pu aider à sa réalisation mais par contre j’ai pu m'investir dans la synthèse elle-même. 43 Synthèse personnelle de Thibaut Bardon Le groupe étant constitué de deux musiciens, ils ont tout naturellement voulu travailler sur le son. Nous avons donc décidé de trouver comment synthétiser une note de musique. Pour cela on a tout d’abord cherché à analyser une note de musique, à définir les variations entre différents instruments, et enfin à synthétiser des notes de musique. A l’aide d’un dispositif comprenant un GBF (générateur de basse fréquence), un oscilloscope, une enceinte, un microphone, une flûte et un accordeur électronique, nous avons déterminé la fréquence correspondant à chaque note. J’ai ensuite à l’aide d’un graphique des valeurs,déterminé la loi mathématique reliant toutes ces fréquences : il faut multiplier une fréquence par 21/12 pour obtenir la fréquence du demi-ton supérieur. A l’aide d’un outil logiciel de transformée de Fourier rapide (FFT), nous avons obtenu le spectre de quelques notes de flûte traversière, le spectre montre en abscisse les fréquences et en ordonnée l’amplitude de ces fréquences. Nous avons observé plusieurs « pics »: le « pic » le plus important qui correspond à la fréquence fondamentale de la note jouée et d’autres « pics » qui sont des multiples entiers de la fréquence fondamentale appelés harmoniques. Nous avons comparé les sonagrammes de différents instruments photographiés à la cité des sciences de LaVillette : l’intensité des différents harmoniques et le moment où ces harmoniques apparaissent ainsi que leur évolution au cours du temps, différents pour chaque instrument. C’est cela qu’on appelle le timbre, chaque instrument a donc son propre timbre qui le caractérise. Nous avons ensuite synthétisé des sons par synthèse additive. Théoriquement il s’agit de la forme de synthèse la plus simple. Elle se base sur la réciproque du théorème de Fourier (« tout signal périodique complexe peut être décomposé en une somme de signaux périodiques simples»). La synthèse additive est donc l’application de cette réciproque puisqu’elle se propose d’additionner plusieurs sinusoïdes simples pour obtenir un son complexe. J’ai donc passé les 6 dernières séances à essayer de synthétiser des sons à l’aide de notre logiciel Synthèse (Je n’ai pas participé directement à l’écriture du logiciel mais j'y ai contribué en proposant des idées comme la possibilité de superposer 2 FFT ou bien les champs d’entrées). Le logiciel joue le rôle de 24 GBF permettant ainsi de jouer ensemble jusqu’à 24 sinusoïdes dont je peux choisir la fréquence et l’amplitude. Les formules permettant de calculer les amplitudes de ces fréquences étant beaucoup trop compliquées pour moi, j’ai essayé de « calquer » la FFT du son d’origine en y superposant la FFT du son que j’essaye de synthétiser. Les pixels de l’écran limitant la précision des mesures de fréquences et d’amplitudes, mes résultats sont plus ou moins proches du son de base mais jamais de très bonne qualité. Malgré notre déception, nous avons décidé de tenter de nouvelles expériences avec une toute autre forme de synthèse sonore : la synthèse numérique. Celle-ci numérise d’abord un son, c’est à dire qu’elle transforme l’onde périodique en une somme finie de valeurs. Pour cela on note les valeurs que prend l’onde sonore durant une période : c’est l’échantillonnage. Le nombre de mesures prises par seconde correspond à la fréquence d’échantillonnage et la durée entre deux mesures la période d’échantillonnage. La fréquence d’échantillonnage doit être au moins égale à deux fois la fréquence la plus grande. Si on fait varier cette fréquence 44 d’échantillonnage lors de la relecture des échantillons, on modifie la hauteur du son. Par exemple en multipliant par deux la fréquence d’échantillonnage à la relecture d’un « la », j’obtiens ce même « la » à l’octave au dessus, donc plus aigu. C’est ce phénomène qu’on peut observer lors d’une « avance rapide » sur un magnétophone, on joue la même bande qu’en « lecture » mais le son est plus aigu et plus court. C’est l’inconvénient de cette synthèse, plus on augmente la fréquence d’échantillonnage, plus le son est court. Mais on peut y remédier en passant le son en boucle. L’avantage certain de cette synthèse est qu’elle conserve toutes les caractéristiques de l’instrument (le timbre). Nous avons expérimenté cette forme de synthèse à l’aide de notre logiciel TransposeNote. Les résultats obtenus sont très encourageants et correspondent aux sons que l’instrument aurait produit. Lors de mes recherches j’ai appris que cette forme de synthèse était celle utilisée par les pianos électroniques (synthétiseurs). Ainsi nous avons appris qu’un son dépendait de beaucoup de paramètres (harmoniques, timbre de l’instrument…), dont nous avons tenu compte lors de nos synthèses. Nous avons donc atteint l’objectif que nous nous étions fixé de synthétiser des notes de musique. La synthèse musicale s’est énormément développée à cause des nombreuses possibilités qu’elle offre, comme la création d’orchestres ou l’expérimentation numérique de nouveaux instruments avant de les réaliser. Notre prochain objectif sera donc de créer de toutes pièces un synthétiseur. 45 Synthèse personnelle de Cyrille Pauthenier La synthèse musicale est une discipline qui m'a toujours passionné. En effet, j'ai essayé, il y a deux ans, de me mettre à la MAO, Musique Assisté par Ordinateur. En effet, je suis claveciniste et pianiste de jazz. Il est difficile d'avoir tout les jours un accompagnement. J'ai donc exploré la voie de la musique numérique. C'est une discipline passionnante. Comme, dans l'équipe, il y a des musiciens, j'ai proposé ce sujet. Comment synthétiser un son ? Tout d'abord, nous étudierons comment est construite une note de musique, puis nous essayerons d'exploiter ces propriétés afin de la synthétiser... La répartition des notes et des fréquences ne se fait pas de manière linéaire comme on pourrait le croire. Nous avons donc fait une expérience qui nous a fourni un graphe dont on a déduit, à l'aide d'une démonstration mathématique, la formule qui décrit l'évolution de la la fréquence en fonction de la note: f(x) = ω ( 21/12 ) n ou ω est la fréquence de la note fondamentale ( en musique on se base sur le La 440 Hz ) et n le numéro de la note en prenant pour zéro la note prise pour fondamentale ( Ainsi le n de Do = 4 si on prend pour référence ω = 440 Hz de n de La = 0 ) Lorsqu'on décompose ( voir plus loin, la FFT ) un son, on observe qu'il est composé de nombreuses sinusoïdes. En musique, on parle d'harmonique, en mathématiques de partiels. Chaque harmonique est multiple de la fondamentale ( hauteur principale du son ). Ce qui donne ( si la fondamentale est un la 440 Hz ): La (440 Hz), La (une octave au dessus) ( 880 Hz ), Mi ( 1320 Hz ), La ( 1760 Hz ), Do ( 2200 Hz ), Mi ( 2640 Hz ), La ( 3520 Hz ). Chaque instrument, pour une même note possède donc les harmoniques ( de manière théorique ). Qu'est ce qui fait donc la différence entre le son d'une clarinette et celui d'un piano ? C'est, en réalité l'amplitude de chacun de ces harmoniques qui fait cette différence de son, propre à chaque instrument. On appelle cette caractéristique le timbre de l'instrument. Nous avons vérifié cela grâce à des expériences... Avant de continuer notre exposé, il faut définir certains termes. L'attaque est le début de la note, lorsque le marteau frappe la corde, l'instrumentiste souffle. Le maintient est le moment où l'instrument atteint sa « vitesse de croisière ». L'extinction est le moment où le son de l'instrument disparaît, que l'étouffoir étouffe la corde ou que l'instrumentiste arrête de souffler. Les battements sont un phénomène acoustique qui apparaît lorsque deux fréquences très proche “frottent”, ce qui entraîne des discontinuités dans le son obtenu. Afin de comprendre la constructions d'un son, nous utilisons trois types d'outils. Tout d'abord, l'oscillogramme permet d'avoir une représentation graphique de l'onde sonore. On constate deux choses: en premier lieu l'oscillogramme est différent d'un instrument à l'autre, et évolue au cour du temps. Deuxièmement, c'est une onde périodique. Il existe donc peut être une fonction mathématique pour la la décrire. Le deuxième outil est l'application de cette constatation. Il est l'oeuvre d'un mathématicien français nommé Joseph Fourier qui énonça un théorème fort intéressant: “ toute onde périodique peut être décomposée en une somme de sinusoïdes ”. Ses travaux ont été modifiés afin d'adapter ce théorème au son: C'est la Transformée de Fourier rapide. ( FFT en anglais ). Elle nous fournit un graphe où chaque sommet de “pic” représente une sinusoïde. On y lit en abscisse la fréquence ( en Hertz ) et en ordonné l'amplitude ( en unité arbitraire ). Le troisième outil découle du deuxième. Il se nomme Sonagramme ( ou spectrogramme ). L'amplitude des harmoniques évoluent au cour du temps, ce que ne permet pas de rendre la transformée de Fourier rapide, qui fixe une image du son à un instant T. A l'usage des musiciens à été créé le sonagramme. Dans ce graphe, le temps est en abscisse et la fréquence en ordonnée. L'amplitude de l'harmonique est marquée par l'épaisseur et la noirceur du trait qui la représente. Cet outil est plus pratique à utiliser, donne une bonne image de l'évolution du son, mais il est beaucoup moins précis en terme de mesure. Dans cette grande partie, ma contribution au TPE est essentiellement de la recherche documentaire, ainsi que la proposition des deux expériences sur les notes et les fréquences, ainsi que sur les battements. Mais je n'étais pas seul ! Cette recherche à fortement contribué à la réflexion de la deuxième partie, et m'a été indispensable pour la réalisation des deux logiciels. 46 Il existe énormément de formes de synthèse sonores. nous en avons retenu 5 grandes familles: La synthèse additive, que nous avons étudiée, et dont on aura la définition plus tard; la synthèse soustractive, qui consiste à prendre un son très riche en harmonique et à enlever successivement les inutiles grâce à une série de filtres “passe-bas”; la synthèse granulaire, qui consiste à ajouter des “grains sonores”, afin de recomposer le son; la synthèse par modulation de fréquence d'échantillonnage et par table d'onde, dont on aura une définition plus tard et la synthèse par modèles physiques, qui consiste à simuler l'ensemble de l'instrument pour en déduire le son produit. La synthèse additive est en quelque sorte la réciproque du théorème de Fourier. Si un son peut être décomposé en une somme de sinusoïde, alors une somme de sinusoïde peut recomposer un son. C'est très simple sur le principe mais en réalité, c'est l'une des formes le plus compliquées à mettre en oeuvre ! Pour tester cette forme de Synthèse j'ai créé un logiciel capable de décomposer un son, munis de 24 oscillateur numériques paramétrables, pour le recomposer. Pourquoi avoir développé un logiciel ? Tout simplement parce qu'il n'en existe pas sur le “marché” qui font de la “synthèse additive”. Si j'ai développé seul ce logiciel, les autres m'ont été d'une grande aide. En effet, je n'ai pratiquement jamais manipulé ce logiciel, et ne faisais que les vérifications nécessaires au débugguage. Ce sont mes coéquipiers qui m'ont fait part de leurs idées (superposition des graphes, champs d'entrée aux lieux de curseurs). Le développement d'une telle application à été fait en Python, un langage que je maîtrise, et à pris environ 100 heures (c'est une estimation raisonnable...). Les résultats ne sont pas excellents: nous avons réussi à recomposer des sons simples comme des flûtes, mais nous n'avons pas obtenu des résultats satisfaisants pour les instruments possédants de nombreux harmoniques qui battent, et dont le son évolue de manière significative au cours du temps. Les raisons de ce demi-échec sont principalement celles-ci : la FFT nous fournit une image fixe du son, notre logiciel n'en fixe pas toutes les subtilités, et de nombreux fréquences parasites viennent gêner la synthèse... La synthèse par modulation de la fréquence d'échantillonnage et par table d'onde est une forme de synthèse qui exploite les fabuleuses propriétés de la musique numérique. L'ordinateur ne peut pas stocker une onde sous sa forme brute. Il est obligé de recourir à un découpage du signal. Il enregistre à une fréquence régulière appelée fréquence d'échantillonnage l'amplitude de l'onde sonore, et l'on stocke ces mesures dans une mémoire. Cette opération est assurée par le CAN ( Convertisseur Analogique Numérique ). La transformation de cette “onde numérique” en une onde sonore est assuré par le CNA ( Convertisseur Numérique Analogique ). Celui ci lit les échantillons à la fréquence d'échantillonnage utilisée pour l'enregistrement et lisse le signal. L'intérêt de cette forme de synthèse est qu'elle permet de synthétiser toutes les notes d'instrument à partir d'un seul échantillon, en jouant sur sa relecture. Si on applique à la fréquence d'échantillonnage la formule démontrée 1/12 n précédemment (f(x) = ω ( 2 ) ), on peut obtenir n'importe quelle note à partir d'un seul enregistrement. Mais modifier la hauteur ne suffit pas, il faut aussi modifier la longueur de la note. Pour cela, on découpe l'échantillon en 3 parties, qu'on lit successivement: premièrement l'attaque, puis une petite portion de la zone de maintien est lue en boucle puis, l'extinction. On applique aussi une enveloppe d'amplitude pour simuler l'évolution de l'instrument qui décroît parfois au cour du temps... C'est ainsi que l'on procède pour 99% de la musique synthétique ! Pour expérimenter cette forme de synthèse, j'ai rapidement mis au point un petit programme nommé TransposeNote qui permet de lire un échantillon à des fréquences d'échantillonnages différentes selon des tables pré-calculés. Pour ce logiciel, j'ai utilisé les mêmes méthodes de programmation et les mêmes modules que pour le précédent: Synthèse. Ce logiciel est en fait une étape de test d'un programme plus important nommé AzertyPiano, qui n'a pas vu le jour, faute de temps. Les résultats obtenus sont encourageants ! En effet le son modulé et parfaitement conforme au son que produirait l'instrument. Mais ce logiciel n'applique pas le principe de bouclage de la table d'onde ni de la modulation d'amplitude comme aurait du le faire AzertyPiano. Ainsi, nous avons pu voir qu'il existait de nombreuses façon de synthétiser un son, et combien c'est une discipline compliquée. On comprend pourquoi l'essor de cette forme de musique n'a réellement commencé qu'à partir des années 90, avec le développement des ordinateurs personnels. Mais la synthèse numérique est devenue un outil indispensable au compositeur et au musicien moderne. Ce TPE m'a permis d'approfondir mes connaissances en ce domaine, et je m'y suis profondément investi, par la programmation mais aussi par la recherche documentaire. Mon ambition est de devenir chercheur en physique, et on peut dire que le TPE m'a fournit un cadre pour mes premières expériences... 47 Synthèse personnelle de Thibault Péra Ce n’est pas moi qui ai eu l’idée du sujet mais lorsque nous avons commencé à nous y intéresser, j’ai tout de suite su qu’il allait me plaire. Avant le commencement de ce TPE, mes compétences en musique étaient très réduites et je ne connaissais ni la signification d’une octave ni d’un harmonique. Finalement après que les membres de mon groupe m’aient expliqué les bases de la musique, j’ai pu pleinement comprendre ce que nous allions faire. Notre problématique était de savoir comment synthétiser une note de musique. Ainsi on va voir synthétiquement l’activité du groupe durant ces semaines de travail et tenter de répondre dans la conclusion à la problématique posée. On a commencé par analyser la fréquence de chaque note de la gamme pour déterminer s’il y avait un lien entre elles. Les harmoniques font aussi partie d’un son. En effet chaque note possède ses harmoniques. On a expliqué la notion de timbre puis observé des sonagrammes. A partir de cela, je peux maintenant comprendre comment marchent les pianos électriques par exemple. Nous avons étudié différentes méthodes de la synthèse sonore, la synthèse soustractive, la synthèse granulaire, la synthèse par modulation et la synthèse par modèle physique. Nous arrivons ensuite à la partie du travail dont j'étais chargé. Lors des séances, ma principale activité a été de synthétiser des sons préalablement enregistrés grâce à la méthode de la synthèse additive et nous avons pu constater que ce n’était pas chose facile. C’est ainsi que j’ai rédigé cette partie en m’aidant principalement du théorème de Fourier et de sa réciproque. Pour moi, c’est un point important de ce TPE puisque de là on s’intéresse à la synthèse d’un son. Cette fois-ci, j’ai pu m’appuyer sur les résultats de nos expériences pour améliorer cette partie. En effet nos expériences m’ont permis de constater que l’on pouvait reformer des sons uniquement en ajoutant des sinusoïdes simples. Ensuite un des membres de l'équipe s’est chargé de la partie sur la synthèse numérique. En conclusion je peux dire que ce TPE m’a permis de voir différemment les sons que j’entendais. Je connais maintenant plus en détails les bases de la musique numérique. Ainsi je peux répondre à la problématique et dire qu’il y a beaucoup de formes de synthèse sonore, dont celle que nous avons étudiée. Pour synthétiser une note de musique, il faut tout d’abord connaître comment elle est construite et choisir la meilleure méthode de synthèse à utiliser (additive, soustractive, granulaire, modèle physique, modulation…) 48