OwnAudioSharp.Basic
4.0.0-preview.28
See the version list below for details.
dotnet add package OwnAudioSharp.Basic --version 4.0.0-preview.28
NuGet\Install-Package OwnAudioSharp.Basic -Version 4.0.0-preview.28
<PackageReference Include="OwnAudioSharp.Basic" Version="4.0.0-preview.28" />
<PackageVersion Include="OwnAudioSharp.Basic" Version="4.0.0-preview.28" />
<PackageReference Include="OwnAudioSharp.Basic" />
paket add OwnAudioSharp.Basic --version 4.0.0-preview.28
#r "nuget: OwnAudioSharp.Basic, 4.0.0-preview.28"
#:package OwnAudioSharp.Basic@4.0.0-preview.28
#addin nuget:?package=OwnAudioSharp.Basic&version=4.0.0-preview.28&prerelease
#tool nuget:?package=OwnAudioSharp.Basic&version=4.0.0-preview.28&prerelease
OwnAudioSharp.Basic
Lightweight cross-platform audio library for .NET desktop and mobile applications
OwnAudioSharp.Basic is a professional-grade audio engine providing high-performance audio playback, recording, and processing for Windows, Linux, macOS, Android, and iOS — without AI/ML dependencies, making it significantly smaller and faster to install than the full OwnAudioSharp package.
Why Basic?
| Feature | OwnAudioSharp | OwnAudioSharp.Basic |
|---|---|---|
| Audio playback & recording | ✅ | ✅ |
| Multi-track mixing | ✅ | ✅ |
| Effects & SmartMaster | ✅ | ✅ |
| Network synchronization | ✅ | ✅ |
| VST3 plugin support | ✅ | ✅ |
| Pitch shift / time stretch | ✅ | ✅ |
| AI vocal removal (ONNX) | ✅ | ❌ |
| Chord detection | ✅ | ❌ |
| Audio matchering | ✅ | ❌ |
| Wave visualization control | ✅ | ❌ |
| Package size (models) | ~290 MB | < 5 MB |
Use OwnAudioSharp.Basic when you need a lean audio engine without the overhead of large ONNX model files and AI inference dependencies.
Key Features
- Native Rust Audio Engine: Built on a purpose-built native Rust core for professional-grade, low-latency audio. Device I/O, mixing, and the full effect chain run entirely in native code with a real-time-safe, zero-GC hot path — no PortAudio or MiniAudio dependency.
- Multi-format Support: Native pure-Rust decoder (Symphonia) with built-in support for WAV, MP3, FLAC, OGG/Vorbis, AAC/M4A, and AIFF. For any other format, FFmpeg is used automatically as a fallback when installed — no code changes required.
- Real-time Processing: Zero-allocation design with lock-free buffers and native mixing for professional-grade performance
- Advanced Audio Features:
- Network Synchronization: Multi-device audio sync across local network (< 5ms accuracy on LAN)
- Master Clock: Sample-accurate timeline synchronization for multi-track playback
- SmartMaster Effect: Intelligent audio mastering with auto-calibration
- VST3 Plugin Support: Load and host VST3 audio effect plugins
- Built-in effects and DSP routines (EQ, compressor, reverb, etc.)
- Native pitch shifting and time stretching (Rust SoundTouch)
Quick Start
using OwnaudioNET;
// Initialize the audio engine
OwnaudioNet.Initialize();
OwnaudioNet.Start();
// Create the audio mixer using the underlying engine
var mixer = new AudioMixer(OwnaudioNet.Engine.UnderlyingEngine);
mixer.Start();
// Play an audio file
var music = new FileSource("music.mp3");
mixer.AddSource(music);
// Synchronized Multi-track Playback (Master Clock)
var vocals = new FileSource("vocals.wav");
var backing = new FileSource("backing.mp3");
mixer.AddSource(vocals);
mixer.AddSource(backing);
// Attach sources to the Master Clock for sample-accurate sync
vocals.AttachToClock(mixer.MasterClock);
backing.AttachToClock(mixer.MasterClock);
// Start sources individually
vocals.Play();
backing.Play();
// Network Synchronization - Multi-Device Audio
// Server mode (control device)
await OwnaudioNet.StartNetworkSyncServerAsync(port: 9876);
// Client mode (follower devices)
await OwnaudioNet.StartNetworkSyncClientAsync(
serverAddress: "192.168.1.100", // Or null for auto-discovery
allowOfflinePlayback: true);
// All clients automatically follow server commands
// Perfect for multi-room audio, DJ setups, installations
// Apply effects
var source = new FileSource("music.mp3");
source.Effects.Add(new ReverbEffect { RoomSize = 0.5f });
source.Effects.Add(new EqualizerEffect());
mixer.AddSource(source);
// Pitch shifting / time stretching (built into every source)
var pitchedSource = new FileSource("music.mp3");
pitchedSource.PitchShift = 2; // Shift up 2 semitones
pitchedSource.Tempo = 1.1f; // 10% faster
mixer.AddSource(pitchedSource);
Platform Support
Desktop
- Windows: Windows 10/11 (x64, x86, ARM64)
- Linux: Ubuntu, Debian, Fedora, etc. (x64, ARM, ARM64)
- macOS: macOS 10.13+ (x64, ARM64)
Mobile
- Android: Android 7.0 (API 24)+ (ARM, ARM64, x64)
- iOS: iOS 12.2+ (ARM64)
What Is NOT Included
The following features from the full OwnAudioSharp package are not available in the Basic edition:
- VocalRemover — AI-powered source separation using ONNX neural networks (
nmp.onnx,best.onnx,default.onnx,karaoke.onnx,htdemucs.onnx) - ChordDetector — Real-time and offline chord recognition
- Matchering — Reference-based audio mastering
- WaveDisplayControl — Avalonia-based waveform visualization UI control
If you need any of these features, use the full OwnAudioSharp package instead.
Audio Decoding
Decoding is handled by the native Rust engine using a pure-Rust Symphonia backend — no managed decoder and no external runtime is required for the common formats:
Natively supported (built-in): WAV, MP3, FLAC, OGG/Vorbis, AAC/M4A, AIFF
For any format the native backend cannot handle, OwnAudioSharp transparently falls back to FFmpeg when it is installed on the system. This is not part of the public API — the decoder layer selects the best backend automatically, with no code changes required.
Decoder priority: native Rust (Symphonia) → FFmpeg (optional fallback)
Architecture
OwnAudioSharp.Basic uses a two-layer architecture:
- Native Rust Engine Layer: Device I/O, multi-track mixing, resampling, and the full effect chain run in a native Rust core. Audio data stays in native memory on a real-time-safe, allocation-free hot path.
- Managed API Layer: High-level thread-safe wrappers that drive the native engine through a lock-free FFI boundary, issuing only control commands so the UI thread is never blocked.
UI/Main Thread
└─> Managed control API (Play/Seek/effect params) [lock-free, <0.1ms]
└─> FFI command queue [lock-free, allocation-free]
└─> Native Rust engine (mix + effects + device I/O)
└─> OS audio callback [real-time thread]
Documentation
- GitHub: https://github.com/ModernMube/OwnAudioSharp
- Documentation: https://modernmube.github.io/OwnAudioSharp/
License
MIT License - Copyright (c) 2025 ModernMube
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MathNet.Numerics (>= 5.0.0)
- OwnAudioVst (>= 1.6.7)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on OwnAudioSharp.Basic:
| Package | Downloads |
|---|---|
|
MidiSharp.OwnAudio
Live cross-platform audio output for MidiSharp via OwnAudioSharp. Add this alongside the MidiSharp package to play MIDI straight to the speakers; MidiSharp alone renders to buffers/WAV. |
|
|
Graphene.PodcastTool
Podcast agent tool for AIOrchestrator: generates a ~30-minute narrated podcast episode (narrative script + mixed audio) from recent web and international news-feed research. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.8-preview.8 | 57 | 9/6/2026 |
| 4.0.7 | 72 | 9/3/2026 |
| 4.0.7-preview.2 | 56 | 8/29/2026 |
| 4.0.6 | 177 | 8/27/2026 |
| 4.0.6-preview.1 | 71 | 8/25/2026 |
| 4.0.5 | 799 | 8/24/2026 |
| 4.0.5-preview.2 | 279 | 8/23/2026 |
| 4.0.4 | 565 | 8/16/2026 |
| 4.0.4-preview.1 | 68 | 8/9/2026 |
| 4.0.3 | 133 | 8/8/2026 |
| 4.0.1 | 579 | 8/3/2026 |
| 4.0.0 | 496 | 7/27/2026 |
| 4.0.0-preview.35 | 67 | 7/20/2026 |
| 4.0.0-preview.28 | 65 | 7/12/2026 |
| 3.1.7 | 444 | 6/23/2026 |
| 3.1.3 | 329 | 6/14/2026 |
| 3.1.0 | 129 | 6/13/2026 |
| 3.0.14 | 134 | 6/4/2026 |
| 3.0.13 | 314 | 6/2/2026 |