OwnAudioSharp 4.0 · Now powered by Rust

A Rust audio engine
with a C# soul.

The entire audio path — decode, mix, effects, resample, playback and capture — now runs in a purpose-built native Rust engine. You still write 100% C#. The result: a fully native real-time path, and audio that never stutters.

🦀 Rust engine, C# surface ♻️ Fully native audio thread 📦 Zero external dependencies 🎛️ 15 built-in DSP effects 🔌 VST3 plugin hosting 🎹 MIDI I/O · SMF · Clock 🌐 Network sync <5 ms 🎵 MP3 · FLAC · WAV · AAC · ALAC · MP4 · OGG · AIFF
Windows x64/ARM64 macOS x64/ARM64 Linux x64/ARM64 Android ARM64 iOS ARM64

The 4.0 idea

One unchanged API.
A completely new engine.

Your code doesn't change — 4.0 is fully backward compatible. What changed is everything underneath it. From the first sample to the last byte, your audio is now processed by a native Rust core written specifically for this package. Nothing like it exists for C# today.

Your application + OwnAudioSharp API
100% C# · OwnaudioNet, AudioMixer, sources, effects — unchanged
C#
AudioEngineWrapper
Lock-free, non-blocking managed bridge
managed
Native Rust engine
ownaudio-ffi + ownaudio-core — decode, mix, DSP, resample, I/O
Rust
Audio hardware
WASAPI · CoreAudio · ALSA · (ASIO optional)
OS

Why the Rust + C# pairing wins

Native performance,
managed developer experience.

The hardest problem in .NET audio is a managed processing stage — one pause at the wrong moment and the buffer underruns. 4.0 removes that failure mode entirely by moving every sample into native code.

♻️

Fully native, zero dropouts

Not a single sample is processed in managed code. No matter what your surrounding C# code is doing, the audio never stutters.

🦀

A purpose-built Rust core

Lock-free ring buffers, SIMD converters, pre-allocated DSP and a sinc resampler — engineered to strict real-time constraints, not adapted from a general-purpose library.

📦

Zero external dependencies

One NuGet package. The native engine — including the audio decoder — is bundled and built specifically for it. Nothing else to install, no system codecs to configure.

Low CPU & memory

Real-time headroom on desktop and mobile alike, with a small memory footprint — engineered to professional, industry-standard behaviour.

🔒

Backward compatible

The public C# API is unchanged. Upgrade to 4.0 and keep your existing code — you get the new engine's guarantees without a rewrite.

🌍

Truly cross-platform

Windows, macOS, Linux, Android and iOS from a single API and a single codebase — the same Rust engine everywhere.

Familiar C#, native speed

Five lines to playing audio.

The API you already know. The engine you always wanted underneath it.

C# — Basic Setup
using OwnaudioNET;
using OwnaudioNET.Mixing;
using OwnaudioNET.Sources;

// Initialize (async — safe for all UI frameworks)
await OwnaudioNet.InitializeAsync();
OwnaudioNet.Start();

// Create the mixer — backed by the native Rust engine
var mixer = new AudioMixer(OwnaudioNet.Engine!.UnderlyingEngine);
mixer.Start();

// Play a file — decoded by the built-in Rust decoder, no FFmpeg required
var track = new FileSource("song.mp3");
mixer.AddSource(track);

// Add reverb — real-time DSP running natively, off the managed heap
var reverb = new ReverbEffect { RoomSize = 0.7f, Mix = 0.3f };
mixer.AddMasterEffect(reverb);

// Cleanup
mixer.Dispose();
await OwnaudioNet.ShutdownAsync();

Four generations

The road to 4.0.

A truly real-time-safe audio API took four generations — each one solved a problem the last one exposed.

1.0

MiniAudio + PortAudio + FFmpeg

Proved the core idea and shaped the API — but left performance on the table.

2.0

Fully managed, zero native dependencies

Clean and portable, but the managed runtime's impact on the real-time audio path could not be eliminated.

3.0

Optimized native I/O, managed DSP

Fast — until the host application put the runtime under load, which stalled the managed processing stage.

4.0

The entire audio chain runs in native Rust

A C# audio API that is completely unaffected by the managed runtime — professional, industry-standard behaviour for real-world .NET audio apps. This is the payoff.

Everything in the box

A complete audio toolkit.

Recommended for music players and DAWs, DJ software, music-education tools, broadcast and podcast pipelines, live-performance apps, and low-latency game audio.

🎚️
Multi-Track Mixing
Sample-accurate sync via a shared clock, per-track volume, real-time tempo & pitch.
🎛️
15 DSP Effects
Reverb, EQ (10/30-band), compressor, limiter, delay, chorus and more — per-track or master.
🔌
VST3 Plugins
Host VST3 effect plugins with their native cross-platform editor GUI.
🎙️
Recording
Low-latency capture with device selection, sample rate and channel control.
🎹
MIDI
Hardware I/O, SMF file read/write, hardware-accurate 24 PPQN clock — AOT-friendly.
🌐
Network Sync
Sample-accurate multi-device playback over LAN, <5 ms, with server auto-discovery.
🎯
SmartMaster
Speaker calibration with a mic: 30-band EQ, multiband compression, brick-wall limiter.
🎚️
Audio Matchering
Reference-based mastering — apply a track's spectral & dynamic character to yours.
🎼
Chord Detection
Real-time chromagram analysis: major, minor, diminished, augmented and 7th–13th chords.

Pick your build

One API. The right footprint.

Choose the package that fits your platform and size budget. Add-ons attach only when you need them.

OwnAudioSharp
The complete edition: mixing, effects, VST3, network sync, recording and MIDI, plus mastering, analysis and the waveform display.
Windows · macOS · Linux
OwnAudioSharp.Mobile
The same feature set built for mobile, mastering and waveform display included — minus the ONNX-based analysis.
Android ARM · ARM64 · x64 · iOS ARM64
OwnAudioSharp.Basic
Audio in and out, and nothing that could be left out — no analysis features, no ONNX models, no UI dependency.
Windows · macOS · Linux · minimal size
Shell
dotnet add package OwnAudioSharp          # Desktop — everything
dotnet add package OwnAudioSharp.Mobile   # Android / iOS
dotnet add package OwnAudioSharp.Basic    # Desktop — minimal engine
ℹ️

.NET 10.0 or later. The native Rust engine — including the built-in decoder for MP3, FLAC, WAV, AAC, ALAC, MP4/M4A, OGG/Vorbis and AIFF — is bundled in the package. There are no external codecs to install and no FFmpeg involved anywhere.

Documentation

Start anywhere. It's in order.

Three minutes to first sound, five concepts that explain the rest, and an API walked through in the order you actually meet it.

Behind the code

Development tools.

OwnAudioSharp is developed with the following tools.

Claude Code
AnthropicClaude Code
Visual Studio Code
MicrosoftVisual Studio Code
Visual Studio 2022
MicrosoftVisual Studio 2022
Rider
JetBrainsRider

Native audio, without leaving C#.

Free and open-source. If it ships in your product, consider supporting its development.