AudioSeparator.Core 0.2.0-beta.2

This is a prerelease version of AudioSeparator.Core.
dotnet add package AudioSeparator.Core --version 0.2.0-beta.2
                    
NuGet\Install-Package AudioSeparator.Core -Version 0.2.0-beta.2
                    
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="AudioSeparator.Core" Version="0.2.0-beta.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AudioSeparator.Core" Version="0.2.0-beta.2" />
                    
Directory.Packages.props
<PackageReference Include="AudioSeparator.Core" />
                    
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 AudioSeparator.Core --version 0.2.0-beta.2
                    
#r "nuget: AudioSeparator.Core, 0.2.0-beta.2"
                    
#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 AudioSeparator.Core@0.2.0-beta.2
                    
#: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=AudioSeparator.Core&version=0.2.0-beta.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=AudioSeparator.Core&version=0.2.0-beta.2&prerelease
                    
Install as a Cake Tool

AudioSeparator.Core

Session API and task pipeline for AudioSeparator — probe, validate, run tasks, and return separated stems without file I/O.

NuGet License: MIT .NET

Part of AudioSeparator — modular .NET audio stem separation.


Install

dotnet add package AudioSeparator.Core

Reference this package when building a custom separator backend. For Demucs/htdemucs, use AudioSeparator.Onnx.Demucs instead.


When to use this package

  • You are implementing a non-ONNX or custom pipeline backend on top of the shared session model.
  • You need AudioSeparatorBase, SeparationSession, and ProcessTask to orchestrate read → infer → result assembly.
  • You want the core pipeline without ONNX Runtime or model-specific code.

For ONNX backends, start from AudioSeparator.Onnx instead of subclassing Core directly.


Core principle

Core returns SeparationResult with materialized StemAudio per stem. There is no write task in the pipeline — file output lives in NAudio/FFMPEG extensions.


Quick start

using AudioSeparator.Abstractions;
using AudioSeparator.Abstractions.Audio;
using AudioSeparator.Abstractions.Tasks;
using AudioSeparator.Core;

public sealed class MySeparator(MyBuilderContext context) : AudioSeparatorBase<MyContext>(context)
{
    protected override IEnumerable<IProcessTask> CreateProcessesTask(MyContext context)
    {
        yield return new AudioReadTask(context);
        // Add your inference task here
    }
}

Register reader/writer via the builder (UseAudio), then:

using var separator = myBuilder.Build();
var session = await separator.CreateSession("input.wav");
var result = await session.RunAsync();

Session flow

Step Component What happens
1 AudioSeparatorBase.CreateSession Probe source via IAudioReader, validate against requirements
2 SeparationSession Runs IProcessTask list sequentially
3 AudioReadTask Single read pass into input chunks
4 Inference task(s) Backend-specific (e.g. ONNX in sibling package)
5 RunAsync Returns SeparationResult with StemAudio per stem

Key API

Type Role
AudioSeparatorBase<TContext> Abstract separator; creates session, validates source, wires tasks
AudioSeparatorBuilder<TBuilder, TContext> Abstract fluent builder
AudioSeparatorBuilderContext Builder state: reader, writer, requirements
AudioSeparatorContext Runtime context (Requirements, InferenceSpec, chunks)
SeparationSession ISeparationSession — runs tasks, assembles result
ProcessTask Abstract task base with progress callbacks
AudioReadTask Reads input via IAudioReader into InputChunks

Requirements


Package NuGet Description
AudioSeparator.Abstractions Contracts Interfaces and DTOs
AudioSeparator.Onnx ONNX layer Generic ONNX backend base
AudioSeparator.Onnx.Demucs Demucs Ready-to-use Demucs backend

Source: AudioSeparator.Core on GitHub


License

MIT — see AudioSeparator repository.

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 (1)

Showing the top 1 NuGet packages that depend on AudioSeparator.Core:

Package Downloads
AudioSeparator.Onnx

ONNX Runtime backend for AudioSeparator — session introspection, chunked inference, and configurable execution providers.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.0-beta.2 70 9/13/2026
0.2.0-beta.1 73 9/13/2026
0.2.0-beta 90 8/30/2026
0.1.0-beta 100 8/13/2026