It is currently Sun Nov 19, 2017 7:14 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Fri Jul 04, 2014 12:56 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
The NES' DPCM channel wasn't very reliable for being used as anything more than a drum channel. However, some programmers have managed to use it into the bassline channel (best example being Sunsoft's Fester's Quest and after games), and Skate or Die 2 uses it as a guitar (though presumably they are 7-bit PCM, and only have a few notes to speak). I also came across the Game Boy Color game "Little Nicky", which despite being based on a movie, it seems to be one of the few Game Boy games to use the sample channel at all. To my memory, only Pokemon Yellow, Joe and Mac, and Canon Fodder are the other games that do so. Anyway, the game has music that consists of digitized guitars as well as the square waves and noise channel.

https://www.youtube.com/watch?v=jfmYnCV0gUo

Listening to this, it made me wonder if this would be at all possible to do on the NES. The biggest issue would be memory usage and bankswitching the samples into the music, not to mention how the NES plays back samples at inconsistent pitches. But would something like this be at all possible? Would it produce something good, or would it be undesirable?


Top
 Profile  
 
PostPosted: Fri Jul 04, 2014 1:05 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19230
Location: NE Indiana, USA (NTSC)
In any case, with enough memory, one could work around the out-of-tune tuning by storing the notes separately like a Mellotron tape set. What kept it from being used in the NES era was that no licensed NES game's PRG ROM was bigger than 4 Mbit (Dragon Warrior 3 and 4, Kirby's Adventure, Mega Man 4 and 6). But by the Game Boy Color era, Nintendo's minimum cartridge size had become 8 Mbit, leading the developers of The Adventures of Elmo in Grouchland to fill three-fourths of the ROM with padding. So you'll find that Klax and a lot of other Game Boy Color-only games use the sample channel like this.

Nowadays, one practical problem is that it's hard to get 8-bit XIP-capable parallel flash memory bigger than 8 Mbit. The 29F160 (16 Mbit) has an 8-bit mode, but bigger memories are essentially serial and designed for pairing with a sufficiently large RAM. Streaming samples into this buffer might be a pain.

Another problem is that the treble response of the DMC isn't too good because of the limited rate of change of the waveform.


Top
 Profile  
 
PostPosted: Fri Jul 04, 2014 1:16 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6446
Location: UK (temporarily)
As badly mistuned as the DPCM channel is, there are still some rates that are compatible with each other. Unfortunately, it's mostly the slower sample rates.

I made a table about it on the wiki.


Top
 Profile  
 
PostPosted: Fri Jul 04, 2014 4:39 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
A while back, I made a little tune experimenting with the available pitches on a looped sample of the shortest length. It kinda just demonstrates the available scale of pitches. The square/triangle tuning is adjusted to match the scale that the DPCM tuning set approximates.
http://rainwarrior.ca/projects/nes/lately_tuned.nsf

Because the DPCM sample lengths have that odd +1 on the end, they're not very useful for the A440 C major scale they appear to be designed around. You get a 17/16 detune on the shortest looped looped sample, so it's more like a B major scale that's not quite tuned to A440.


Rob Hubbard used short looped DPCM for bass drones on The Immortal. This is the only time I've seen it done on a released NES game. He didn't actually deal with the tuning issue, he just lived with a slightly detuned bass. The other channels are still using an A440 tuning:
https://www.youtube.com/watch?v=CzFQdcDMvGU


Chibitech did a really cool tune with DPCM guitars for Famicompo 3:
https://www.youtube.com/watch?v=tcoKY9G-4ss


Necrophageon did one using DPCM for a running arpeggio with echo:
https://www.youtube.com/watch?v=zvCIKdJv5vw


What you can do is limited mainly by how much sample space you can budget, your creativity, and finally the quality of NES DPCM. The best quality is had with a unique sample for each pitch, but you can get a couple of different pitches out of the same sample if you need to, which is how Sunsoft did it, generally.


Top
 Profile  
 
PostPosted: Fri Jul 04, 2014 5:37 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
Interesting, thanks for the replies. That chibi-tech song (as much of an anti-fan I am of this person's work) is what I would imagine a "no holds barred" NES soundtrack would sound like, the 2A03 at it's full potential. Problem with that, as tepples said, is that memory would be too expensive, and being able to store a bunch of different variations of the same note. Then again, this is assuming for a functional NES game, so I'm assuming there would be severe compromises made to the game just to accommodate the music. Sunsoft games were ridiculously small, and I'm guessing that's because all the space was used by the bassline samples. Then there's also the issue with the 32K of dedicated music data...


Top
 Profile  
 
PostPosted: Fri Jul 04, 2014 5:57 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
For a point of reference, I believe Gimmick! was Sunsoft's game with the biggest soundtrack, and It's under 96k of dedicated music data. 16k of that is DPCM samples, spread over 2 8k banks that are mapped at $C000. This is a good example of a high-end budget for an NES soundtrack, late in the console's lifetime with more advanced mappers (that 8k banking at $C000 is essential). 37% of the game's PRG data is devoted to music, so I think they wanted to do something special here.

32k of music data is a typical upper limit for later NES games. That's about 12% of a 256k PRG. Only a few go above that. Lots have less.

On the other extreme end, Donkey Kong does its music in under 2k. Interestingly, also about 12% of its PRG.


Top
 Profile  
 
PostPosted: Fri Jul 04, 2014 7:23 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
What about Recca? I'm fairly certain that Recca has a lot of songs, and each of the songs are in the minutes, not to mention this game has about a dozen samples. What's funny is that these exact same samples were used in (Samurai) Zombie Nation as well as a bassline sample, but ZN has much shorter, albeit crazier, music. And what if the memory (and financial) budget was infinite, or rather very high? Would there be any other limitations that cannot be solved by time and money? You mentioned that memory budget, the artists creativity, and the DPCM's resulting sound quality are the three biggest detriments, so if money was thrown at these problems, surely anything would be possible.


Top
 Profile  
 
PostPosted: Fri Jul 04, 2014 8:41 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19230
Location: NE Indiana, USA (NTSC)
It could go as far as "Max 300" by Omega, which I converted several years ago.

Since then I've realized a couple more things I could theoretically do with it to reduce the impact of slope overload. One is to split the spectrum of each 16 ms frame into tonal and non-tonal components, find the closest combination of volume and period that fits the spectral shape of the non-tonal part, and subtract the resulting noise power from the signal. That would at least reduce the amount of treble that the encoder has to deal with, and treble is the one thing delta modulation doesn't do well.


Top
 Profile  
 
PostPosted: Fri Jul 04, 2014 9:26 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
That's impressive, but awfully hissy. Would maximizing the usage of the DPCM channel (by any means necessary) produce hissy sounds? I know the answer to that, even Sunsoft's basslines are hissy. Is there a way to eliminate hiss from 1-bit DPCM other than using drum samples?


Top
 Profile  
 
PostPosted: Sat Jul 05, 2014 5:34 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
OneCrudeDude wrote:
What about Recca? I'm fairly certain that Recca has a lot of songs, and each of the songs are in the minutes, not to mention this game has about a dozen samples.

The Recca NSF is under 32k, so it's not particularly exceptional here. I don't think the songs are particularly long before they loop, but it is unusual in that it has more songs than come up in gameplay; there is a sound test mode that will let you play them. (I also suspect it had a short/rushed development cycle due to the nature of its release.)

Quote:
And what if the memory (and financial) budget was infinite, or rather very high?

The memory budget is not usually a significant problem for game music today. Lots of big budget games get large music budgets as well, often it hires an orchestra or something. If you mean hypothetically if they still had to use the NES, virt's Shovel Knight soundtrack is a recent example of an NES (+VRC6) soundtrack unconstrained by a memory budget. The NSF is about 600k. If memory isn't a problem, you don't have to use identical loops everywhere, and you can have new material throughout a track. (Though, you may find it interesting that this soundtrack has no DPCM at all, except for an orchestra hit used as a joke in one track.) Cave Story might be another example; it's not NES, but clearly NES inspired, and he worked on it for ~5 years, so you could say he had a somewhat unrestrained amount of time to work on the music.


Top
 Profile  
 
PostPosted: Sat Jul 05, 2014 10:25 am 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
Regarding the orchestra hit, this is important. Is that sample 7-bit PCM, or 1-bit DPCM, and what track? It seems like, while iconic of the era, not many NES games had decent sounding orchestra hits (not to mention not many had them in the first place), possibly due to how 'complex' the sound is. An even more curious case is Top Gun 2 using orchestra hits rapidly increasing in pitch for the selection 'jingle', but used nowhere else in the game.


Top
 Profile  
 
PostPosted: Sat Jul 05, 2014 10:31 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
It's DPCM (Famitracker doesn't do PCM), it's the last track of the NSF (51), and it's the classic fairlight "orch5" sample. It's not particularly well made as a DPCM sample either; there's a nasty pop on the end. As I said, I think it's just there for a laugh. I don't think it was even included in the bandcamp soundtrack.


Top
 Profile  
 
PostPosted: Sat Jul 05, 2014 10:45 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19230
Location: NE Indiana, USA (NTSC)
OneCrudeDude wrote:
It seems like, while iconic of the era, not many NES games had decent sounding orchestra hits (not to mention not many had them in the first place)

Probably because the orchestra hit fad hadn't yet infected popular music. NES music was largely more rock-influenced than EDM-influenced. But there was Super C.


Top
 Profile  
 
PostPosted: Sat Jul 05, 2014 12:07 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
tepples wrote:
OneCrudeDude wrote:
It seems like, while iconic of the era, not many NES games had decent sounding orchestra hits (not to mention not many had them in the first place)

Probably because the orchestra hit fad hadn't yet infected popular music. NES music was largely more rock-influenced than EDM-influenced. But there was Super C.


Orchs were used in 8 games to my memory; Super C, Contra Force, Top Gun 2, Bomberman 2, Fester's Quest, Recca, Doki Doki Yuenchi, and Zombie Nation, the last three sharing the same sample. That said, I wish I could fund the development (be it by winning the lottery or some other shady method) of 'the ultimate NES game', and among other things, the music will have orchestra hits.


Top
 Profile  
 
PostPosted: Sat Jul 05, 2014 1:32 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19230
Location: NE Indiana, USA (NTSC)
OneCrudeDude wrote:
That said, I wish I could fund the development (be it by winning the lottery or some other shady method) of 'the ultimate NES game', and among other things, the music will have orchestra hits.

I've tended to do an approximation of orchestra hits using octave arps. I made this cover of "Maxx Unlimited" by Z in a tracker, adhering to 2A03 limits with no DPCM. Also this Balloon Fight-inspired tune, which I made as a reworking of my earlier "Balloon Fever".

But if you have ideas for an NES game, go ahead and write up a design document and make a new topic.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group