Le pub des programmeurs
- 1 927 réponses
- 117 participants
- 131 711 vues
- 130 followers

Anonyme



batman14

J'me présente en trois quatre lignes :
Je suis étudiant en info (dernière année d'ingé), passionné de musique (qui l'eut cru ?), et j'ai la chance de pouvoi cette année gaire une thèse sur le thème "digital audio".
Je vais la commencer sérieusement dans un mois.
Mon équipe de recherche bosse actuellement sur l'audio intéractive sur le web.
Malheureusement, je n'aime pas du tout cet axe pour pas mal de raisons.
Je suis donc à la recherche d'idées...ça prend du temps !
Mon profil ? J'aime beaucoup développer et aboutir des projets, expérimenter. (un peu bidouilleur certains diront)
Avez vous quelques idées de points délicats, des choses sur lesquelles vous avez pesté mille fois, ou que vous auriez aimé avoir sous la main ?
Je ne vous demande pas de projets clés en main bien sûr, mais plus vos lumières.
Le plus important problème est de savoir si on s'oriente vers quelque chose qui n'est pas du déjà fait.
Niveau compétence, j'ai à peu près tout le bagage nécessaire au DSP.
http://soundcloud.com/bat-manson

zieQ

Si c'est pas indiscret, où est-ce que tu effectues ta thèse ?
zieQ

batman14

Ils bossent activement sur le web musical intéractif, mais y'a pas grand chose qui en sort.
Pour être plus précis, ce n'est pas une thèse au sens français du terme (une thèse dure deux ans en france et est au nivau doctorat).
Cela se rapproche plus du mémoire de master.
Donc 100 pages bien tassées, visant à prouver que l'on peut avoir une démarche scientifique.
http://soundcloud.com/bat-manson

miles1981

Dans les universités étrangères, on appelle effectivement thèse un peu tout et n'importe quoi, ça s'appellerait plus un rapport ou un manuscrit chez nous

Audio Toolkit: http://www.audio-tk.com/

zieQ


Pov Gabou

Citation :
Malheureusement, je n'aime pas du tout cet axe pour pas mal de raisons.
Tu peux avoir un truc qui n'a rien a voir avec le web, alors ? Perso, si j'avais le temps pendant ma these, voila des trucs sur lesquels j'aurais envie de bosser en ce moment:
- utilisation de representations redondantes pour l'implementation d'effets musicaux -> matching pursuit http://www.inria.fr/rapportsactivite/RA2005/metiss/uid56.html
- utilisation de methodes d'apprentissages statistiques recursives pour des problemes de classification (tu peux prendre n'importe quel truc, perso, j'aime pas beaucoup tout ce qui est classification de genre et cie, plutot la classification d'une piste audio en plusieurs evenements localises). T'as recemment des algos assez costauds pour l'estimation recursive de modeles statistiques classiques (HMM, Mixtures de Gaussiennes, etc...). Une these de master interessante a ce sujet : https://www.cs.ubc.ca/grads/resources/thesis/Nov03/Kejie_Bao.pdf

batman14

Audio interactive sur le web : au stricto sensu, le web, c'est le réseau http, celui que l'on voit par son naviagteur internet.
As tu déjà vu une application interactive, comme les applets ou le flash, pour manipuler de l'audio ? Oui, biensur, mais rien de bien révolutionnaire, rien qui puisse vraiment devenir un instrument, pour des limitations en polyphonie et une latence trop élévée. Mais on peut peut être chercher un peu et trouver une solution à cela.
Alors intéractif veur juste dire que le signal est non déterministe, que on ne peut pas le streamer par exemple.
Alors pourquoi le web ? C'est à la mode...et c'est bien là mon problème.
Rien de bien folichon à l'idée de ziquer dans Firefox.
Mais cela permet au moins quelques petits trucs : l'indépendance vis-à-vis de la plateforme, possibilité de reprendre son travail sur un téléphone portable etc. En tout cas, je ne me servirais pas de cela.
miles1981 -> Disons que ça suffit à obtenir mon double diplome Master + ecole d'ingé ENS IIE (sur centrale en France, pour ceux qui connaissent). Donc je pense qu'il y a quand meme une exigeance dans la qualité du rappoer.
J'ai lu plus d'un doctorat pourri dans le domaine de l'audio. Alors on peut aussi dire qu'on appelle n'importe quoi "une thèse" en France !

http://soundcloud.com/bat-manson

batman14

Pov Gabou -> j'ai lu quelques papiers sur l'implémentation redondantes. Il me reste à voir sur quel dictionnaire de fonctions on peut faire travailler le "matching point" algorithme. Pour l'implémentation d'effet musicaux, il est quand meme gourmand en calcul semble t il...et je préfère quand meme le "temps réel" !
Après pour ce qui est de la décomposition du signal en événements, il faut chercher des descripteurs sonores efficaces.
J'avais lu une thèse d'un gars de Marseille sur les descripteurs sonores, mais cela ne m'avait pas tellement éclairé...(désolé si c'est l'un d'entre vous !)
http://soundcloud.com/bat-manson

Pov Gabou

Citation :
Pov Gabou -> j'ai lu quelques papiers sur l'implémentation redondantes. Il me reste à voir sur quel dictionnaire de fonctions on peut faire travailler le "matching point" algorithme. Pour l'implémentation d'effet musicaux, il est quand meme gourmand en calcul semble t il...et je préfère quand meme le "temps réel" !
C'est matching pursuit, pas matching point ;) Et justement, Gribonval et d'autres ont travaille sur des dictionnaires (dictionnaire = ensemble de plusieurs bases sur le meme espace) a base de noyaux harmoniques. Pour les effets, je pensais surtout a des trucs comme la compression/expansion temporelle (time stretching).
Pour ce genre de problemes de representation/approimation/estimation, le bouquin que je conseille est celui ci:
https://cs.nyu.edu/cs/faculty/mallat/book.html

jujupauty

Hors sujet : En fait, en anglais souvent lorsque l'ont dit thesis, on se réfère à un master thesis (ancien DEA chez nous). On dit plutôt PhD thesis pour ce que l'on appelle une thèse (de doctorat) en France. En France aussi on utilise aussi thèse pour n'importe quoi, thèse de mastère par exemple.
Hors sujet : Citation : J'ai lu plus d'un doctorat pourri dans le domaine de l'audio. Alors on peut aussi dire qu'on appelle n'importe quoi "une thèse" en France !
Tu me sembles bien prétentieux. Attendons de voir quelle est ta contribution scientifique à la fin de ton master pour juger de l'état de pourriture de telle ou telle thèse.
J'étais aussi septique sur le monde de la recherche lorsque j'ai fait, tout comme toi, mon DEA en parallèle de ma dernière année. Par chance, j'ai rencontrée les bonnes personnes qui m'ont "ouvert les yeux". Esperons qu'il en sera de même pour toi. Mais, j'ai l'impression que tu devrais te mettre dans un état d'esprit plus positif, plus ouvert. Après tout c'est la fête de la science en ce moment !
Jul

zieQ


batman14

Hors sujet :
Désolé juju si je t'ai choqué !
Quand je dis pourri, c'est clair je suis direct.
Je parle de thèse avec des fautes d'orthographes (on peut utiliser un correcteur auto au moins ça coute pas cher), des phrases copiées collées d'autres papiers sans citer les sources, de phrases mal tournées ou on comprend pas quel est le sens derrière tout ça.
Je parle de ce type de défaut qui saute aux yeux et qui parasitent complétement la démarche scientifique et les conclusions qui peuvent être très très très intéessantes !
Je n'ai pas la prétention de juger de l'importance d'un résultat ou d'une contribution en deux minutes.
Pleins de grands bonhommes n'ont pas vu eux mêmes la portée de leur travaux. (notre ami Fourier qui nous aide tous les jours étudiait bien la chaleur hein ?)
Hors sujet : Et puis je suis positif, je viens pas me plaindre au contraire !
Je viens crier mon envie de travailler, ma passion musicale !
Time stretch, un vaste sujet. Est ce quelqu'un a lu un survey la dessus ? Des différentes approches utilisées pour réaliser un time stretch. Il doit y avoir un paquet d'algos différents pour réaliser cela, j'imagine pas les classifier en fonction de leur qualité/défaut...
http://soundcloud.com/bat-manson

batman14

Il était cependant très bien, bourré de graphes, et était orienté vers la transformation d'images.
Citation :
C'est juste que des applications audio interactives sur le web, je vois pas bien : c'est pour jouer, composer ? Tu aurais pas des exemples déjà ?
Leur but est de chercher une solution pour que le navigateur web devienne une interface pour commander une appli temps réel audio. Il faut résoudre tous les problèmes de latence posé par ce type d'application.
L'implémentation choisie comme critère de réussite est un système pouvant supporter 6 oeuvres electro accoustiques variées, développées par des compositeurs danois sous MAX/MSP avec GUI associé.
En gros le résultat, j'ouvre une URL, et je me retrouve sous FF à manipuler une appli web équivalente à l'un des patchs.
Il ya pleins d'architecture envisageables pour ce type de réalisations, mais peu résiste à l'implémentation de tous les patchs à la fois.
http://soundcloud.com/bat-manson

Decibel

Je ne sais si la question a été dékà traitée (solutionnée par un programmeur) ?
Est-ce que CUBASE ou NUENDO P-étre parametré en mode "multi-clients"(multi cartes sons de marques différentes) , en d'autres termes y a t-il une possibilité d'utilisé plusieurs cartes son de marques différentes (problémes recurants depuis l'aube des temps)en ASIO 2 dans nos sequenceur audio.
Quelqu'un a trouvé une soluce "stable" et/ou un pilote stable ?
Cordialement

bigbill

Citation : Il me reste à voir sur quel dictionnaire de fonctions on peut faire travailler le "matching point" algorithme. Pour l'implémentation d'effet musicaux, il est quand meme gourmand en calcul semble t il...et je préfère quand meme le "temps réel" !
Oui le matching pursuit est très gourmand car la décomposition est un problème NP-hard. Dans la pratique, en utilisant un PC desktop, il faut s'attendre à ne pouvoir analyser que quelques secondes de signal tout au plus

Pour le dictionnaire, dans la plupart des publis c'est celui de Gabor qui est envisagé. Il y a une bonne raison à cela: les atomes de Gabor sont ceux qui permettent la meilleure localisation temps-fréquence. Ils sont le meilleur compromis vis à vis du principe d'incertitude de Heisenberg.
Néanmoins, un atome temps-fréquence peut être une sinusoide modulée par quasiment n'importe quoi, du moment que l'atome est unitaire.
Le papier très intéressant dont parle Pov Gabou est ICI. Je sais que si j'avais du temps devant moi je m'amuserais à chercher quelles valeurs donner aux deux degrés de liberté de la fontion FoF pour avoir la décomposition la plus parcimonieuse, suivant que le signal est un sax, ou une guitare, ou autre..
Sinon, le papier séminal de Mallat/Zhang est ICI. Le bouquin de Mallat coûte très cher..
Dans un contexte 'son & musique' du Matching Pursuit, le nom de Rémi Gribonval apparaît très souvent.
Si tu as un poste Linux ou à la rigueur Win/Cygwin, je te conseille d'essayer LastWave d'Emmanuel Bacry. C'est un soft standalone: pas besoin de Matlab/SciLab.
Une application très intéressante des décompositions parcimonieuses est la séparation de sources (BSS) que ce papier de Zibulevsky illustre bien.
Matching Pursuit et Basis Pursuit sont des algos très prometteurs mais hélas le matos est en retard, ce qui pour l'instant les relègue plus ou moins à des curiosités de laboratoire, tout le monde n'ayant pas une grappe de calcul à portée de main. Vivement les ordinateurs quantiques..

Citation : Time stretch, un vaste sujet. Est ce quelqu'un a lu un survey la dessus ? Des différentes approches utilisées pour réaliser un time stretch. Il doit y avoir un paquet d'algos différents pour réaliser cela, j'imagine pas les classifier en fonction de leur qualité/défaut...
Oui vaste sujet.. Tu peux commencer par cette page du site de Stephan Bernsee, qui est le développeur de Time Factory (Prosoniq).

Pov Gabou

Citation :
Oui le matching pursuit est très gourmand car la décomposition est un problème NP-hard. Dans la
Je suis pas sur d'etre d'accord. L'Algo est couteur, certes, mais tu n'as pas besoin de lister toutes les solutions pour avoir le resultat. C'est un algo qui est en gros N^3*P, ou N est le nombre de samples et P le nombre d'atomes.
Dans le cas des atomes de Gabor, on est pas vraiment dans le cadre de MP. La transformee de Fourier a court terme est elle meme une representation temps frequence qui y correspond si tees fenetres sont gaussiennes.
Citation :
e bouquin de Mallat coûte très cher..
J'imagine que c'est relatif, mais la moyenne des bouquins traitant de pbs scientifiques recents sont en general bien plus chers que le bouquin de Mallat (en general trouvable en librairie d'ecole ou d'universite si tu as un labo de signal). Je compte plus le nombre de bouquins que j'ai achete a plus de 100 $

batman14

Citation :
J'imagine que c'est relatif, mais la moyenne des bouquins traitant de pbs scientifiques recents sont en general bien plus chers que le bouquin de Mallat (en general trouvable en librairie d'ecole ou d'universite si tu as un labo de signal). Je compte plus le nombre de bouquins que j'ai achete a plus de 100 $
J'ai acheté le premier bouquin de Comer sur TCP/IP au danemark : l'équivalent de 150€ ! Avec une ristourne étudiante de 15 % !
Ils sont fous ces Vikings !
Je survole les docs que tu m'a filé bigbill.
Pour ce qui est de la complexité de l'algo, je vous donnerais mon avis plus tard, quand je connaitrais un peu le sujet quand même !
Sur les problèmes NP complets il y a souvent moyen de contraindre le domaine d'etudes pour se permettre d'accélérer le process de résolution...
http://soundcloud.com/bat-manson

bigbill

Citation : J'imagine que c'est relatif, mais la moyenne des bouquins traitant de pbs scientifiques recents sont en general bien plus chers que le bouquin de Mallat
Je suggérais juste que si batman14 veut se pencher sur MP, le Mallat/Zhang de 93 est tout à fait suffisant, pas la peine d'acheter le bouquin rien que pour ça..Citation : Dans le cas des atomes de Gabor, on est pas vraiment dans le cadre de MP.
Je comprends pas le sens de ta phrase. Qu'entends-tu par 'cadre'?Citation : La transformee de Fourier a court terme est elle meme une representation temps frequence qui y correspond si tees fenetres sont gaussiennes.
Je comprends pas que tu compares la STFT à MP qui est un algo adaptatif
Citation : C'est un algo qui est en gros N^3*P, ou N est le nombre de samples et P le nombre d'atomes.
D'où tires-tu cet ordre de complexité? De plus ta formule a l'air de suggérer que N et P sont indépendants, ce qui n'est pas vrai. Si tu prends un signal plus long, ton dictionnaire devra être plus volumineux également.Citation : Je suis pas sur d'etre d'accord. L'Algo est couteur, certes, mais tu n'as pas besoin de lister toutes les solutions pour avoir le resultat.
Ben si tu te places à l'étape n, où tu as trouvé n atomes et qu'il te reste un signal résiduel Rn, le but de l'étape n+1 est de trouver dans tout ton dictionnaire l'atome qui te donnera la corrélation max avec Rn. Et tu peux pas faire autrement que de calculer toutes les corrélations en tous lieux de Rn et pour tous les atomes
C'est le principe général de MP, après bien sûr il y a des optims..
Citation : Sur les problèmes NP complets il y a souvent moyen de contraindre le domaine d'etudes pour se permettre d'accélérer le process de résolution...
.. par exemple une optim qu'on doit à Krstulovic & Gribonval
Pov Gabou

Citation :
Je suggérais juste que si batman14 veut se pencher sur MP, le Mallat/Zhang de 93 est tout à fait suffisant, pas la peine d'acheter le bouquin rien que pour ça..
Non mais on est pas non plus oblige d'acheter le bouquin, il est, comme je l'ai bien precise, certainement disponible dans la bibliotheque si ton universite/ecole a un labo de signal. Mallat etant un des francais les plus cites/celebres en signal, son bouquin est bien present dans les bibliotheques francaises.
L'article de Mallat/Zang est un peu abrupt; en general, c'est difficile d'implementer a partir d'un seul article. Le bouquin introduit MP naturellement, et perso, je trouve le bouquin extraordinaire, c'est le meilleur bouquin que je connaisse en traitement du signal. T'as une mise en relation de pleins de champs differents (ce qui fait un des interets de la theorie des ondelettes, je trouve, d'un point de vue 'philosophique').
Citation :
Je comprends pas le sens de ta phrase. Qu'entends-tu par 'cadre'?
Et bien decomposition en atomes de Gabor, c'est "vieux". Je crois, sans etre sur, que l'article original de Gabor dans Nature (ou Science ?, je sais plus non plus) qui mettait en relation les atomes et le fonctionnement de l'ouie date des annees 50. Je vais verifier.
La STFT et la tranformee de Gabor sont tres semblables dans le principe; en fait, je crois meme qu'historiquement Gabor a ete le premier a suggerer une representation temps frequence (alors qu'avant on raisonnait plutot soit en temps, soit en frequence; mais bon, je suis pas sur non plus, j'ai du mal a imaginer comment on envosageait ces choses la il y a 60 ans

Citation :
D'où tires-tu cet ordre de complexité? De plus ta formule a l'air de suggérer que N et P sont indépendants, ce qui n'est pas vrai. Si tu prends un signal plus long, ton dictionnaire devra être plus volumineux également.
Oui mais justement MP est une solution pour ne pas avoir a faire ca ! L'idee de base est simple: tu as un ensembles de vecteurs, le dictionnaire, qui est beaucoup plus volumineux qu'une base. Tu veux representer un signal s donne avec le minimum d'elements du dictionnaire: tu prends l'element f qui maximise la projection <s, f>, puis tu procedes recursivement.
En disant que l'algo est NP complet, tu dis que MP consiste a calculer la representation <s, f> pour tout f du dictionnaire, puis a faire pareil avec le residu, jusqu'a la fin. Si MP, c'etait ca, il y aurait pas grand chose a dire, c'est plutot evident. L'article seminal de Mallat, c'est que tu n'as *pas* besoin de parcourir tous les elements du dictionnaire pour "bien" approcher la fonction (en gros, l'article demontre des resultats sur le *comportement* du residuel lorsque le nombre d'etapes croit).
En fait, mon N^3 * P etait debile (j'avais etudie ca pendant mon DEA, ca date deja de quelques annees

C'est pour ca que parler de complexiste NP est un peu un non sens pour moi, parce que le but c'est de se retrouver avec une representation compacte, en utilisant justement le fait que l'ensemble de representation est "over-complet" (je sais pas comment on dit en francais).
En tout cas, je suis persuade que toute cette idee de redondance n'est que le debut, et qu'il y a vachement d'idees a explorer. D'ailleurs, un peu dans le meme ordre d'idees, un des medailles Field de cette annee, le fameux Terence Tao, s'interesse a ce type de problemes (parmi les nombreux problemes auxquels il s'interesse, mais je regarde pas trop ailleurs, c'est decourageant sinon )
https://www.math.ucla.edu/~tao/preprints/sparse.html

batman14

Mais par contre, je n'ai pas assez de recul sur le sujet pour imaginer en quoi ce type d'algo peut nous conduire à des effets sonores.
Pour l'instant, je vois un algo qui permet d'obtenir une description temps fréquence peut être plus adpative qu'une FFT, comme le suggère l'introduction de la thèse de Mallat et Zang. Ce coté adaptif convient bien à un signal variant beaucoup au cours du temps, mais d'une manière générale, on a peut d'effets sonores adaptifs à l'heure actuelle.
Par adaptif j'entends un quelconque filtre qui décide de changer d'attitude (comme le range de ces paramètres) en fonction de la dynamique du signal par exemple.
En fait, je pense jamais avoir fait d'analyse temps fréquence pour coder un effet.
De plus, dans le domaine de l'audio, est ce nécessaire d'avoir une analyse plus fine que celle que l'on a déjà ?
Personellement je n'ai pas encore ressenti ce manque, mais mon expérience musicale est loin de couvrir tous les champs d'applications qui peuvent exister !
Par contre je me fais pas de souci pour l'implémentation, cela devrait pouvoir se faire !
Si finalement je découvre un angle d'attaque intéressant...pour ne pas juste réécrire ce qu existe déjà !
http://soundcloud.com/bat-manson

Pov Gabou

Citation :
Ce coté adaptif convient bien à un signal variant beaucoup au cours du temps, mais d'une manière générale, on a peut d'effets sonores adaptifs à l'heure actuelle.
Je pense que ca depend de ce que tu entends par effet, mais si tu inclus les techniques d'analyse synthes, alors le MP est tout a fait logique. Pour le time stretch, ca a deja ete utilise, le MP, j'en suis persuade, par exemple par prosoniq (sprenger parle de reseau de neurones, mais tu peux faire un lien entre certaines techniques de base en reseau de neurones et MP; lien qui est fait dans le bouquin de Mallat)

bigbill

overcomplete dictionary -> dictionnaire redondant
sparse decomposition -> décomposition parcimonieuse
greedy algorithm -> algorithme glouton
Je sais, ça fait bizarre

Pov Gabou >
Citation : fondamentalement, je pense meme que la transformee de Gabor est une STFT avec une fenetre gaussienne
C'est aussi mon avis, en revanche je vois pas le rapport avec une décomposition adaptative en atomes de Gabor. D'autre part, ceux-ci sont peut-être 'vieux' mais ça n'empêche pas qu'ils soient optimaux en résolution temps/fréquence. Mallat le démontre dans son bouquin, aux pages 31 et 32.Au sujet de l'ordre de complexité, il y a quelques éléments de réponse dans la thèse de Davis supervisée par Mallat.
Citation : En disant que l'algo est NP complet, tu dis que MP consiste a calculer la representation <s, f> pour tout f du dictionnaire, puis a faire pareil avec le residu, jusqu'a la fin. Si MP, c'etait ca, il y aurait pas grand chose a dire, c'est plutot evident. L'article seminal de Mallat, c'est que tu n'as *pas* besoin de parcourir tous les elements du dictionnaire pour "bien" approcher la fonction (en gros, l'article demontre des resultats sur le *comportement* du residuel lorsque le nombre d'etapes croit).
Oui mais.. le problème c'est que Mallat embraye tout de suite sur l'implémentation, avec un moyen d'optimisation de cette recherche qui est basé sur la formule d'update (9.101) page 424 du bouquin, ou (33) page 11 du Mallat/Zhang. OR cette formule suppose qu'on a des ressources mémoire illimitées pour stocker les précieuses corrélations croisées <gi,gj> ce qui est loin d'être le cas dans la réalité, en dehors de samples courts. Quelqu'un qui voudrait implémenter sur des signaux quelconques serait obligé de laisser tomber cette implémentation et d'en trouver une meilleure. S'il n'en trouve pas, il devra tout faire en brute force => il est ramené au NP-hard.Citation : Par exemple, si ton dictionnaire contient le signal de depart, ben il y a rien a faire, t'as ta decomposition en une etape (ce qui est un peu debile, evidemment).
Exact, dans ce cas la poursuite se résume à un seul atome. Mais il faudra effectuer les P corrélations entre le signal et chacun des P atomes du dictionnaire avant d'arriver à cette conclusion. On peut pas vraiment dire qu'il n'y a rien à faire. Quand tu dis que le résultat est débile, imagine cette expérience de pensée: on considère un sample inconnu, mono de longueur 1000 échantillonné en 16 bits. On considère d'autre part LE dictionnaire 'exhaustif' dont les atomes sont tous les signaux normés de longueur 1000 possibles. Le nombre d'atomes est astronomique. Si tu effectues la poursuite du sample de départ avec ce dictionnaire tu vas effectivement trouver comme solution:- l'atome qui est la version normée du sample inconnu
- la corrélation associée (i.e: la racine carrée de l'énergie du sample)
Au lieu de quelque chose de débile, je trouve au contraire que c'est le nirvana de la compression de données. Il y a juste à stocker l'index de l'atome et la corrélation. Et la compression est sans pertes

Bon d'accord, tant qu'on saura pas faire ça en un temps raisonnable, en analyse et en synthèse, ça reste du rêve

Mais peut-être avais-tu autre chose en tête au sujet de cette unicité

Citation : un des medailles Field de cette annee, le fameux Terence Tao, s'interesse a ce type de problemes
Ouais ce mec est monstrueux, il travaille vraiment tous azimuts
batman14 >
Citation : De plus, dans le domaine de l'audio, est ce nécessaire d'avoir une analyse plus fine que celle que l'on a déjà ?
Soit, tu peux faire des STFT glissantes avec une 'bonne' fenêtre de pondération de durée fixe. Mais à cause de cette durée fixe, tu te condamnes à une certaine résolution temps/fréquence. Si tu vas plus loin et que tu envisages plusieurs STFT avec des durées différentes, tu tombes sur la difficulté de la hierarchisation des pics. En utilisant une décomposition adaptative basée sur un dictionnaire qui contient une grande variété d'événements temps/fréquence, tu résous la difficulté de façon élégante, car cette hiérarchisation se fait de manière naturelle dans l'algo. Tout se passe comme si les pics les plus énergétiques étaient gommés du signal, au fur et à mesure.Citation : mais d'une manière générale, on a peut d'effets sonores adaptifs à l'heure actuelle
La décomposition est adaptative, ça veut pas forcément dire que les effets le soient! On peut voir MP comme de l'analyse granulaire: en fin d'analyse tu te retrouves avec une somme finie d'événements temps/fréquence, parfaitement quantifiés, par énergies décroissantes. Après tu en fais absolument ce que tu veux! Soit tu fais du clustering plus ou moins intelligent et tu retombes dans les grands classiques du traitement du signal: débruitage, détection de contours (en l'occurrence: attaques), décorrélation, séparation de sources, compression de données. Soit tu vas vers la (re)synthèse et vraiment il y a moyen de produire des effets extrèmement sophistiqués, comme des échos qui n'agissent que sur des bandes de fréquences très étroites, ou bien de la compression de dynamique intelligente qui n'agit que sur des notes isolées et pas sur des accords, etc..A ce niveau-là tu n'es limité que par ton imagination

Pour en revenir à un sujet de thèse possible, une idée serait d'écrire un framework d'exploration des effets possibles, justement. On pourrait imaginer un soft qui applique des régles sous forme de scripts. Dans cette perspective, à la limite t'as même pas besoin d'implémenter MP. Suffirait que tu te constitues un catalogue d'une dizaine de sons réels dont tu ferais calculer les poursuites par un toolkit quelconque une fois pour toutes.
Pour ma part, ma bidouille de MP remonte à 1 an et demi et je m'étais intéressé à ce que je suggérais dans le post #390: observer comment la parcimonie peut varier suivant le dictionnaire de départ, avec dans l'idée de faire de la synthèse de façon économique. Je me souviens être arrivé à un résultat absolument sensationnel sur des samples de balaphon et de tabla. Avec un dictionnaire de chirps hyperboliques dont l'enveloppe était la fonction FoF je suis arrivé à capturer 40 dB de l'énergie de départ avec moins de 10 atomes. Et je peux t'assurer que le signal reconstitué avec cette poignée d'atomes était vraiment très proche du signal de départ, et débruité qui plus est

Pour te donner une idée, il fallait plusieurs centaines d'atomes dans le cas d'un dictionnaire de Gabor pour arriver à la même qualité de poursuite.
La fonction FoF (cf Gribonval) est une enveloppe qui est appropriée à la détection d'événements musicaux, vu qu'elle atteint son maximum dans le voisinage du début du support, contrairement à une gaussienne

Le projet était tombé à l'eau, comme beaucoup de mes bidouilles, mais néanmoins je suis sûr et certain de me replonger dedans un jour. J'attends juste d'avoir les idées un peu plus claires en AI avant d'y retoucher ;)

batman14

Citation :
Il y a juste à stocker l'index de l'atome et la corrélation
Mais si tu indices tous les samples possibles normés sur x sec., la longueur de l'indice sera de l'ordre de la longueur du sample...
Si tu vois un sample comme un grand, grand entier, et ben tu l'as ton indice unique dans LE dico exaustif.
Tu n'as pas de compression possible par indexation du premier ordre.
Ton expérience de développement sur les sons de tablas a l'air croustillante.
Citation :
je suis arrivé à capturer 40 dB de l'énergie de départ avec moins de 10 atomes.
J'ai pas compris ça par contre. 40 dB...humm. En me présentant un grand nombre, tu me signifie qu'il y a un grand écart entre les deux puissances que tu compares. Quelle est ta référence ? Peux tu me préciser SVP ?
http://soundcloud.com/bat-manson

Pov Gabou

Citation :
Je sais, ça fait bizarre mais c'est les termes employés dans les publis en français sur le sujet.
C'est surtout que je lis jamais rien en Francais (je fais une these au Japon, alors le francais...), et tout ces termes, je les connais pas en francais (redondant, j'aurais pu m'en rapperler

Citation :
D'autre part, ceux-ci sont peut-être 'vieux' mais ça n'empêche pas qu'ils soient optimaux en résolution temps/fréquence
Vieux n'etait certainement pas pejoratif lorsque je l'utilisais ;)
Citation :
OR cette formule suppose qu'on a des ressources mémoire illimitées pour stocker les précieuses corrélations croisées <gi,gj> ce qui est loin d'être le cas dans la réalité, en dehors de samples courts. Quelqu'un qui voudrait implémenter sur des signaux quelconques serait obligé de laisser tomber cette implémentation et d'en trouver une meilleure. S'il n'en trouve pas, il devra tout faire en brute force => il est ramené au NP-hard.
Bon, je connais pas trop les champs d'applications du MP, j'ai pas pousse le truc super loin dans mes lectures, mais si tu peux pas stocker les correlations <gi, gj>, je vois pas tres bien les applications possibles. Parce qu'avoir un algo NP pour de la representation, ca me parait totalement irrealiste, surtout si tu parles de compression (pour les effets audio, c'est encore autre chose).
Citation :
Exact, dans ce cas la poursuite se résume à un seul atome. Mais il faudra effectuer les P corrélations entre le signal et chacun des P atomes du dictionnaire avant d'arriver à cette conclusion. On peut pas vraiment dire qu'il n'y a rien à faire. Quand tu dis que le résultat est débile, imagine cette expérience de pensée: on considère un sample inconnu, mono de longueur 1000 échantillonné en 16 bits. On considère d'autre part LE dictionnaire 'exhaustif' dont les atomes sont tous les signaux normés de longueur 1000 possibles. Le nombre d'atomes est astronomique. Si tu effectues la poursuite du sample de départ avec ce dictionnaire tu vas effectivement trouver comme solution:
- l'atome qui est la version normée du sample inconnu
- la corrélation associée (i.e: la racine carrée de l'énergie du sample)
Au lieu de quelque chose de débile,
Si ton dictionnaire contient une base, c'est evident qu'a la fin tu retrouves le signal de depart, c'est ca que je voulais dire (dans ma critique du MP "NP complet").
Citation :
Il y a juste à stocker l'index de l'atome et la corrélation. Et la compression est sans pertes Aux chi*ttes les mp3.
Ca me parait un peu bizarre de parler de compression si ton dictionnaire contient tous les atomes possibles; je vois pas la difference entre ce que tu dis et avoir en memoire tous les signaux possibles... La compression dont tu parles sans perte n'est pas possible, ne serait-ce qu'en invoquant la theorie de Shanon... Par contre, si tu acceptes une perte, et que tu arrives a trouver un critere de cout qui soit pertinent au niveau perceptif, ca devient beaucoup plus interessant (et t'as un sacre algo en mains, a mon avis, si tu arrives a trouver un truc suffiasament rapide dans ce cadre).
Il me semble plutot que la recherche (mais je suis pas trop ce qui s'y passe en musique, et en parole, les contraintes sont pas du tout les memes) se focalise sur le codage avec un model de signal (par exemple sinus + bruit) plutot que sur le codage de l'onde directement (il me semble que l'impression generale, c'est qu'on est un peu arrive au bout de ce qui est possible avec les derniers codeurs audio qui donnent un signal "correct" pour un taux de compression de 90%).

Pov Gabou

Citation :
La fonction FoF (cf Gribonval) est une enveloppe qui est appropriée à la détection d'événements musicaux, vu qu'elle atteint son maximum dans le voisinage du début du support, contrairement à une gaussienne
C'est exactement dans ce contexte que j'avais commence a un peu regarder le Matching Pursuit il y a quelques annees en DEA (j'etais cense travailler sur la representations stationnaire + transitoire + bruit, avec les transitoires utilisant une representation en ondelettes). Mais a l'epoque, il y a avait pas vraiment de toolbox pour le Matching pursuit, et j'etais pas arrive a en programmer un en matlab a l'epoque. Mais j'ai comme projet d'en implementer un en python a l'occasion (au moins un wrapper pour le toolkit de Gribonval et al).
Python permet un champs de possibilites au niveau experimentation nettement au dessus de matlab, ce serait interessant de voir comment ca marche (puis ce serait une bonne occasion d'utiliser mes toolbox de machine learning sur autre chose que de la parole, parce que bon, la parole, ca paye ses pates et son toit, mais c'est pas tres bandant).
- < Liste des sujets
- Charte