Cross-Platform Audio Library for .NET 7 and later.
MIT License
A Cross-Platform Audio Library for .NET 8.
Name (Backend) | Author (Backend) | License (Binding) | Windows10 Desktop | Windows10 UWP | Android | Linux | iOS | Mac OSX |
---|---|---|---|---|---|---|---|---|
OpenTK (OpenAL) | OpenTK | MIT License | ||||||
AudioGraph on.NET 5 or later | Microsoft | MIT License | ||||||
NAudio (WaveOut, ASIO, DirectSound, WASAPI) | NAudio | MIT License | ||||||
Xamarin.Android (AudioTrack) | Xamarin | MIT License |
: Not Tested or needs more information : Tested : Impossible
System.Numerics.Vectors
and System.Runtime.Intrinsics
for resampling calculation.Benchmarks on .Net 5, Intel Core i7 4790
System.Runtime.Intrinsics.X86.Avx
and System.Runtime.Intrinsics.X86.Avx2
for FFT calculation.To\From | IEEE 754Binary32(float) | 32bit LinearPCM(Q0.31) | 24bit LinearPCM(Q0.23) | 16bit LinearPCM(Q0.15) | 8bit LPCM(Excess-128) | G.711Law | G.711A-Law |
---|---|---|---|---|---|---|---|
IEEE 754Binary32(float) | * | ||||||
32bit LinearPCM(Q0.31) | * | ||||||
24bit LinearPCM(Q0.23) | * | * | |||||
16bit LinearPCM(Q0.15) | * | * | * | ||||
8bit LPCM(Excess-128) | * | * | * | * | * | * | |
G.711 Law | * | * | * | * | * | * | |
G.711 A-Law | * | * | * | * | * | * |
Legends: : Shamisen has optimized implementation of direct conversion. : Shamisen can handle conversion by 2 or more converter. Can be partially optimized. Depending on the combination, noise due to quantization error may occur. : Shamisen has simple implementation of direct conversion. : Shamisen can handle conversion by 2 or more converter. Both converter is implemented in simple way. Depending on the combination, noise due to quantization error may occur. : Shamisen has no support for conversion. : No conversion needed(same format). * : Such conversion can cause noise due to quantization errors.
Vector2
and Vector3
for filter calculations in each channels.FastFill
for some types that fills quickly using Vector<T>
.Container Name | Typical File Extensions | Implemented Codec | Library contains Decoder/Encoder | License | Decoding | Encoding |
---|---|---|---|---|---|---|
WaveformRF64 | .wav |
Linear PCM, IEEE 754 Floating-Point PCM, A-Law, -law | Shamisen | MIT License | (RF64 as default) | |
FLAC | .flac |
FLAC | Shamisen.Codecs.Flac | MIT License | (Planned) |
Legends: : Supported by Shamisen itself : Supported by another library and its wrapper for Shamisen : Not supported by Shamisen without any custom integration
Span<T>
does not support multi-thread processing at all.: Possible : Needs more information : Impossible
Name of Backend | Author of Backend | License (binding) | Target Platform | Status |
---|---|---|---|---|
Oboe | MIT License | Android >10 | Planned |
: Possible : Needs more information : Impossible
Name of Backend | Author of Backend | License (binding) | Target Platforms | Status |
---|---|---|---|---|
Silk.NET OpenAL | .NET Foundation Silk.NET Team | MIT License | Cross Platform(OpenAL) | Gathering Information |
Silk.NET XAudio | .NET Foundation Silk.NET Team | MIT License | Windows-Like(XAudio) | Planned |
Xamarin.iOS | Microsoft | MIT License | iOS | Planned |
: Shamisen will have Managed Implementation of decoder/encoder itself : Shamisen will have Managed Wrapper for another library : Not included in plan currently
Container Name | Typical File Extensions | Target Codec | Planned Library containing Decoder/Encoder | Planned Library License | Decoding | Encoding | Status |
---|---|---|---|---|---|---|---|
FLAC | .flac |
FLAC | Shamisen.Codecs.Flac | MIT License | Implemented Decoder | ||
Opus | .opus |
Opus | Shamisen.Codecs.Opus | MIT License | Planned | ||
Ogg | .ogg |
Vorbis | Shamisen.Codecs.Ogg | MIT License | Planned |