Skip to content

ModernMube/OwnAudioSharp

Repository files navigation

What is OwnAudioSharp?

OwnAudioSharp is a cross-platform C# audio framework that gives developers professional-grade audio capabilities with a single, easy-to-use API — no native audio expertise required.

The library is built on a native C++ engine (PortAudio / MiniAudio) backed by a fully managed C# layer. The result is GC-free, dropout-free, real-time audio on Windows, macOS, Linux, Android, and iOS — all from one NuGet package.

What it offers out of the box

Category Capability
Playback & Mixing Multi-track sync, real-time tempo/pitch, per-track volume
Recording Low-latency capture with device selection
Effects 15 real-time DSP effects (reverb, EQ, compressor, limiter, …)
AI / ML Vocal separation (HTDemucs 4-stem), reference mastering, chord detection
MIDI Hardware I/O, SMF file read/write, hardware-accurate clock
Network Sample-accurate multi-device sync over LAN
Plugins VST3 effect plugins with cross-platform editor GUI
Calibration SmartMaster speaker calibration with automatic EQ correction

Recommended for

  • Music players and DAWs — synchronized multitrack playback with full effect processing
  • Karaoke and stem apps — AI vocal/instrument separation and real-time mixing
  • DJ software — tempo/pitch control, network sync, VST3 effects
  • Music education tools — chord recognition, MIDI capture, score generation
  • Broadcast and podcast tools — reference mastering, dynamic processing, automatic room calibration
  • Live performance apps — network-synchronized multi-room or multi-device setups
  • Games and interactive audio — low-latency output, real-time effect chains

Installation

Three packages are available depending on your platform and feature needs:

Package Platforms AI/ML Size
OwnAudioSharp.Native Windows, Linux, macOS ✅ Full ~290 MB
OwnAudioSharp.Mobile Android, iOS ✅ Full ~90 MB
OwnAudioSharp.Basic All platforms ❌ None < 7 MB
dotnet add package OwnAudioSharp.Native   # Desktop, full features
dotnet add package OwnAudioSharp.Mobile   # Mobile, full features
dotnet add package OwnAudioSharp.Basic    # Lightweight, no AI/ML

Requirement: .NET 10.0 or later. PortAudio can be installed system-wide for optimal audio quality; otherwise the bundled MiniAudio backend is used automatically.


Features

Multi-Track Synchronized Playback

Play multiple audio files in perfect sync using a shared central clock. Each track supports individual volume, pitch, and tempo control — ideal for DAW-style applications or multitrack players.

Real-Time Tempo & Pitch Control

Adjust playback speed and pitch independently, in real time, even across multiple tracks simultaneously. Uses the SoundTouch engine under the hood.

15 Real-Time DSP Effects

Apply reverb, equalizer, compressor, limiter, chorus, delay, distortion, and more to inputs or outputs. Effects are freely combinable and can be inserted per-track or on the master bus.

VST3 Plugin Support

Load VST3 audio effect plugins and use their native cross-platform editor GUI. Integrates into the effect chain the same way as built-in effects.

Simple Recording & Playback

Straightforward API for audio capture from any input device with configurable sample rate, buffer size, and channel count.

SmartMaster — Automatic Speaker Calibration

Measures your speakers using a microphone and automatically corrects the audio output for optimal sound quality. Includes built-in speaker profiles (HiFi, Headphone, Studio, Club, Concert), a 31-band EQ, multiband compression, and a brick-wall limiter.

Good for: room correction, broadcast preparation, professional mastering chains.

NetworkSync — Multi-Device Audio Synchronization

Synchronizes audio playback across multiple devices on the local network with sample-accurate precision (< 5 ms on LAN). Zero-configuration with automatic server discovery.

Good for: multi-room audio, live PA setups, museum installations, collaborative production.

Audio Matchering — Reference-Based Mastering

Analyzes a reference track and applies its spectral and dynamic characteristics to your audio. Delivers professional mastering results without expensive external plugins.

Good for: music production, podcast finishing, audio restoration.

Vocal Remover — AI Stem Separation

Separates audio into vocals and instruments (or full 4-stem: vocals, drums, bass, other) using ONNX neural networks. Features the HTDemucs model for high-quality stem isolation with margin-trimming to eliminate chunk-boundary artifacts.

The Multi-Model Pipeline runs several UVR MDX models in parallel and averages their outputs for superior separation quality with fewer artifacts. Available models: htdemucs (4-stem), default, best, karaoke.

NuGet users: The HTDemucs model is embedded in the package — no manual download required.

Building from source: Download htdemucs.onnx (166 MB) and place it alongside the other model files.

Good for: karaoke creation, remixing, instrumental extraction, stem mastering.

Chord Detection — Real-Time Musical Analysis

Recognizes major, minor, diminished, augmented, and extended chords (7th through 13th) from audio in real time or offline. Uses a chromagram-based analysis pipeline.

Good for: music transcription, chord chart generation, music education, DJ software.

MIDI — Hardware I/O, Files, and Clock

See the full API reference: OwnAudio/Midi/README.md

AOT-compatible, reflection-free MIDI library supporting Windows (WinMM), macOS (CoreMIDI), and Linux (ALSA rawmidi). Features real-time MIDI input/output, Standard MIDI File (SMF format 0/1) read/write/edit, and a hardware-accurate 24 PPQN MIDI clock.

Good for: sequencers, virtual instruments, MIDI recorders, hardware sync.


Engine Architecture

OwnAudioSharp uses a two-layer architecture:

Application
  └─ OwnaudioNet (high-level API)
       └─ AudioEngineWrapper (lock-free, non-blocking)
            └─ NativeAudioEngine (C++ PortAudio / MiniAudio)
                 └─ Audio hardware
  • Ownaudio.Core — platform-agnostic interfaces, managed MP3/WAV/FLAC decoders, lock-free ring buffers, SIMD converters, and object pools.
  • Ownaudio.Native — cross-platform native engine (PortAudio + MiniAudio fallback) for Windows, Linux, macOS, Android, and iOS.

All blocking engine methods (Initialize, Stop, Send) must be called off the UI thread. The high-level OwnaudioNet API handles threading internally.


Documentation

Complete API reference, tutorials, and architecture guides are on the official website:

Working example projects are in the OwnAudio/Examples/ directory.


Support

OwnAudioSharp is free and open-source. If you use it in a commercial product or find it saves you time, consider supporting its development:

Your support funds new features, platform improvements, bug fixes, and documentation — and keeps professional audio tooling freely available to the .NET community.

Issues and feature requests: GitHub Issues


License

See the LICENSE file for details.