Page 1 sur 1
Enregistrement audio
Posté : mer. 27 janv. 2016 16:04
par Amélie
Bonjour,
j'essaie d'enregistrer un son sous format .wav avec une Rapsberry Pi et avec Pyaudio.
J'ai le programme suivant :
Code : Tout sélectionner
import pyaudio
import wave
CHUNK = 1024
FORMAT = pyaudio.paInt16 #paInt8
CHANNELS = 2
RATE = 88200 #sample rate
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK) #buffer
print("* recording")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data) # 2 bytes(16 bits) per channel
print("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
Le programme précédent marche sur ordinateur, mais dès qu'on le lance sur la Raspberry, celui-ci ne fonctionne pas ! En effet, Python ne trouve pas le module pyaudio, alors que je m'en sers dans un autre programme et qu'il fonctionne parfaitement !
Auriez -vous une solution pour faire fonctionner ce code ou en créer un pour enregistrer un son avec un micro ?
Merci d'avance
Re: Enregistrement audio
Posté : mer. 27 janv. 2016 16:12
par Manfraid
Salut,
pourrais tu mettre le message d'erreur pour que l'on puisse mieux t'aiguiller
Re: Enregistrement audio
Posté : mer. 27 janv. 2016 16:39
par Amélie
Avec Geany, je reçois le message suivant
Code : Tout sélectionner
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Traceback (most recent call last):
File "record(marche).py", line 13, in <module>
stream = p.open(format=FORMAT, channels=CHANNELS,rate=RATE, input=True, frames_per_buffer=CHUNK) #buffer
File "/usr/local/lib/python2.7/dist-packages/pyaudio.py", line 747, in open
stream = Stream(self, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pyaudio.py", line 442, in __init__
self._stream = pa.open(**arguments)
IOError: [Errno Invalid input device (no default output device)] -9996
------------------
(program exited with code: 1)
Press return to continue
et avec Python, je reçois ceci:
Code : Tout sélectionner
Traceback (most recent call last):
File "/home/pi/Desktop/record(marche).py", line 1, in <module>
import pyaudio
ImportError: No module named pyaudio
>>>
Merci d'avance
Re: Enregistrement audio
Posté : mer. 27 janv. 2016 16:55
par Manfraid
le module pyaudio ne semble pas être installer ou hors de porté du PYTHONPATH
quel version de python utilisez vous ?
Re: Enregistrement audio
Posté : jeu. 28 janv. 2016 14:45
par Amélie
J'utilise la version 3.4 de Python sur la Raspberry et sur mon ordinateur. Et lorsque j'essaie de réinstaller pyaudio, il me met que la version la plus récente est déjà installée.
Re: Enregistrement audio
Posté : jeu. 28 janv. 2016 15:12
par Manfraid
as-tu bien installer pour python3 ?
Re: Enregistrement audio
Posté : jeu. 28 janv. 2016 15:23
par Amélie
On a installé Pyaudio sur la carte avec sudo apt-get install, et Pyaudio marche étant donné qu'un autre programme l'utilisant fonctionne. Il ne fonctionne juste pas pour ce programme-ci... C'est justement cela que je ne comprends pas.
Re: Enregistrement audio
Posté : jeu. 28 janv. 2016 16:19
par Manfraid
c'est franchement bizarre
essaye ces 2 commande et donne moi le résultat
Code : Tout sélectionner
python2 -c 'import pyaudio; print(dir(pyaudio))'
python3 -c 'import pyaudio; print(dir(pyaudio))'
Re: Enregistrement audio
Posté : mer. 3 févr. 2016 16:19
par Amélie
Pour python2, pyaudio est bien installé dans sa version la plus récente, cependant, pour python3, il me répond 'no module named pyaudio'
Du coup j'ai essayé de l'installer avec 'sudo apt-get install python-pyaudio python3-pyaudio' mais là il me dit 'impossible de trouver le paquet python3-pyaudio'.
Re: Enregistrement audio
Posté : jeu. 4 févr. 2016 08:38
par Manfraid
essaye de l'installer avec pip