+  RHDN Forum Archive
|-+  Romhacking
| |-+  General Romhacking
| | |-+  Homebrew sound on the SNES
Pages: [1]
Author Topic: Homebrew sound on the SNES  (Read 525 times)
MathOnNapkins
Guest
« on: August 06, 2007, 03:33:51 pm »

This may seem like a naive question, but does anyone have any insights on how to develop my own sound samples for the SNES? And I don't mean by capturing sound from some other game, movie, or music track and converting it to BRR via SNESSOR or some other method like that. If we were on the subject of graphics, then that would be the equivalent to using "ripped" graphics, which is not as impressive. It would truly be great to learn how to generate my own synthesized sounds, even if they sound electronic. I guess most people would suggest that I start by combining square or triangle pulse waves in various combinations? But beyond that I'm kind of clueless on how to proceed.

Given the complexity of even a format like BRR, it's not like you could just hex edit a sample or create it from scratch by trial and error (that is, unless someone has some great secret to doing that). But to me it begs the question, where did game companies get all their sounds from back in the day? Would it be reasonable to assume that just converted output from what was on their keyboard synthesizers to brr? (And that begs the question, where do the keyboard makers get their sounds?) Some people like to complain that SNES sound output tends to be off a bit. i.e. a trumpet synth on a SNES probably sounds worse than a trumpet synth on a keyboard. Is this because of the conversion to BRR from the source data? BRR is not capable of storing arbitrary 16-bit sound because of the whole filter and shift thing going on for each block. Would that explain the "offness" people describe in relation to the SNES?

creaothceann
Guest
« Reply #1 on: August 06, 2007, 03:54:11 pm »

There's also a lowpass filter...

Afaik the SNES has not enough power to create samples on-the-fly, at least speed-wise, and was never intended to do that.
Nightcrawler
Guest
« Reply #2 on: August 06, 2007, 04:52:08 pm »

Traditional SNES music uses small BRR samples of the instruments in use. The songs are in a tracker format whether that be midi, mod, or in many cases custom tracker format for that game.

So basically, they recorded some instrument samples and converted them into BRR format. Then they recorded the music tracks in some sort of tracker program or other digital composing software suite. I'm sure in many cases, custom software was written entirely for the music.

Personally, I've found creating SNES music to be fairly challenging and because there is no standard format, if you don't borrow some existing SPC700 driver code, you'll have to code your own. I did this, also not very easy.

We've already got most all the resources you need here on RHDN. I don't believe I needed any other sources. It's a matter of reading up on the sound hardware and looking at a few assembly examples of how to communicate with the SPC700, and control the DSP.

There's also some good information here, but I think much of it is duplicate of what we have here on RHDN.

http://oregonstate.edu/~robinsfr/snes.html

That should be enough to get you started.
MathOnNapkins
Guest
« Reply #3 on: August 06, 2007, 11:43:18 pm »

Um... I should have anticipated these kinds responses. I guess I wasn't clear enough.

@creaothceann: I had also considered generating samples using the SPC, then I dismissed it as a waste of cycles.

@NightCrawler: I understand you are trying to supply me with information on how the SPC/DSP and the BRR encoding, and (etc.) work. I appreciate that but I understand how all that works already. My questions more succinctly would be:

How do I synthesize sound?

I guess this isn't really a romhacking question, now that I think about it; but it is a good question to consider. As an example, take Level3.spc (the forest island level) from Demon's Crest. Apart from being one of my favorite SNES songs, the instrument that plays on channel 8 is one that sounds really interesting to me. (It plays for the first 13 seconds) It doesn't sound like it's based off of any instrument in the real world. that I can think of.
« Last Edit: August 06, 2007, 11:49:05 pm by MathOnNapkins »
Kitsune Sniper
Guest
« Reply #4 on: August 07, 2007, 12:01:37 am »

Quote from: MathOnNapkins on August 06, 2007, 11:46:25 pm
[This post was a double post on accident and has been deleted b/c the user can't find the delete post button. maybe it doesn't exist at all but oh well.]
It doesn't. Post deletion by users was removed due to some drama. :p
KaioShin
Guest
« Reply #5 on: August 07, 2007, 06:47:49 am »

Just to avert confusion, I deleted the duplicate post.
Nightcrawler
Guest
« Reply #6 on: August 07, 2007, 09:03:03 am »

Quote from: MathOnNapkins on August 06, 2007, 11:43:18 pm
Um... I should have anticipated these kinds responses. I guess I wasn't clear enough.

@creaothceann: I had also considered generating samples using the SPC, then I dismissed it as a waste of cycles.

@NightCrawler: I understand you are trying to supply me with information on how the SPC/DSP and the BRR encoding, and (etc.) work. I appreciate that but I understand how all that works already. My questions more succinctly would be:

How do I synthesize sound?

I guess this isn't really a romhacking question, now that I think about it; but it is a good question to consider. As an example, take Level3.spc (the forest island level) from Demon's Crest. Apart from being one of my favorite SNES songs, the instrument that plays on channel 8 is one that sounds really interesting to me. (It plays for the first 13 seconds) It doesn't sound like it's based off of any instrument in the real world. that I can think of.

Umm.. read up on sound waves then... Sound is just a combination of sine waves of various frequencies and amplitudes. The math can get incredibly complicated very fast though. Especially when you get into non-sinusoidal waveforms (even though they can still be expressed as the product of many sine waves). Then of course, there's the science of harmonics. Fourier series anyone? Personally, I never fully understood it.

Honestly though, you're not going to get the answer you're looking for in a post here. If you want t know how to synthesize sound, you need to do a lot of research on the science of sound and waves, and wave synthesis.

I'd guess 99% of all SNES samples used were recorded. Recording from instruments, recorded from synthesizers, or some other source.

You may want to play around with the NES sound hardware for a general audio feedback of mixing a few waves and different types together.

For a general down to Earth overview, this site isn't half bad:

http://www.korganalogue.net/korgms/manuals/ms50/50need.html


Beyond that, you've got a lot of research to do on a what I believe is a complicated subject if you really want to learn what's going on. You're basically asking how to generate waveforms.
MathOnNapkins
Guest
« Reply #7 on: August 07, 2007, 09:24:07 am »

Ah, thanks. I guess the NES would be a good starting point. I know who I can ask about that (Sliver-X)
Disch
Guest
« Reply #8 on: August 07, 2007, 03:27:51 pm »

Quote from: MathOnNapkins on August 07, 2007, 09:24:07 am
Ah, thanks. I guess the NES would be a good starting point. I know who I can ask about that (Sliver-X)

Cry
RedComet
Guest
« Reply #9 on: August 07, 2007, 06:22:32 pm »

Quote from: Disch on August 07, 2007, 03:27:51 pm
Quote from: MathOnNapkins on August 07, 2007, 09:24:07 am
Ah, thanks. I guess the NES would be a good starting point. I know who I can ask about that (Sliver-X)

Cry

Poor Disch. Sad

There, there. You're still *my* goto guy for all things NES related. Grin
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC