AudioSeparator.FFMPEG
0.2.0-beta.2
dotnet add package AudioSeparator.FFMPEG --version 0.2.0-beta.2
NuGet\Install-Package AudioSeparator.FFMPEG -Version 0.2.0-beta.2
<PackageReference Include="AudioSeparator.FFMPEG" Version="0.2.0-beta.2" />
<PackageVersion Include="AudioSeparator.FFMPEG" Version="0.2.0-beta.2" />
<PackageReference Include="AudioSeparator.FFMPEG" />
paket add AudioSeparator.FFMPEG --version 0.2.0-beta.2
#r "nuget: AudioSeparator.FFMPEG, 0.2.0-beta.2"
#:package AudioSeparator.FFMPEG@0.2.0-beta.2
#addin nuget:?package=AudioSeparator.FFMPEG&version=0.2.0-beta.2&prerelease
#tool nuget:?package=AudioSeparator.FFMPEG&version=0.2.0-beta.2&prerelease
AudioSeparator.FFMPEG
FFMPEG/ffprobe extensions for AudioSeparator — broad format support for reading input and encoding separated stems.
Part of AudioSeparator — modular .NET audio stem separation.
Install
dotnet add package AudioSeparator.FFMPEG
Pair with a separator backend, e.g. AudioSeparator.Onnx.Demucs.
When to use this package
- You need broad input format support (anything ffmpeg can decode).
- You want configurable output format and codec (WAV, MP3, etc.).
- You already have ffmpeg and ffprobe on the system.
For simple WAV/MP3 without ffmpeg, consider AudioSeparator.NAudio.
Quick start
using AudioSeparator.FFMPEG;
using AudioSeparator.Onnx.Demucs;
var builder = DemucsBuilder.Create("htdemucs.onnx")
.UseStemNames("drums", "bass", "other", "vocals")
.UseFFMPEG(options =>
{
options.OutputFormat = "mp3";
options.OutputCodec = "libmp3lame";
});
using var separator = builder.Build();
var session = await separator.CreateSession("input.flac");
var result = await session.RunAsync();
await result.WriteToDirectoryAsync("./Outputs");
Executable resolution
ffmpeg and ffprobe are resolved via:
FFMPEG_PATHenvironment variable (directory containing both executables)PATH— first match on each path entry
Use FFMPEGExtensions.FindExecutablePath("ffmpeg") to resolve paths manually.
Key API
| Type | Role |
|---|---|
FFMPEGExtensions.UseFFMPEG<TBuilder>(configure?) |
Registers reader + writer on the builder |
FFMPEGExtensions.FindExecutablePath(executable) |
Resolves ffmpeg / ffprobe path |
FFMPEGAudioReader |
IAudioReader — ffprobe probe + ffmpeg pipe decode |
FFMPEGAudioWriter |
IAudioWriter — ffmpeg pipe encode |
FFMPEGSettings |
OutputFormat (default wav), OutputCodec (default pcm_s16le) |
FFProbeResult |
ffprobe JSON DTOs for probe metadata |
Requirements
- .NET 10
- AudioSeparator.Abstractions
- ffmpeg and ffprobe on
PATHor inFFMPEG_PATH
Related packages
| Package | NuGet | Description |
|---|---|---|
| AudioSeparator.Onnx.Demucs | Demucs backend | Recommended separator |
| AudioSeparator.NAudio | NAudio I/O | Simpler I/O without ffmpeg |
| AudioSeparator.Abstractions | Contracts | IAudioReader / IAudioWriter |
Source: AudioSeparator.FFMPEG on GitHub
License
MIT — see AudioSeparator repository.
| 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
- AudioSeparator.Abstractions (>= 0.2.0-beta.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0-beta.2 | 56 | 9/13/2026 |
| 0.2.0-beta.1 | 56 | 9/13/2026 |
| 0.2.0-beta | 78 | 8/30/2026 |
| 0.1.0-beta | 87 | 8/13/2026 |