PvRecorder is an easy-to-use, cross-platform audio recorder designed for real-time speech audio processing. It allows developers access to an audio device's input stream, broken up into data frames of a given size.
- Python 3.9+
- Runs on Linux (x86_64), macOS (x86_64 and arm64), Windows (x86_64 and arm64), and Raspberry Pi (Zero, 3, 4, 5).
pip3 install pvrecorder
Initialize and begin recording:
from pvrecorder import PvRecorder
recorder = PvRecorder(frame_length=512)
recorder.start()(or)
Use get_available_devices() to get a list of available devices and then initialize the instance based on the index of a device:
from pvrecorder import PvRecorder
devices = PvRecorder.get_available_devices()
recorder = PvRecorder(frame_length=512, device_index=0)
recorder.start()Read frames of audio:
while recorder.is_recording:
frame = recorder.read()
# process audio frameTo stop recording, call stop() on the instance:
recorder.stop()Once you are done, free the resources acquired by PvRecorder. You do not have to call stop() before delete():
recorder.delete()pvrecorderdemo provides command-line utilities for recording audio to a file.