2013-02-19 3 views

Répondre

1

Si vous êtes à la recherche de lire un fichier wav, la bibliothèque d'onde doit faire bien: http://docs.python.org/2/library/wave.html

Par exemple:

import wave 
CHUNK_SIZE=1024 
wf = wave.open('filename.wav') 
data = wf.readframes(CHUNK_SIZE) 
while data != '': 
    do_something(data) 
    data = wf.readframes(CHUNK_SIZE) 

lirons 1024 échantillons en données. C'est-à-dire, les données seront un tableau de 1024 entrées, chacune l'amplitude à un moment particulier, où ce temps dépend du framerate du fichier. Voir cette question: What does a audio frame contain? pour plus d'explications.

+0

J'ai essayé ceci. Chaque morceau est un groupe d'hex (\ xff par exemple). Existe-t-il un moyen de convertir tous ces éléments en entiers? – joshreesjones

+0

int (hexstring.encode ('hex'), 16) va convertir une chaîne comme '\ xff' en décimal – nat

+0

Ces questions l'ont éclairci pour moi: [link] http://stackoverflow.com/questions/14963699/ comment-je-corrige-cette-erreur-typeerror-str-ne-supporte-pas-l'interface-tampon/14963750 # 14963750 [/ link] [link] http://stackoverflow.com/questions/14961562/how-do-i-convertir-une-chaîne-de-valeurs-hexadécimales-à-une-liste-de-entiers [/ link] – joshreesjones