When I come across a .mid file without any additional details, is there really no efficient way to determine the SoundFont with which it was created with/intended to be heard with?

For example any file in the The GeoCities MIDI Collection, none come with any metadata.

At the moment I'm doing it by ear, trying out a few of the most popular SoundFonts with the MIDI file until I find a combination that sounds okay. However there are a great many SoundFonts available and doing it by trial and error is uncertain.

  • A MIDI file, at best, tells what instrument type it should use. And you're not only asking about the specific instrument type, but the specific "sound" (character/timbre/colour/etc.) for that. Doing a somehow stretched analogy, it's like asking "how to identify the optimal orchestra for a symphony". Commented Dec 10, 2023 at 16:18
  • 1
    I used to be in charge of a huge Midi file project, using nearly 100 specially trained programmers, designed to run on very specific equipment. We scoured the world for talent, then trained it up. Many people were tasked to scour the world for potential candidates. We used to describe the run-of-the-mill files you found on such as GeoCities as, "The Day the Music Died." [We had ruder terms, based on a 'polishing scale' ;)
    – Tetsujin
    Commented Dec 10, 2023 at 17:18
  • @musicamante I'm asking how to have a piece of music play so that it sounds relatively close to how it's intended to sound and not how it would sound if adapted e.g. for two stylophones.
    – Rob Kam
    Commented Dec 10, 2023 at 17:23
  • @RobKam The question is based on the wrong premise. Especially considering old midi files, at the time people didn't "write" those pieces thinking about the "intended/optimal sound", because the purpose of MIDI is not to define a specific timbre, but, at the very best, a category/family/type of instrument that eventually would be used in the player. For instance, the General MIDI standard used a defined set of 128 sounds (split in 16 categories), each one defining a somehow specific instrument, but it always was an "idea" of the "intended sound". Not the actual sound the "writer" used. Commented Dec 10, 2023 at 17:41
  • 3
    Rob - the problem is usually that they're so badly made [usually for the bog-standard Microsoft GS Wavetable synth] that they sound like cr@p enyway.
    – Tetsujin
    Commented Dec 10, 2023 at 17:43

2 Answers 2


These files were originally played by web browsers, using whatever General MIDI player the web browser happened to have. This means it is fairly safe to assume that they are made for General MIDI. The idea of General MIDI was to assign fixed meaning for program change events, some control change events, and percussion instruments on special channel 10, so that the files would be compatible between different synthesizers.

They did sound different on different browsers, and they did not sound very good to begin with. It is basically impossible to tell which soundfont the song was originally made for, whether the original soundfont sounds the best, or even if it was originally made for a soundfont or something like OPL-3-based sound card.

Edit: The probably most period correct way to listen to the files would be installing Windows 95 or maybe even XP in a virtual machine and play them with Windows Media Player using the default GS Wavetable synth. It won't be pretty, but it's how they sounded like at the time.

  • I don't have Windows 11, but googling it looks like the Microsoft GS Wavetable Synth still comes with it. And as far as I can google, it was only introduced in Windows 98. So I wouldn't say it's what most MIDI hobbyists heard. There were various hardware GM synths and different player programs. Commented Dec 10, 2023 at 21:01
  • @piiperiReinstateMonica do you remember GeoCities? I think it's quite a stretch to call the people who copied MIDI files there hobbyists. I think I already mentioned that there were different hardware synths and player programs but thanks for setting me straight anyway.
    – ojs
    Commented Dec 11, 2023 at 4:50
  • @ojs "they did not sound very good to begin with" is subjective, and probably based on current perception of those times. For that period (until mid-2000s) they did sound fine enough to most people, including professionals, considering that in a few seconds you could have a nice background music for your page in a time in which sample based music was still at its beginnings, and our "ears" weren't so sophisticated as they're now. It was something like the perceived "realism" of 3D games (or some "good" CGI in TV productions) at the time: they were ugly, but they were also fine enough then. Commented Dec 14, 2023 at 2:10
  • @musicamante I was there at the time, and GM sounded pretty bad compared to either sample-based tracker music that had existed since Commodore Amiga was released, or what the sound cards at the time could do if they didn't need to conform to the limitations of General MIDI. I am not aware of GM ever used for professional music production, please enlighten me if it was. Similarly, the early 3D games were considered ugly compared to the polished pixel art styles at the time, and for example Dark Forces and Doom used a mix of pixel art and 3D to work around the limitations.
    – ojs
    Commented Dec 14, 2023 at 11:42

No, there is no way to automatically tell which SoundFont would be better in some regard, for playing back a random .mid file. MIDI files contain sequences of MIDI messages, which are control commands for MIDI devices. There's no assumption of SoundFonts being used at all, MIDI is a much older and more generic technology than SoundFonts. The sequences could be for any device like a Yamaha DX7, or they could contain commands intended for controlling stage lights in a theater. Unless a specific SoundFont has been specified somewhere outside the MIDI file, you can only guess.


These files are intended for universal use and include such information as note values, timing and track names.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.