est-il possible d'écrire un programme pouvant extraire une mélodie / rythme / rythme fourni par un insoluce spécifique dans un fichier WAVE (ou autre format musical) composé de plusieurs instruments? P>
Quels algorithmes pourraient être utilisés pour cela et quel langage de programmation serait le mieux adapté à cela? P>
6 Réponses :
Un instrument produit une signature sonore, de la même manière que nos voix. Il existe des algorithmes qui peuvent choisir une seule voix sur une foule et identifier cette voix de sa signature dans une base de données utilisée en médecine légale. De la même manière, la signature sonore d'un seul instrument peut être cueillie d'un paysage sonore (telle que votre onde mixte) et être utilisée pour choisir un battement ou faire une copie de cet instrument sur sa propre piste. p>
Évidemment, si vous envisagez de faire des copies de pistes, c'est-à-dire de décomposer la vague mélangée dans une seule piste par instrument, vous allez examiner beaucoup de travail. Ma compréhension est qu'en raison des chevauchements de fréquence des instruments, cela ne sera pas simple, par aucun moyen ... pas impossible si vous avez déjà été dit. P>
Il y a un article de blog assez intéressant par comparide sur les technologies de correspondance acoustiques qui pourraient être utiles comme un début pour votre quête d'informations: http://www.comparonneonne.com/searchingforsounds.html p>
Merci pour les encouragements, Ben! "La réponse suppose cependant que vous savez quels types d'instruments sont dans la piste que nous ne sommes pas des instruments, des effets, ils se fondent tous ensemble théoriquement, si vous travaillez humain sur une piste et que vous savez quel type d'instruments ils sont tous et leur "signature sonore", cela pourrait être fait, mais un processus automatisé, impossible impossible "-A Hater
Vous n'avez besoin que d'une zone de la piste où les instruments sont clairement distinguables les uns des autres, vous n'avez pas besoin de savoir ce qu'ils sont. Quelque chose comme comparaison vous dira de leur signature sonore. Même sans connaître l'instrument, vous pouvez utiliser la signature sonore identifiée pour extraire le reste.
Pour clarifier par "Extrait", je ne veux pas dire le retirer de la piste d'origine, je veux dire faire une piste de copie contenant juste cette "voix" - sauf lorsque les signatures se chevauchent au point qu'ils ne peuvent pas être identifiés électroniquement les uns des autres. Bien que j'imaginais que tout comme la couleur, une machine pouvait identifier des sons que nous ne pouvons absolument pas distinguer la différence entre nos oreilles humaines.
Regardez dans des algorithmes de la machine à karaoké. S'ils peuvent supprimer la voix d'une chanson, je suis sûr que les mêmes principes peuvent être appliqués pour extraire un seul instrument. P>
La plupart des instruments font du son dans certaines gammes de fréquences. p>
Si vous écrivez un filtre passe-bande adaptable B> - un filtre qui permet uniquement une certaine plage de fréquences - ce sera à peu près aussi proche que vous êtes susceptible d'obtenir. Ce ne sera pas n'importe où près de parfait; Vous demandez une magie noire. Le seul moyen d'extraire parfaitement un seul instrument d'une piste consiste à avoir un échantillon audio de la piste sans cet instrument et faire une différence entre les deux formes d'onde. P>
C, C ++, Java, C #, Python, Perl devrait tous pouvoir faire tout cela avec les bonnes bibliothèques. Lequel est "meilleur" dépend de ce que vous savez déjà. P>
C'est une zone fascinante. L'outil mathématique de base ici est le Fourier Transform . Pour avoir une idée de la façon dont cela fonctionne et comment il peut être difficile, jetez un coup d'œil à la Analyse du Ouvrir un accord à
Pour extraire le rythme ou le rythme, vous n'avez peut-être pas besoin d'une isolation parfaite de l'instrument que vous ciblez. Une solution générale peut être difficile, mais si vous essayez de le résoudre pour une pièce particulière, cela peut être possible. Essayez de mettre en œuvre un filtre passe-bande et voyez-le si vous pouvez le syntoniser pour sélectionner ème instrument que vous après. P>
En outre, je viens de trouver ce produit Mac appelé Photosounder . Ils ont un blog montrant différentes manières qu'il peut être utilisée, y compris un instrument individuel (avec intervention manuelle). p>
Il est possible en principe, mais très difficile - une zone ouverte de recherche, même. Vous pouvez être intéressé par le papier de projet pour Dancing Singys , un programme de génération d'étapes pour StepMania . Il fait une analyse de batterie et une analyse de musique assez sophistiquée, détaillée dans le papier (liée près du bas de cette page). P>
Tu dois être plus précis.
Shane: J'espère que cela ne vous dérange pas, j'ai ajouté un peu plus de clarté basé sur notre conversation et ajouté une balise supplémentaire qui pourrait vous aider plus d'intérêt et donc une réponse plus utile.
Shane: Faites-nous savoir comment vous y êtes, c'est un sujet fascinant et j'espère que cela donne quelques informations utiles pour vous.