10 stable releases
1.2.3 | Sep 13, 2024 |
---|---|
1.2.2 | Jan 30, 2024 |
1.2.1 | Aug 30, 2023 |
1.2.0 | Jul 13, 2023 |
1.0.1 | Oct 8, 2021 |
#89 in Audio
191 downloads per month
8.5MB
536 lines
Contains (Windows DLL, 1MB) libpv_recorder.dll, (ELF lib, 1MB) data/lib/linux/x86_64/libpv_recorder.so, (Mach-o library, 625KB) data/lib/mac/arm64/libpv_recorder.dylib, (Mach-o library, 720KB) data/lib/mac/x86_64/libpv_recorder.dylib, (ELF lib, 675KB) libpv_recorder.so, (ELF lib, 760KB) libpv_recorder.so and 5 more.
PvRecorder Binding for Python
PvRecorder
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.
Requirements
- Rust 1.54+
Compatibility
- Linux (x86_64)
- macOS (x86_64 and arm64)
- Windows (x86_64)
- Raspberry Pi:
- Zero
- 3 (32 and 64 bit)
- 4 (32 and 64 bit)
- 5 (32 and 64 bit)
Installation
To add the pvrecorder library into your app, add pv_recorder
to your app's Cargo.toml
manifest:
[dependencies]
pv_recorder = "*"
Usage
Getting the list of input devices does not require an instance:
use pv_recorder::PvRecorderBuilder
let audio_devices = PvRecorderBuilder::default().get_audio_devices()?;
To start recording, initialize an instance using the builder and call start()
:
use pv_recorder::PvRecorderBuilder;
let frame_length = 512;
let recorder = PvRecorderBuilder::new(frame_length).init()?;
recorder.start()?
Read frames of audio:
while recorder.is_recording() {
let frame = recorder.read()?;
// process audio frame
}
To stop recording, call stop()
on the instance:
recorder.stop()?;
Demo
The PvRecorder Rust demo is a Rust command-line application that demonstrates how to use PvRecorder to record audio to a file.