LMMS Version: LMMS 1.1.90.448 (Linux x86_64, Qt 4.8.7, GCC 6.2.1 20160916 (Red Hat 6.2.1-2))
OS: Fedora 25 x64
Bug Description: While using the keyboard specifically on the sf2 player, playing the same note multiple times in quick succession and trying to sustain it the last time causes it to damper imediately instead.
How to Reproduce: Open an sf2 font on sf2_palyer and attempt to play a note more than once with a short interval between strokes, sustaining the last one. You can use a midi track like test.mid provided in the zip file bellow. the expected result sounds like test-good.wav, the obtained result is in file test-bad.wav
Reproduction Rate: It depends on the interval chosen, also it seems to be easier and possible with longer gaps to reproduce by using a MIDI keyboard. This is particularlly annoying when doing trills and other ornaments of such kind.
It might be a bug of fluidsynth
It might be a bug of fluidsynth
It may very well be.
@RaelCappra @tonychee7000
Can you test this with older versions of LMMS and see if it's not a new thing?
Can you also test this is FluidSynth and not under LMMS to see if it's still happening?
@zonkmachine
I have tested fluidsynth with another MIDI player, the bug is still exist when there are continuous notes with same key. It's not LMMS's bug
@tonychee7000 Did you test the latest version of FluidSynth?
Upstream bug tracker here: https://sourceforge.net/p/fluidsynth/tickets/
@zonkmachine I have to say my Archlinux just use fluidsynth with the latest version.
But there is a ticket about this bug, see https://sourceforge.net/p/fluidsynth/tickets/161/
I leave this open as it's something we need to keep track of. Next step is to find a workaround. Do you think you could downgrade your version and see when this bug was introduced?
One of the most recent commits looks a bit suspicious. It's not like there are a whole lot of recent commits to choose from...
commit 048c51c4ab55fc8bbf04816ff8b85c93fd238b5f
Author: Jean-Jacques Ceresa <[email protected]>
Date: Tue Apr 7 13:48:04 2015 +0200
Add sostenuto pedal functionality (ticket #47, #136)
Apart from adding sostenuto pedal functionality, this also changes
the behaviour of dampening currently sounding notes on the same key
to ignore pedals.
Signed-off-by: David Henningsson <[email protected]>
@zonkmachine It does not appear to be a fluidsynth bug, as I tested the same MIDI file on both lmms and qsynth, and the bug only happened on lmms (although that seems weird given @tonychee7000 's results).
I'm using FluidSynth 1.1.6.
I'm using FluidSynth 1.1.6.
I think that places the bug around and earlier than 2012
(although that seems weird given @tonychee7000 's results
That's the thing with bugs. They're weird. In this case you don't have the issue outside of LMMS but @tonychee7000 does. Is that a 'false positive' ? I don't think so but it could be that we interact with MIDI in a way that we trigger this bug and that you test FluidSynth outside of LMMS in a way tha he sees the bug and you don't. That means there could be a work around for us.
What about if you use an external FluidSynth unit but play it using MIDI from LMMS?
Does this happen on all soundfonts?
What about if you use an external FluidSynth unit but play it using MIDI from LMMS?
Tried that. Couldn't reproduce the bug that way. It only seems to happen specifically with sf2player in LMMS.
Does this happen on all soundfonts?
I've tested with multiple soundfonts, results were identical.
Does anyone know about a possible workaround?
I have the same fluidsynth version as you do but unfortunately I can't replicate this.
Have you tried the latest version of LMMS?
Do you build this from source?
I attempted with the following versions:
LMMS 1.1.90.448 (Linux x86_64, Qt 4.8.7, GCC 6.2.1 20160916 (Red Hat 6.2.1-2)) (built from source) - could reproduce the bug
LMMS 1.2.0-rc2.44 (Linux x86_64, Qt 4.8.7, GCC 6.3.1 20161221 (Red Hat 6.3.1-1)) (built from source) - could reproduce the bug
LMMS 1.1.3 (Linux x86_64, Qt 4.8.7, GCC 6.0.0 20160201 (Red Hat 6.0.0-0.9)) (official fedora 25 package) - Worked normally (could not reproduce)
I tried copying libsf2player.so from the older, working version to the new one, but it wasn't recognized, unfortunately.
Thanks for testing this!
I suggest you test some of the commits from this list that looks 'promising':
https://github.com/LMMS/lmms/commits/master/plugins/sf2_player/sf2_player.cpp
Like: https://github.com/LMMS/lmms/commit/2470df4f0ea2abcbd76a83454c0f6db4b8c3d8c3
git checkout 2470df4f0ea2abcbd76a83454c0f6db4b8c3d8c3
and
git checkout 2470df4f0ea2abcbd76a83454c0f6db4b8c3d8c3~1
to checkout the version before.
I tested in some builds. Here are my results so far:
BUG BUILDS
fd74ddfe155edbf35a0ebc44de4e5e36e8e7cd84 [latest master]
[stable-1.1](https://github.com/LMMS/lmms/tree/stable-1.1)
2470df4f0ea2abcbd76a83454c0f6db4b8c3d8c3 [master]
[2470df4f0ea2abcbd76a83454c0f6db4b8c3d8c3~1](https://github.com/LMMS/lmms/commit/d6a25f90a92c4e42181fcc54a8f10dbd7654b33b) [master]
NON-BUG BUILDS
v1.1.3
32cfe84dfd8228a75a5ff6be6f3663f5c98c79de [master]
[6fb923cba2c1811cbf4c2a13355770e3a3fdd588](https://github.com/LMMS/lmms/commit/6fb923cba2c1811cbf4c2a13355770e3a3fdd588) [master]
looking at the commit history, it seems that the bug appeared somewhere between the release v1.1.3 and stable 1.1. I wasn't able to narrow it down more.
@zonkmachine were you able to reproduce the problem with the new example I edited in with any version of lmms?
looking at the commit history, it seems that the bug appeared somewhere between the release v1.1.3 and stable 1.1. I wasn't able to narrow it down more.
This is a bit tricky because you're comparing between two branches. stable-1.1 and master. The bug seem introduced in the master branch which is split from stable at the release of 1.1 . Stay on master only or you'll surely go mad. Been there, done that...
@zonkmachine were you able to reproduce the problem with the new example I edited in with any version of lmms?
No, unfortunately I can't reproduce this. Not in master or any other version. I may have tested it the wrong way but I don't have time to dive into this right now. There is a year of commits between the earliest 'bad', 2470df4f0ea2abcbd76a83454c0f6db4b8c3d8c3~1 and the latest 'good' 6fb923cba2c1811cbf4c2a13355770e3a3fdd588
_Edit: Bisect instructions moved to gist:
https://gist.github.com/zonkmachine/0a82d733ee7190ddd7cdf09290007d70_
Still no success in reproducing this bug. Fluidsynth team is back in action and there is an up-stream issue that looks related and it's targeted for their next 1.1.7 release:
https://github.com/FluidSynth/fluidsynth/issues/151
FluidSynth is now 1.1.9:
https://github.com/FluidSynth/fluidsynth/releases/tag/v1.1.9
@Umcaruje I believe you could reproduce this. Care to do a bisect?
@Umcaruje I believe you could reproduce this. Care to do a bisect?
I have finals approaching and an exam tommorow, so I won't be able to bisect for some time.
OK. I bumped it to 1.2.0 so it stays in focus.
I cannot reproduce this manually or with the provided test.mid using various SF2s in LMMS RC6.
@RaelCappra Would you mind testing with the current stable-1.2 branch, and upload your lmmsrc when it happens? (On Linux, it's ~/.lmmsrc.xml)
Could not reproduce it. I tried both with your track and with playing from "jack-keyboard", with various samplerates.
Software used:
I think the bug does not occur. Unless @RaelCappra can prove in the next 2 weeks, I'd say let's close this. If he can prove, he will (unfortunatelly) need to debug himself, if no one else can reproduce it.
I think the bug does not occur.
It was replicated by at least one person. @Umcaruje
- fluidsynth 1.1.11
That may be a part of the issue. The original tests were all done against fluidsynt-1.1.6 which was the stable release for years.
I think the bug does not occur.
It was replicated by at least one person. @Umcaruje
@zonkmachine I meant, it does not occur anymore. @Umcaruje did not state anywhere that he can reproduce it. You only said you'd believe he could.
Also, no one ( @Umcaruje and the @RaelCappra included ) seems to be interested in fixing the issue. Why keeping an issue open if it just exists in theory?
Let's close in 12 days and reopen if there's at least one person wanting to have it fixed.
Let's close in 12 days and reopen if there's at least one person wanting to have it fixed.
I also tried to reproduce this but failed. It seems like no devs can reproduce this and no one reported similar issues. If someone reports a similar bug, then we can reopen this.
@Umcaruje did not state anywhere that he can reproduce it. You only said you'd believe he could.
When asking I frased it that way. The actual quote by @Umcaruje on #devonly from 08/07/2017
was @zonkmachine @tresf I can reproduce that bug.
The issue may have been fixed in https://github.com/LMMS/lmms/pull/4908.