Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

TIPE synthese sonore: analyse/resynthese additive par temps fréquence

  • 181 réponses
  • 10 participants
  • 21 047 vues
  • 12 followers
Sujet de la discussion TIPE 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.
Afficher le sujet de la discussion
101
Ben c'est un graphique avec en abcisse la fréquences , en ordonnée l'amplitude , et avec pour troisième axe le temps, moi j'ai ce graphique et j'aimerais faire le chemin inverse , en obtenir un son. :D:
102
Salut,
Si tu connais les partiels et leur evolution au cours du tps, il est clair que tu peux créer le son : Moi j'ai fait comme ceci pour mon tipe :
- créer une liste contenant les liste relatives a chaque partiel ([frequence,temps,amplitude] où temps est l'instant correspondant a une fenetre) puis il reste a interpoler ceci par regression lineaire (enfin passer au log d'abord) ce qui donne des enveloppes exponentielles (d'ailleurs ca n'a rien donné de concluant sur mon exemple car mes points étaient "mal placés" a cause je pense du fenetrage rectangulaire qui fait perdre pas mal d'information).
Sur ces bonnes paroles, je pars à paris passer mon tipe dans quelques heures, je vs direz comment ça s'est passé.
103
De stress, finger in the noise

crois me, avec le taf que t'as fait, si les gars te demeontent c'est uniquement pour voir comment tu reagis quand on te destabilise.

Sois confiant, sur de toi (y a de quoi), et montre leur comment le sujet est difficile mais passionnant. Bon courage :coucou:
104
Je vais vous montrer mon graphique vous me dites ce que vous en pensez....voila:

Ca c'est l'enveloppe , normalement il n'y a que les partiels , n=1 ..15 , qui corespondent a la fondamentales et aux harmoniques
105
Y a beaucoup de variation dans l'amplitude, faut que t'arrive a obtenir une enveloppe qui ressemble plus a une eponentielle decroissante :boire:
106
T'aurais pas un graphique pour me faire une idée :lol:
107
Le graph represente une enveloppe spectrale, si je comprends bien ? Il est un peu bizarre, ce schema, tu l'as obtenu comment (quelle longeur de fenetre, quelle fenetre, taille FFT, overlap...) ? Si tu n'as pas tous les parametres de la representation temps frequence, il y a peu de change d'avoir un resultat satisfaisant pour la resynthese.
108
Euh bon alors en fait j'ai créer une fonction y qui représente la vibration de la corde de guitare, il se trouve que c'est une somme infini de partiel yn ;
y(x,t) = somme ( yn(t)* sin ( n pi x/ L)
j'ai pris les Yn qui correspondent aux partiel et j'en ai fait un graphique. Peut etre qu'il faut que je passe en log non?

J'obtient à l'instant initiale:
109
:((( Help
110
Yo

y(t)=sum_{n=1}^{N} A_{n}(t)sin(2*pi*f_{n}t)

la c'est bien A_{n}(t) que tu nous montres (pour un certain n) ?

C'est quoi ton probleme exactement

Ps: j'ai mis un programme d'analyse roots en matlab sur mon site dans la rubrique synthese)
111
Bon je vais rapidement exposer mon travail
En prenant en compte des termes d'amortissement j'arrive à l'équation de corde:


Je prends alor les amplitudes des partiels



pour en faire un graphique , qui est censé représenté le spectre de raies , (amplitude , frequence , temps) et j'obtient un graphique ci dessus à l'instant initial , ca vous parait aberant?
112
En fait si pout un partiel tu calcules l'equation (j'espere que j'ai compris :oops: )

ta derniere courbe ne montre que l'enveloppe donc le terme exponentielle

pour le reste il me semble que ta base temps n'est pas assez echantillonnée pour voir l'influence du sinus et du cosinus (ca ce voit bien au graphique du post 8).

Donc echantillonne plus finement (Te=0.09 donc Fe=11.1Hz c'est beaucoup trop grossier comme echantillonnage, pour des partiels superieures a 5.5Hz il y aura de l'aliasing)

en audio on prend couramment Fe=44.1 kHz (Khz pas Hz), soit Te=2.267*10^-5

j'espere que ca pourra un peu t'aider :boire:
113

Citation :
our en faire un graphique , qui est censé représenté le spectre de raies , (amplitude , frequence , temps) et j'obtient un graphique ci dessus à l'instant initial , ca vous parait aberant?



Le truc que je comprends pas, c'est ce que tu veux visualiser. Parce que la, tu n'as que deux dimensions de representations, donc tu ne peux que representer le spectre a un moment donne (et un endroit, vu qu'on parle d'equation d'onde).

Ensuite, si tu veux visualiser les differentes composantes, il me semble que tu les as deja avec ton equation, non (les A(n) * Exp(qqch) * sin(nkx)) ? Je comprends pas tres bien ce que tu cherches a faire, en fait.
114
D'accord j'ai compris je vais essayer , j'espere que mon pc va pas pleurer :bravo: . Mais avec ce Te ça va être dur de représenter l'évolution du spectre sur quelque secondes ( 3sec c'est déjà bien )
115
:coucou:

Je pense qu'il vaut dessiner chaque partiel

donc 2D, amplitude versus temps (et il refait ca pour chaque partiel)

Par contre, l'echantillonnage n'est pas assez fin

Citation : l'évolution du spectre sur quelque secondes ( 3sec c'est déjà bien )



Attention c'est pas un spectre :mrg: Spectre amplitude ou phase versus frequence, la t'as amplitude versus temps
116
Ben je cherche à comparer mon évolution de la vibration avec le spectrogramme d'une guitare réelle , je veux comparer en fait les caractéristiques de ma corde avec celle d'une corde réelle ,et donc pour cela j'ai réaliser un spectrogramme d'un mi de guitare , et la fallé que je compare , et apparement le sin qui dépend du x je doit pas le prendre en considération. je doit juste prendre le terme vu plus haut .
117
Je vais vous montrer l'évolution de l'enveloppe okay avec un gif
118

Citation : l'enveloppe okay



L'enveloppe c'est ce que t'as montrer post 10

Un spectrogramme= amplitude en fonction du temps et de la frequence c'est donc du 3D.

Lorsque tu montres tes courbes, ou la base temps n'est pas assez fine, tu n'as que 2D.



deja change la notations pour avoir un truc du genre

e^(machin(t))*Module*cos(v*n*t+phase)

Le MODULE de ton spectrogramme c'ets juste le terme

e^(machin(t))*Module pour chaque frequence v*n (avec v etant la fondamentale fixée et n etant un entier) donc tu fais une boucle, tu affihce pour n=1, n=2,n=3 etc
119
https://www.youtube.com/watch?v=A0uMnbF5arU

C'est comme si c'était un graphe 3D vu que c'est une animation sur le domaine temporelle,
120
Le plus couramment on represnete le spectrogramme par une image

amplitude=code couleur
temps / frequence, sur l'axe horizontal et vertical

attention, quadn on repsrente un spectrogramme on represente le plus souvent le module. DOnc les sinusoides n'interviennent pas. Et je me repete, si tu veux tout de meme montrer les vibrations (donc les sinusà, il faut que tu utilise un echantillonnage temporelle correcte, la je le redis, il est faux, c'est pour ca que ca evolue d'une facon chaotique, y a de l'alising
121
1 T'inquiète je te crois c'est juste que j'ariverai pas a faire un spectrogramme en bonne et due forme , je suis pas assez bon sur maple pour ca.

2 Euh "les sinusoide n'interviennent pas" c'est à dire?

3 donc faut que j'utilise le théorème de Shanon pour faire mon animation?
ca veut dire que 3 sec d'animation c'est pas enviseageable , je vais commencer par le faire sur 0.5 sec!
122
Y beaucoup plus simepl qu'une anim

comme je t'ai dis tu peux reecrire ton equation du genre Y=MODULE(t)*snus(n*frequence*t+phase)

afficher le module du spectrogramme c'est jsute affihcer MODULE(t).

en gros tu prend une image, tu met tout en noir
puis ensuite tu traces des lignes a certains endroits (frequence hamroniques soit n*frequence) dont les couleurs correspondent a MODULE(t).

C'ets largement plus simple que faire une video avec alaising qui te prend tant de temps a etre calculé non ?
123
Bon je vais faire mes calculs et je reviens :bravo:
124

Citation :
T'inquiète je te crois c'est juste que j'ariverai pas a faire un spectrogramme en bonne et due forme , je suis pas assez bon sur maple pour ca.



Mapple n'est pas du tout adapte pour ca, du moins les versions que je connais du temps de la prepa (il y a deja qqs annees...). Le truc utilise, c'est matlab (octave et scilab marchent aussi).

En plus, Choc et moi, au moins, on peut facilement t'aider pour matlab ;)
125
:coucou:

Ouaih mais la il a l'expression analytique de son spectrogramme, y a les 99% du taf qui est fait

si tu veux, tu me file la fondamentale, et je te sortirais le spectrogramme obtenue a partir d'un vrai son de piano, ca peut etre interessant pour comparer, la representation temps frequence theorique et celle reelle :boire: