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.8+
- Runs on Linux (x86_64), macOS (x86_64 and arm64), Windows (x86_64), 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 frame
To 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.