[synthèse additive] Principe analyse/resynthèse.pour les GEEK
- 14 réponses
- 6 participants
- 1 169 vues
- 6 followers
Choc
6968

Membre d’honneur
Membre depuis 23 ans
11 Octobre 2004 à 11:17[synthèse additive] Principe analyse/resynthèse.pour les GEEK
#1
Salut
POur les mordu de synthèse, je pense que cela serait sympa de commencer par la synthèse la plus simple, la synthèse additive...
Au niveau implemenation c'est simple, encore faut t-il avoir les bons parametres..c'est de cela l'"analyse" que nous pouvons parler ici...
J'ai essayé de faire un petit programme matlab pour faire ca:
-recuperation des n (fixé par l'utilisateur) frequences les plus importantes d'un son (ici un son de gratte)
-recuperation de l'enveloppe de ces frequences en fonction du temps...
et voila les differentes problematiques que j'ai:
1. pour la recuperation des frequences les + importantes..
je fais une FFT sur x echantillons (x etant la taille de la fenetre de la FFT) que je deplace sur tous les echantillons...j'arrive donc finalement a une representation temps/frequence/amplitude
Le gros probleme c'est que je sais quel critère je dois mettre en place pour recuperer les frequences les plus importantes... j'ai essayé plusieurs trucs qui donnent de resultats honnetes mais pas optimaux au niveau perceptif....(peut etre faut-il essayé les lissages perceptif avant de recuperer les frequences ?)...
2. Pour la modelisation des enveloppes, je possede une matrice contenant une amplitude tous les x echantillons, je fais une approximation polynomiale de cette matrice (l'histoire de lisser le truc) par contre au niveau information ca explose pas mal...et maintenant j'aimerai reduire le nombre d'echantillon qui constitue une enveloppes (et pouvoir definir une zone de sustain par exemple sur lequel on bouclerait)...
Mais j'ai pas trop d'idee....
Le but a long terme serait de perfectionné tout ca et de posseder un programme sympatique. Ce programme permettera de construire directement les parametres additifs d'un son afin de construire des modules sur reaktor/MAx ou Pure Data
A+
POur les mordu de synthèse, je pense que cela serait sympa de commencer par la synthèse la plus simple, la synthèse additive...
Au niveau implemenation c'est simple, encore faut t-il avoir les bons parametres..c'est de cela l'"analyse" que nous pouvons parler ici...
J'ai essayé de faire un petit programme matlab pour faire ca:
-recuperation des n (fixé par l'utilisateur) frequences les plus importantes d'un son (ici un son de gratte)
-recuperation de l'enveloppe de ces frequences en fonction du temps...
et voila les differentes problematiques que j'ai:
1. pour la recuperation des frequences les + importantes..
je fais une FFT sur x echantillons (x etant la taille de la fenetre de la FFT) que je deplace sur tous les echantillons...j'arrive donc finalement a une representation temps/frequence/amplitude
Le gros probleme c'est que je sais quel critère je dois mettre en place pour recuperer les frequences les plus importantes... j'ai essayé plusieurs trucs qui donnent de resultats honnetes mais pas optimaux au niveau perceptif....(peut etre faut-il essayé les lissages perceptif avant de recuperer les frequences ?)...
2. Pour la modelisation des enveloppes, je possede une matrice contenant une amplitude tous les x echantillons, je fais une approximation polynomiale de cette matrice (l'histoire de lisser le truc) par contre au niveau information ca explose pas mal...et maintenant j'aimerai reduire le nombre d'echantillon qui constitue une enveloppes (et pouvoir definir une zone de sustain par exemple sur lequel on bouclerait)...
Mais j'ai pas trop d'idee....
Le but a long terme serait de perfectionné tout ca et de posseder un programme sympatique. Ce programme permettera de construire directement les parametres additifs d'un son afin de construire des modules sur reaktor/MAx ou Pure Data
A+
Site personnel: https://www.enib.fr/~choqueuse/
signaler
fr4nck.b
325

Posteur·euse AFfamé·e
Membre depuis 22 ans
29 Mai 2005 à 17:03
#2
+1
signaler
Choc
6968

Membre d’honneur
Membre depuis 23 ans
30 Mai 2005 à 09:04
#3
J'ai fait ca pour l'instant
http://fr.briefcase.yahoo.com/
compte : choqueuv
mot de passe : menu803ahem786
repertoire additive/software.pdf
http://fr.briefcase.yahoo.com/
compte : choqueuv
mot de passe : menu803ahem786
repertoire additive/software.pdf
Site personnel: https://www.enib.fr/~choqueuse/
signaler
swoonboy
1537

AFicionado·a
Membre depuis 22 ans
30 Mai 2005 à 09:18
#4
Carré vert, ca me botte bien ce truc mais pas le temps tout de suite
Il faut se forcer à se contredire pour éviter de se conformer à son propre goût "Marcel Duchamp" - ma vie modulaire
signaler
Anonyme
521397

20 Juillet 2005 à 15:42
#5

signaler
Choc
6968

Membre d’honneur
Membre depuis 23 ans
20 Juillet 2005 à 15:44
#6
Comment qu'on fait pour qu'un modo reclasse le thread dans synthese sonore 
Site personnel: https://www.enib.fr/~choqueuse/
signaler
Anonyme
521397

20 Juillet 2005 à 15:46
#7
Ben tu va sur un thered ou il y a un modéro actif et tu lui demande
signaler
Wolfen
14031

Drogué·e à l’AFéine
Membre depuis 23 ans
20 Juillet 2005 à 15:46
#8
Faut lui envoyer un mail 
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
signaler
batman14
715

Posteur·euse AFfolé·e
Membre depuis 21 ans
20 Juillet 2005 à 16:02
#9
Pour le second point : c'est en changeant ta structure de données que tu vas t'en sortir !
SI tes données sont par morceaux :
C'est la même idée que pour l'encodage des polynomes creux : tu échantillones non plus 1 amplitude tous les n millisecondes mais un couple durée (typiquement offset depuis le début du sample) amplitude quand le besoin s'en fait sentir, par exemple quand l'amplitude varie d'un certain pas.
ET SI tes données sont cycliques (là c'est plus compliqué et c'est ce que tu as) :
Si t'es capable de déterminer les zones critiques (attack decay sustain release, detecte une variation violente du spectre)...il faut capter la période du signal (pas trop dur : le fondamental).
Echantillone comme tu le faisais sur une periode de fondamental (en temps, echantillon sur toutes les gammes de frequences).
Aux passages suivants, c'est-à-dire qunad t'entames la lecture d'une periode suivante,
fais la moyenne pondérée entre toutes les amplitudes des fréquences des cycles précédemment rencontrés à cet instant de la période et la nouvelle amplitude du cycle que tu lis. La pondération peut prendre en compte le niveau sonore général par exemple, ou etre tout simplement lineaire (*n/(n+1) pour la précédente moyenne et 1/(n+1) pour le nouvel échantillon).
C'est grossier, car tu n'auras qu'une idée du spectre par zones critiques. Mais en augmentant leur nombre, tu devrais trouver la bonne recette.
SI tes données sont par morceaux :
C'est la même idée que pour l'encodage des polynomes creux : tu échantillones non plus 1 amplitude tous les n millisecondes mais un couple durée (typiquement offset depuis le début du sample) amplitude quand le besoin s'en fait sentir, par exemple quand l'amplitude varie d'un certain pas.
ET SI tes données sont cycliques (là c'est plus compliqué et c'est ce que tu as) :
Si t'es capable de déterminer les zones critiques (attack decay sustain release, detecte une variation violente du spectre)...il faut capter la période du signal (pas trop dur : le fondamental).
Echantillone comme tu le faisais sur une periode de fondamental (en temps, echantillon sur toutes les gammes de frequences).
Aux passages suivants, c'est-à-dire qunad t'entames la lecture d'une periode suivante,
fais la moyenne pondérée entre toutes les amplitudes des fréquences des cycles précédemment rencontrés à cet instant de la période et la nouvelle amplitude du cycle que tu lis. La pondération peut prendre en compte le niveau sonore général par exemple, ou etre tout simplement lineaire (*n/(n+1) pour la précédente moyenne et 1/(n+1) pour le nouvel échantillon).
C'est grossier, car tu n'auras qu'une idée du spectre par zones critiques. Mais en augmentant leur nombre, tu devrais trouver la bonne recette.
http://soundcloud.com/bat-manson
signaler
batman14
715

Posteur·euse AFfolé·e
Membre depuis 21 ans
20 Juillet 2005 à 16:04
#10
Remarques : c'est en faisant tendre le nombre de zones critiques vers l'infini (ou vers le nombre points d'échantillon dans le mode informatique) que l'on retombe sur ta méthode "naïve" (ie pour eter sur que tu le prenne pas mal, jlutitlise dans le sens où c'est la premiere qu'on trouve naturellement).
En espérant que j'ai bien compris ton probleme...
En espérant que j'ai bien compris ton probleme...
http://soundcloud.com/bat-manson
signaler
batman14
715

Posteur·euse AFfolé·e
Membre depuis 21 ans
20 Juillet 2005 à 16:06
#11
J'ai oublié de dire qu'il faut que tu précises dans une structure le nombre de périodes qu'il faut boucler sur une zone critique !
ps : je t'ai pas dit comment synthetiser un signal mais plutot comment en analyser un. Finalement dans ton cas ça se rapproche.
ps : je t'ai pas dit comment synthetiser un signal mais plutot comment en analyser un. Finalement dans ton cas ça se rapproche.
http://soundcloud.com/bat-manson
signaler
Choc
6968

Membre d’honneur
Membre depuis 23 ans
20 Juillet 2005 à 16:10
#12
Cool, t'as des articles ou des sources qui expliquent ces methodes 
Site personnel: https://www.enib.fr/~choqueuse/
signaler
Anonyme
521397

20 Juillet 2005 à 22:56
#13
Un synthé additif pas fini, buggé, code source dispo, et un auteur ouvert à la coopération et au dialogue. J'ai pas mal bataillé avec, en tirant des sons intéressants, mais, y a du boulot ...
Si çà peut vous intéresser, j'ai hélas pas les connaissances ....
Lien KVR (le site du développeur est en Flash) :https://www.kvraudio.com/get.php?mode=show&id=397
Si çà peut vous intéresser, j'ai hélas pas les connaissances ....
Lien KVR (le site du développeur est en Flash) :https://www.kvraudio.com/get.php?mode=show&id=397
signaler
Choc
6968

Membre d’honneur
Membre depuis 23 ans
21 Juillet 2005 à 08:37
#14
Typiquement le genre de synthé qui pourrait beneficier d'une analyse temps frequence pour le precalcul des parametres de synthese !
Site personnel: https://www.enib.fr/~choqueuse/
signaler
batman14
715

Posteur·euse AFfolé·e
Membre depuis 21 ans
21 Juillet 2005 à 13:17
#15
Choc > non, j'azi pas d'article osu la main, c'est juste l'adaptation d'un truc que j'ai vu en cours de compression et structure de données !
Mais si tu files ton source je pourrais y jeter un coup d'oeil dès que j'aurais un peu de temps (en aout vacances !)
Mais si tu files ton source je pourrais y jeter un coup d'oeil dès que j'aurais un peu de temps (en aout vacances !)
http://soundcloud.com/bat-manson
signaler
- < Liste des sujets
- Charte