lmms icon indicating copy to clipboard operation
lmms copied to clipboard

DrumSynth presets (.ds) export incorrectly, losing important information.

Open Capewearer opened this issue 10 months ago • 5 comments

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.

export_test.zip

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.

Capewearer avatar Feb 19 '25 22:02 Capewearer

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.

Image

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?

rubiefawn avatar Mar 02 '25 07:03 rubiefawn

Hello @Capewearer. Can you check if this build fixes the issue for you?

sakertooth avatar Apr 23 '25 01:04 sakertooth

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

Capewearer avatar May 19 '25 23:05 Capewearer

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?

rubiefawn avatar May 19 '25 23:05 rubiefawn

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.

Image

Capewearer avatar May 20 '25 11:05 Capewearer