3 PyAudio example: Record a few seconds of audio and save to a WAVE
13 PARAMFILE = '/var/lib/ampy/params.json'
15 FORMAT = pyaudio.paInt16
19 WAVE_OUTPUT_FILENAME = "/tmp/output.wav"
21 if sys.platform == 'darwin':
27 with open(PARAMFILE) as f:
28 params = json.loads(f.read())
29 alsadevice = params['alsadevice']
30 except (FileNotFoundError, json.decoder.JSONDecodeError, KeyError):
31 print("Error reading the parameters. Please run device.py")
33 stream = p.open(format=FORMAT,
37 input_device_index=alsadevice,
38 frames_per_buffer=CHUNK)
40 print("* recording to", WAVE_OUTPUT_FILENAME)
44 for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
45 data = stream.read(CHUNK, exception_on_overflow=False)
48 print("* done recording")
54 wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
55 wf.setnchannels(CHANNELS)
56 wf.setsampwidth(p.get_sample_size(FORMAT))
58 wf.writeframes(b''.join(frames))