Release Notes - SoundFlow v1.4.0
The Security, Performance & Goodbye Update.
SoundFlow v1.4.0 is a milestone release that expands the framework's capabilities into the critical domain of audio security, introducing a professional-grade suite for content protection, identification, and authentication.
Alongside these transformative new features, this version delivers crucial core engine enhancements, improved performance, better NativeAOT compatibility, and important bug fixes, solidifying SoundFlow as a mature and robust solution for .NET audio development.
🌟 Key Highlights
- ✨ Introducing a Comprehensive Security Suite: A unique, professional-grade toolkit for audio content protection. Protect your work with military-grade AES-256 encryption, authenticate it with ECDSA digital signatures, embed robust ownership watermarks, and identify audio clips with acoustic fingerprinting.
- 🚀 Enhanced Core Engine & Performance: Fine-tune the balance between audio quality and CPU usage with new configurable Time-Stretching presets (from
FasttoAudiophile). Enjoy full NativeAOT compatibility for blazing-fast, self-contained applications. - 🎧 High-Quality MP3 Encoding & Modernized APIs: Create high-quality MP3s with the newly integrated LAME encoder. The core
RecorderAPI has also been updated to use theResultpattern for safer, more robust error handling. - 🎓 Six New Sample Projects: Get started quickly with comprehensive examples for every new security feature, from encryption and signing to watermarking and fingerprinting.
A Final Update Paired with the Long Goodbye
In the last release, I spoke of a "very long goodbye" due to mandatory military service. I also hoped I could squeeze in one final push.
This is it.
Built on borrowed time, this isn't just a patch. It's my commitment to leaving SoundFlow in a state I'm proud of, complete with the security suite I always envisioned, a few reasons for it is explained in #105.
This project was once an abandoned component I nearly shelved. It was your engagement—the stars, the bug reports, and seeing people actually build things with it—that gave it a new purpose. This final release is my thank you for giving my work a life I never expected.
My service begins January 11, 2026, with an expected return in February/March 2027. Until then, the project enters hibernation, More details explained in this Announcement.
Thank you for everything. I hope this serves you well.
— Ahmed Abdallah (SoundFlow's Maintainer)
✨ Major New Features: The Security Suite
SoundFlow now provides a complete, integrated toolkit for securing and identifying your audio content.
🔐 Content Encryption & Digital Signatures
- Robust Encryption: Protect your audio with seekable AES-256-CTR stream encryption. We've introduced a new secure audio container format (
.sfa) that wraps your audio data securely. - Authenticity & Integrity: Ensure your files haven't been tampered with using ECDSA-P384 digital signatures. Signatures can be embedded directly into the secure audio container or saved as detached
.sigfiles. This feature is also available for.sfprojproject files! - High-Level API: Use the new
AudioEncryptorandFileAuthenticatorstatic classes for easy, high-level access to encryption and signing workflows.
💧 Audio Watermarking
- Robust Ownership Watermarking: Embed inaudible ownership information (like a copyright string) directly into an audio signal using Direct-Sequence Spread Spectrum (DSSS). This watermark is designed to be robust and survive common transformations like re-encoding, format changes, and volume adjustments.
- Fragile Integrity Watermarking: Detect tampering with a fragile watermark that uses block-chained LSB hashing. Any modification to the audio file will break the chain, allowing you to verify its integrity.
- Automatic Tuning: The new
WatermarkTunercan analyze an audio file and automatically determine the optimal strength and spread factor for the most robust and inaudible result.
👂 Acoustic Fingerprinting
- Identify Audio Content: Generate robust acoustic fingerprints based on spectral peak analysis. This allows you to identify a short, unknown audio clip by matching it against a database of known tracks.
- Extensible Storage: We've introduced an
IFingerprintStoreinterface and a referenceInMemoryFingerprintStoreto make it easy to integrate with any database backend (SQL, NoSQL, etc.).
🚀 Core Engine & Performance Enhancements
- Configurable Time-Stretching: The WSOLA time-stretcher is now fully configurable with performance presets (
Fast,Balanced,HighQuality,Audiophile). You can now fine-tune the balance between audio quality and CPU performance for time-stretching operations. - NativeAOT Safety: Introduced a
TypeRegistryand a source-generatedSoundFlowJsonContextto ensure that all built-in and custom modifiers/analyzers are preserved during NativeAOT compilation, preventing runtime errors caused by code trimming. - High-Quality MP3 Encoding: We now bundle and statically link the LAME library with our FFmpeg codec, providing high-quality MP3 encoding capabilities out of the box.
- Improved Recorder API: The
Recordercomponent now uses theResultpattern for better error handling and integrates directly with the new digital signing feature for creating authenticated recordings. - More Performant Logging: The logging system has been refactored to use a
LogEntrystruct, reducing heap allocations and providing more structured data (caller, timestamp) to subscribers. - Robust FFmpeg Encoder: The native FFmpeg encoder has been rewritten to use an audio FIFO buffer, allowing it to reliably handle audio input of any size and feed it correctly to codecs that require fixed-size frames (like MP3).
⚠️ Breaking Changes
- The
Log.OnLogevent signature has changed fromAction<LogLevel, string>toAction<LogEntry>. Subscribers must be updated to handle the newLogEntrystruct for more structured logging data. - The
Filter.FilterTypeenum has been moved from a nested class to the global namespaceSoundFlow.Enums.FilterType. You will need to update yourusingstatements or fully qualify the type name. - Methods on the
Recordercomponent, such asStartRecordingandStopRecordingAsync, now returnResultorTask<Result>instead ofvoidorTask. You must now handle the returned result object for error checking.
If you are migrating from v1.3.x, please check the detailed migration guide:
https://lsxprime.github.io/soundflow-docs/#/docs/1.4.0/migration-guide
📚 Learning Resources & Samples
To help you get started with these powerful new features, we've added six new sample projects:
SoundFlow.Samples.Security.Encryption: Demonstrates end-to-end file encryption, decryption, and real-time playback of secure audio.SoundFlow.Samples.Security.Authentication: Illustrates creating digital signatures, verifying file authenticity, and detecting tampering.SoundFlow.Samples.Security.OwnershipWatermarking: Shows how to embed a robust watermark that survives a simulated audio attack.SoundFlow.Samples.Security.IntegrityWatermarking: Demonstrates using a fragile watermark to detect even minor modifications to an audio file.SoundFlow.Samples.Security.Fingerprinting: Shows how to index a full audio track and then identify an unknown clip from it.SoundFlow.Samples.Recording: Demonstrates a clean recording flow with metadata and digital signing.
🛠️ Bug Fixes & Minor Improvements
- Fix: The FFmpeg decoder now correctly flushes buffered samples from the resampler, preventing truncated audio at the end of streams.
- Fix: Re-enabled the
miniaudiobuild for Windows ARM64 and included the binary. - Refactor: The
SoundFlow.Samples.SimplePlayerproject has been completely refactored into a clean, service-oriented architecture, making it a much better learning resource. - Build: Updated GitHub Actions workflows to use newer, more stable runners (e.g.,
macos-15-intel).
Get Started with v1.4.0
📦 NuGet Packages
You can download the latest packages from NuGet:
- SoundFlow v1.4.0
- SoundFlow.Codecs.FFMpeg v1.4.0
- SoundFlow.Midi.PortMidi v1.4.0
- SoundFlow.Extensions.WebRtc.Apm v1.4.0
📚 Documentation
The official documentation has been fully updated for v1.4.0, with detailed guides and API references for all the new security features and core enhancements.
Thank you again for being part of this journey.
— Ahmed Abdallah (SoundFlow's Maintainer)