Bug#929185: default soundfonts
On Thu, 11 Jul 2019 14:50:30 + (UTC) Thorsten Glaser wrote: > > - Patch libraries using soundfonts to fallback to the new default > > soundfont path and add dependencies accordingly (fluidsynth, > > timidity, anything else?) > > gstreamer (the one that started this discussion) perhaps, maybe > also the various phonon? I’m not well-versed in the “desktop” world. According to Wikipedia, Phonon can use GStreamer and VLC. QT multimedia used to use Phonon, but now uses Gstreamer - this may be configurable somewhere, but the problem with Gstreamer at the top of this thread, when fixed, allowed QT to work. VLC uses fluidsynth for midi files (configurable?). This doesn't work for me by default, because the default audio driver for fluidsynth is Jack, but I'm using pulseaudio, and I couldn't find a way in the VLC GUI to specify that the fluidsynth plugin should use the pulseaudio driver, although I can set the soundfount for fluidsynth to use, and I can set the audio driver for VLC to use generally. Come to think of it, this is another problem with fluidsynth, that would be solved by having a defaults file under /etc that is always used by fluidsynth, rather than only when it is in daemon mode. Neither xine nor mplayer seem to know about midi files. So, in summary, I think addressing gstreamer and fluidsynth should cover most cases. I don't know much about timidity. The code changes for gstreamer and fluidsynth look pretty straightforward; they're included at the top of this bug and #929182 respectively, but it's just changing one hard-coded name for another. I don't know if upstream have any plans to make this configurable at run time instead? Given that Gstreamer seems quite widespread, I'm surprised that there doesn't seen to be more in the way of system level configuration files.
Bug#929185: default soundfonts (was Re: gstreamer1.0-plugins-bad: no midi sound - gstreamer selects wrong soundfont by default)
The related bug/issue in fluidity is: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929182 (wrong reference earlier in this thread) > Would users rather have no sound ... or bad sound I vote for bad sound. If there is no sound, there could be all sorts of reasons which can be very hard to track down, e.g. not in the correct audio group, no permission to access device, soundfont not installed, blocked by another program, daemon not running, unable to find library/plugin, volume too low etc. (These are not all relevant to gstreamer, but are problems I've had in the past that can be difficult to trace.) If there is bad sound, then the system is basically working, so there are fewer things to check, e.g. poor audio file, poor soundfont, CPU too slow. It's then much easier to try a different audio file or soundfont, or nice the process. The problem I had is that I wasn't getting errors reported, I just had no sound. It took quite a while to track down the problem, and the fix was nasty (I editted the plugin binary to change the directory searched from sounds/sf2 to sounds/gst, then created that directory with a link in it to my preferred soundfont).
Bug#929182: fluidsynth: no sound by default - soundfont location doesn't exist
On Monday, 20 May 2019 07:50:06 BST you wrote: > According to the man page, you may give the soundfont on the command line. > There is even an example in the third paragraph: 'fluidsynth -ni > soundfont.sf2 midifile1.mid midifile2.mid' > > So, this is the "official" way of starting fluidsynth with a specific > soundfont. I'm aware of the commandline option for specifying the soundfont, but wanted something that works out-of the-box and for all users. A global alias or a wrapper script would work in most cases, but wouldn't be linked to Debian updates so would need to be maintained separately if the soundfont name changed. A similar issue was raised on the fluidity github a while ago, and a patch was even put forward, but was abandoned: https://github.com/FluidSynth/fluidsynth/issues/453 https://github.com/FluidSynth/fluidsynth/pull/454 I haven't checked newer versions of fluidity to see if they work differently. > Nevertheless, if /usr/share/soundfonts/default.sf2 is the > hard-coded fallback, we should make sure this file can be found out-of > the-box. Adding the packaged soundfonts to a set of alternatives might be > a good idea to solve this. I raised a similar issue about default soundfount with gstreamer. I hope it's possible to come up with a common approach in Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929185
Bug#929185: gstreamer1.0-plugins-bad: no midi sound - gstreamer selects wrong soundfont by default
Package: gstreamer1.0-plugins-bad Version: 1.14.4-1+b1 Severity: wishlist Tags: upstream Dear Maintainer, I've been trying to get gstreamer to play midi files. Initially it was when using QMediaPlayer in a QT application. However it also applies when running gstreamer from the commandline, e.g. gst-play-1.0 sample.mid I can get it to work if I either specifiy the soundfount manually: gst-launch-1.0 filesrc location=sample.mid ! midiparse ! fluiddec soundfont=/usr/share/sounds/sf2/MuseScore_General_Full.sf2 ! pulsesink or I can also get the simple case of gst-play-1.0 to work if I remove all the soundfounts from /usr/share/sounds/sf2 except the one I want to use; unfortunately it was trying to use FluidR3_GS.sf2, which gives no sound. The problem lies in libgstfluidsynthmidi.so; looking at the source code in ext/fluidsynth/gstfluiddec.c:gst_fluid_dec_open(), it tries to open a bunch of directories and then reads the first file in the first directory it can open (/usr/share/sounds/sf2). I was hoping that there might be some kind of config file for gstreamer where I could set the default soundfont but I couldn't find one. Unfortunately there doesn't seem to be a standard way in Linux of setting a default soundfont to be used by all midi players; I was wondering if it would be possible to use e.g. the /etc/alterntives mechanism to choose between various Debian soundfonts e.g. MuseScore_General_Full.sf2 and FluidR3_GM.sf2, and then modify the gstreamer plugin to use that instead. -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages gstreamer1.0-plugins-bad depends on: ii gstreamer1.0-plugins-base 1.14.4-1 ii libass9 1:0.14.0-1 ii libbs2b03.1.0+dfsg-2.2 ii libbz2-1.0 1.0.6-9 ii libc6 2.28-5 ii libcairo2 1.16.0-4 ii libchromaprint1 1.4.3-1 ii libcurl3-gnutls 7.58.0-2 ii libdc1394-222.2.5-1 ii libdca0 0.0.5-10 ii libde265-0 1.0.2-2+b2 ii libdrm2 2.4.97-1 ii libdvdnav4 6.0.0-1 ii libdvdread4 6.0.0-1 ii libfaad22.8.8-1 ii libflite1 2.1-release-1 ii libfluidsynth1 1.1.11-1 ii libgcc1 1:8.2.0-20 ii libglib2.0-02.58.3-1 ii libgme0 0.6.2-1 ii libgsm1 1.0.18-1 ii libgstreamer-gl1.0-01.14.4-1 ii libgstreamer-plugins-bad1.0-0 1.14.4-1+b1 ii libgstreamer-plugins-base1.0-0 1.14.4-1 ii libgstreamer1.0-0 1.14.4-1 ii libgudev-1.0-0 232-2 ii libilmbase232.2.1-2 ii libkate10.4.1-8 ii liblcms2-2 2.9-1 ii liblilv-0-0 0.24.2~dfsg0-1 ii libmjpegutils-2.1-0 1:2.1.0+debian-5 ii libmms0 0.6.4-2 ii libmodplug1 1:0.8.9.0-1 ii libmpcdec6 2:0.1~r495-1+b1 ii libmpeg2encpp-2.1-0 1:2.1.0+debian-5 ii libmplex2-2.1-0 1:2.1.0+debian-5 ii libnettle6 3.4.1~rc1-1 ii libnice10 0.1.14-1 ii libofa0 0.9.3-15 ii libopenal1 1:1.19.1-1 ii libopenexr232.2.1-4 ii libopenjp2-72.3.0-1 ii libopenmpt0 0.3.6-1 ii libopus01.2.1-1 ii liborc-0.4-01:0.4.28-1 ii libpango-1.0-0 1.42.0-1 ii libpangocairo-1.0-0 1.42.0-1 ii librsvg2-2 2.40.20-2 ii librtmp12.4+20151223.gitfa8646d.1-1+b1 ii libsbc1 1.3-2 ii libsndfile1 1.0.28-4 ii libsoundtouch1 2.1.2+ds1-1 ii libspandsp2 0.0.6+dfsg-0.1 ii libsrtp2-1 2.1.0-1 ii libssl1.1 1.1.1a-1 ii libstdc++6 8.2.0-20 ii libusb-1.0-02:1.0.22-2 ii libvo-aacenc0 0.1.3-1+b1 ii libvo-amrwbenc0 0.1.3-1+b1 ii libvulkan1 1.1.97-2 ii libwayland-client0 1.16.0-1 ii libwebp60.6.1-2 ii libwebrtc-audio-processing1 0.3-1 ii libwildmidi20.4.2-1 ii libx11-62:1.6.7-1 ii
Bug#929182: fluidsynth: no sound by default - soundfont location doesn't exist
Package: fluidsynth Version: 1.1.11-1 Severity: wishlist Tags: upstream Dear Maintainer, I was trying to play a midi file with: fluidsynth -a pulseaudio sample.mid but this can never work. fluidsynth tries to get the soundfont from /usr/share/soundfonts/default.sf2 which is hardcoded into the executable, but this directory doesn't exist under Debian. I thought I might be able to override the default by modifying /etc/default/fluidsynth but it doesn't appear that that file gets read at all (I used strace and looked for open() and openat() calls). It looks like fluidsynth can read config from $HOME/.fluidsynth or /etc/fluidsynth.conf but I couldn't work out how to set the soundfont - there is a setting "synth.default-soundfont" but that appears to be hard-coded in src/synth/fluid_synth.c I can obviously fix the problem by creating a link from /usr/share/soundfonts/default.sf2 to e.g. /usr/share/sounds/sf2/FluidR3_GM.sf2 but this isn't very satisfactory. Is there a mechanism in Debian for setting a default soundfount? This could be used by gstreamer too. My suggestion would be to add a default soundfont to e.g. /etc/alteratives and then modify the hard-coded path in cmake_admin/DefaultDirs.cmake to use it. -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages fluidsynth depends on: ii libc6 2.28-5 ii libfluidsynth1 1.1.11-1 Versions of packages fluidsynth recommends: ii qsynth 0.5.0-2 fluidsynth suggests no packages. -- Configuration Files: /etc/default/fluidsynth changed: SOUND_FONT=/usr/share/sounds/sf2/FluidR3_GM.sf2 -- no debconf information
Bug#882114: uhexen2-common: h2patch fails with "Error: delta file not found!"
Package: uhexen2-common Version: 1.5.8+dfsg-1 Severity: important Dear Maintainer, I have the commercial disk for Hexen II (Xplosiv edition). After installing uhexen2 (and uhexen2-common), I followed the instructions at http://uhexen2.sourceforge.net/ (Read Me/Getting Started). I copied the data files pak[01].pak from the CD to /usr/share/games/hexen2/data1. I then ran h2patch, which failed with error "delta file not found!" I ran strace on h2patch to find what file it was looking for; it turned out to be patchdat/data1/data1pk0.xd3. I downloaded the Linux x86_64 binary tarballs for the 1.5.8 version and extracted data1pk0.xd3 and data1pk1.xd3. I copied these 2 files into /usr/share/games/hexen2/patchdat/data1 h2patch now works OK and modifies pak[01].pak correctly. The game seems to run fine. So, it looks like the bug can be fixed by just adding these 2 files (data1pk[01].xd3) to the uhexen2-common package. -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.12.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) -- no debconf information
Bug#800821: also needs service files
Unfortunately quite a lot of paths have changed in the transition from KDE 4 to 5, and dolphin moved to KDE5 while konqueror seems to be still on KDE4: $ konqueror --version Qt: 4.8.7 KDE Development Platform: 4.14.12 Konqueror: 4.14.10 $ dolphin --version dolphin 15.08.1 I found that in addition to dolphinpart.so, you also need to copy/link various service files: /usr/share/kde4/services/dolphinpart.desktop -> /usr/share/kservices5/dolphinpart.desktop /usr/share/kde4/services/kcmdolphingeneral.desktop -> /usr/share/kservices5/kcmdolphingeneral.desktop /usr/share/kde4/services/kcmdolphinnavigation.desktop -> /usr/share/kservices5/kcmdolphinnavigation.desktop /usr/share/kde4/services/kcmdolphinservices.desktop -> /usr/share/kservices5/kcmdolphinservices.desktop /usr/share/kde4/services/kcmdolphinviewmodes.desktop -> /usr/share/kservices5/kcmdolphinviewmodes.desktop While the following binary files need to be taken from a previous version of dolphin: /usr/lib/kde4/dolphinpart.so /usr/lib/kde4/kcm_dolphingeneral.so /usr/lib/kde4/kcm_dolphinnavigation.so /usr/lib/kde4/kcm_dolphinservices.so /usr/lib/kde4/kcm_dolphinviewmodes.so /usr/lib/libdolphinprivate.so.4 This worked for me, although I can't guarantee it's either a minimal or a complete setup. Ofc, better to downgrade the dolphin package as you suggest and wait for it to be fixed properly.