#56164 - tssf - Thu Oct 06, 2005 9:21 pm
Anyone have any music systems developed for it? Or perhaps, maybe a nice mod system? (Something that can probably handle more than S3M?)
I ask because I am interested in tracking some music for the Nintendo DS. I had my hand at some GBA music development, none of which ever got released commercially.
Here are some demos from my GBA Work:
http://tssf.i-web.net/gbastuff/realdemos
These demos were created using Paragon 5's AGB tracker. Nice software, indeed. :)
Thanks for any help anyone could give. :)
#56165 - tepples - Thu Oct 06, 2005 9:24 pm
Have you begun to run into any limitations of S3M? If so, which?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#56167 - tssf - Thu Oct 06, 2005 9:27 pm
Well, being a mod tracker of 10 years, I already know a lot of the limitations of S3M..For instance, you can only have samples so large, you cannot use sample banking in instrumentation (such as XM instruments), you can only go so high pitched before the players will stop allowing them.
There are other things, like no envelope on instruments, linear pitch bends are impossible. Things like that.
#56171 - tepples - Thu Oct 06, 2005 9:50 pm
tssf wrote: |
you can only have samples so large |
How large do you need samples to be, especially on a platform with only 4 MB of RAM?
Quote: |
you cannot use sample banking in instrumentation (such as XM instruments) |
If you switch to a different instrument based on pitch, you can achieve the same effect. This method is more flexible because a lot of multi-sample instruments I've heard have the problem that they change too drastically between two pitches, causing melodies that go around the change to have notes that stick out like a sore thumb
Quote: |
you can only go so high pitched before the players will stop allowing them. |
If you're going that high, then you need to switch to a different instrument.
Quote: |
There are other things, like no envelope on instruments, linear pitch bends are impossible. Things like that. |
Those I'll give you.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#56203 - tssf - Fri Oct 07, 2005 1:19 am
tepples wrote: |
How large do you need samples to be, especially on a platform with only 4 MB of RAM? |
Spoken like a true programmer. Larger, longer samples give a more realistic, more expressive sound. Why have a sample that can't go longer than 64k? Then you have something that sounds like it's coming from an Amiga. Oh yeah, and voice samples for lyrics in music would also be nice without having to stream through samples. Wait, that could bring an S3M to it's limitation of 99 samples very quickly, as well.
Quote: |
If you switch to a different instrument based on pitch, you can achieve the same effect. This method is more flexible because a lot of multi-sample instruments I've heard have the problem that they change too drastically between two pitches, causing melodies that go around the change to have notes that stick out like a sore thumb
|
The samples you speak of are done by musicians and sound engineers who don't try to make the sounds seemless. Tell me if one single Piano sample can compensate for an entire Grand Piano. No, you'll get something that sounds like it's coming from a Super Nintendo. Not that that's bad, but for a more realistic sound, you need to swap samples. Granted, it can be done manually, but it's much harder, more complex than simply programming an instrument to do it.
Quote: |
If you're going that high, then you need to switch to a different instrument. |
Yet another reason why sample swapping inside instrumentation would be a lot easier. But, that's not the point. The higher the pitch capabilities, the better the support for sound effects.
Quote: |
Those I'll give you. |
How about smooth panning with 256 instances of panning rather than 16 with S3M? Longer than 64 rows per pattern? More Patterns? More channels doesn't matter, but it would be nice to be able to produce music on the DS that doesn't sound like it belongs on the GBA.
I've worked with the S3M, XM, and IT formats for years, and other formats as well. I'm pretty familiar with mostly all of the formats' limitations. I've even worked with them in most cases.
EDIT: fixed some quotational stuff
EDIT #2: Forgot to mention the fact that XM supports 16-bit samples, and ping-pong loops, and..well, needless to say, there's more.
#56210 - headspin - Fri Oct 07, 2005 3:51 am
You should be thinking like a programmer when making music for a handheld ;)
Sounds to me like you should just use something like GSM compression, that way you can make a song using any software you like from a tracker to Reason to full hardware studio gear. Just export the entire song to WAV and convert it to GSM. Ironically the guy you were talking to (Tepples) has written a GBA port of such a sound system that probably wouldn't be too hard to port over to the DS.
_________________
Warhawk DS | Manic Miner: The Lost Levels | The Detective Game
#56220 - tssf - Fri Oct 07, 2005 6:26 am
The main point isn't to get the biggest and baddest sound system the Nintendo DS has ever seen, but I was simply asking if anyone has developed one with something more than S3M support.
The goal is to create something that sounds like it's playing from a Playstation 1 in real time, and not a Super Nintendo.
Unfortunately, most sound systems on the GBA sucked, which is why all anyone ever got was badly made GBC music with sampled drum instruments. Some companies made it work, like Capcom..but yeah.
Anyways, I'm not talking about recorded audio.. It's all real-time, just well-designed real-time music, that's all. Sometimes it depends on how good the sound system is, others it's the composer. But S3M can't be the only solution for the DS.
Perhaps it's time I sought out the Paragon 5 guys once again. Hmm.
#56225 - tepples - Fri Oct 07, 2005 7:12 am
There is XM support on the GBA at least, if you can afford the registered version of Krawall.
tssf wrote: |
tepples wrote: | How large do you need samples to be, especially on a platform with only 4 MB of RAM? |
Spoken like a true programmer. Larger, longer samples give a more realistic, more expressive sound. Why have a sample that can't go longer than 64k? |
I've made plenty of S3M files with samples larger than 64 KiB. Perhaps it's a Modplug extension, but every PC based S3M player I've tried can handle the 113,500 byte "oh, the thread is locked" voice sample in "Token Whore" (s3m or ogg).
Quote: |
lyrics ... could bring an S3M to it's limitation of 99 samples very quickly, as well. |
If you're using lyrics, and you want something less repetitive than the two lyrical tracks in Nintendo's WarioWare, then it's probably time to spring for a port of GSM Player.
Quote: |
Tell me if one single Piano sample can compensate for an entire Grand Piano. No, you'll get something that sounds like it's coming from a Super Nintendo. Not that that's bad, but for a more realistic sound, you need to swap samples. |
Say you have a piano with one sample per octave. If you have a melody that straddles a dividing line between octaves, you might get obvious stick-out-like-a-sore-thumb notes as the melody alternates between two samples. It's like singing, but alternating between falsetto and normal voice per syllable. But if you assign separate instruments for different octaves, then you can use one instrument for an entire block of notes even for the occasional note that crosses into the "other" octave. Fudging it can sound better in context.
Quote: |
How about smooth panning with 256 instances of panning rather than 16 with S3M? |
At least in Modplug Tracker, S3M's volume column has p0 to p64.
Quote: |
Longer than 64 rows per pattern? More Patterns? |
How long of a song are you trying to make? Are you trying to stuff all of a game's songs into one S3M file? If so, then your playback system probably lacks support for sample sharing. In playback systems that support sample sharing, one S3M can reference another S3M's samples, such as by CRC32 value or by matching filename.
Quote: |
More channels doesn't matter, but it would be nice to be able to produce music on the DS that doesn't sound like it belongs on the GBA. |
If you want music that doesn't sound like it should be on a GBA, then perhaps it's time for streamed music. Given the faster ARM9 CPU in the Nintendo DS, I'd wager that a DS port of GSM Player can comfortably fit into the same 15 percent CPU budget that many commercial GBA games spent on audio mixing. And a two-hour GSM soundtrack at 18 kHz mono (30 kbps) would take only 1/5 of a 512 Mbit DS card.
Quote: |
Forgot to mention the fact that XM supports 16-bit samples |
With a 10-bit DAC in the DS hardware, how will that help? Still, S3M supports 16-bit samples, at least on Modplug Tracker/Player.
Quote: |
The goal is to create something that sounds like it's playing from a Playstation 1 |
A lot of PS1 games used streaming music. For example, Technos's Geom Cube, Viacom's Zoop, and Acclaim's Forsaken used Red Book audio. Capcom's Mega Man and Super Puzzle Fighter games used XA audio, a form of ADPCM. Konami's Dance Dance Revolution used VAG audio, another form of ADPCM, and so do a lot of PS2 games such as the Katamari Damacy series. It really sounds like you're ready to take the dive into Good Sounding Music.
Quote: |
and not a Super Nintendo. |
Didn't RPG Maker for PS1 sound Super NES-ish? Besides, even NES-ish samples can be made to sound good within the proper stylistic mindset. Witness "Balloon Fever" (s3m or ogg) and "10.2.2." (s3m or ogg).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#56229 - DekuTree64 - Fri Oct 07, 2005 8:02 am
I do think S3M is a little bit limited, but there has certainly been some great music composed in it (Purple Motion's 2nd Reality comes to mind).
It sounds like what tssf is after is an Impulse Tracker player. It's quite possible to do on the DS (I've written one myself, but it's commercial), although some of its features are a bit CPU hungry, like duplicate checks, and all the volume levels you can play with.
Having dynamic channel allocation with fadeouts and such makes a big difference I think, at least in convenience compared to manually sliding volumes in S3M. Although with only 16 channels, sometimes there aren't enough to go around for all the old fading notes.
But yes, the DS is a bit RAM limited for mega samples. For lyrics, it may work better to play the instrumental part as a normal tracked song, and stream the voice. That way you can compress the voice a little bit harder without the whole thing sounding like crap.
I've also been tossing around the idea of doing a Vorbis player for the DS, but I'm a little worried there won't be any CPU left for a game :)
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku
#56244 - TheChuckster - Fri Oct 07, 2005 11:59 am
Any chance of the Vorbis player being able to run on the ARM7?
#56245 - headspin - Fri Oct 07, 2005 12:11 pm
davr had an ogg player demo for DS on his site, but it's been removed.
_________________
Warhawk DS | Manic Miner: The Lost Levels | The Detective Game
#56304 - tssf - Fri Oct 07, 2005 8:25 pm
DekuTree64 wrote: |
I do think S3M is a little bit limited, but there has certainly been some great music composed in it (Purple Motion's 2nd Reality comes to mind).
It sounds like what tssf is after is an Impulse Tracker player. It's quite possible to do on the DS (I've written one myself, but it's commercial), although some of its features are a bit CPU hungry, like duplicate checks, and all the volume levels you can play with.
Having dynamic channel allocation with fadeouts and such makes a big difference I think, at least in convenience compared to manually sliding volumes in S3M. Although with only 16 channels, sometimes there aren't enough to go around for all the old fading notes.
But yes, the DS is a bit RAM limited for mega samples. For lyrics, it may work better to play the instrumental part as a normal tracked song, and stream the voice. That way you can compress the voice a little bit harder without the whole thing sounding like crap.
I've also been tossing around the idea of doing a Vorbis player for the DS, but I'm a little worried there won't be any CPU left for a game :) |
Actually, what I'd REALLY like to do is remake and track some FF7/8/CC music in XM and have it play back on the DS in real time, maybe for a project or a demo that someone may wish to make. I realize that the Impulse Tracker format is far too advanced to be supported easily on the DS, actually that's why I'm not even asking for IT support. ;) New Note Actions, resonant filters and sustain loops would be way too much to ask for. I'd be happy with the features of Fast Tracker, anyway.
Songs like these:
http://tssf.i-web.net/Remakes/FF7Stuff/OWA_DEMO.IT
http://tssf.i-web.net/gbastuff/realdemos/FF7GBA/ff7gba-owa.mp3 (My GBA version running off real hardware with Paragon 5's software)
http://tssf.i-web.net/Remakes/FF8Stuff/flwv_8b.it
http://tssf.i-web.net/Remakes/ChronoStuff/magicdre.it
The Chrono Cross stuff is the stuff that particularly interests me.
Anyway, A lot of the S3M/XM/IT's made with Modplug are not standard format, modplug tracker has really screwed up these standards giving S3Ms features that it should never have natively supported. A lot of PC players only support them because they have to, but again a lot of them don't have any support for these features at all. When I track, I use the original programs. Impulse Tracker for IT's and S3M's, Fast Tracker for XMs and MODs.
Once again, GSM is not what I'm looking for, but anyway.. Yeah.
EDIT: Um..By the way, wouldn't the samples be streamed off the cart? Or do the samples HAVE to be loaded into RAM to play? For some weird reason, I was under the impression that's how most GBA sound systems worked.
#56309 - tepples - Fri Oct 07, 2005 8:36 pm
tssf wrote: |
Um..By the way, wouldn't the samples be streamed off the cart? Or do the samples HAVE to be loaded into RAM to play? For some weird reason, I was under the impression that's how most GBA sound systems worked. |
The GBA Game Pak is a word-addressed storage medium, allowing any byte on the cart to be randomly accessed within 4 CPU cycles. The DS Game Card, on the other hand, is a block device, and so is the CF card in the GBA Movie Player. Block devices behave more like disk than like ROM, meaning that you have to load things into RAM before using them. If you rely on the ds.gba format, then be advised that you're relying on something that commercial games cannot use.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#56322 - DekuTree64 - Fri Oct 07, 2005 9:26 pm
tssf wrote: |
I realize that the Impulse Tracker format is far too advanced to be supported easily on the DS, actually that's why I'm not even asking for IT support. ;) |
No, it's not too much to ask, especially if you strip out a few features (like the duplicate checks). Envelopes are pretty CPU hungry too (mainly because they cause the volume to be recalculated every tick), but worth it I think.
Quote: |
New Note Actions, resonant filters and sustain loops would be way too much to ask for. |
New note actions do require a dynamic channel allocation system to be set up, but it's not that bad. I'm not sure if sustain loops can be done though. I haven't tried changing the length/loop point while a channel is playing.
Resonant filters aren't very practical though :)
Quote: |
EDIT: Um..By the way, wouldn't the samples be streamed off the cart? Or do the samples HAVE to be loaded into RAM to play? For some weird reason, I was under the impression that's how most GBA sound systems worked. |
On GBA, you had direct access to ROM, so you could play sounds directly from there. You also had to mix everything in software though, so usually player logic had to be pretty simple so as not to slow things down any further than it had to.
On DS, you don't have direct access to ROM, so you have to load everything into RAM before you can use it. But then you have 16 hardware channels to do all the mixing work for you, so you can spend lots of time on player logic and still use less cycles total than a GBA engine would.
The hardware channels can also play ADPCM data directly, which helps on the RAM usage.
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku
#56358 - Alex Atkin UK - Sat Oct 08, 2005 4:28 am
Not to drop off-topic too much - but this thread sure explains a thing or two about why the music for Pinball Challenge Deluxe on the GBA wasnt quite as good as the Amiga version. Though I gotta admit, it was damn close and I always thought the music for those games were pretty good.
_________________
[Images not permitted - Click here to view it]
[Images not permitted - Click here to view it]