Offline
York, PA

I've been trying to figure out how to compose music that accurately models the music that can come from a SEGA Genesis and Super Nintendo. FM synthesis is fairly easy for me to understand, however the SNES has had me pretty darn confused because it seems to be a little more complicated than FM.

I gathered a bunch of information from around the internet, including here (Neil Baldwin has been pretty helpful from reading other older threads). Here is what I have written down so far.

"The audio chip of the Super NES/Super Famicom (Sony SPC700 via 65816 RAM(?)) has 8 adaptive differential pulse-code modulation (ADPCM) channels for bitrate reduction- (BRR) compressed samples. All the samples had to be compressed with ADPCM/BRR formats at a ratio of around 3.5:1 (32:9(?)) to less than 64 Kilobytes to fit on the discrete audio chip’s RAM. This means that for every 32 bytes of 16-bit PCM there are 9 bytes of BRR. The size of all the samples should in total not exceed more than 150 kilobytes. The original, raw samples of the instruments are tweaked for downsampling, then downsampled to 8 to 22 kHz, and cut into small loops that are then truncated to 8 bits. Equalizing to retain brightness can occur before or after downsampling. Samples are often no larger than 2 kilobytes, having 16 samples to be looped.

The DSP also allowed for echo effects. [How can this be recreated accurately?]

The SNES is capable of Dolby Surround Sound, albeit it was pseudo-surround sound using stereo Q-Sound.

Many games used Nintendo’s ready-made samples for its SNES games.

Because there are currently no programs that have simplified the process of making accurately modeled SNES music like FamiTracker does with the NES, the alterations to the original, raw samples must be done manually. I can use BRRTools to compress the raw sample."

Did I get anything wrong here? I want to get these things down pat before I begin shouting from the mountaintops that I can compose music that can (theoretically) be played on an actual SNES.

Offline
Sweeeeeeden

Have you looked into the SNES GSS tracker?

Offline
York, PA
nitro2k01 wrote:

Have you looked into the SNES GSS tracker?

No, but it sounds like something I missed.

Offline

http://battleofthebits.org/lyceum/View/ … format%29/ gives some info on the snes sound capabilities, and the links at the bottom show how some people make music that can be played back by the snes.

One that isn't mentioned in there that is currently in development is a tracker, native to the snes, being worked on by ctrix and ferris. However, at the moment it is not available.

I used snesmod (an .it to .spc conversion tool) for the first time a month or so ago and it gave some good results. If you're used to tracking, especially in sample trackers such as openmpt, then that may be the best bet. I think the most recent version of that can be found here;

http://www.morganleahrecords.com/august … loads.html

Otherwise you have addmusick which is the Super Mario World music engine, and music is composed in an MML environment instead.


If you're not looking for 100% playback authenticity, then there are some VSTs for DAWs that mimic the limitations - I think one might just be called C700?

Good luck anyway

Last edited by gotoandplay (Jan 27, 2016 7:48 pm)

Offline
York, PA

If there was a way to be able to format whatever SNES music I compose into usable data for a programmer of a SNES homebrew/hack game (if the time ever comes where that is necessary), that would be helpful. I wondered the same thing about that, as well as with the NES and Genesis. This sounds like a pretty, pretty small game dev niche, though it would be a great selling point if and when it becomes available. I learned from looking around that, at least for the NES, the audio needs to be programmed alongside the programming of the rest of the game. I also learned from Neil Baldwin, an original SNES composer, that the audio tech and the "gameplay/graphics" tech were separate, so that leads me to believe that maybe SNES music, unlike NES music, can be inserted after the fact. I could be very wrong about that since I'm no programmer.

I hope the SNES tracker you were talking about comes out soon. The SNES GSS tracker needs a lot of touch-ups like a better GUI, simpler controls, better menu searching, and a live mode. Essentially, FamiTracker but for the Super Nintendo. Super FamiTracker has a nice ring to it. tongue When you say "native" does that mean it will run on the original hardware instead of computer software?

I'll take a look around at those links.

Offline

Yeah it will run on original hardware - they did a demo song a while back https://www.youtube.com/watch?v=di_MnKNDfm0 but there hasnt been news for a bit. Apparently ctrix demoed it at superbyte last year too?

I dont know much about whether snes music files (.spc files) can be easily inserted into a homebrew snes project, my advice is to make a test spc using one of the techiniques mentioned above and then if you have a project you want to insert it in. If you're looking to have sounds alongside music though (ie for in-game sfx etc) you may want to spare 1 of the 8 channels available for that.

Theres a guy on battleofthebits called kungfufurby who's pretty knowledgeable when it comes to the snes, try catching him on IRC some time smile He'd probs be able to answer the questions you have in more depth.

Offline

The tracker by Ctrix isn't native i think... As in the tracker itself is not on a cart or as a ROM file. In a video showing off the tracker it seems like it's on pc tho'... But i really, really want that tracker! I've been using sness gss last couple of days but i'm not sure with the samples...i import wav samples but i know the snes uses brr. Now, does snes gss automatically do the brr part or should i make the wav into brr right away?

Offline
Dallas, Texas

For as long as they have been holding out on that thing, I do not think it will be anything more than their personal dev software.