-
|
Hi, I'm planning to add a test suite similar to fluidsynth to my own synth. My question is, how is testing of the various SF2/MIDI file combinations implemented? Does it render every file to wav and report if its checksum has changed for manual listening test? Thanks in advance! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 6 replies
-
|
Currently, it's a purely manual test, i.e. render to wav and rehearse the result. Not satisfying. Checksum is too waggly. Some kind of audio fingerprint or a simple maximum permitted RMS difference would be preferable. I was playing around with sox a bit, but could find a pleasing solution yet. If you do, I'd be curious to know! |
Beta Was this translation helpful? Give feedback.
-
Not saving the audio files is the answer! Instead regenerate them every time! Once with the current HEAD revision and once with some older revision of fluidsynth. This "older revision" could be a precompiled docker container image, containing fluidsynth's latest stable. One could also simply recompile a different branch / different release / previous revision and re-execute the rendering tests. Ultimately, invert both results, compare SNR / RMS / abs difference and fail the CI build if it exceeds some threshold. ... so many ideas and so little time... |
Beta Was this translation helpful? Give feedback.
Currently, it's a purely manual test, i.e. render to wav and rehearse the result. Not satisfying. Checksum is too waggly. Some kind of audio fingerprint or a simple maximum permitted RMS difference would be preferable. I was playing around with sox a bit, but could find a pleasing solution yet. If you do, I'd be curious to know!