You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Im writing my own little SF synth (much simpler) than yours and I am comparing my output to Polyphone. I think I have found a couple of tiny issues, but I may be super wrong. Apologies in advance if I am.
Im fairly sure the little recorder tool swaps the L/R channels. The ordering in a stereo wave file is L/R/L/R.
Im not 100% confident that Polyphone loads the sm24 data from the correct offset in the file. I was testing with this file: https://www.musical-artifacts.com/artifacts/5536 and according to my calculations, the sm24 raw data should start at offset 72577618. Polyphone seems to be off by a couple hundred bytes? I may be wrong but I think this calculation fails to take into account previous headers and stuff.
Certain envelope calculations are done twice. With large buffers this is not a big deal, but if you run the envelopes 1-sample at a time (which never happens in reality) you will see that the decay and release of the modulation envelope applies the slope twice. Meaning a 2sec decay will take 1sec. Again, this doesnt really matter with 512-bytes audio buffers, the error will be tiny, but it is still a small error.
Hi!
Im writing my own little SF synth (much simpler) than yours and I am comparing my output to Polyphone. I think I have found a couple of tiny issues, but I may be super wrong. Apologies in advance if I am.
Im fairly sure the little recorder tool swaps the L/R channels. The ordering in a stereo wave file is L/R/L/R.
polyphone/sources/sound_engine/elements/recorder.cpp
Line 147 in 7c364c9
Im not 100% confident that Polyphone loads the sm24 data from the correct offset in the file. I was testing with this file: https://www.musical-artifacts.com/artifacts/5536 and according to my calculations, the sm24 raw data should start at offset 72577618. Polyphone seems to be off by a couple hundred bytes? I may be wrong but I think this calculation fails to take into account previous headers and stuff.
polyphone/sources/core/input/sf/inputparsersf2.cpp
Line 181 in 7c364c9
Certain envelope calculations are done twice. With large buffers this is not a big deal, but if you run the envelopes 1-sample at a time (which never happens in reality) you will see that the decay and release of the modulation envelope applies the slope twice. Meaning a 2sec decay will take 1sec. Again, this doesnt really matter with 512-bytes audio buffers, the error will be tiny, but it is still a small error.
polyphone/sources/sound_engine/elements/enveloppevol.cpp
Line 264 in 7c364c9
Thanks so much for developing this tool. It is the benchmark every other soundfont tool should be compared against.
-Mat
The text was updated successfully, but these errors were encountered: