PvRecorder 1.1.1
See the version list below for details.
dotnet add package PvRecorder --version 1.1.1
NuGet\Install-Package PvRecorder -Version 1.1.1
<PackageReference Include="PvRecorder" Version="1.1.1" />
paket add PvRecorder --version 1.1.1
#r "nuget: PvRecorder, 1.1.1"
// Install PvRecorder as a Cake Addin #addin nuget:?package=PvRecorder&version=1.1.1 // Install PvRecorder as a Cake Tool #tool nuget:?package=PvRecorder&version=1.1.1
PV_Recorder
A cross platform audio recorder that captures single-channel audio at a sample rate of 16kHz.
Requirements
- .NET Standard 2.0, .NET Core 3.1, .NET 6.0
Compatibility
- Windows (amd64)
- macOS (x86_64, arm64)
- Linux (x86_64)
- Raspberry Pi:
- 2
- 3 (32 and 64 bit)
- 4 (32 and 64 bit)
- NVIDIA Jetson Nano
- BeagleBone
Installation
dotnet add package PvRecorder
Usage
Getting the list of input devices does not require an instance:
using Pv;
string[] devices = PvRecorder.GetAudioDevices();
To start recording initialize the instance and run start:
PvRecorder recorder = PvRecorder.Create(
deviceIndex: -1, // uses default index
frameLength: 512,
);
recorder.Start();
Get the pcm frames by calling the read function:
while (true) {
pcm = recorder.Read();
// do something with pcm
}
To stop recording just run stop on the instance:
recorder.Stop();
Once you are done, free the used resources. You do not have to call stop before Dispose:
recorder.Dispose();
To have to resources freed immediately after use without explicitly calling the Dispose
function, wrap PvRecorder in a using statement:
using(PvRecorder recorder = PvRecorder.Create(deviceIndex: -1, frameLength: 512)) {
// PvRecorder usage
}
Demo
NOTE: The demo is built on .Net Core 3.1.
For more detailed information on how to use the pv_recorder .NET sdk, please that a look at Demo/Demo.cs.
In the following instructions we will refer to {AUDIO_DEVICE_INDEX}
as the index of the audio device to use, and {RAW_OUTPUT_PATH}
as the path to save the raw audio data
{AUDIO_DEVICE_INDEX}
defaults to -1 and {RAW_OUTPUT_PATH}
can be empty if you wish to not save any data.
To build the demo:
dotnet build -c Release
To show the available audio devices run:
dotnet run --project Demo -c Release -- --show_audio_devices
To run audio recorder run:
dotnet run --project Demo -c Release
-- --audio_device_index {AUDIO_DEVICE_INDEX} --raw_output_path {RAW_OUTPUT_PATH}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.