I've been looking around to find out how to change MIDI sounds for the Built-in MIDI synthesizer inside Mac OS X, haven't found anything, is there a way to do that?
If you can download standard MIDI files and you want to play them back to hear a better-quality audio rendering that QuickTime can provide, you would do well to purchase Finale Notepad 2011 for US $10. It will open a standard MIDI file and attempt to create sheet music standard notation from it. But even if you don't want the sheet music notation you can then use Finale Notepad to play back what it has imported as audio, and it will do a quite good job of that. You can download a free demo version of Finale Notepad 2011 which will function for 30 days.
No version of GarageBand has ever provided a complete General MIDI soundset, meaning providing a sample library for every single musical instrument defined in the General MIDI Specification. Thus, when you import a Standard MIDI File into GarageBand, it matches up the track names and instrument names in the standard MIDI file to whatever GarageBand has on hand. Some sounds, like piano or guitar, it handles very well, but less common instrument sounds are not represented at all in the standard GarageBand sound library and so GarageBand does not know what to do with those instruments and substitutes other, inappropriate instruments and sounds.
If you want to try and convert the Finale Notepad 2011 sound set to a format that QuickTime will recognize, as you described above, here is where to find the file.
Once you install Finale Notepad 2011, you can find its Soundfont file at:
/Library/Application Support/MakeMusic/Finale Notepad 2011/Audio Support/synthgms.sf2
The SoundFont is 41.7MB in size.
Make a backup copy of the Soundfont first, and try to convert the copy.
And thanks for providing more information on how to convert it. I'm going to try this myself, as I also have a Windows 7 machine here at home.
Louis Boux wants to substitute the default DLS soundfont of General MIDI sounds used by QuickTime to another DLS soundfont. Such soundfonts are files that end in .sf2 format.
It was possible to do this in earlier versions of QuickTime, such as QuickTime 5 or QuickTime 6, back around the year 2002 and earlier. In fact, I did this myself on older systems. However, QuickTime X cannot read an .sf2 file directly. It must be converted into .dls format.
By way of background, when you click on a standard MIDI file linked to a Web page, for instance, QuickTime plays it back inside your Web browser using QuickTime's built-in MIDI sound library, which is of poor quality. This sound library was licensed from the Roland company some 15 years ago and has never been improved upon.
The soundfont that I was able to use as a substitute in older systems is a GeneralMIDI soundfont which is provided with MakeMusic Finale Reader, which is free.
I have documented a method of taking the 41MB General MIDI sound set from Finale Reader 2011 for Mac, which is in .sf2 format, converting it into DLS format, and then hacking QuickTime X and CoreAudio Components in Lion to use the Finale Reader 2011 sound set instead of the stock QuickTime Musical Instrument sound set. This involves using Extreme Sample Converter for Windows, which costs €69, but has a limited free trial download. If anybody is interested you can contact me via email.
You can have Apple DLSMusicDevice recognize an .sf2 file by putting the .sf2 file in
Then you can go into GarageBand and Edit the instrument on a particular track, choose DLSMusicDevice as the soft synth for that track, click on the manual edit button, and choose a different sound synth other than "QuickTime Music Synthesizer".
However, this only works from within GarageBand or any other music playback device which can access the DLSMusicDevice as an AU (Audio Unit) virtual instrument plugin. This does not affect the operation of QuickTime in playing back a Standard MIDI File.
Most multi-track Standard MIDI files will already have the correct General MIDI instrument sound specified at the beginning of each track using a MIDI program control message. A further complication within GarageBand, however, is that there is no way for the user to directly specify which instrument sound is chosen for which track. To do that, you need to send the correct MIDI program change message from an external device such as a MIDI controller keyboard, and record that into a track, as GarageBand has never given the user a way to specify MIDI program change commands internally.
Most of this information I gleaned from this web page put up by Murray Ewing from 2005.
What are you trying to do? You can always import MIDI files into GarageBand, or play them in a 3rd party player like Rondo. But maybe you're trying to do something else?