I can't seem to figure it out. When it plays a MIDI file, it references Timidity++ in the output:

  Metadata:
    name            : Piano
    instrument      : Timidity GM patches
    sample          : Piano
                    : 0:
                    : 1:
                    : 2:
                    : 3:
                    : 4:
                    : 5:
                    : 6:
                    : 7:
                    : 8:
                    : 9:
                    : 10:
    extra info      : 51 patterns, 26 channels, 1/11 instrument, 12/12 samples
  Duration: 00:03:06.00, bitrate: 1 kb/s
  Stream #0:0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s

Playing the file with Timidity++ results in nothing, as Timidity++ apparently isn't a soundfont, and searching "Timidity GM patches" brings up nothing.

all 9 comments

sorted by: hot top controversial new old
[–] 4 points 2 weeks ago (2 children)

https://timbrechbill.com/saxguru/Timidity.php Looks like the default soundfont is TimGM6mb.sf2 . But maybe it does not come with a default, and the default is only used with the official installer. I installed Timidity++ on my Archlinux based system and I do not get an audio from it too. Archlinux recommends to configure the setting to point it to the soundfont: https://wiki.archlinux.org/title/Timidity%2B%2B

ffplay maybe uses its own configuration to load a specific soundfont. That's why you get it there. Maybe. I don't know how ffplay functions.

  • source
  • hideshow 2 child comments
  • [–] [S] 1 point 2 weeks ago (1 child)

    Tried TimGM6mb, but unfortunately that's not it. How would I find what soundfont ffplay is loading? I tried looking in the source code but found nothing of use.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 2 weeks ago* (last edited 2 weeks ago) (3 children)

    No, Timidity++ is not a soundfont, it's a synthesizer: https://en.wikipedia.org/wiki/TiMidity++

    So, your installation found that Timidity++ was available and used it to synthesize the required sounds, no sound font needed (TiMidity itself can make use of available sound fonts though).

  • source
  • hideshow 3 child comments
  • [–] [S] 1 point 2 weeks ago (2 children)

    When ffplay played it Timidity wasn't installed. When I install it system-wide and use the system install I hear no sound when I tell Timidity to play it...

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 weeks ago (1 child)

    Maybe ffplay doesn't use timidity application. The name says "GM patches" under "instrument". Sounds to me like some Timidity based soundfont, not an application.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 2 weeks ago

    The sounds are coming from patch files loaded via PAT_Load_Instruments in libmodplug, which is what's used to generate the sounds.

    You are right though that the patch/instrument consists of several pre-generated samples and does not use Timidity "live".

  • source
  • parent
  • [–] [S] 1 point 2 weeks ago* (last edited 2 weeks ago)

    Note: I can't share the specific MIDI file I was using as it's private, but in case it helps find the soundfont, here's a sample of ffplay playing onestop.mid from Windows ME. It sounds like chiptune at first, but after using the private MIDI file I can confirm that it isn't chiptune. The piano patch sounds kinda like an organ?

    Here's a link to the onestop sample (Warning: it becomes ear grating after about 20 seconds due to ffplay misinterpreting percussion as notes; this is why I chose this specific song): https://files.catbox.moe/2ecdhq.mp3

    This is what ffplay says when it plays onestop.mid: https://pastebin.com/SVuJai0H

  • source
  • [–] 1 point 2 weeks ago

    FluidGM is a popular soundfont to bundle with distros, but in the case of Arch I'm not sure. I'll try out the package later, i might be able to tell.

  • source