raidho36 wrote:Well yeah sounds are data-heavy, you'll just have to deal with it. Choosing midi over waveform formats just for file size is a poor decision, especially now that soundcard manufacturers don't bother anymore with proper midi support, oftentimes you can't get midi to play at all, not without resorting to software rendering. If you want small music files that badly, consider using module tracker formats, most common being those of impulse tracker, modplug tracker and fast tracker 2. Otherwise, choose what sounds best.
Proper MIDI support is iffy, not only because the actual soundbanks have exactly zero to do with MIDI itself, but also because some companies had proprietary extension messages (Yamaha XG, Roland GS, also incompatible) that aren't emulated by nigh anything (not that that many files even use those, mind you).
Also, even GM (General MIDI, or at least MPU-401 compatible) doesn't define what note "velocity" is... so you can't rely on a mid file having the same mixing level across soundfonts or patches.
Also, older soundcards used FM synthesis for sounds. Whether one prefers PC Speaker, Tandy, AdLib, GUS or SB patches, or a Hardware soundbank like Roland SC-88 had it, is really subjective.
I agree that with most soundcards, one needs to resort to software rendering, but depending on the renderer, the sound will vary. (Yes, the default windows one is bad.)
I'd also agree with using a tracker module format, even if you don't want to hand-convert notes, for example, OpenMPT can import midi, and save it (with instruments) as a module. It'll be a bit bigger than a mid file, but still less than an ogg or mp3. You can even use different samples for the various instruments, if you're not satisfied by what MPT uses by default (again, you shouldn't be).
So yeah, either have it fully rendered as an ogg, or make it/them into tracker modules.