FluidSynth is a popular open-source software music synthesizer. It is written in C and highly portable. This project aims to provide a very easy to use .NET wrapper around FluidSynth's C APIs that allow one to put sound synthesis in their program without a hassle. The wrapper is written in Managed C++, allowing it to be linked with the FluidSynth DLL at compile-time and to use the C APIs effortlessly. And of course, it can be referenced by any .NET language whether VB.NET, C#, or F#.
Note that since Mono does not currently have an implementation of Managed C++ and from the fact that C++ is more tied to the Windows platform, FluidSynth for .NET cannot currently be used on platforms besides Windows. Another project that seeks to implement a complete wrapper in C# is in the works by someone else and can be used for that purpose. A link will be provided when there is more information.
- Synthesizer - Well tested in a commercial software package (Z-Maestro)
- Shared SoundFonts - Well tested, see Special Features below for more information
- Audio Driver - Well-tested
- Player (MIDI file player) - Not well tested
- Sequencer - Not well tested
- SoundFont Sharing - Automatically handles SoundFont loading such that loading the same SoundFont into multiple synthesizer objects does not use more memory
- Peak Data - Access real-time volume peak data