lire un fichier wav

lire un fichier wav - Python - Programmation

Marsh Posté le 06-03-2005 à 15:33:45    

salut
je débute en python et je cherche à lire un fichier audio. voici mon code :

Code :
  1. fichier = open("modif.wav", "r" )
  2. nb_frames = fichier.getnframes()
  3. fichier.readframes(nb_frames)
  4. fichier.close()


j'ai l'erreur suivante :

Citation :

Traceback (most recent call last):
  File "proto_son.py", line 2, in ?
    nb_frames = fichier.getnframes()
AttributeError: 'file' object has no attribute 'getnframes'


pourtant d'après la doc open doit me renvoyer un objet de type Wave_read, qui possède la methode getnframes() (http://www.python.org/doc/2.3.5/li [...] jects.html). alors pourquoi ça ne marche pas ? quelqu'un peut m'aider ?
merci

Reply

Marsh Posté le 06-03-2005 à 15:33:45   

Reply

Marsh Posté le 06-03-2005 à 16:12:43    

...
open != wave.open
...
 :pfff:
 
Il faudrait que tu te renseignes sur le concept de "modules"


Message édité par masklinn le 06-03-2005 à 16:14:08

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 06-03-2005 à 16:51:31    

je n'avais pas calculé, merci pour l'info. cependant, contrairement à ce que je croyais, readframes ne joue pas le son. comment faire pour le jouer ?
apparemment on peut utiliser aussi pygame ou snatch mais il faut les installer, ce dont je voudrais me passer si possible.

Reply

Marsh Posté le 07-03-2005 à 15:44:40    

:heink:

Reply

Marsh Posté le 17-03-2005 à 16:58:29    

truc.readframes(n) renvoie n frames audio de truc (j'ai oublié dans quelle structure). Donc ton code est bon (si on utilise wave.open à la place d'open) mais ne fait rien puisque tu ne récupére pas la valeur lue dans une variable.
 

Code :
  1. (...)
  2. nb_frames = fichier.getnframes()
  3. machin= fichier.readframes(nb_frames)
  4. fichier.close()


Avec ca tu obtient un 'machin' manipulable.
 
Le but de ces fonctions est de parser les fichier audio pour les manipuler, pas de les faire jouer sur la carte son.
 
PS: Je dis ça de mémoire, j'ai pas fait de python depuis 1 an.


Message édité par Koko90 le 17-03-2005 à 17:08:54
Reply

Marsh Posté le 17-03-2005 à 21:58:23    

Koko90 a écrit :

truc.readframes(n) renvoie n frames audio de truc (j'ai oublié dans quelle structure). Donc ton code est bon (si on utilise wave.open à la place d'open) mais ne fait rien puisque tu ne récupére pas la valeur lue dans une variable.
 

Code :
  1. (...)
  2. nb_frames = fichier.getnframes()
  3. machin= fichier.readframes(nb_frames)
  4. fichier.close()


Avec ca tu obtient un 'machin' manipulable.
 
Le but de ces fonctions est de parser les fichier audio pour les manipuler, pas de les faire jouer sur la carte son.
 
PS: Je dis ça de mémoire, j'ai pas fait de python depuis 1 an.


 
merci pour ta réponse, mais en fait j'avais fini par comprendre ça.  ;)  
l'idée maintenant ça serait de "écrire" le machin lu sur un canal de sortie, et j'ai du mal à faire un exemple qui marche (je me perds dans la doc, bien fournie, de python). si tu as des souvenirs, pense à moi !
a+  :hello:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed