Enregistrement audio

Parce que les applications du Raspberry Pi sont illimités...

Modérateur : Francois

Répondre
Amélie
Messages : 5
Enregistré le : mer. 27 janv. 2016 15:53

Enregistrement audio

Message par Amélie » mer. 27 janv. 2016 16:04

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

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Enregistrement audio

Message par Manfraid » mer. 27 janv. 2016 16:12

Salut,

pourrais tu mettre le message d'erreur pour que l'on puisse mieux t'aiguiller
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Amélie
Messages : 5
Enregistré le : mer. 27 janv. 2016 15:53

Re: Enregistrement audio

Message par Amélie » mer. 27 janv. 2016 16:39

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

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Enregistrement audio

Message par Manfraid » mer. 27 janv. 2016 16:55

le module pyaudio ne semble pas être installer ou hors de porté du PYTHONPATH

quel version de python utilisez vous ?
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Amélie
Messages : 5
Enregistré le : mer. 27 janv. 2016 15:53

Re: Enregistrement audio

Message par Amélie » jeu. 28 janv. 2016 14:45

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.

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Enregistrement audio

Message par Manfraid » jeu. 28 janv. 2016 15:12

as-tu bien installer pour python3 ?
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Amélie
Messages : 5
Enregistré le : mer. 27 janv. 2016 15:53

Re: Enregistrement audio

Message par Amélie » jeu. 28 janv. 2016 15:23

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.

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Enregistrement audio

Message par Manfraid » jeu. 28 janv. 2016 16:19

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))'
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Amélie
Messages : 5
Enregistré le : mer. 27 janv. 2016 15:53

Re: Enregistrement audio

Message par Amélie » mer. 3 févr. 2016 16:19

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'.

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Enregistrement audio

Message par Manfraid » jeu. 4 févr. 2016 08:38

essaye de l'installer avec pip

Code : Tout sélectionner

sudo python3 -m pip install pyaudio
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Répondre

Retourner vers « Et tout le reste »