Le morphing, comment ça marche ? (essais peu concluants :( )
- 16 réponses
- 3 participants
- 2 318 vues
- 4 followers
molecule
Du fait qu'il traine dans le coin quelques grands gourous de la synthése sonore et des traitement mathématiques complexes, je me permet de les importuner.
Je me suis un jour posé la question des algorithmes de morphing en audio. Et comme j'ai pas toute ma raison je me suis décidé à en programmer un
Je pensais que le morphing s'apparentait au passage entre deux ondes sonores connues, donc j'ai essayé faire une sorte d'interpolation lineaire et progressive entre deux courbes.
Le programme obtenu est ici
(click droit et enregistrer sous. il faut mettre des fichiers "depart.wav" et "arrivee.wav" dans le même dossier en format mono 11025 KHz 8bits et il crée "resultat.wav" le morphing en 10 passage entre les deux fichiers de départ)
Cependant cela ne me parait pas être la bonne solution car le resultat ressemble à un vulgaire fading entre les deux sources :
une onde sinusoïdale -> onde rectangulaire
une tenue d'un ensemble de cuivre -> une autre tenue
loop de batterie -> voix
bruit blanc -> phrase de sax
Donc en gros je viens de reinventer le sommateur numérique
Ne me décourageant pas, j'ai cherché des doc sur internet et j'ai lu qu'en fait on cherchait à faire une sorte de fading spectral pour un certain nombre de fréquence (un peu comme un vocoder). Est-ce bien cela ? Si c'est le cas, comment détermine-t-on les fréquences de morphage ? et en quelle quantité les reinjecter dans les sons originaux ? Y-a-t'il d'autres solution pour obtenir l'effet de morphing (comme dans les impressionnantes demos du PROSONIQ morph)?
Merci d'avance pour vos réponses.
- 1
- 2
molecule
Peut-être que le post est dans une mauvaise catégorie ?
Wolfen
Le principe est le suivant : tu as un signal décrit par N échantillons (par exemple 1024 avec une fréquence d'échantillonnage de 44.1 kHz, ce qui fait un signal de 23 ms). En lui appliquant une FFT, tu obtiens un signal de N échantillons complexes qui décrit cette fois la réponse fréquentielle complète du signal, son amplitude pour chaque fréquence et sa phase. Ensuite tu lui appliques un traitement quelconque, tu fais ce qu'on appelle une FFT inverse pour revenir sur du temporel et voilà
Ton algo je pense que tu peux l'utiliser tel quel dans le domaine fréquentiel, ça devrait produire un effet intéressant, il faut juste ne pas oublier qu'on a des nombres complexes...
Tu utilises quoi d'ailleurs pour programmer ? Sur Matlab ou Max/MSP il y a des routines de FFT. Sinon, en C++ par exemple, il faut utiliser des librairies comme la FFTW ou FFTReal de Laurent de Soras
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
Choc
En regle general, la technique de morphing va dependre de tes sources
Par exemple si tu as deux sons qui sont un peu pres harmoniques. Tu peux faire de l'interpolation via analyse resynthese additive (c'est le principe du cube 2 ou du cameleon)
On recherche les partiels des deux sons, et ensuite chaque partiel d'un son peut suivre le partiel de l'autre son...c'est assez complexe. On pourrait appeler ca morphing timbral
Pour le coup bruit blanc vers cuivre, le plus sympa c'ets la synthese soutractive, tu essayes de modeliser ton cuivre par une source bruit + filtre (voir filtrage autoregressif pour avoir les coef du filtre)...Ensuite il doit avoir moyen de faire apparaitre le son de cuivre en jouant sur les coef du filtre. IOn pourrait appeler ca morphing soustractif
Ya aussi d'autres techniques qui existent, j'aime beaucoup la granulaire couplé a des algorithmes statistiques. Le principe c'est de chopper des micro grains des deux sons. Ensuite tu affectes une lois de probabilité pour calibrer quel grain va etre choisi. Avec une probabilité de 0 seul les grains du premiers sons vont etre choisis, avec une proba de 1, seul les grains du second sons vont etre choisis...avec une proba de 0.5, ca va te donner un melange de grains du premiere son et du second son. On pourrait appeler ca, morphing granulaire Esthetiquement, j'aime beaucoup cette technique
Site personnel: https://www.enib.fr/~choqueuse/
molecule
Je ne connaissait pas la FFT, seulement la transformée de fourier classique. J'ai récupéré FFTW et je suis en train d'essayer de réutiliser l'algorithme que j'ai fait pour l'appliquer au domaine fréquentiel. Je vous tiens au courant.
Citation : Tu utilises quoi d'ailleurs pour programmer ?
C/C++ car j'aime bien maitriser un maximum de chose. Le gros désavantage c'est qu'on se crée des problémes en plus au niveau programmation (surtout pour les nombres complexes et autres structures hybrides) mais c'est le prix à payer
Je ne savais pas qu'il existait autant de différentes façon de faire un morphing entre deux sons ! Pour l'instant je vais me concentrer sur la méthode par analyse et synthése, mais le morphing granulaire m'interesse beaucoup aussi. Par contre pour programmer une analyse de grains, suffit-il de découper le son en mini-échantillons de durée fixe ou il faut rechercher des signaux périodiques ? (genre quand l'onde repasse par 0)
En tout cas merci encore ! De nombreuses questions viennent de trouver leurs réponses ...
Choc
Citation : Par contre pour programmer une analyse de grains, suffit-il de découper le son en mini-échantillons de durée fixe ou il faut rechercher des signaux périodiques ?
T'as juste a chopper des grains sonores d'une certaines tailles. Pour eviter les click, il faut leur appliquer des enveloppes d'amplitude (genre qui commence a 0 qui monte a 1 et qui retermine a 0).
Site personnel: https://www.enib.fr/~choqueuse/
Wolfen
Hors sujet : Au fait Choc, tu viens au salon de la musique du 9 au 12 Septembre à Paname
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
Choc
Hors sujet :
Ouaih, je file un petit cours en synthese au SMS
Site personnel: https://www.enib.fr/~choqueuse/
Wolfen
Hors sujet : Citation : Ouaih, je file un petit cours en synthese au SMS
C'est-à-dire ?
Bon ben on se verra, et cette fois tu as intérêt à ne pas râter la présentation de Torpedo (surtout que ça sera sur du hardware !)
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
Choc
Hors sujet : yes
sur le stand AF, je vais faire une petite intro a la synthese, powerpoint, patch maxmsp, etc
Site personnel: https://www.enib.fr/~choqueuse/
- < Liste des sujets
- Charte
- 1
- 2