DrumSynth presets (.ds) export incorrectly, losing important information.
System Information
Windows 10 (Huawei distribution), x86-64 (Intel CPU)
LMMS Version(s)
1.2.2-stable (sorry, I'm not into nightly builds)
Most Recent Working Version
No response
Bug Summary
This bug is reproducible, the export works weird no matter the file format (.wav, .ogg, .mp3) is chosen, sample rate, bitrate doesn't matter at all. Simple project for reproduction and exported file are posted in zip-archive (because Github can't post .mmp files). .... I am aware about https://github.com/LMMS/lmms/issues/6335, but original poster complains about difference between versions, including the playback and export, I am complaining about difference between real-time sound and export itself on that one LMMS version. Please, feel the difference.
Expected Behaviour
Have highest overtones to be heard and proper volume. My hearing is average, if not worse. I know there always will be a difference between "pure" real-time generated sound and baked one, but it shouldn't be that different.
Steps To Reproduce
1.Open the project. 2. Listen the loop. 3.Export. 4.????? 5.PROFIT!!111
Logs
Click to expand
Screenshots / Minimum Reproducible Project
I know that's another export bug, but please, take it into consideration, because it would be a pity to write track with excessive usage of drumsynth and get bad export. A one of overcomings is to record audio with screen capture.
Please search the issue tracker for existing bug reports before submitting your own.
- [x] I have searched all existing issues and confirmed that this is not a duplicate.
I know there always will be a difference between "pure" real-time generated sound and baked one, but it shouldn't be that different.
Ideally there should be no difference whatsoever between real-time sound and "baked" sound. If there is any difference between the two, it's a bug.
I tested this on Windows 10 x86_64 using the SDL backend, but unfortunately wasn't able to replicate it. I rendered out the provided project file in both 1.2.2 as well as nightly 9159533 (msvc), and also recorded the live playback using OBS to compare. I can't hear any substantial difference, and they all look close enough when manually lining them up and comparing waveforms.
Here are the audio files for comparison: exports.zip
Is this still happening for you? In LMMS's settings, what are your audio interface settings?
Hello @Capewearer. Can you check if this build fixes the issue for you?
Hello @Capewearer. Can you check if this build fixes the issue for you?
Hello! Your build doesn't fix it. Sorry for the very late response - I've found the real issue, which is not the fault of the LMMS, unfortunately. The bug's nature comes down to the way how Windows System API reacts to the drumsynth - the windows WASAPI does calculate it incorrectly when internal sound driver is used. Basically, the audio quality relates to the OS and custom drivers, I was able to replicate the same issue in completely different software (the Audacity system recording of the sound when LMMS plays back the project). So it's probably would be reasonable to close this bug? If there are no ways to fix this rather than implementing capture from realtime sound output, then it's probably not worth it. Yet I still find very weird that it happens to .ds only, but not the other samples and synths. ... If that not stops you from fixing the bug, the info below will be helpful. I've found better candidate for the drum examples - the actual beat ripped from unfinished track (God give me strength to finish it). I've recorded the exported version from your LMMS build and got version that was recorded with the OBS Studio (sound converted to .ogg with VLC, no timbre has been lost). The OBS version is how it should sound (or much closer to that purpose), the LMMS version is how does it should not. I hope that may lead you to some ideas why this happens. Beat the Beat.zip
That would make sense why I was unable to replicate it, since I was using SDL as my audio backend, which was likely communicating to my external audio interface through ASIO drivers.
When you say WASAPI, do you mean your LMMS audio settings are configured to PortAudio+WASAPI?
That would make sense why I was unable to replicate it, since I was using SDL as my audio backend, which was likely communicating to my external audio interface through ASIO drivers.
When you say WASAPI, do you mean your LMMS audio settings are configured to PortAudio+WASAPI?
I am using SDL, no PortAudio at all. Once I touched that setting just to understand that it would be better not to risk.