TIPE synthese sonore: analyse/resynthese additive par temps fréquence
- 181 réponses
- 10 participants
- 20 506 vues
- 12 followers
abel_b
60
Posteur·euse AFfranchi·e
Membre depuis 19 ans
Sujet de la discussion Posté le 16/12/2005 à 19:26:51TIPE synthese sonore: analyse/resynthese additive par temps fréquence
Bonjour à tous,
Voilà, je dois présenter un TIPE sur la synthèse sonore analogique en vue de passer des concours des grandes écoles.
Je voudrais savoir si certains pouvaient m'indiquer des livres (ou site si ça existe) qui approfondissent ce thème (au moins des auteurs).
Ma difficulté est de comprendre le principe de la synthese FM (pas du pt de vue mathematique mais du pt de vue réalisation). En fait j'aimerais savoir si on pouvait me donner de quoi elaborer une simulation de montage qui utiliserait le principe de la FM.
De même je cherche une idée ou quelques conseils pour realiser un montage qui simule une synthèse AM (multiplieur etc...) car je connais bien le principe mais je vois pas quel algorithme appliquer pr avoir des sons semblables à ceux d'instruments de musique par exemple.
Le but final est de faire une experience au labo de physique et de faire une analyse spectrale du signal emis (par exemple le son d'une guitare) et de le comparer au signal qu'on a voulu imiter.
Aussi, je voudrais savoir si qqun pouvait m'indiquer un site où l'on peut trouver l'analyse spectrale de différents instruments de musique (peu importe lesquels)
Merci à vous.
Voilà, je dois présenter un TIPE sur la synthèse sonore analogique en vue de passer des concours des grandes écoles.
Je voudrais savoir si certains pouvaient m'indiquer des livres (ou site si ça existe) qui approfondissent ce thème (au moins des auteurs).
Ma difficulté est de comprendre le principe de la synthese FM (pas du pt de vue mathematique mais du pt de vue réalisation). En fait j'aimerais savoir si on pouvait me donner de quoi elaborer une simulation de montage qui utiliserait le principe de la FM.
De même je cherche une idée ou quelques conseils pour realiser un montage qui simule une synthèse AM (multiplieur etc...) car je connais bien le principe mais je vois pas quel algorithme appliquer pr avoir des sons semblables à ceux d'instruments de musique par exemple.
Le but final est de faire une experience au labo de physique et de faire une analyse spectrale du signal emis (par exemple le son d'une guitare) et de le comparer au signal qu'on a voulu imiter.
Aussi, je voudrais savoir si qqun pouvait m'indiquer un site où l'on peut trouver l'analyse spectrale de différents instruments de musique (peu importe lesquels)
Merci à vous.
Choc
6968
Membre d’honneur
Membre depuis 22 ans
61 Posté le 16/05/2006 à 16:42:59
Le chevauchement dez fenetres c'est un truc qui me semble assez courant (mais bon je suis pas trop trop callé)
Site personnel: https://www.enib.fr/~choqueuse/
abel_b
60
Posteur·euse AFfranchi·e
Membre depuis 19 ans
62 Posté le 16/05/2006 à 21:55:46
En fait ce que je me demandais c'etait si par exemple on veut utiliser l'algo de mcauley-quatieri, ca risque pas de poser problème quand on voudra interpoler une enveloppe temporelle ?? car y a des pics qui vont etre comptés 2 fois non ?
Choc
6968
Membre d’honneur
Membre depuis 22 ans
63 Posté le 16/05/2006 à 22:00:33
Non non t'inquietes..
tu fais ton mcaulay quartieri, apres t'as juste a connaitre l'echelle temporelle (qui va etre modifiée).
j'ai deja implementé mc aulay quartieri, si t'as des problemes je suis la, postes sur ce thread et je te repondrais
tu fais ton mcaulay quartieri, apres t'as juste a connaitre l'echelle temporelle (qui va etre modifiée).
j'ai deja implementé mc aulay quartieri, si t'as des problemes je suis la, postes sur ce thread et je te repondrais
Site personnel: https://www.enib.fr/~choqueuse/
abel_b
60
Posteur·euse AFfranchi·e
Membre depuis 19 ans
64 Posté le 17/05/2006 à 17:58:03
- J'ai commencé mon prog. J'ai donc effectué un fenetrage (rectangulaire) de sorte à empecher les "chevauchements" (car en fait je vois pas comment gérer car je connais pas trop les consequences étant donné que pour moi la TFD (la TF tout court d'ailleurs) relève de la recette de cuisine.
Là je suis en train de faire un truc pr detecter les pics (maximums locaux) et les indexer dans une liste (tout en supprimant les pics trop petits,et ceux crées à causes des lobes du sinc), j'ai aussi fait un truc pr accéder à l'enveloppe temporelle (en calculant l'energie moyenne dans chaque fenetre) et je trouve bien un truc du type ADSR .
- J'ai encore un petit problème : en fait quand on fait la TFD à court terme, je ne comprend pas pourquoi on divise par le nombre total d'echantillon et non par le nombre d'echantillons dans une fenetre. Ils parlent pour cela d'un "surechanillonnage" et donc il faut rajouter des "0" (zero-padding). Le truc c'est que le sigal transformé ne sera plus fidèle au signal de départ non ??? car si on fait une TFD inverse, on retombera sur un signal avc des temps de silence au milieu (correspondant aux zéros ajoutés) non ???
- Encore une dernière chose : je voudrais juste connaitre des valeurs numériques judicieuses pour la periode d'une fenetre (je travaille sur un son de guitare de 1 s à 44100 Hz et j'ai fait des fenetres de 0.01 s).
Merci
Là je suis en train de faire un truc pr detecter les pics (maximums locaux) et les indexer dans une liste (tout en supprimant les pics trop petits,et ceux crées à causes des lobes du sinc), j'ai aussi fait un truc pr accéder à l'enveloppe temporelle (en calculant l'energie moyenne dans chaque fenetre) et je trouve bien un truc du type ADSR .
- J'ai encore un petit problème : en fait quand on fait la TFD à court terme, je ne comprend pas pourquoi on divise par le nombre total d'echantillon et non par le nombre d'echantillons dans une fenetre. Ils parlent pour cela d'un "surechanillonnage" et donc il faut rajouter des "0" (zero-padding). Le truc c'est que le sigal transformé ne sera plus fidèle au signal de départ non ??? car si on fait une TFD inverse, on retombera sur un signal avc des temps de silence au milieu (correspondant aux zéros ajoutés) non ???
- Encore une dernière chose : je voudrais juste connaitre des valeurs numériques judicieuses pour la periode d'une fenetre (je travaille sur un son de guitare de 1 s à 44100 Hz et j'ai fait des fenetres de 0.01 s).
Merci
Choc
6968
Membre d’honneur
Membre depuis 22 ans
65 Posté le 17/05/2006 à 18:08:23
Pour la taille de fenetres prends des exposants de 2
128/256/512/1024/2048/
512 c'est pas mal, de toute facon dans ton choix de la fenetre faut savoir que si t'as fenetre est trop petite tu seras precis en temps mais pas en fréquence, et si ta fenetre est trop grande, tu seras precis en fréquence mais pas en temps (incertitude d'heisenberg)
La technique de zero padding va te permettre d'ameliorer artifiellement la reoslution fréquentielle, pense jsuet que son interet va resider au niveau de l'analyse frequentielle pour localiser les pics
128/256/512/1024/2048/
512 c'est pas mal, de toute facon dans ton choix de la fenetre faut savoir que si t'as fenetre est trop petite tu seras precis en temps mais pas en fréquence, et si ta fenetre est trop grande, tu seras precis en fréquence mais pas en temps (incertitude d'heisenberg)
La technique de zero padding va te permettre d'ameliorer artifiellement la reoslution fréquentielle, pense jsuet que son interet va resider au niveau de l'analyse frequentielle pour localiser les pics
Site personnel: https://www.enib.fr/~choqueuse/
abel_b
60
Posteur·euse AFfranchi·e
Membre depuis 19 ans
66 Posté le 17/05/2006 à 18:11:24
Merci bien, je me demande si c'est nécessaire de prendre des 2^n pr les fenetres car moi j'utilise la TFD et non la FFT (j'ai peur qu'ils me questionnent là dessus à l'oral et en + il faut que je la programme car maple ne fait pas ça apparement donc j'ai pris le + simple en fait même si ca rame du cul)...
Choc
6968
Membre d’honneur
Membre depuis 22 ans
67 Posté le 17/05/2006 à 18:18:29
T'inquietes pas !
Un gars qui va te reprocher de pas avoir reprogrammer une fft parce que t'avais que la tfd sous la main (verifie quand meme que mapple fait pas de fft), et bien, c'est un mytho qui pete plus haut que ses fesses
Des algos de fft, y en a plein, genre le fftw en c, ca doit etre tendu a programmer !
Par contre la ca doit ramer ton programme
La c'est deja tres impressionnant ce que t'arrive a faire !
Un gars qui va te reprocher de pas avoir reprogrammer une fft parce que t'avais que la tfd sous la main (verifie quand meme que mapple fait pas de fft), et bien, c'est un mytho qui pete plus haut que ses fesses
Des algos de fft, y en a plein, genre le fftw en c, ca doit etre tendu a programmer !
Par contre la ca doit ramer ton programme
La c'est deja tres impressionnant ce que t'arrive a faire !
Site personnel: https://www.enib.fr/~choqueuse/
abel_b
60
Posteur·euse AFfranchi·e
Membre depuis 19 ans
68 Posté le 17/05/2006 à 18:43:32
heureusement que j'avais un peu touché à la progra avant sinon je verrais pas du tout comment faire, mais bon ce que je fais c'est assez rudimentaire (je maitrise juste les listes, les boucles genre for, while mais bon j'arrive un peu à capter les algos du genre mcauley-quatieri (enfin moi je v le simplifier car j'ai pas envie qu'ils pensent que j'ai fait un copier/coller) apres tout ce qui est progra orientée objet je maîtrise pas trop.
- Mon programme, il rame c'est clair, pour un echantillon de 1 sec, avec 100 fenetres à calculer, il met pas loin de 20-30 sec pr effectuer la TFD de tout ce bordel (avec un pentium 4 2GHz)...lol j'ose pas essayer avc une musique entière sinon...mais mon but c'est d'illustrer le principe, je veux pas faire un vrai synthé hyper-performant.
En tout cas merci pr ton aide.
- Mon programme, il rame c'est clair, pour un echantillon de 1 sec, avec 100 fenetres à calculer, il met pas loin de 20-30 sec pr effectuer la TFD de tout ce bordel (avec un pentium 4 2GHz)...lol j'ose pas essayer avc une musique entière sinon...mais mon but c'est d'illustrer le principe, je veux pas faire un vrai synthé hyper-performant.
En tout cas merci pr ton aide.
abel_b
60
Posteur·euse AFfranchi·e
Membre depuis 19 ans
69 Posté le 18/05/2006 à 17:43:42
Je voulais juste savoir un truc : dans le bouquin, ils parlent d'interpoler les pics du spectre avec un polynome pr en détecter le maximum (afin d'obtenir une meilleure précision). En fait je voulais savoir comment on choisi les points au voisinage du pic pour calculer (j'imagine) le polynome de Lagrange associé (à moins qu'il existe une version discrète de l'interpolation) : on les prend tres prés ?? ou alors un peu éloignées???
Encore autre chose, c'était pour savoir si le fait d'interpoler par un polynoe jouait beaucoup sur la qualité de l'analyse ou si ca fait partie du "raffinement" ?
Merci.
Encore autre chose, c'était pour savoir si le fait d'interpoler par un polynoe jouait beaucoup sur la qualité de l'analyse ou si ca fait partie du "raffinement" ?
Merci.
Choc
6968
Membre d’honneur
Membre depuis 22 ans
70 Posté le 18/05/2006 à 17:54:22
Salut !
En fait comme sur une FFT, l'echelle des frequences est discretisé, tu peux affiner la recherche des pic en approximant le comportement de la FFT par un polynome au voisinage du pic
donc si tu trouves un pic a l'echantillon N=124 par exemple, tu prend la valeur de la FFT a N=123 a N=125 et N=124, tu fais une interpollation par un polynome puis tu calcules la position du maximum de ce polynome (ce qui va affiner la precision fréquentielle...
ca fait partie du raffinement, a toi de voir si tu entend une difference perceptive, ca peut etre interessant a tester
En fait comme sur une FFT, l'echelle des frequences est discretisé, tu peux affiner la recherche des pic en approximant le comportement de la FFT par un polynome au voisinage du pic
donc si tu trouves un pic a l'echantillon N=124 par exemple, tu prend la valeur de la FFT a N=123 a N=125 et N=124, tu fais une interpollation par un polynome puis tu calcules la position du maximum de ce polynome (ce qui va affiner la precision fréquentielle...
ca fait partie du raffinement, a toi de voir si tu entend une difference perceptive, ca peut etre interessant a tester
Site personnel: https://www.enib.fr/~choqueuse/
- < Liste des sujets
- Charte