Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Nowadays, most music seems to be prerecorded, but that means they are rather static and take up a lot of space.

I wonder if MIDI is still a viable option (especially considering consoles or iOS) and if I can expect General Midi 1 to be available everywhere? (Note: Referring to the software instruments for sound generation from notes)

Alternatively, are there vendors of embeddable software instruments that can generate the desired sound at runtime?

The whole point is to re-create a dynamic soundscape in which instruments can change their volume, speed or pitch - this can be partially simulated with individual tracks, but it doesn't offer the same flexibility.

share|improve this question
"I wonder if MIDI is still a viable option" - Yes it is. Remember Zelda? Its latest installment? – iamcreasy Jul 25 '11 at 2:53
I would differentiate MIDI as a sequencing and control format (very viable) and the General Midi 1 wavetable set (not so much) in the question a bit, or the answers may be inconsistent. – Oskar Duveborn Jul 25 '11 at 13:54
up vote 4 down vote accepted

The soundtrack for the original Unreal Tournament took the form of tracker music, which packages together both audio samples and sequencing information for triggering those samples.

You might also look to the demoscene for inspiration. Soundtracks created in tracker software are the rule rather than the exception, and runtime synthesis is frequently employed as well.

share|improve this answer
Ah, Trackers are awesome, used ProTracker ages ago. My problem is more in the synthesis side: With MOD files (and on the C64, SID Files) there is a known sound chip that can be directly developed against. In the modern world, I'm not aware if there is an overarching standard, hence my first thought was General MIDI which is exactly such a standard. Will have a look if there are synthesis engines though – Michael Stum Jul 25 '11 at 2:50
The point of a tracker file as opposed to a MIDI file is that you're providing the "sound font" yourself. MIDI wavetables vary depending on the device providing the MIDI playback capabilities (if any). With a tracker module, you're playing back your own e.g. WAV samples, and there's no real "synthesis" to speak of. You shouldn't expect to compose against software synths with a tracker; traditional tracker music is write-once, play-anywhere. – Neverender Jul 25 '11 at 5:58
Trackers often have effects that can be applied, so it's not just pure sample playback, but most of those effects could be applied to more than a dozen channels simultaneously for real-time playback - on an 80486 PC with a Soundblaster card. These days, your phone has much more processing power than that - if it can play an MP3, it should be more than capable of playing at least the older tracker formats. – Steve314 Jul 27 '11 at 16:50
At the end, that's what I went with. It's a pain to create the Sound Tables, but the result is a lot better than the static Music most PC Games offer. – Michael Stum Sep 22 '11 at 5:02

I'm not sure every platform does have a complete set of General MIDI instruments, or an engine with which to play them, and if they did, I expect a lot of them would sound as bad as they did 10 years ago.

share|improve this answer
Not sure why this got -1'd as it's pretty much the answer for most cases. – Ray Dey Jul 25 '11 at 12:07

Yes, MIDI is still heavily used in the music industry. At the low end, you'll find tools like Garage Band. At the high end, you'll find tools like Reason. These can either output standard audio files, or can be used to create MIDI data which can be played back in other tools (or games!)

For use in games, you might consider a library like TiMidity++ for playing back midi music in a cross-platform way, optionally using a custom set of music instrument sample sound. If you're a fan of SDL, then SDL_mixer is an easy-to-use sound library which wraps around TiMidity++ and a few other sound libraries.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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