Banner
Views: 737,267,773
Time:
18 users online: Acedart, anonimzwx, Fullcannon, Green Jerry, Gutawer, o Hobz, Kiatus, Kr00mmi, MarioFanGamer, Mechanical koopa, NextTactics, Pinci, snoruntpyro, SpeedQuips, SpicyMarshmallow, squ0g, Stiviboy, SuperMudkip1 - Guests: 71 - Bots: 191Users: 38,782 (1,917 active)
Latest: Criador de fases
Tip: You can insert custom sprites on the overworld by using Overworld SpriteTool.Not logged in.
Newbie Questions: No. of Channels / Volume / Testing
Forum Index - SMW Hacking - SMW Hacking Help - Custom Music - Newbie Questions: No. of Channels / Volume / Testing
Pages: « 1 »
Hello ev'ryone,

I prepare a SMW music project, and for this, I wonder

1) How many of the eight sound channels can/should be used for music?
1a) Rather out of curiosity: Is/Are there any sound channel(s) specifically dedicated to sound effects, or does the sound program look up which DSP channel is currently free or "busy the least" and uses that one?
2) Is there a rule of thumb to make sure that the music isn't too loud? Do you consider this topic when you first create the files or do check this afterwards during playtesting? Can you give me some orientation what values work the best? I mean the standard instruments - if someone would import BRR files, it would depend on each sample's own volume, of course.
3) What is the most efficient way to test if everthing is fine? Do you normally put those songs as title track in a test ROM and boot that one up on ZSNES, or do you simply rely on a SPC file export?

I hope I could make clear what I meant with everything (Non-native speaker + office noise), if not, please ask, so I can clarify what I wanted to say.

Thanks in advance!
I only know the technical details but don't port so can't answer 2).

1) Theoretically all, though it's a good idea to put chords, echoes or "less" important notes to channel 7 and 8 if possible because...
1a) Channels 7 and 8 are reserved for sound effects (original SMW also reserves channel 5 for jumps but AMK remapped it to somewhere else) and they cut the note playing on the sound effect (there also is the issue that sound effects are affected by effects like tuning though AMK should prevent that). Though even official games puts more important channels into sound effect channels (Super Metroid does that quite often) although we generally avoid that.
3) ZSNES is a bad idea because its music engine is inaccurate and outputs the sounds detuned. This isn't the case with newer versions of SNES9x and higan altogether but the best way is with the SPC Player (an even better way is a music player which plays the music files out of the TXT but the current one only works for Addmusic4). In fact, AddmusicK allows you to export SPC files without any ROM so you don't even need to insert the song into any ROM.

Yay, first layout!
First of all: Big thanks for your answer!

Originally posted by MarioFanGamer
1) Theoretically all, though it's a good idea to put chords, echoes or "less" important notes to channel 7 and 8 if possible because...
1a) Channels 7 and 8 are reserved for sound effects (original SMW also reserves channel 5 for jumps but AMK remapped it to somewhere else) and they cut the note playing on the sound effect (there also is the issue that sound effects are affected by effects like tuning though AMK should prevent that). Though even official games puts more important channels into sound effect channels (Super Metroid does that quite often) although we generally avoid that.


What do you mean by "chords"? Do you mean separate-tones-that-together-with-to-other-tones-form-a-chord?
Yeah, Super Metroid came to my mind, too, when I read your answer. This phenomenon happens if the SM Opening Music is used in a level, for example, where you can cut off the long-held high choir notes by simply jumping. I always thought that this was because that song would use all 8 channels, but maybe it's something like this channel 5 problem (both SMW and SM use the standard Nintendo program for the SPC, I think, and so, maybe they didn't fix that bug). That idiosyncracy of that track might have never bothered the devs, since there are no sources for additional sound effects in the opening cutscene of Original SM.

Okay, so: 5 channels are totally fine (channels 0-4), one channel should be totally fine, and two channels are "don't whine if it doesn't work, you were told before".

Originally posted by MarioFanGamer
3) ZSNES is a bad idea because its music engine is inaccurate and outputs the sounds detuned. This isn't the case with newer versions of SNES9x and higan altogether but the best way is with the SPC Player (an even better way is a music player which plays the music files out of the TXT but the current one only works for Addmusic4). In fact, AddmusicK allows you to export SPC files without any ROM so you don't even need to insert the song into any ROM.


ZSNES is (still) my number one go-to if I want to test something the quick and dirty way. I know that ZSNES is horribly inaccurate, yet this can be used to one's advantage: Whenever I wrote some ASM code and it worked in ZSNES but not in bsnes, I knew that I missed something like timing of some hardware components, if it didn't work in any of those, I knew my code was a total mess. But, according to your advice, I will refrain from using ZSNES for this. Thanks for saving me a lot of time and frustration with this!
Are those AddmusicK SPC exports accurate, though, or could it be that there are things that sound one way in the SPC file and another way in SMW? I would use the SPC plugin for Winamp, or are there any known problems with that?

I didn't know that there is a tool that directly plays the TXT file! That's really awesome! That would make the whole process to transfer my songs incredibly easy. What program is that and is it here? Else, where can I get it?
Originally posted by lytron
What do you mean by "chords"? Do you mean separate-tones-that-together-with-to-other-tones-form-a-chord?

Yes.

Originally posted by lytron
Yeah, Super Metroid came to my mind, too, when I read your answer. This phenomenon happens if the SM Opening Music is used in a level, for example, where you can cut off the long-held high choir notes by simply jumping. I always thought that this was because that song would use all 8 channels, but maybe it's something like this channel 5 problem (both SMW and SM use the standard Nintendo program for the SPC, I think, and so, maybe they didn't fix that bug). That idiosyncracy of that track might have never bothered the devs, since there are no sources for additional sound effects in the opening cutscene of Original SM.

Different game, different music engine (though both, SMW and Super Metroid use the N-SPC engine, they still have their own differences like how they handle sound effects).
Of course, cutscene songs in generals don't really care for sound effects. However, even songs used in gameplay may have cut off notes. Screw attack is especially prone to cutting of notes in Super Metroid songs (e.g. Crateria underground lacks the string if screw attack is active).

Originally posted by lytron
Okay, so: 5 channels are totally fine (channels 0-4), one channel should be totally fine, and two channels are "don't whine if it doesn't work, you were told before".

There 6 channels to use with AMK: Channel 1-6 (or 0-5 if you want it that way). Period. As mentioned in my previous post, channel 5 (4) is only an issue in SMW's original music engine but AMK removed that issue.

Originally posted by lytron
ZSNES is (still) my number one go-to if I want to test something the quick and dirty way. I know that ZSNES is horribly inaccurate, yet this can be used to one's advantage: Whenever I wrote some ASM code and it worked in ZSNES but not in bsnes, I knew that I missed something like timing of some hardware components, if it didn't work in any of those, I knew my code was a total mess. But, according to your advice, I will refrain from using ZSNES for this. Thanks for saving me a lot of time and frustration with this!

True. Higan is quite a mess to work with. That being said, most people who care for accuracy (not complete but still more than ZSNES) use SNES9x. Aside from installing a couple DLLs and how it handles savestates, it's good for quick testing just like with ZSNES.

Originally posted by lytron
Are those AddmusicK SPC exports accurate, though, or could it be that there are things that sound one way in the SPC file and another way in SMW? I would use the SPC plugin for Winamp, or are there any known problems with that?

The SPC files AMK exports are similar if not identical to the one you export from an AMK modified SMW ROM. In fact, AMK even has got a modified N-SPC engine in SPC700 ASM format (which is what the AMK modified ROMs use) so the only inaccuracy should be on the SPC player's side.

Originally posted by lytron
I didn't know that there is a tool that directly plays the TXT file! That's really awesome! That would make the whole process to transfer my songs incredibly easy. What program is that and is it here? Else, where can I get it?

The tool in question is AMPlayer. But be aware that this was made before AMK was released which makes it useless for most songs (it only works for AM4 and AMM songs and even then, you might have to do the one or another modification).

Yay, first layout!
Originally posted by lytron
1) How many of the eight sound channels can/should be used for music?
All. However I need not repeat MFG's answer. #fim{XD}
Quote
1a) Rather out of curiosity: Is/Are there any sound channel(s) specifically dedicated to sound effects, or does the sound program look up which DSP channel is currently free or "busy the least" and uses that one?


AddMusicK moved all sound effects onto the last 2 channels. Codec's AMK Beta removes that limit so you can place sound effects anywhere. It is not an official release.

The latter part of your question I don't believe there is a SNES SPC program that has a channel juggling schematic. The default N64 Audio library does this and some PSX games (e.g. Final Fantasy 8.) There are only 8 channels on the DSP; having such algorithm may take up extra program space, processing, and ultimately be counter-intuitive.
Quote
2) Is there a rule of thumb to make sure that the music isn't too loud? Do you consider this topic when you first create the files or do check this afterwards during playtesting? Can you give me some orientation what values work the best? I mean the standard instruments - if someone would import BRR files, it would depend on each sample's own volume, of course.

If you're using the standard SMW instruments and the velocities set by AddMusicK then it's unlikely you can mix too loud [accidentally.] Using your own samples are a different story unless you don't normalize them. Defaulting to SMW velocities instead of the N-SPC will help prevent that as well.
Quote
3) What is the most efficient way to test if everthing is fine? Do you normally put those songs as title track in a test ROM and boot that one up on ZSNES, or do you simply rely on a SPC file export?

For most of us non-65816 peasants we import the song into a Super Mario World ROM and see if it works from an emulator of choice. For me Snes9x.
Originally posted by MarioFanGamer
Different game, different music engine (though both, SMW and Super Metroid use the N-SPC engine, they still have their own differences like how they handle sound effects).


Ah, N-SPC was the name! I forgot that. Super Metroid was released in March 1994, so of course it had revised that engine they had in 1990 for SMW until then (on Matthew Callis' page about the N-SPC the version in SMW is listed as a beta, IIRC I read somewhere else that Soyo Oka did her composition work for Pilotwings on a beta version, and Pilotwings was a SFC release title as well, but I don't know if it really is a beta version).

Originally posted by MarioFanGamer
Of course, cutscene songs in generals don't really care for sound effects. However, even songs used in gameplay may have cut off notes. Screw attack is especially prone to cutting of notes in Super Metroid songs (e.g. Crateria underground lacks the string if screw attack is active).


Oh, never recognized that! I will test it the next time I play SM. The Screw attack is a very complex sound, I wonder how many channels it needs.

Originally posted by MarioFanGamer
There 6 channels to use with AMK: Channel 1-6 (or 0-5 if you want it that way). Period. As mentioned in my previous post, channel 5 (4) is only an issue in SMW's original music engine but AMK removed that issue.


Okay, thank you for repeating that, I hope I finally understood it now. #smw{^_^;}

Originally posted by MarioFanGamer
True. Higan is quite a mess to work with. That being said, most people who care for accuracy (not complete but still more than ZSNES) use SNES9x. Aside from installing a couple DLLs and how it handles savestates, it's good for quick testing just like with ZSNES.


On a tangent here: I also use no$sns by nocash for quick testing, yet I cannot really judge if it leans more to the higan or the ZSNES approach to accuracy. Do you have any good/bad experience with that one?
If the higan stuff annoys you, I can recommend bsnes+. It branched off of higan right before it really got crazy with its ROM formatting demands, plus it offers a logging function like geiger's debugger.

Originally posted by MarioFanGamer
The tool in question is AMPlayer. But be aware that this was made before AMK was released which makes it useless for most songs (it only works for AM4 and AMM songs and even then, you might have to do the one or another modification).


Thank you for directly linking to it. :)

~~~

Originally posted by Brozilla
AddMusicK moved all sound effects onto the last 2 channels. Codec's AMK Beta removes that limit so you can place sound effects anywhere. It is not an official release.


Thanks for pointing that one out, I'll keep that one in mind, but for dipping my toes, I'll first limit myself to 6 channels. ;)

Originally posted by Brozilla
The latter part of your question I don't believe there is a SNES SPC program that has a channel juggling schematic. The default N64 Audio library does this and some PSX games (e.g. Final Fantasy 8.) There are only 8 channels on the DSP; having such algorithm may take up extra program space, processing, and ultimately be counter-intuitive.


I once disassembled a part of the code for SPC for Secret of Mana, and I am about 90% sure that they managed it that way there. Also, I remember that SoM/Seiken Densetsu 3 composer Hiroki Kikuta said in an interview something like "I had 8 channels for SoM, and 6 channels for SD3", so it seems like this system wasn't as fruitful as originally intended.

Originally posted by Brozilla
If you're using the standard SMW instruments and the velocities set by AddMusicK then it's unlikely you can mix too loud [accidentally.] Using your own samples are a different story unless you don't normalize them. Defaulting to SMW velocities instead of the N-SPC will help prevent that as well.


Oh, so AddMusicK has the standard SMW instruments already "mixed" (i. e. I guess it recommends a basic volume value for each individual instrument?)? Nice.



And again, a big thank you to both of you for your help!
Originally posted by lytron
I once disassembled a part of the code for SPC for Secret of Mana, and I am about 90% sure that they managed it that way there

It probably works that way if so (I never played that game.) My statement was very general and inferenced without any concrete evidence so it can be taken with a grain of salt. I based it mostly on Nintendo + RARE so it's extremely small in scope.
Quote
Also, I remember that SoM/Seiken Densetsu 3 composer Hiroki Kikuta said in an interview something like "I had 8 channels for SoM, and 6 channels for SD3", so it seems like this system wasn't as fruitful as originally intended.

I assume it was a typical FIFO fashion, oldest voice dies first. This likely caused important sections in the music to be unintentionally cutoff during gameplay. With such a limited number of voices on the DSP you'd need to write a much more clever voice stealing function.

Quote
Oh, so AddMusicK has the standard SMW instruments already "mixed" (i. e. I guess it recommends a basic volume value for each individual instrument?)?

Can't really say since I use my own instruments, volumes, and tables. If you don't specify a volume the channel volume may already be "pre-set." The instruments themselves have ADSR values which is close (to acting as volume) but not quite with the SNES' wonky ADSR. GAIN is the closest you'll get to instrument volumes. Channel Volume is the preferred method of choice and would generally play that role.

Quote
I'll first limit myself to 6 channels. ;)

All about preference. One of my first SNES songs (DKC trilogy samples) used a 4/5 channel chord, 1 drum channel, 1 melody, 1 countermelody ("interrupts" a chord channel), 1 bass/drum echo. Never ported to AMK but with the messy channel layout an "important" part is almost always guaranteed to be affected [by sfx] unless I restructure/rewrote it. A bit of work for an old song...
Pages: « 1 »
Forum Index - SMW Hacking - SMW Hacking Help - Custom Music - Newbie Questions: No. of Channels / Volume / Testing

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2019 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 23

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented