#22639 - Saint - Sat Jun 26, 2004 12:38 am
... So, I'm back again with more enquiries =)
This time, it's a little bit more general, though. Seeing as I haven't worked with sound for very long (and never composed any music of my own), I turned to a few proffessional friends for advice on which modular sound format to look closer at.
Most of them use pure waveform music and didn't really know what. One of them said I should be looking at the XM format instead of MOD since XM supports more channels and effects... Now, I figured even if the format supports 32 channels and cool effects, that doesn't mean the GBA will without some mean and lean ASM code. I've also heard something about XM extending the MIDI format, thus using an existing soundbank (which I do not have).
Soo, does anybody around here know what makes the formats different? what is the best to try and understand, and what formats beside MOD and XM are there that should be considered?
Yes, I know there are semi-commercial, existing MOD players that will do it for you, but that takes all the fun (and usefulness) of programming a console. I also understand that producing a working music player can be quite tough if you're not an experienced sound programmer, but I have a lot of experience reverse-engineering file formats and programming low-level graphic routines, so I think I'd manage to try, at least.
As always, if you're sure I'm not up to it, feel free to point me to the next step.
#22642 - poslundc - Sat Jun 26, 2004 1:19 am
MOD is unquestionably the simplest and least-demanding of the formats when it comes to implementation. It's what I'm using in my game, and many others are content with it as well.
In addition to MOD and XM, Impulse Tracker (IT) is another popular format. MIDI is also a viable option; although the use of a fixed sound-bank is unappealing to many (myself included), it's what many composers who aren't computer programmers are most comfortable using.
To put things into perspective: I don't think there's anything the SNES sound chip could do that the MOD format doesn't support. Any format other than MOD will probably take both more work to program and consume more CPU power to run. Most of them support features you will never want to bother with on the GBA, but you will have to support some of them anyway for compatibility reasons.
That said, there are definite advantages to the formats and they are worth exploring, but you are best off determining what your needs will be before you write your mixer/player and then finding the format that best suits them, so you don't overshoot and design more than you have to.
Dan.
#22643 - tepples - Sat Jun 26, 2004 1:34 am
poslundc wrote: |
I don't think there's anything the SNES sound chip could do that the MOD format doesn't support. |
Didn't the Super NES DSP have a reverb, as well as branching soundtracks in some games?
Quote: |
Any format other than MOD will probably take both more work to program and consume more CPU power to run. |
Isn't .s3m nearly as simple as .mod?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#22644 - poslundc - Sat Jun 26, 2004 2:12 am
tepples wrote: |
poslundc wrote: | I don't think there's anything the SNES sound chip could do that the MOD format doesn't support. |
Didn't the Super NES DSP have a reverb, as well as branching soundtracks in some games? |
You can simulate reverb in MOD if you've got extra channels. I don't know if the SNES DSP had native support for the effect.
I'm not sure what you mean by branching soundtracks.
Quote: |
Any format other than MOD will probably take both more work to program and consume more CPU power to run. |
Isn't .s3m nearly as simple as .mod?[/quote]
It's been a long time since I've looked at it (one of the reasons I forgot to mention it), so I couldn't say. It may very well be.
Dan.
#22645 - tepples - Sat Jun 26, 2004 2:45 am
poslundc wrote: |
You can simulate reverb in MOD if you've got extra channels. I don't know if the SNES DSP had native support for the effect. |
Given the depth of the reverb in Super Mario World's cave levels, I'd guess so.
Given that an SPC player can have "buggy reverb", I'd guess so.
(checks zophar.net) The DSP has at least an 8-tap FIR (convolution) filter and a 1-tap IIR filter for echo feedback.
Quote: |
I'm not sure what you mean by branching soundtracks. |
Here's one example of a branching soundtrack, used to keep the music synchronized smoothly with the action, in pseudocode:
Code: |
if(player has passed checkpoint 6)
goto measure_123
else
goto measure_99 |
Or: Code: |
if(player is riding a dinosaur)
use Yoshi drum track on this channel
else /* player is on foot */
use NoYoshi drum track on this channel |
Because sound is controlled by a CPU (namely the SPC700 as mentioned by sgeos), the CPU can interpret branching soundtracks. A .mod file does not carry branching information; one would need custom composing tools.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
Last edited by tepples on Sat Jun 26, 2004 4:32 am; edited 1 time in total
#22648 - sgeos - Sat Jun 26, 2004 4:27 am
#22653 - DekuTree64 - Sat Jun 26, 2004 6:52 am
Personally I would suggest stripped down IT. It has tons of over-powerful features that can take a long time to write, but underneath all that it's hardly more complex than MOD. IMHO, it would be easier to write an IT player that supports all the features of MOD than it would to write a regular MOD player, simply because IT uses actual frequency values and linear slides instead of the periods/finetunes of the other formats.
The pattern encoding may be a little confusing if you've never written a music player before, but you can decompress them in your IT-to-GBA converter if you don't want to bother with decoding in the music player.
Instruments are also another layer to deal with, but then to keep it MOD quality, you'd want to use sample mode anyway, so then you don't have to worry about them either.
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku
#22658 - Saint - Sat Jun 26, 2004 1:14 pm
Thanks for replying, folks.
Not being a musician myself, I'm just trying to find a balance what the ones who will be doing the music would prefer, and what I would be willing to research and program... The MOD format is also appealing since it (next to MIDI) has the most documentation.
I'll ask them about IT tho'.
#22679 - tepples - Sat Jun 26, 2004 8:10 pm
You could, of course, just write a bare-bones Standard MIDI File interpreter to run on the GBA, and then include a sample bank for your instruments.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.