[ Follow-up 3 ] More Spring 2023 fixes

MusE is a DAW for Linux with both MIDI and Audio editing. https://muse-sequencer.github.io

Moderators: MattKingUSA, khz, spamatica

User avatar
onefang
Established Member
Posts: 148
Joined: Fri Feb 03, 2023 1:17 am
Location: Australia
Has thanked: 67 times
Been thanked: 11 times
Contact:

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by onefang »

Impostor wrote: Sat May 27, 2023 3:44 pm
onefang wrote: Sat May 27, 2023 12:43 am

Only one instrument still using fluidsynth-dssi, I switched to Calf Fluidsynth LV2 for the others. I'll switch the last remaining one later today.

Any reason why you're not using MusE's own soundfont player?

Oh and the other reason I wasn't using that, is so I can stumble across a bunch of crashes for Tim to fix. B-)

I prefer to be known as a figment of the 'nets imagination, living in the future, waiting for the rest of you to catch up.
Notes from Untalenz, an untalented old muso https://Untalenz.rocks/

User avatar
Impostor
Established Member
Posts: 1337
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 138 times
Been thanked: 346 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Impostor »

onefang wrote: Sat May 27, 2023 4:44 pm
Impostor wrote: Sat May 27, 2023 3:44 pm
onefang wrote: Sat May 27, 2023 12:43 am

Only one instrument still using fluidsynth-dssi, I switched to Calf Fluidsynth LV2 for the others. I'll switch the last remaining one later today.

Any reason why you're not using MusE's own soundfont player?

Oh and the other reason I wasn't using that, is so I can stumble across a bunch of crashes for Tim to fix. B-)

I'm sure it's appreciated.

Tim E. Real
Established Member
Posts: 660
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 36 times
Been thanked: 105 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Tim E. Real »

Unaware of MESS fluidsynth? Pity! :wink:

One thing to consider when using a soundfont plugin is drums.
Some soundfonts have drum samples, for example the standard fluidGM set in linux.

An important thing is the drum note names. Soundfont drums have names for each of the drum notes.

In the MESS fluidsynth plugin I was able to use the fabulous libinstpatch to retrieve all the note names
and thus display them in our drum editor. Tight integration of MESS with MusE allowed me to do that.
It 'just works' out of the box.

However, third party fluidsynth plugins might not have such support. Some do, some don't.
It requires the use of the 'midnam' XML specification.
'Midnam' is part of the official Midi Manufacturers Association (MMA) specs.

MusE has built-in support for plugins that use 'midnam'.
I added that a few years ago, and whoa, it was quite involved for such a seemingly small thing.
An entire XML reader and parser just for that.

There will be no drum note names shown in our drum editor for those plugins without such support.

The AVL Drums and DrumGizmo plugins both have this support.
(They are not soundfont plugins but they export the drum note names this way).

The author of Fluida was asked if he would add support but he said no, it wasn't in the scope of the project.
That's a shame because he already has everything in place to add support - Fluida is already using libinstpatch,
and the next step is to export the note names using 'midnam'.
It could be done in perhaps a one-night session.
I would love to add it for him but I'm just too busy at the moment.

User avatar
Impostor
Established Member
Posts: 1337
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 138 times
Been thanked: 346 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Impostor »

Better late than never: I only just found out the easy way to access the drumkits of soundfonts!

In the channel setup dialog of the fluidsynth sf loader, select a channel as drumchannel in the rightmost column (I know, it's rather obvious). Then create a midi drum track for that channel. Now you can simply select the desired drumkit in the mixer track, and the note names correctly reflect your selection.

User avatar
onefang
Established Member
Posts: 148
Joined: Fri Feb 03, 2023 1:17 am
Location: Australia
Has thanked: 67 times
Been thanked: 11 times
Contact:

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by onefang »

I've switched all my Fluidsynth synths to using just the one Fluidsynth MESS, with different channels for each instrument. Previously I was using one Calf Fluidsynth per instrument for those that used Fluidsynth.

For the drums I'm using Red Zeppelin Drumkit LV2 for the normal drum kit stuff, plus a layering of several synths for Nick Mason's "play a bunch of tuned toms with timpani mallets" sound.

I did notice that some of the instruments in FluidR3_GM.sf2 have different names using the Fluidsynth MESS synth, even different names in different parts of the UI, compared to what they are called in other synths. "Star Theme" is sometimes called "Sci Fi", and "Bird Tweet" sometimes called "Bird Tweed". There may be others, those where just the two I spotted. So took me a lot of digging to find "Star Theme". So the naming is a MESS.

So far so good.

I prefer to be known as a figment of the 'nets imagination, living in the future, waiting for the rest of you to catch up.
Notes from Untalenz, an untalented old muso https://Untalenz.rocks/

Tim E. Real
Established Member
Posts: 660
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 36 times
Been thanked: 105 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Tim E. Real »

Hm, I did not notice that. Can you post some pics?

Keep in mind that drum note names are per-patch.
Some soundfonts or plugins have multiple 'kits' like 'rock' or 'orchestra', selected by the different patch numbers.
So if your song changes the patch of a midi track (the 'program') throughout the song,
or if you simply dial in a new patch, the names may change instantly.

If you're wondering about all the items in the drum editor's drum list popup menu (Promote, Set etc.)
they are for managing setting your own drum note names and values (overriding what is given by the plugin or soundfont).
It also provides setting what names and values are actually shown if the patch number is -- -- -- (default),
or if an invalid patch number is selected, or (I think) if a note has no note name in a given selected patch. That kind of thing.

Hm, I just noticed for third-party soundfont loaders like fluidsynth-dssi and Fluida, MusE does not seem to allow selection of,
or even show in the patch list, the drum patches. Even in the drum editor.
Even when the plugin is clearly showing the availability of such patches in its UI.
I think I know why. Possibly our dssi, lv2, and vst support assumes that all banks range from 0 to 127. So they simply 'AND' the value with 127.
But drums are all special bank number 128.
Not sure, I'll have to check. I may have visited this in the past. Probably it should allow such drum patches in the drum editor.
Our MESS plugin fluidsynth works OK. It seems just not other plugin types.
Notice how our MESS fluidsynth has a trick up its sleeve: The 'Is Drum' column in the MESS UI.
I believe that ties in here. The other plugin types don't have such a setting. So we're relying stritcly on the bank value
which likely is being 'AND' with 127 before we send it to those plugins.

User avatar
onefang
Established Member
Posts: 148
Joined: Fri Feb 03, 2023 1:17 am
Location: Australia
Has thanked: 67 times
Been thanked: 11 times
Contact:

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by onefang »

Tim E. Real wrote: Sun May 28, 2023 9:29 pm

Hm, I did not notice that. Can you post some pics?

Since you went on to talk about drums, and I wasn't talking about drum patch names changing, are you asking me for pics of these different patch names I saw?

I should get some sleep soon. lol

I prefer to be known as a figment of the 'nets imagination, living in the future, waiting for the rest of you to catch up.
Notes from Untalenz, an untalented old muso https://Untalenz.rocks/

Tim E. Real
Established Member
Posts: 660
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 36 times
Been thanked: 105 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Tim E. Real »

Yep. Show me the different patch names.
No rush. Take your time. :wink:

User avatar
Impostor
Established Member
Posts: 1337
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 138 times
Been thanked: 346 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Impostor »

The only different patch names for Sci-Fi/Star Theme I can find are just those in the various instrument definitions of GM/XG etcetera.

User avatar
onefang
Established Member
Posts: 148
Joined: Fri Feb 03, 2023 1:17 am
Location: Australia
Has thanked: 67 times
Been thanked: 11 times
Contact:

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by onefang »

  1. Create a MIDI track.

  2. On the mixer left click the Instrument slot, select Files -> GM, or GM2, or GS.

  3. On the mixer left click the Patch name slot, select Synth FX -> "104 Sci Fi", or "Synth SFX -> 122:1:104 FX 8 (sci fi)", or Synth FX -> "1:1:104 Sci-Fi"

  4. Create a MIDI track.

  5. On the mixer left click the Instrument slot, select Synthesizers -> FluidSynth-DSSI-0, or FluidSynth-0

  6. On the mixer left click the Patch name slot, select "1:104 Star Theme", or ":--: 104 Star Theme"

Every other FluidSynth plugin and player I have tried calls that one "Star Theme". The same happens with "124 Bird Tweed" or "124 Bird Tweet". Sci Fi / Star Theme makes sense, Bird Tweed must be a typo.

Oddly my external MIDI keyboard is in that Files menu, an Alesis V25. It's input only, though sending notes to the drum pad does light up the respective button, so I use that for the metronome to have a visual indicator of the beat. Oh, might be coz I created an instrument file for it, since most of the rest in that Files menu look like external synths.

I prefer to be known as a figment of the 'nets imagination, living in the future, waiting for the rest of you to catch up.
Notes from Untalenz, an untalented old muso https://Untalenz.rocks/

User avatar
Impostor
Established Member
Posts: 1337
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 138 times
Been thanked: 346 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Impostor »

onefang wrote: Mon May 29, 2023 11:34 am
  1. Create a MIDI track.

  2. On the mixer left click the Instrument slot, select Files -> GM, or GM2, or GS.

  3. On the mixer left click the Patch name slot, select Synth FX -> "104 Sci Fi", or "Synth SFX -> 122:1:104 FX 8 (sci fi)", or Synth FX -> "1:1:104 Sci-Fi"

  4. Create a MIDI track.

  5. On the mixer left click the Instrument slot, select Synthesizers -> FluidSynth-DSSI-0, or FluidSynth-0

  6. On the mixer left click the Patch name slot, select "1:104 Star Theme", or ":--: 104 Star Theme"

But now you're just comparing diffferent instrument definition file patch names. The name included in the loaded .sf2 file is the one displayed in the mixer strip selection menu of the MESS fluidsynth, I'd think.

User avatar
onefang
Established Member
Posts: 148
Joined: Fri Feb 03, 2023 1:17 am
Location: Australia
Has thanked: 67 times
Been thanked: 11 times
Contact:

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by onefang »

Impostor wrote: Mon May 29, 2023 12:19 pm
onefang wrote: Mon May 29, 2023 11:34 am
  1. Create a MIDI track.

  2. On the mixer left click the Instrument slot, select Files -> GM, or GM2, or GS.

  3. On the mixer left click the Patch name slot, select Synth FX -> "104 Sci Fi", or "Synth SFX -> 122:1:104 FX 8 (sci fi)", or Synth FX -> "1:1:104 Sci-Fi"

  4. Create a MIDI track.

  5. On the mixer left click the Instrument slot, select Synthesizers -> FluidSynth-DSSI-0, or FluidSynth-0

  6. On the mixer left click the Patch name slot, select "1:104 Star Theme", or ":--: 104 Star Theme"

But now you're just comparing diffferent instrument definition file patch names. The name included in the loaded .sf2 file is the one displayed in the mixer strip selection menu of the MESS fluidsynth, I'd think.

Where do these GM, GM2 and GS "files" come from though? I couldn't find those patch names in any .sf2 or .sf3 files in /usr/share/sounds.

I prefer to be known as a figment of the 'nets imagination, living in the future, waiting for the rest of you to catch up.
Notes from Untalenz, an untalented old muso https://Untalenz.rocks/

User avatar
Impostor
Established Member
Posts: 1337
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 138 times
Been thanked: 346 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Impostor »

onefang wrote: Mon May 29, 2023 1:12 pm

Where do these GM, GM2 and GS "files" come from though? I couldn't find those patch names in any .sf2 or .sf3 files in /usr/share/sounds.

/usr/local/share/muse-4.1/instruments/

User avatar
onefang
Established Member
Posts: 148
Joined: Fri Feb 03, 2023 1:17 am
Location: Australia
Has thanked: 67 times
Been thanked: 11 times
Contact:

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by onefang »

Impostor wrote: Mon May 29, 2023 1:14 pm
onefang wrote: Mon May 29, 2023 1:12 pm

Where do these GM, GM2 and GS "files" come from though? I couldn't find those patch names in any .sf2 or .sf3 files in /usr/share/sounds.

/usr/local/share/muse-4.1/instruments/

Which means it comes from the MusE source code at src/share/instruments where indeed the "Bird Tweed" typo is.

Edit: https://www.midi.org/specifications-old ... -sound-set says it's officially "Bird Tweet" and "FX 8 (sci-fi)" in the General MIDI spec. So MusE got the tweet wrong, but every one else got "Star Theme" wrong. lol

I prefer to be known as a figment of the 'nets imagination, living in the future, waiting for the rest of you to catch up.
Notes from Untalenz, an untalented old muso https://Untalenz.rocks/

Tim E. Real
Established Member
Posts: 660
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 36 times
Been thanked: 105 times

Re: [ Follow-up 3 ] More Spring 2023 fixes

Post by Tim E. Real »

Tim E. Real wrote: Fri May 26, 2023 4:47 pm

3) Well, whaddya know. There is still yet another song reloading crash (unrelated to any plugin or this report).

Thanks for your extreme patience, musers.

Tough one. Should be fixed now in github master.
My previous fixes by waiting until all the windows deleted was good, but didn't go far enough as detailed in the log below.
It seems pretty stable now.
I (re)loaded @onefang's untitled.med and CrashTestDummy.med and my own simple and complex songs
with all editors open, various templates, new etc. over and over and over.
No more crashes.
( @Impostor and @onefang : "Oh really? Hold my beer!")
After much consideration, this seems the best way forward.
Any further crashes from offending widget connections can now be easily added to my 'pending deletions list',
with just one line. I have overhauled/streamlined my code.

I'll try to quickly test a fix I'm thinking of, for that PT8 hang up... That's a different bug.

  • * Fixed: Still more crashes / bad behaviour on song (re)load. Further to 25.05.2023. (Tim)
    Fix at 13.05.2023 (wait for top level widgets to be deleted before continuing with load) was good
    but needed to include more than just the top levels. Child widget destructors are called AFTER
    the parent. So there was no choice - add SOME of those widgets to the list of pending deletes.
    Specifically, widgets connected to external signals heartBeat timer, songChanged, configChanged.

  • * Fixed: Another crash in Master Editor: Removed members 'hscroll' and 'vscroll' which were hiding
    base MidiEditor versions, causing a crash. Also initialize base hscroll, vscroll, time to null.

Post Reply