-
-
Notifications
You must be signed in to change notification settings - Fork 96
Description
Hi there.
tl;dr: Would you be fine for you, if I port your library to C# and merge it into my music notation library I am developing? I will try to retain the original copyright notice as good as possible but the borders between my library and yours will likely become quite fuzzy over time.
Long Version:
First of all thanks for this great library. Most of the synthesizer libraries out there are really heavyweight and consist of thousands of lines of code but your library is really slim and produces great results. The best and most complete ones out there, are still FluidSynth and Gervill (part of the JDK) but with simple soundfonts you can hardly here a difference (beside the missing effects #24 ). FluidSynth is quite heavyweight and hard to port to other languages due to its C-nature, huge codebase and tons of capabilities. Gervill with it's GPL license and Oracle in the back, I can already forget to use it outside of the Java world.
I am the author of alphaTab, a web (and .net) based music notation software with playback capabilities. I already have a soundfont based synthesis library where I generate raw audio samples based on a given midi input to play it via the audio interface available on the platform. TinySoundFont has a way smaller footprint and produces more accurate results than my current one and I'm considering to replace my synth library partly with yours.
In general the MIT license would not prevent me to port your library to another language, but I prefer to talk to the original authors of libraries before doing so to get official permission. Especially as it will not remain a simple 1:1 port of the original library.
My plan is to port the library to C# and then further cross compile it to JavaScript and Kotlin using a home-made compiler/transpiler. Actually I already finished the porting and it runs already on .net 😉. Unfortunately I will not be able to use the library as-it-is and I will need to make further extensions for my API and the need of SoundFont 3 (Ogg Vorbis) support. So I will need to rip apart the structure a bit and introduce new functionality here and there. Also my library currently is released under LGPL which would be then more restrictive.
Of course I will add to all synthesizer related classes your name, and refer to your project as well to maintain the original copyright notice but somehow TinySoundFont will likely be hidden within my library.
I'm also looking forward to implement certain missing parts of the synthesizer on top of my port. I compared several midi file/soundfont combinations between TinySoundFont and Gervill and often they sound quite different. I hope to eliminate those differences.
I'm looking forward to get your permission to adopt your library and integrate it with mine.
Kind Regards
Daniel