SoundFlow 1.4.0

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

<div align="center">

⚠️ Project Status: The maintainer is on hiatus from Jan 2026 to Feb 2027. Support and updates will be limited.

Read the full announcement for details.

SoundFlow Logo

SoundFlow

The Complete .NET Audio Framework: From High-Fidelity Synthesis to Secure Distribution

Build Status License: MIT NuGet .NET

</div>

Stand With Palestine <div align="center"> <p><strong>This project stands in solidarity with the people of Palestine and condemns the ongoing violence and ethnic cleansing by Israel. We believe developers have a responsibility to be aware of such injustices. Read our full statement on the catastrophic situation in Palestine and the surrounding region.</strong></p> <a href="STATEMENT.md"><kbd>Read Our Full Ethical Stance</kbd></a> </div> <br>

Introduction

SoundFlow is a robust and versatile .NET audio engine designed for seamless cross-platform audio processing. It provides a comprehensive set of features for audio playback, recording, processing, analysis, and visualization, all within a well-structured and extensible framework. SoundFlow empowers developers to build sophisticated audio applications, from real-time communication systems to advanced non-linear audio editors.

Key Features

SoundFlow provides a comprehensive suite of tools organized into a powerful, extensible architecture.

Core Architecture & Design

  • Cross-Platform Compatibility: Runs seamlessly on Windows, macOS, Linux, Android, iOS, and FreeBSD, ensuring broad deployment options.
  • High Performance: Optimized for real-time audio processing with SIMD support and efficient memory management.
  • Modular Component Architecture: Build custom audio pipelines by connecting sources, modifiers, mixers, and analyzers.
  • Extensibility: Easily add custom audio components, effects, and visualizers to tailor the engine to your specific needs.
  • Plug & Play Integrations: Extend SoundFlow's capabilities with official integration packages, such as the WebRTC Audio Processing Module.
  • Backend Agnostic: Supports the MiniAudio backend out of the box, with the ability to add others.

Advanced Audio I/O & Device Management

  • Multi-Device Management: Initialize and manage multiple independent audio playback and capture devices simultaneously, each with its own audio graph.
  • Advanced Device Control: Fine-tune latency, sharing modes, and platform-specific settings (WASAPI, CoreAudio, ALSA, etc.) for professional-grade control.
  • On-the-fly Device Switching: Seamlessly switch between audio devices during runtime without interrupting the audio graph.

Core Audio Processing & Playback

  • Playback: Play audio from various sources, including files, streams, and in-memory assets.
  • Recording: Capture audio input and save it to different encoding formats.
  • Mixing: Combine multiple audio streams with precise control over volume and panning.
  • Effects: Apply a wide range of audio effects, including reverb, chorus, delay, equalization, and more.

Analysis, Formats & Streaming

  • Pluggable Codec System: Extend format support dynamically via ICodecFactory. Includes built-in support for WAV, MP3, and FLAC (via MiniAudio), with extensive format support available via extensions.
  • Robust Metadata Handling: Read and write metadata tags (ID3v1, ID3v2, Vorbis Comments, MP4 Atoms) and embedded Cue Sheets for a wide range of formats (MP3, FLAC, OGG, M4A, WAV, AIFF).
  • Visualization & Analysis: Create engaging visual representations with FFT-based spectrum analysis, voice activity detection, and level metering.
  • Surround Sound: Supports advanced surround sound configurations with customizable speaker positions, delays, and panning methods.
  • HLS Streaming Support: Integrate internet radio and online audio via HTTP Live Streaming.

Synthesis Engine

  • Polyphonic Synthesizer: A robust synthesis engine supporting unison, filtering, and modulation envelopes.
  • SoundFont Support: Native loading and playback of SoundFont 2 (.sf2) banks.
  • MPE Support: Full support for MIDI Polyphonic Expression for per-note control of pitch, timbre, and pressure.

MIDI Ecosystem

  • Cross-Platform I/O: Send and receive MIDI messages from hardware devices via the PortMidi backend.
  • Routing & Effects: Graph-based MIDI routing with a suite of modifiers including Arpeggiators, Harmonizers, Randomizers, and Velocity curves.
  • Parameter Mapping: Real-time MIDI mapping system allows controlling any engine parameter (Volume, Filter Cutoff, etc.) via external hardware controllers.

Non-Destructive Audio & MIDI Editing

  • Compositions & Tracks: Organize projects into multi-track compositions supporting both Audio and MIDI tracks.
  • Hybrid Timeline: Mix audio clips and MIDI segments on the same timeline.
  • Sequencing: Sample-accurate MIDI sequencing with quantization, swing, and tempo map support.
  • Project Persistence: Save/Load full projects including audio assets, MIDI sequences, tempo maps, and routing configurations, with optional digital signing for integrity.

Comprehensive Security Suite

  • Audio Encryption: High-performance, seekable stream encryption using AES-256-CTR, packaged in a secure container format.
  • Digital Signatures: Ensure file integrity and authenticity for projects and audio containers using ECDSA digital signatures.
  • Audio Watermarking: Embed robust, inaudible ownership data (DSSS) or fragile integrity verification markers (LSB) directly into audio signals.
  • Acoustic Fingerprinting: Identify audio content by generating and matching robust acoustic fingerprints against a database.

Getting Started

To begin using SoundFlow, the easiest way is to install the NuGet package:

dotnet add package SoundFlow

For a minimal working example of how to set up an audio device and play a simple sound, please refer to the starter guide on the official documentation homepage: SoundFlow Minimal Example.

You can also find a wide variety of practical applications, complex audio graphs, and feature usage examples in the Samples folder of the repository.

Extensions

SoundFlow's architecture supports adding specialized audio processing capabilities via dedicated NuGet packages. These extensions integrate external libraries, making their features available within the SoundFlow ecosystem.

SoundFlow.Codecs.FFMpeg

This package integrates the massive FFmpeg library into SoundFlow. While the core engine handles common formats, this extension unlocks decoding and encoding for virtually any audio format in existence.

  • Decoders/Encoders: Adds support for MP3 (encoder by LAME), AAC, OGG Vorbis, Opus, ALAC, AC3, PCM variations, and many more.
  • Container Support: Handles complex containers like M4A, MKA, and others.
  • Automatic Registration: simply registering the factory enables the engine to auto-detect and play these formats transparently.

To install this extension:

dotnet add package SoundFlow.Codecs.FFMpeg

SoundFlow.Midi.PortMidi

This package provides the backend implementation for MIDI hardware I/O using PortMidi.

  • Hardware Access: Enumerates and connects to physical MIDI keyboards, synthesizers, and controllers on Windows, macOS, and Linux.
  • Synchronization: Provides high-precision clock synchronization, allowing SoundFlow to act as a MIDI Clock Master or Slave.

To install this extension:

dotnet add package SoundFlow.Midi.PortMidi

SoundFlow.Extensions.WebRtc.Apm

This package provides an integration with a native library based on the WebRTC Audio Processing Module (APM). The WebRTC APM is a high-quality suite of algorithms commonly used in voice communication applications to improve audio quality.

Features included in this extension:

  • Acoustic Echo Cancellation (AEC): Reduces echoes caused by playback audio being picked up by the microphone.
  • Noise Suppression (NS): Reduces steady-state background noise.
  • Automatic Gain Control (AGC): Automatically adjusts the audio signal level to a desired target.
  • High Pass Filter (HPF): Removes low-frequency components (like DC offset or rumble).
  • Pre-Amplifier: Applies a fixed gain before other processing.

Note: The WebRTC APM native library has specific requirements, notably supporting only certain sample rates (8000, 16000, 32000, or 48000 Hz). Ensure your audio devices are initialized with one of these rates when using this extension.

To install this extension:

dotnet add package SoundFlow.Extensions.WebRtc.Apm

API Reference

Comprehensive API documentation will be available on the SoundFlow Documentation.

Tutorials and Examples

The Documentation provides a wide range of tutorials and examples to help you get started:

  • Playback: Playing audio files and streams, controlling playback.
  • Synthesis: Loading SoundFonts, creating synthesizers, and handling MIDI events.
  • Recording: Recording audio and MIDI, using voice activity detection.
  • Effects: Applying various audio effects and MIDI modifiers (Arpeggiator, Harmonizer).
  • Analysis: Getting RMS level, analyzing frequency spectrum.
  • Visualization: Creating level meters, waveform displays, and spectrum analyzers.
  • Composition: Managing audio projects, including creating, editing, and saving multi-track compositions.
  • Security: Encrypting audio, signing files, and embedding robust ownership watermarks.

(Note: You can also find extensive example code in the Samples folder of the repository.)

Contributing

We deeply appreciate your interest in improving SoundFlow.

For detailed guidelines on how to report bugs, suggest features, and submit pull requests, please consult the CONTRIBUTING.md file for more information.

Acknowledgments

We sincerely appreciate the foundational work provided by the following projects and modules:

  • miniaudio - Provides a lightweight and efficient audio I/O backend.
  • FFmpeg - The leading multimedia framework, powering our codec extension.
  • LAME Project - For the high-quality MP3 encoder used in the FFMpeg extension.
  • PortMidi - Enables cross-platform MIDI I/O.
  • WebRTC Audio Processing Module (APM) - Offers advanced audio processing (AEC, AGC, Noise Suppression).

Support This Project

SoundFlow is an open-source project driven by passion and community needs. Maintaining and developing a project of this scale requires significant time and resources.

Your support is crucial for the continued development and maintenance of SoundFlow. Contributions help dedicate more time to the project, improve documentation, and acquire necessary hardware for robust testing. For instance, funds will directly help purchase dedicated audio equipment for more accurate testing, moving beyond basic built-in speakers to ensure high-quality output for everyone.

If you find this project useful, please consider one of the following ways to support it:

  • ❤️ Sponsor on Ko-fi - For simple one-time or recurring donations.
  • 💸 Donate via PayPal - For quick and easy one-time contributions.
  • 🌐 Donate using AirTM - Offers various payment options like Bank Transfer, Debit/Credit Card, and more.
  • 💎 USDT (Tron/TRC20) - Send to the following wallet address: TKZzeB71XacY3Av5rnnQVrz2kQqgzrkjFn
    • Important: Please ensure you are sending USDT via the TRC20 (Tron) network. Sending funds on any other network may result in their permanent loss.

Thank you for your generosity and for helping ensure SoundFlow sounds great for everyone!

License

SoundFlow is released under the MIT License.

Citing SoundFlow

If you use SoundFlow in your research or project, you can cite it using the following format:

APA

Abdallah, A. (2026). SoundFlow: A high-performance, secure audio and MIDI engine for .NET (Version 1.4.0) [Computer software]. https://github.com/LSXPrime/SoundFlow

BibTeX

@software{abdallah_soundflow_2026,
  author = {Abdallah, Ahmed},
  title = {{SoundFlow: A high-performance, secure audio and MIDI engine for .NET}},
  url = {https://github.com/LSXPrime/SoundFlow},
  version = {1.4.0},
  year = {2026},
  note = {Cross-platform audio processing, synthesis, and content protection framework}
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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.
  • net8.0

    • No dependencies.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on SoundFlow:

Package Downloads
VolcanicArts.VRCOSC.SDK

VRCOSC's SDK for developing VRCOSC modules

ConsoleNexusEngine

A powerful and easy to use engine to create console games

Swordfish

Package Description

ClassIsland.Core

ClassIsland 应用核心依赖库,包括 ClassIsland 封装的一些常用控件和方法。

SoundFlow.Extensions.WebRtc.Apm

WebRTC Audio Processing Module (APM) extension for SoundFlow, providing advanced audio processing capabilities like noise suppression, echo cancellation, and gain control.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on SoundFlow:

Repository Stars
sinshu/meltysynth
A SoundFont MIDI synthesizer for .NET
Project-Babble/Baballonia
Cross-platform, hardware-agnostic VR eye and face tracking
Version Downloads Last Updated
1.4.0 76 1/8/2026
1.3.0 2,773 11/20/2025
1.2.1 19,964 8/14/2025
1.2.1-dev0 570 7/23/2025
1.2.0 1,897 7/21/2025
1.1.2 609 7/21/2025
1.1.1 3,504 6/12/2025
1.1.0 293 6/3/2025
1.0.4 1,294 5/17/2025
1.0.3 988 2/22/2025
1.0.2 319 2/9/2025
1.0.1 509 2/8/2025 1.0.1 is deprecated because it has critical bugs.
1.0.0 262 2/8/2025 1.0.0 is deprecated because it has critical bugs.