-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Difference in output of .ds files- 1.2 vs 1.3 #6335
Comments
Have you tried 1.2.2? There was a change in |
I'm having trouble reproducing this again. Could be a product of my settings? Will try to re-reproduce. I'm comparing with older files. |
.ds related issued (#6087 and #6314) was fixed in #6610 by @sakertooth |
I've tested ClapBug.mmpz, the first download in the report, and I do see a difference between the runs. It's hard to tell if there's any difference between different versions as it contains noise that is randomized so all you need to do to change the sound is to reopen the project once more. It's different between runs on the same version.
This is what I see too. Sometimes it will sound pretty much the same on whatever versions you're at and sometimes it sound different between two runs on the same version. I think it's just the randomness of the noise at play here. |
Having dived into DrumSynth at some point, I'll stick my spoon in this soup: The randomness has to be eliminated to be able to analyze this. Here's one of many .ds files that don't use any noise, more can be dug up (look under the Noise and Noiseband headers in the file): https://github.com/LMMS/lmms/blob/master/data/samples/drumsynth/electro/Hi-q_2.ds If a project using those shows a difference between LMMS versions, this might be worth looking into (and looking at the lineage of the code, I think nothing significant changed in DrumSynth between 1.2 and 1.3, so any bug might be elsewhere). |
Here is a spectrogram comparison of Hi-q_2.ds exported on lmms-1.2 (top) and master. They look pretty similar. |
https://blue2digital.com/apps/compare-audios.html claim a 100% similarity between the two files. |
Another test would be to export the project with both versions. Then import both files into an audio editor, e.g. Audacity, and flip the phase on one of them, i.e. invert it. Then sum them both. If they are the same you will get perfect silence. |
If you reload the project, the .ds file will sound a bit different every time, regardless of whether you're on master, 1.2.0, or 1.2.2. I think this is because of the use of This is definitely a problem for anyone wanting to have consistent, reproducible renders of their project. One potential solution is to use a specific seed for the DrumSynth RNG and store that seed in the project file. That way the project always sounds the same when reloading it, and power users can change the seed by modifying the project file. |
Pinging @sakertooth since the solution I outlined above would probably involve the resource manager system and sample caching, because a DrumSynth sample's seed would need to be associated with the .ds file's UUID in order to work properly. |
That's not the only reason. I've seen another, hard to reproducible bug: DrumSynth preset may lose the volume. Usually it happens after you will export the track. Then you'll have to reload the OS to "delete" that broken LMMS state, because simple relaunch of software may not help. |
Bug Summary
Playing the same project back in 1.2.0 and 1.3 alpha, there is an audible difference in the output. This difference translates to exports too. The difference is apparent in .ds samples (to be more specific, it is most apparent in the TR909Clap.ds sample), but my ears cannot tell the difference on most others. I believe this issue is limited to .ds files.
Steps to reproduce
For anyone who cannot export from both, etc:
https://drive.google.com/file/d/10prICuiS2nxaD-fqeS6dwk343-ttSQkd/view?usp=sharing (1.2.0)
https://drive.google.com/file/d/1AOR54ikabHOV8U_2CjM4lYNwBwDboNAy/view?usp=sharing (1.3 alpha)
Above are the reference WAVs.
If you cannot hear the difference, it is more apparent in the following set of links:
https://drive.google.com/file/d/1aceADoxwerhCMki5eVjCJzP_p_cA8iii/view?usp=sharing (1.2.0), https://drive.google.com/file/d/11cuVR5OvYEwQXyA_h21wtAJiMkPQC_pO/view?usp=sharing (1.3)
These are exports of a different project.
Expected behavior
They should sound the same.
Actual behavior
They sound different
Screenshot
Affected LMMS versions
1.2(.0), 1.3 alpha.
The text was updated successfully, but these errors were encountered: