OwnAudioSharp.Basic 4.0.0-preview.28

This is a prerelease version of OwnAudioSharp.Basic.
There is a newer version of this package available.
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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OwnAudioSharp.Basic" Version="4.0.0-preview.28" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OwnAudioSharp.Basic" Version="4.0.0-preview.28" />
                    
Directory.Packages.props
<PackageReference Include="OwnAudioSharp.Basic" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OwnAudioSharp.Basic --version 4.0.0-preview.28
                    
#r "nuget: OwnAudioSharp.Basic, 4.0.0-preview.28"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OwnAudioSharp.Basic@4.0.0-preview.28
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OwnAudioSharp.Basic&version=4.0.0-preview.28&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=OwnAudioSharp.Basic&version=4.0.0-preview.28&prerelease
                    
Install as a Cake Tool

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:

  1. 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.
  2. 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

License

MIT License - Copyright (c) 2025 ModernMube

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
Loading failed