•
Problème de lecture d'un entête WAVE
Posté par
elnycko
le
24/01/2008 14:07
Bonjour,
je cherche à lire un fichier wave afin de le mettre sous forme vectorielle et procédé à du traitement de signal.
En cherchant de-ci de-là, j'ai trouvé différents documents décrivant la structure de l'entête d'un WAVE et les infos qu'il contient. Mon problème se situe au niveau de la lecture du dit fichier, disons que je travaille avec chimes.wav (un bête fichier son de windows...).
si je fais :
>>signal=open('chimes.wav','r')
>>signal.read(4)
'RIFF' # ce qui est OK
>>s=signal.read(1)
>>s
'\xd8'
#le problème étant que devrait être un hexadécimal noté '0xd8'
#comme s[0] me donne aussi '\xd8', je ne sais pas bien comment remplacer le \ par un 0
#de plus, il arrive que la réponse ne soit pas un hexadécimal mais le symbole ascii correspondant:
#par exemple:
>>signal=open('tada.wav','r')
>>signal.read(4)
'RIFF' # ce qui est OK
>>s=signal.read(1)
>>s
'T'
Je suppose qu'il doit y avoir un problème de formatage (peut être un argument à ajouter à signal.read( ) pour spécifier le
type de résultat attendu ?
J'ai essayé les même manipulations en utilisant
signal=open('chimes.wav','rb')
ainsi que le module wave de python, mais le problème persiste.
J'ai aussi une fichier wave non tiré de windows, mais là encore le problème persiste.
Si quelqu'un à une idée (ou deux..)
Merci,
Elnycko
|