La musique d'Analyse et de Visualisation
Je suis intéressé par la programmation d'une musique visualizer en Python.
Le premier problème est de savoir comment obtenir les informations de la musique? Comme le volume, la fréquence, la vitesse de rotation, etc.
Et à partir d'où? De la carte son ou la musique en elle-même fichier?
Ma conjecture est que de la carte son, mais comment puis-je accéder à la carte son et l'information voulue? De préférence, dans une plate-forme independed moyen(Linux est un must).
J'ai déjà lu un peu plus sur la transformation de fourier, mais je ne suis pas sûr si c'est la meilleure façon d'aller.
J'ai pensé à utiliser OpenGL pour la visualisation, mais je suis toujours ouvert aux suggestions.
J'ai déjà regardé ces wikipages, mais n'ai pas trouvé encore de réponse:
http://wiki.python.org/moin/Audio/
http://wiki.python.org/moin/PythonInMusic
OriginalL'auteur naeg | 2011-06-15
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à la recherche d'une croix-plate-forme de bibliothèque audio, je vous suggère fortement d'utiliser FMOD qui vient de roches. Il y a aussi un wrapper de l'utiliser en python (même si je n'ai jamais utilisé).
Il permettra de fournir des fonctionnalités comme l'obtention du spectre out-of-the-box.
Si vous souhaitez analyser les fichiers audio, mon algorithme de choix est le battre spectre. Il calcule une matrice de similarité par comparaison de chaque échantillon court de la musique avec tous les autres. Une fois la matrice de similarité est calculé, il est possible d'obtenir une moyenne de similarité entre toutes les paires d'échantillons {S(T);S(T+1)} pour chaque intervalle de temps T: c'est le temps de spectre.
Il permet d'obtenir le BPM de votre audio de la séquence, mais peut faire beaucoup plus que d'identifier les différentes parties de la musique, recherchez les transitions entre les échantillons similaires. Je ne sais pas ce que vous entendez exactement par "visualiser" audio", mais je pense que cet algorithme devrait vous fournir suffisamment d'informations pour commencer la synchronisation de l'image pour l'audio (si c'est ce que vous voulez faire).
OriginalL'auteur
Un autre outil pour c'est librosa. Il propose des Battre le suivi pour obtenir bpm, en outre, à défaut d'opérations. Selon le tutoriel, pour battre le suivi:
Comme @dionyziz dit aussi, le
je n'ai pas essayé.
y_percussive
dey
à l'aide d'un HPSS filtre:y_harmonic, y_percussive = librosa.effects.hpss(y)
. De plus, votre retour de beats sera dans les images. Vous pouvez les convertir en temps réel à l'aide delibrosa.frames_to_time(beats)
.OriginalL'auteur
N'est plus une bonne réponse étant donné que l'Écho de Nid de l'API n'est plus disponible. De quitter pour des raisons historiques seulement
Envisager la Echo Nest API qui fonctionne parfaitement avec Python et retourne des informations sur le nombre de battements par minute (probablement ce que vous voulez, au lieu de TR /min), la moyenne d'amplitude, de même "dancibility" pour n'importe quel fichier audio. Vous avez besoin d'une clé API, mais en plus il est gratuit et fonctionne bien.
Il a aussi le code pour manipuler la musique ainsi, par l'intermédiaire de leurs Echo Nest Remix paquet. Voici l'exemple de code:
il semble que ce soit plus de travail, et est maintenant une API Spotify
developer.echonest.com/docs/v4
OriginalL'auteur