FluidSynth / fluidsynth

Software synthesizer based on the SoundFont 2 specifications
https://www.fluidsynth.org
GNU Lesser General Public License v2.1
1.85k stars 257 forks source link

Add support for Asio4All #1367

Open PeterHevesi opened 2 months ago

PeterHevesi commented 2 months ago

Would you please add support for Asio4All? That would be super awesome :) Thanks so much :)

derselbst commented 2 months ago

I don't think this will happen. I am the only active maintainer around here. There is quite little overall activity currently due to time constraints. And there are a couple of topics I consider to be more important. Also, I don't have any ASIO devices that I could use for testing. A PR would be welcome, though I consider this to be unlikely.

PeterHevesi commented 2 months ago

Sure, I understand :) Actually, I didn't expect that you will do this, but I tried, because you never know :D

We are developing music game in Unity and we used one plugin called MPTK Maestro, which uses your FluidSynth. It is very good, but when we wanted to directly play sounds with it that reacts to user input through keyboard, it had high latency, so we can't use it for some of our goals we want to achieve.

We know, that through ASIO supported sound cards, we can achieve very low latency, and we own such sound cards, but the problem is, that players of our game often won't have these sound cards, so we were exploring ways to achieve low latency even without it. Just through the standard internal sound card on the motherboard that everybody has.

And it is indeed possible through Asio4All, which is some library or driver that can achieve fantastic low latency, without owning any asio device :) So you don't need such asio devices for Asio4All, only when using standard asio driver. Asio4All just runs on every windows PC.

Meanwhile, we already found 1 asset on Unity Store, that allows us to use this Asio4All directly in Unity and we could achieve perfect latency, but is is very simple with almost no functionality other than playing a sound and also have problems when playing multiple sounds at the same time.

So that's why I am interested in this, to be able to have this fantastic latency Asio4All provides, but at the same time having all the other benefits and functionality of a system like your FluidSynth.

But if you are the only one that develops this (which I didn't know) , I absolutely understand you won't prioritize this.

But anyway, thank you for your fast reply :) And good luck with this fantastic library and with your other projects :)