surikov / webaudiofont

Use full GM set of musical instruments to play MIDI and single sounds or effects. Support for reverberation and equaliser. No plugins, no Flash. Pure HTML5 implementation compatible with desktop and mobile browser. See live examples.
https://surikov.github.io/webaudiofont/
GNU General Public License v3.0
891 stars 92 forks source link

Bugs in GeneralUserGS and FluidR3 WebAudioFont presets #58

Closed notator closed 4 years ago

notator commented 4 years ago

Many thanks for all the work that has gone into this great project! :-)

I've been using clones of some of the GeneralUserGS and FluidR3 preset files in my own ResidentWAFSynth project, and have found some bugs:

The following zones are redundant (other zones cover the same ranges):

GeneralUserGS preset 0 (Grand Piano)

GeneralUserGS preset 10 (Music Box)

FluidR3 preset 89 (Pad2)

FluidR3 preset 93 (Pad6)

FluidR3 preset 92 (Pad5) has 3 zones that all start at keyRangeLow=0. (My solution was to remove the middle one and make the other two contiguous.)

I've only checked the preset files listed in the residentWAFSynth/webAudioFontFiles folder in my repository. Perhaps someone has time to do a more systematic check?

All the best, James

surikov commented 4 years ago

There 2000 instruments and drums in the library. Some of them have bugs. This is free project. You need to check instruments by yourself.

notator commented 4 years ago

Yes, agreed. There's no guarantee that even official soundFonts are bug free. Its probably best to check the instruments for contiguity and correct them as necessary when loading them into a project (as I am doing). Each instrument zone should start with keyRangeLow equal to 1 + the previous zone's keyRangeHigh. The first zone need not have keyRangeLow equal to 0, and the last zone need not have keyRangeHigh equal to 127.