5 ms·
>the best MIDI player written in C (libtimidity) Ouch. Has timidity fixed the issue where playing 2 of the same note in sequence cuts off the release tail of t
by jimbo1qaz 8y ago
>the best MIDI player written in C (libtimidity)
Ouch. Has timidity fixed the issue where playing 2 of the same note in sequence cuts off the release tail of the first note when the second starts? Fluidsynth is written in C and doesn't have that issue and sounds better (I assume this behavior matches good MIDI hardware, but not sure about the crappy Windows GS Wavetable Synth). fluidsynth-lite is a Fluidsynth fork with dependencies removed.
- feross 8y agoOkay, I stand corrected. I did a bunch of research, but I clearly missed some superior MIDI players. I'll take a look at FluidSynth-lite and see if there's some way to use it. One issue I can already see is they use a SoundFont file (.sf2) instead of instrument patch files, which means the whole 100MB+ file probably needs to be loaded before playback. My current approach uses GUS patch files which have one file per instrument, so I can load just what's needed for a particular song and start playing much sooner. Edit: It looks the GeneralUser SoundFont is only 31MB and it sounds almost as good as the 100MB+ one. So, while this will still be slower than my current approach of loading just the needed instruments, perhaps if I start loading it in the background with ServiceWorker and cache it forever, this could work. Thoughts welcome.
- SmellyGeekBoy 8y agoPerhaps give users the choice of which MIDI playback "engine" to use? It seems a shame to throw away all of your hard work (on the player) so far.