10
votes

Visualisation de forme d'onde audio à Python / Django

J'ai regardé autour de la pile trop-fleuve pour une réponse à cela, mais nulle part ne semble que la réponse ou la direction correcte ...

Mon projet permettra à un utilisateur de télécharger un WAV, qui sera finalement converti en un MP3 de haute qualité à l'aide de FFMPEG sur le serveur et il sera tous stocké et servi sur Amazon S3. Le prochain obstacle consiste à déterminer comment extraire une visualisation de forme d'onde fiable à partir de ce son téléchargé. J'utilise Python et Django sur Linux Ubuntu 10 sur un VPS pour ce projet ...

Je suis, à la Vert le moins, nécessitant une sorte de direction ... Je suis perdu de savoir où commencer à chercher un tel outil?


0 commentaires

3 Réponses :


6
votes

Pour créer un graphique ou un graphique de la forme d'onde, la demande d'onde Python est d'obtenir la forme d'onde dans un NUMPYFERFER Array, puis utilisez matplotlib pour faire la parcelle.

Le moyen le plus simple de lire les données dans une matrice numpue consiste à utiliser sciped.io.wavfile.read , bien que si vous préférez ne pas utiliser SCIPY (c'est un grand paquet), il n'est pas difficile de lire et de convertir les données à l'aide de WAV module.


0 commentaires

7
votes

Celui-ci (utilise audiolab, pil et numpy) est décent: http: // www. freesound.org/blog/?p=10


1 commentaires

+1 Bonne suggestion! Peut-être qu'une solution clé en main est une solution meilleure à ce besoin que d'approche générique que j'ai suggérée.



3
votes

Ne pas essayer de répondre à ma propre question ici, mais c'est une suggestion qui peut aider les autres clairement lorsque vous voyez cette question ...

Après beaucoup de recherches, j'ai trouvé cette solution ... Cela semble bien fait, mais quelqu'un d'autre ne sait rien à ce sujet?

semble faire le lot!

http://code.google.com/p/timeide/


1 commentaires

Je n'ai pas encore eu. J'espère avoir un bon aller avec ça bientôt. Et il semble que cela soit activement développé. Pourrait être une option vraiment cool.