Cross-platform audio engine library for desktop platforms (Windows, Linux, macOS)
$ dotnet add package OwnAudioSharp
OwnAudioSharp is a cross-platform managed audio engine I built entirely in C# with zero external native dependencies. It provides direct access to native system audio APIs (WASAPI, PulseAudio, Core Audio, AAudio) through pure managed code, offering professional-grade audio capabilities that you usually only find in commercial software - completely free.
Pure Managed Code Engine: No native library dependencies - runs anywhere .NET runs Professional Audio Features: AI-driven vocal separation, audio mastering, advanced chord detection High Performance: Zero-allocation design, lock-free buffers, SIMD optimization Commercial Quality, Free: Professional tools without licensing costs Truly Cross-Platform: Windows, macOS, Linux, Android, iOS (in progress)
Version 2.0.0 brings major changes!
Pre-2.0.0 versions relied on native libraries (miniaudio, portaudio, ffmpeg) and were less optimized. Starting from version 2.0.0, OwnAudioSharp operates with zero external dependencies using a fully managed audio engine.
Key changes:
[Obsolete] - will be removed in future versionsUsing OwnaudioSharp version 2 with older code: If you need pre-2.0.0 functionality because you wrote your code for an older version of OwnaudioSharp, replace the Ownaudio namespaces in your code with the OwnaudioLegacy namespace. for example: =>
Migration recommendation: Use version 2.0.0 or later for all new projects. The new managed engine offers better performance and maintainability.
Features you typically only find in commercial software:
AI Vocal Separation: State-of-the-art vocal and instrumental track separation using ONNX neural networks
default, best, karaokeAudio Mastering: AI-driven matchering - master your tracks to match reference audio
Advanced Chord Detection: Musical chord recognition from simple to professional
Cross-platform Managed Engine: Pure C# implementation for all platforms
Dual API Layers:
Audio Processing:
High Performance:
Install-Package OwnAudioSharpdotnet add package OwnAudioSharpComplete API documentation with examples is available on the official website:
The website includes:
OwnAudioSharp's audio engine is built on a modular architecture with platform-specific implementations. Detailed documentation is available for each component:
Each platform implementation includes:
For low-level engine development or platform-specific optimization, check out the individual platform documentation.
// Initialize OwnaudioNET (async for UI apps!)
await OwnaudioNet.InitializeAsync();
// Create file source
var source = new FileSource("music.mp3");
// Create mixer and add source
var mixer = new AudioMixer(OwnaudioNet.Engine);
mixer.AddSource(source);
mixer.Start();
// Play the source
source.Play();
// Apply professional effects
var reverb = new ReverbEffect { Mix = 0.3f, RoomSize = 0.7f };
var compressor = new CompressorEffect(threshold: 0.5f, ratio: 4.0f, sampleRate: 48000f);
var sourceWithEffects = new SourceWithEffects(source, reverb, compressor);
// Control playback
source.Volume = 0.8f;
source.Seek(30.0); // secondsOwnAudioSharp is completely free and open-source, providing professional-grade audio features without licensing costs. If you find this library useful, especially for commercial purposes, consider supporting its continued development:
Why support?
Your support helps keep professional audio technology accessible to everyone!
See the LICENSE file for details.
Special thanks to the creators of: