JJazzLab icon indicating copy to clipboard operation
JJazzLab copied to clipboard

Midi mapping issue when using FluidSynth 2.4.4

Open raffaele-morelli opened this issue 8 months ago • 12 comments

Opening the software after some time (after donation :-) ) the midi mapping seems to be completely gone

Image

In the image above, none of the selected sounds like a drum, eg. the Std Kit 1 & 2 are mapped to piano, Room kit seemss a glockenspiel etc...

First click bar is played by a string (seems a double bass)

Image

If I send other midi messages some change takes place but the incorrect mapping is still there

Here follows some sys info: Debian testing(6.12.20-rt-amd64 #1 SMP PREEMPT_RT Debian 6.12.20-1 (2025-03-23) x86_64 GNU/Linux) jjazzlab 4.1.2-1
fluid-soundfont-gm 3.1-5.3
fluidr3mono-gm-soundfont 2.315-7
fluidsynth 2.4.4+dfsg-1

Regards /r

raffaele-morelli avatar Apr 02 '25 14:04 raffaele-morelli

You should use the embedded FluidSynth, all these problems would be gone. If you don't want to use FluidSynth, you need to read this https://jjazzlab.gitbook.io/user-guide/sounds/other-synths

jjazzboss avatar Apr 02 '25 21:04 jjazzboss

But I am currently using the embedded FluidSynth, that's the problem...

Image

Image

raffaele-morelli avatar Apr 03 '25 04:04 raffaele-morelli

ok, so I need steps how to reproduce. Can you send me the .sng + .mix file you use ? I also need the log file https://jjazzlab.gitbook.io/user-guide/faq#how-to-submit-a-bug-how-to-find-the-log-file

jjazzboss avatar Apr 03 '25 14:04 jjazzboss

Also, when using the embedded FluidSynth, do NOT use the "Send GM/XG/... midi messages" commands from the mix console menu, this can misconfigure FluidSynth. In the next release I'll make those commands disabled in that case.

jjazzboss avatar Apr 03 '25 15:04 jjazzboss

This happens with each and every song with and without sending mide messages of any kind. BTW attached mix files, song is "Afro blue" (default)

JazzWaltzSlow.S423.zip

PS this morning I've cleaned ./jjazzlab dir, purged the package, problem still persists.


Log Session: Thursday, April 3, 2025 at 6:12:04 PM Central European Summer Time System Info: Product Version = JJazzLab 23-2985f1fa57ce0c1877bad0f86d5e5504d65f9286 Operating System = Linux version 6.12.20-rt-amd64 running on amd64 Java; VM; Vendor = 17.0.13; OpenJDK 64-Bit Server VM 17.0.13+11; Eclipse Adoptium Runtime = OpenJDK Runtime Environment 17.0.13+11 Java Home = /usr/lib/jjazzlab/jdk System Locale; Encoding = it_IT (jjazzlab); UTF-8 Home Directory = /home/rmorelli Current Directory = /home/rmorelli User Directory = /home/rmorelli/.jjazzlab/4.1.2 Cache Directory = /home/rmorelli/.cache/jjazzlab/4.1.2 Installation = /usr/lib/jjazzlab/jjazzlab /usr/lib/jjazzlab/platform /usr/lib/jjazzlab/etc /usr/lib/jjazzlab/bin /usr/lib/jjazzlab/extra /usr/lib/jjazzlab/platform Boot & Ext. Classpath = Application Classpath = /usr/lib/jjazzlab/platform/lib/boot.jar:/usr/lib/jjazzlab/platform/lib/org-openide-modules.jar:/usr/lib/jjazzlab/platform/lib/org-openide-util.jar:/usr/lib/jjazzlab/platform/lib/org-openide-util-lookup.jar:/usr/lib/jjazzlab/platform/lib/org-openide-util-ui.jar Startup Classpath = /usr/lib/jjazzlab/platform/core/asm-tree-9.7.jar:/usr/lib/jjazzlab/platform/core/core-base.jar:/usr/lib/jjazzlab/platform/core/core.jar:/usr/lib/jjazzlab/platform/core/asm-commons-9.7.jar:/usr/lib/jjazzlab/platform/core/org-openide-filesystems.jar:/usr/lib/jjazzlab/platform/core/org-netbeans-libs-asm.jar:/usr/lib/jjazzlab/platform/core/asm-9.7.jar:/usr/lib/jjazzlab/jjazzlab/core/locale/core_jjazzlab.jar


INFO [LookAndFeelInstaller]: validate() Installing Look & Feel: com.formdev.flatlaf.FlatDarkLaf INFO [OnStartStartupManager]: Starting task 0 : UpgradeManager INFO [UpgradeManager]: UpgradeManager() Started INFO [OnStartStartupManager]: Starting task 75 : InitEmbeddedSynthStartupTask WARNING [org.netbeans.modules.autoupdate.ui.actions.AutoupdateSettings]: The property "netbeans.default_userdir_root" was not set! INFO [FluidSynthNativeLoader]: loadNativeLibrariesLinuxMac() using pref lib =/usr/lib/x86_64-linux-gnu/libfluidsynth.so.3 INFO [FluidSynthNativeLoader]: loadNativeLibraries() Success INFO [JJazzLabSequencer]: JJazzLabSequencer() Setting up JJazzLab sequencer INFO [JJazzMidiSystem]: JJazzMidiSystem() Midi out devices=[] INFO [FluidSynthJava]: open() FluidSynth version=2.4.4 INFO [FluidSynthJava]: open() Native FluidSynth instance initialized INFO [FluidSynthJava]: loadSoundFont() SoundFont successfully loaded /usr/lib/jjazzlab/jjazzlab/modules/soundfont/JJazzLab-SoundFont.sf2 INFO [JJazzMidiSystem]: setDefaultOutDevice() oldDevice=null newDevice=FluidSynth_MD INFO [FluidSynthEmbeddedSynthProvider]: setEmbeddedSynthActive() b=true INFO [StartupShutdownSongManager]: StartupShutdownSongManager() Started WARNING [org.openide.filesystems.Ordering]: Not all children in Toolbars/ marked with the position attribute: [AutoPreviewToolBar, MusicControls, MyToolBarConfig.xml], but some are: [File, Clipboard, UndoRedo, Memory] INFO [MusicController]: MusicController() Started INFO [ActiveSongManager]: ActiveSongManagerImpl() Started INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL INFO [OnShowingStartupManager]: Starting task 0 : Notify user of startup messages INFO [OnShowingStartupManager]: Starting task 100 : Copy default Midi synth definition files INFO [OnShowingStartupManager]: Starting task 200 : Initialize rhythm database INFO [FileDirectoryManager]: FileDirectoryManager() Started INFO [AppRhythmDirsLocatorImpl]: AppRhythmDirsLocatorImpl() Started INFO [OnShowingStartupManager]: Starting task 300 : Open command line and recent files INFO [OnShowingStartupManager]: Starting task 1.000 : Copy example song files INFO [RhythmDatabaseFactoryImpl]: doInitialization() markedForRescan=false cacheFilePresent=true INFO [MixPanelProcessor]: MixPanelProcessor() distinctId=1e9dd80981 INFO [SongEditorManager]: SongEditorManagerImpl() Started INFO [RhythmDatabaseFactoryImpl]: doInitialization() Successfully added 571 RhythmInfos from the cache to the database -------- Rhythm Database stats - total=579

YamJJazz standard styles: total=565 builtin=0 file=565 first=Rinfo[16BeatBallad2.S014.prs-4/4]... YamJJazz extended styles: total=6 builtin=0 file=6 first=Rinfo[16beat.S556.yjz-4/4]... Ritmica di default: total=8 builtin=8 file=0 first=Rinfo[DummyName-2/4-2/4]... INFO [YamahaRhythmProvider]: readFast() Reading /home/rmorelli/.jjazzlab/4.1.2/.jjazz/Default/Yamaha/JazzWaltzSlow.S423.prs INFO [DefaultMidiMixManager]: DefaultMidiMixManager() Started INFO [YamahaRhythmProvider]: readFast() Reading /home/rmorelli/.jjazzlab/4.1.2/.jjazz/Default/Yamaha/FastFolkWaltz7.S093.STY INFO [ActiveSongBackgroundMusicBuilder]: ActiveSongBackgroundMusicBuilderImpl() Started Diagnostic information Input arguments: -Djdk.home=/usr/lib/jjazzlab/jdk -Dnetbeans.running.environment=gnome -Dnetbeans.dirs=/usr/lib/jjazzlab/jjazzlab:/usr/lib/jjazzlab/platform:/usr/lib/jjazzlab/etc:/usr/lib/jjazzlab/bin:/usr/lib/jjazzlab/extra: -Dnetbeans.home=/usr/lib/jjazzlab/platform -Dmp.token=a67ed8aa58b306c1336dcf74fb99b2f69f1 -Dnetbeans.modules.quiet=true --add-modules=jdk.incubator.foreign --enable-native-access=ALL-UNNAMED --enable-preview --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -Djjazzlab.version=4.1.2 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/rmorelli/.jjazzlab/4.1.2/var/log/heapdump.hprof -Djava.security.manager=allow Compiler: HotSpot 64-Bit Tiered Compilers Heap memory usage: initial 500,0MB maximum 8000,0MB Non heap memory usage: initial 7,3MB maximum -1b Garbage collector: G1 Young Generation (Collections=8 Total time spent=0s) Garbage collector: G1 Old Generation (Collections=0 Total time spent=0s) Classes: loaded=9956 total loaded=9956 unloaded 0 INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 33.548.124.160 INFO [null]: Total physical memory 33.548.124.160

raffaele-morelli avatar Apr 03 '25 16:04 raffaele-morelli

Log is fine. I think it might be due to the fluidsynth version you use (2.4.4). It looks like FluidSynth does not react anymore to program changes sent by JJazzLab.

JJazzLab was tested with FluidSynth 2.2.

I checked the Fluidsynth changes in https://github.com/FluidSynth/fluidsynth/releases and I spotted 2 possible impacting changes: https://github.com/FluidSynth/fluidsynth/issues/1307 in 2.3.5 https://github.com/FluidSynth/fluidsynth/issues/1382 in 2.4.0

I develop on windows, so please could you try again with different FluidSynth versions ? E.g. 2.3.4 then 2.3.5. If it works, try 2.3.7 then 2.4.0. Thanks

jjazzboss avatar Apr 03 '25 17:04 jjazzboss

You're right, downgrading both fluidsynth and libfluidsynth3 did it

Every release < 2.4.4 works fine

Which on debian and derivatives means packages fluidsynth_2.3.5-1_amd64.deb fluidsynth_2.3.6-1_amd64.deb fluidsynth_2.4.0-1_amd64.deb fluidsynth_2.4.2-1_amd64.deb fluidsynth_2.4.3-1_amd64.deb

and libfluidsynth3 accordingly => https://snapshot.debian.org/binary/libfluidsynth3/

Anyway, donate window is back again after installing 2.4.3 (gone away with the code I had)

raffaele-morelli avatar Apr 04 '25 05:04 raffaele-morelli

Hello, I have the same exact problem on macOS and don't know how to install an older version of fluidsynth. Do you happen to know how to do it ?

Thank you 🙏

stanislas-henrard avatar Apr 04 '25 12:04 stanislas-henrard

@stanislas-henrard no. Check homebrew doc ?

jjazzboss avatar Apr 04 '25 18:04 jjazzboss

I found this: https://github.com/FluidSynth/fluidsynth/pull/1514

So it seems to be a bug in 2.4.4, which will be fixed in next release (2.4.5?). When 2.4.5 is out, it would help if one of you guys could test it again. In the meantime I'll update the online doc to avoid 2.4.4.

jjazzboss avatar Apr 04 '25 18:04 jjazzboss

Homebrew doesn't allow installing previous version unfortunately. I will wait for their next version and test again, thanks !

stanislas-henrard avatar Apr 04 '25 18:04 stanislas-henrard

2.4.5 has been released, waiting debian package for testing.

raffaele-morelli avatar Apr 14 '25 05:04 raffaele-morelli

any news ? could you test with fluidsynth > 2.4.4 ?

jjazzboss avatar Sep 22 '25 14:09 jjazzboss

any news ? could you test with fluidsynth > 2.4.4 ?

Yes, it doesn't solve... just upgraded to 2.4.7

EDIT sorry, I've changed song and it now works

raffaele-morelli avatar Sep 22 '25 15:09 raffaele-morelli

@raffaele-morelli I don't understand. Does it work with 2.4.7 ?

jjazzboss avatar Sep 22 '25 19:09 jjazzboss

I checked the fluidsynth site, the 2.4.4 version was removed, it jumps from 2.4.3 to 2.4.5. I assume because of the problematic regressions. So unless @raffaele-morelli @stanislas-henrard you still have problems I'm closing the issue

jjazzboss avatar Sep 22 '25 21:09 jjazzboss

@raffaele-morelli I don't understand. Does it work with 2.4.7 ?

Yes it works.

raffaele-morelli avatar Sep 23 '25 03:09 raffaele-morelli