Install
| Product | Versions |
|---|---|
| .NET | |
| Other |
README
SilkCodec.NET.CSCore
CSCore extensions for SilkCodec.NET. Convert any CSCore-readable audio format to Silk v3, and decode Silk v3 to WAV, PCM, MP3, AAC/M4A or WMA.
Windows only (net10.0-windows, net8.0-windows, net472). Compressed formats use Media Foundation.
Install
dotnet add package SilkCodec.NET.CSCore
Encode
using SilkCodec.NET;
using SilkCodec.NET.CSCore;
using CSCore;
using CSCore.Codecs;
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 IWaveSource source = CodecFactory.Instance.GetCodec("voice.flac");
byte[] fromSource = encoder.Encode(source);
byte[] fromExtension = source.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 IWaveSource wave = decoder.DecodeToWaveSource(File.ReadAllBytes("voice.silk"));
Output format is inferred from the file extension: .wav, .pcm/.raw/.s16le, .mp3, .m4a/.aac/.mp4, .wma.
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.
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.