Get Started
| Product | Versions |
|---|---|
| .NET |
README
SilkCodec.NET.NAudio
NAudio extensions for SilkCodec.NET. Convert any NAudio-readable audio format to Silk v3, and decode Silk v3 to WAV, PCM, MP3, AAC/M4A, WMA or FLAC.
Windows only (net10.0-windows). Compressed formats use Media Foundation.
Install
dotnet add package SilkCodec.NET.NAudio
Encode
using SilkCodec.NET;
using SilkCodec.NET.NAudio;
using NAudio.Wave;
var encoder = new SilkEncoder(new SilkEncoderOptions
{
SampleRate = 24000,
BitRate = 25000,
Tencent = true
});
byte[] silk = encoder.EncodeFile("voice.mp3");
encoder.EncodeFile("voice.wav", "voice.silk");
using var reader = new AudioFileReader("voice.m4a");
byte[] fromReader = encoder.Encode(reader);
byte[] fromProvider = ((IWaveProvider)reader).ToSilk(encoder.Options);
.pcm, .raw and .s16le files are treated as signed 16-bit little-endian mono at encoder.Options.SampleRate.
Decode
var decoder = new SilkDecoder(new SilkDecoderOptions { SampleRate = 24000 });
decoder.DecodeFile("voice.silk", "voice.wav");
decoder.DecodeFile("voice.silk", "voice.mp3");
byte[] wav = decoder.DecodeToWav(File.ReadAllBytes("voice.silk"));
using RawSourceWaveStream wave = decoder.DecodeToWaveStream(File.ReadAllBytes("voice.silk"));
Output format is inferred from the file extension: .wav, .pcm/.raw/.s16le, .mp3, .m4a/.aac/.mp4, .wma, .flac.
MP3, AAC and WMA encoding may resample to 44.1 kHz because Windows Media Foundation often rejects 24 kHz mono.
License
MIT (Expat), see the repository LICENSE.
Downloads by Version
Similar & Alternative Packages
Hand-picked matching NuGet libraries based on tags & ecosystem
Depended On By
Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.