Je cherche actuellement autour de vous pour une bonne bibliothèque / code source de détection de battement d'allround en C ++, car j'ai trouvé qu'il est vraiment difficile d'obtenir des résultats satisfaisants avec le code de détection de battement que j'ai écrit en utilisant ce tutoriel:
http://www.gamedev.net/reference/programming/features/beatDetection/ a> p>
C'est particulièrement difficile si vous voulez le faire fonctionner avec n'importe quel type de musique, alors je me demandais s'il y a quelque chose d'utilisable là-bas déjà? P>
Merci! P>
5 Réponses :
Il me manque peut-être quelque chose, mais je ne vois pas pourquoi vous ne pouvez pas utiliser la routine FFT de la bibliothèque scientifique GNU (ou tout autre comme celles incluses dans Boost)? P>
Je cherche une détection de battement, qui utilise FFT comme entrée et détecte le subi qu'il y a un nouveau rythme dans une certaine gamme ou non. Les libs que vous avez fournis sont des routines de FFT "juste" si je ne me trompe pas?
Pour détecter un "battement" ou fondamentalement une pointe périodique, alors tout ce dont vous avez besoin est la FFT?
Oui, dans toutes les implémentations de détection de battement, j'ai vu jusqu'à présent, vous comparez essentiellement la FFT avec celle de la trame avant et peut-être exécuter certaines fonctions de lissage à ce sujet pour rejeter tout type de bruit. Ensuite, si la différence est sur un certain seuil dynamique, vous avez un battement.
Exactement. Ce que vous envisagez de devoir être la périogramme, Spikes suggère des "battements". Il est facile à faire, mais en utilisant les routines FFT dans Boost ou GNU GSL est le point de départ.
Oui, fondamentalement c'est ce que je fais déjà, même si j'utilise FFTW. Quoi qu'il en soit, le problème est que c'est vraiment difficile de faire fonctionner de manière générale, alors je me demandais s'il y a déjà eu une chose qui pourrait mieux fonctionner. Merci pour votre aide quand même!
Regardez le système de plug-in vamp et ses plugins disponibles ( http://vamp-plugins.org/). p>
(du site Web)
VAMP est un système de plug-in de traitement audio pour les plugins qui extrait des informations descriptives à partir de données audio em> p>
Le jeu de plug-in QM semble particulièrement pertinent ( http: // vamp -plugins.org/plugin-doc/qm-vamp-plugins.html ). P>
Oui, ils sont conçus exactement pour cela.
ah, vamp. Si seulement les intéressants travaillaient en temps réel. p>
user240137, je ne sais pas si vous êtes vraiment tout cela dans "accepter des réponses", mais après avoir examiné Vamp, j'ai trouvé Aubio (Aubio.org) et j'ai trouvé plus facile de pirater ses fonctions dans mes projets à faire travail en temps réel (si c'est ce que vous êtes après). P>
Dernier: Si vous voulez vraiment gérer votre propre FFT, utilisez KissFT comme une alternative plus facile à FFTW. P>
Vous pouvez essayer AUBIO: http://aubio.org/ p>
Il ne semble pas fonctionner (au moins pour moi, aujourd'hui) dans Windows, mais cela fonctionne dans OS / X P>
Onsetsds - Détection d'apparition musicale en temps réel C / C ++ Bibliothèque http://onsetsds.sourceforge.net/ p>