Ubuntu 20.04: Rosegarden - Fluidsynth version mismatch

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Ubuntu 20.04: Rosegarden - Fluidsynth version mismatch

Dorien James

I have a problem with the way that Rosegarden is interacting with Fluidsynth, and I would welcome any help or at least further debugging suggestions.

tldr: Rosegarden appears to be asking, via fluidsynth-dssi, for an obsolete version of Fluidsynth, and failing to load it as a result.

For a few years, I've had a stable Rosegarden environment working happily with Fluidsynth on Ubuntu 16.04:
-    rosegarden 15.12.1
-    fluidSynth 1.1.6
-    fluidSynth-dssi 1.0.0
-    libfluidsynth 1.1.6

I'm now building a new machine under Ubuntu 20.04, and have installed latest versions of everything:

dorien@dorien-M4500:~$ dpkg -l | grep "rosegarden"
ii  rosegarden                                 1:19.12-1build1                     amd64        music editor and MIDI/audio sequencer
dorien@dorien-M4500:~$ dpkg -l | grep "fluid"
ii  fluid-soundfont-gm                         3.1-5.1                             all          Fluid (R3) General MIDI SoundFont (GM)
ii  fluidsynth                                 2.1.1-2                             amd64        Real-time MIDI software synthesizer
ii  fluidsynth-dssi                            1.0.0-7                             amd64        DSSI wrapper for the FluidSynth SoundFont-playing synthesizer
ii  libfluidsynth2:amd64                       2.1.1-2                             amd64        Real-time MIDI software synthesizer (runtime library)
ii  qsynth                                     0.6.1-1build1                       amd64        fluidsynth MIDI sound synthesiser front-end

When I run Rosegarden from terminal, the messages include:

[JackDriver] initialise() - connecting from  " rosegarden:master out L " to " system:playback_1 "
WARNING: DSSIPluginFactory::discoverPlugin: couldn't dlopen /usr/lib/dssi/fluidsynth-dssi.so - libfluidsynth.so.1: cannot open shared object file: No such file or directory
[JackDriver] initialise() - connecting from  " rosegarden:master out R " to " system:playback_2 "

Once in Rosegarden, Fluidsynth doesn't work:
-    it's not listed on the list of Plugins on the Synth plugin window
-    if I load a .rg file including Fluidsynth instruments from my old environment, there's an error window "The following audio plugins could not be loaded: FluidSynth-DSSI"

/usr/lib/dssi/fluidsynth-dssi.so exists in both environments.

However, the directory /usr/lib/x86_64-linux-gnu on my old, working environment contains a file libfluidsynth.so.1 which appears to be a link to libfluidsynth.so.1.5.2
The same directory on my new environment contains libfluidsynth.so.2 linking to libfluidsynth.so.2.3.1

So, as far as I can tell, either Rosegarden or fluidsynth-dssi is expecting to use libfluidsynth.so.1, but this no longer exists. 

Views gratefully received on where the problem might lie and how I might fix it.






_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 20.04: Rosegarden - Fluidsynth version mismatch

Ceresa Jean-Jacques

Hi,

In your new machine with Ubuntu 20.04 you have installed:

> ii  fluidsynth                                 2.1.1-2                             amd64        Real-time MIDI software synthesizer


> ii  fluidsynth-dssi                            1.0.0-7                             amd64        DSSI wrapper for the FluidSynth SoundFont-playing synthesizer

 

1) Are you sure that fluidsynth-dssi 1.0.0-7 requires fluidsynth 2.1.1 dependency ?. If no, you should install the correct fluidsynth version required by fluidsynth-dssi 1.0.0-7.

2) If the issue is not related to libraries dependency, simply may be the path variable should be updated.

jjc

 

> Message du 10/07/20 19:02
> De : "Dorien James" <[hidden email]>
> A : [hidden email]
> Copie à :
> Objet : [fluid-dev] Ubuntu 20.04: Rosegarden - Fluidsynth version mismatch
>
>

> I have a problem with the way that Rosegarden is interacting with Fluidsynth, and I would welcome any help or at least further debugging suggestions.

> tldr: Rosegarden appears to be asking, via fluidsynth-dssi, for an obsolete version of Fluidsynth, and failing to load it as a result.
>

> For a few years, I've had a stable Rosegarden environment working happily with Fluidsynth on Ubuntu 16.04:
> -    rosegarden 15.12.1
> -    fluidSynth 1.1.6
> -    fluidSynth-dssi 1.0.0
> -    libfluidsynth 1.1.6

> I'm now building a new machine under Ubuntu 20.04, and have installed latest versions of everything:

> dorien@dorien-M4500:~$ dpkg -l | grep "rosegarden"
> ii  rosegarden                                 1:19.12-1build1                     amd64        music editor and MIDI/audio sequencer
> dorien@dorien-M4500:~$ dpkg -l | grep "fluid"
> ii  fluid-soundfont-gm                         3.1-5.1                             all          Fluid (R3) General MIDI SoundFont (GM)
> ii  fluidsynth                                 2.1.1-2                             amd64        Real-time MIDI software synthesizer
> ii  fluidsynth-dssi                            1.0.0-7                             amd64        DSSI wrapper for the FluidSynth SoundFont-playing synthesizer
> ii  libfluidsynth2:amd64                       2.1.1-2                             amd64        Real-time MIDI software synthesizer (runtime library)
> ii  qsynth                                     0.6.1-1build1                       amd64        fluidsynth MIDI sound synthesiser front-end

> When I run Rosegarden from terminal, the messages include:

> [JackDriver] initialise() - connecting from  " rosegarden:master out L " to " system:playback_1 "
> WARNING: DSSIPluginFactory::discoverPlugin: couldn't dlopen /usr/lib/dssi/fluidsynth-dssi.so - libfluidsynth.so.1: cannot open shared object file: No such file or directory
> [JackDriver] initialise() - connecting from  " rosegarden:master out R " to " system:playback_2 "

> Once in Rosegarden, Fluidsynth doesn't work:
> -    it's not listed on the list of Plugins on the Synth plugin window
> -    if I load a .rg file including Fluidsynth instruments from my old environment, there's an error window "The following audio plugins could not be loaded: FluidSynth-DSSI"
>

>

> /usr/lib/dssi/fluidsynth-dssi.so exists in both environments.
>

> However, the directory /usr/lib/x86_64-linux-gnu on my old, working environment contains a file libfluidsynth.so.1 which appears to be a link to libfluidsynth.so.1.5.2
> The same directory on my new environment contains libfluidsynth.so.2 linking to libfluidsynth.so.2.3.1
>

> So, as far as I can tell, either Rosegarden or fluidsynth-dssi is expecting to use libfluidsynth.so.1, but this no longer exists. 
>

> Views gratefully received on where the problem might lie and how I might fix it.

>
>

>
>

>
>

>
>



_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev


_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 20.04: Rosegarden - Fluidsynth version mismatch

fluid-dev mailing list
In reply to this post by Dorien James
>  my old, working environment contains a file libfluidsynth.so.1 which appears to be a link to libfluidsynth.so.1.5.2

So, you need to make sure that your new working environment contains
the same symlink and lib. Typically, this is done by installing
libfluidsynth1

My clear recommendation though: Do yourself a favor and get rid of
fluidsynth 1.x

Unfortunately, fluidsynth-dssi upstream is dormant. But there is a
fork of fluidsynth-dssi, that has been ported to fluidsynth's new API:

https://github.com/schnitzeltony/fluidsynth-dssi

Tom

_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 20.04: Rosegarden - Fluidsynth version mismatch

Lorenzo Sutton
On 13/07/20 12:59, Tom M. via fluid-dev wrote:

>>   my old, working environment contains a file libfluidsynth.so.1 which appears to be a link to libfluidsynth.so.1.5.2
>
> So, you need to make sure that your new working environment contains
> the same symlink and lib. Typically, this is done by installing
> libfluidsynth1
>
> My clear recommendation though: Do yourself a favor and get rid of
> fluidsynth 1.x
>
> Unfortunately, fluidsynth-dssi upstream is dormant. But there is a
> fork of fluidsynth-dssi, that has been ported to fluidsynth's new API:
>
> https://github.com/schnitzeltony/fluidsynth-dssi

Or just use 'plain' fluidsynth through the command line (via alsa-midi)
or a GUI client (e.g. qsynth).
I mostly use rosegarden + fluidsynth (comman dline) that these days. I
think it also makes Rosegarden projects more 'portable' for the future
without relying on any plugins.

My two cents.
Lorenzo.

_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 20.04: Rosegarden - Fluidsynth version mismatch

Dorien James-2

Thank you for the suggestions and sorry to be so slow providing an update. I've spent the last week grappling with JACK's unwillingness to make any sound at all.  The good news is that it's working now, the bad news is that I have no idea which of the things I tweaked actually made the final difference.

My experience with the three suggestions was:

(1)    Install libfluidsynth1.

I'd like to, but only version 2 seems to be available.

$ sudo apt-get install libfluidsynth1
[sudo] password for dorien:
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Package libfluidsynth1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libfluidsynth1' has no installation candidate

$ apt list fluidsynth -a
Listing... Done
fluidsynth/focal,now 2.1.1-2 amd64 [installed]

fluidsynth/focal 2.1.1-2 i386

(2)    Install Tony Schnitzel's fork of fluidsynth-dssi.

This would have been ideal, but (unless I'm missing something) there's no simple "apt-get install..." option.The github files seem to provide what's needed by those hardcore Linux users who are happy to compile and build their own software from source. Alas, I'm not that clever. Is there something I've missed?

(3)    Use plain fluidsynth without the plugin

Yes, this works fine! In fact, I'm now not sure why I used the DSSI wrapper in the first place.

===========

If Google brings anyone else here after having the same problem, the critical steps to getting it JACK, fluidsynth and Rosegarden working for me have been:

-    start qjackctl
-    set qjackctl Setup-Settings-Advanced-Server prefix to pasuspender -- /usr/bin/jackd. This temporarily suspends Pulseaudio while JACK is running, preventing Pulseaudio's tendency to restart itself and then get in the way
-    set qjackctl Setup-Settings-Parameters-Interface to the correct value, which depends on your hardware setup. If in doubt, try them all
-    use qjackctl to start JACK
-    run qsynth to start Fluidsynth
-    start Rosegarden
-    click Studio-Manage MIDI Devices and ensure that the qsynth option is chosen under MIDI Playback and MIDI outputs
-    for each MIDI track
    -    select the track (click on track name)
    -    under Track Parameters, set Device to General MIDI Device and set Instrument to the MIDI channel (I just match this to the track number)
    -    under Instrument Parameters - Program, choose the instrument for that channel.

Thank you both for your help.

On 13/07/2020 12:28, Lorenzo Sutton wrote:
On 13/07/20 12:59, Tom M. via fluid-dev wrote:
  my old, working environment contains a file libfluidsynth.so.1 which appears to be a link to libfluidsynth.so.1.5.2

So, you need to make sure that your new working environment contains
the same symlink and lib. Typically, this is done by installing
libfluidsynth1

My clear recommendation though: Do yourself a favor and get rid of
fluidsynth 1.x

Unfortunately, fluidsynth-dssi upstream is dormant. But there is a
fork of fluidsynth-dssi, that has been ported to fluidsynth's new API:

https://github.com/schnitzeltony/fluidsynth-dssi

Or just use 'plain' fluidsynth through the command line (via alsa-midi) or a GUI client (e.g. qsynth).
I mostly use rosegarden + fluidsynth (comman dline) that these days. I think it also makes Rosegarden projects more 'portable' for the future without relying on any plugins.

My two cents.
Lorenzo.

_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev

_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev