I have been searching around the net trying to find out some info on composing music for Gameboy Advance. I cant find any.
I have a midi/sample based studio. Including Gigastudio and Cubase SX etc...
I can compose a track using GM sounds and save it as a GM file no problem. So how do I go from a .mid file to importing it into a Gameboy Advance Game? What tools do I need to be able to hear Gameboy Advanced midi sounds? All I can find out is there is a program called MusyX. What does it do? How much is it and where can I get it?
Could I give a midi file to a game company and expect them to convert it for there GA title? But then I dont get to hear the finished sounds. Could be very bad as reworks are almost a must.
I should also state that I\'m not a programer. However I have no problem using all types software.
Thanks Scott. Yannis is the man I need to speak to!
I\'m asking these questions more out of curiosity. I\'m just trying broaden my employment options and get some game credits. Any game will do, even a simple GBA game with midi sounds [img]/ubbthreads/images/graemlins/smile.gif[/img]. I was actually hoping that not to many people do GBA music.
I guess I\'m trying to find out weather its worth catering for GBA or should I just stick with audio. But then again all my compositions are in midi to begin with. It\'s just that I can use great sound libraries to make them sound great. It\'s like a downgrade! But it could be fun [img]/ubbthreads/images/graemlins/smile.gif[/img].
First, there\'s no standard music format designed for the GBA. The GBA has a little built-in softsynth in its BIOS. It\'s not much used tho, cause it takes a lot of CPU raster time. Most companies use other sound engines. Factor5 (the same company who coded the GBA sound BIOS) coded the engine you mentioned before, MusyX. But there are much other commercial engines out there; GAX from Shin\'en, QuickThunder from ConsoleAudio... There\'s a bunch of free engines out there too, like NMOD, but most of them can only play old Amiga MODs. I\'m also finishing my own commercial engine, syncAGB (think it\'s the first one using real-time Dolby Pro-Logic encoding) Hope you\'ll find some demos soon at syncAGB.synchrnzr.com (there\'s only an incomplete draft of the reference manual atm ^_^\')
Most GBA sound engines work like old trackers: you have some channels where you can play the samples you want at the desired pitch, volume and other effects over them. Some of them also support the old GB sound system which is rather annoying (and weird: only pulse waves and white noise to play with!) However, some games use it to save CPU raster time (note that GBA Street Fighter\'s music is really crappy because they\'ve only used those old sound channels)
In a real project, limitations on the number of virtual channels you can have to play digital music are strong. You can use 4 up to 8 music channels, depending on how good is the engine you\'re writing your music for and how good are the other coders (how much CPU raster time do they use in the rest of the game) All samples are embedded in the \"modules\" designed for your sound engine. However, this allows you to use some old tricks; use samples with entire chords or intervals prerrecorded to have a wide polyphony using the less possible channels, use loops and voices, etc...
You must also take in care that ROM carts\' memory is limited (4MB usually) ... and you must share it with all other game stuff (graphics and code) So, you won\'t be able to use more than 1 or 2 Mb in your samples.
But I think you don\'t have to worry about all that stuff so. Most companies selling out their sound engines are usually taking care of adapting the music too. With GAX you can provide your soundtrack either in modules or in MIDI files (or any other format) but they\'ll take the responsability to convert them to their own format. With MusyX you have a toolkit to use your MIDI files and set up some samples for them. With syncAGB, I\'ve preferred to take care of the conversion myself, cause I know better that anyone how far I can go (guess that\'s the same reason that QuickThunder, GAX, etc... coders do the same)
However, on 2 of the games I\'m currently working on, I\'ve been provided some Amiga MODs which doesn\'t sound very good, but I\'ve been said to leave them that way. Too bad \'cause they could use more channels and sound much better but... they pay => you do exactly what they want... that\'s the way it is! ^_^\'
Hope I\'ve helped you somehow. I\'m working in 3 GBA titles right now (can\'t tell much about them tho due to the NDA ^_^\') in both music (1 of them) and code and I\'m a bit familiar with those things, but my English writing is a bit crappy yet (I\'m Spanish in fact)
Greetings people [img]/ubbthreads/images/graemlins/smile.gif[/img]
Thanks for your detailed reply synchrnzr. You have helped heaps!
Is it common to provide MIDI files to a project? Obviously you specialize is this field, and you would much rather use your own code. But if I was to only offer MIDI files (4-8 channels) to a company would that be ok? I guess I really have to ask the companies that I want to deal with [img]/ubbthreads/images/graemlins/wink.gif[/img]. But you have really opened my eyes to see what I kind of knew, but it was never explained. Thanks for taking the time to explain.
Yeah, quite composers provide MIDI files to their companies, that should be ok. As you guessed, restrictions will finally depend on each company. Remember also those 4-8 channels should be monophonic (one note might correspond to an entire chord or interval sample tho) I\'d suggest you to use a sampler with your own samples to better preview the final sound and address that issue at the same time.
Btw! Something I forgot to mention before: samples hadn\'t to be top notch. You\'ll usually work with 11KHz-22KHz 8 bit samples. GBA sound output is 8 bit, output frequency varies depending on the engine and other restrictions (I usually work at ~16KHz)