Preparing DMC samples

Discuss NSF files, FamiTracker, MML tools, or anything else related to NES music.

Moderator: Moderators

Post Reply
User avatar
SusiKette
Posts: 138
Joined: Fri Mar 16, 2018 1:52 pm
Location: Finland

Preparing DMC samples

Post by SusiKette » Sat Nov 28, 2020 11:37 am

I was curious if anyone here know how you should prepare a wav file to be converted as a DMC sample to get the best result. One trick that I know for percussion samples is that you add some white noise the sample and it'll hide the "crackling" sound you get at low volumes. Are there any recommendations on sample rate and bit depth? Should you EQ the sample any way, or do some other processing? I have gotten decent sounding samples so far, but they are not comparable to how good some samples from commercial NES games sound (like the Sunsoft bass).
Avatar is pixel art of Noah Prime from Astral Chain

User avatar
za909
Posts: 226
Joined: Fri Jan 24, 2014 9:05 am
Location: Hungary

Re: Preparing DMC samples

Post by za909 » Sun Nov 29, 2020 1:34 pm

I'm making a complete guess here and say that I would go with a low-pass filter before applying that noise. DPCM is naturally better at reproducing low-frequency components.

User avatar
SusiKette
Posts: 138
Joined: Fri Mar 16, 2018 1:52 pm
Location: Finland

Re: Preparing DMC samples

Post by SusiKette » Sun Nov 29, 2020 1:45 pm

A low-pass isn't necessary unless the original sound has a lot of higher frequencies you don't want. Converting the sample usually does have a low-pass like effect on louder frequencies, but it might not completely filter them out. Although due to the bit crushing that happens you will still get some high frequencies after conversion even if you filter them out from the original. The noise can mask some of those as well, since they might not always sound good.
Avatar is pixel art of Noah Prime from Astral Chain

User avatar
rainwarrior
Posts: 8000
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Preparing DMC samples

Post by rainwarrior » Sun Nov 29, 2020 1:59 pm

za909 wrote:
Sun Nov 29, 2020 1:34 pm
I'm making a complete guess here and say that I would go with a low-pass filter before applying that noise. DPCM is naturally better at reproducing low-frequency components.
For the same reason, you might also want a high-pass to reduce the low frequency sounds so they don't take as much bandwidth away from higher frequencies.

However, neither suggestion is universal, it depends on the kind of content you want to express. E.g. a voice sample could proabably benefit more from the highpass because there's more useful speech information in the mid range. For a musical sample, the needs are entirely different here.


Really what I'd like to see is a tool with a graphic equalizer applied to the input that you can adjust and preview iteratively. (...and with the ability to save presets for it.) Unfortunately, I haven't seen such a tool yet... I plan to write one eventually but I still haven't had a project that really needed DPCM, so I haven't gotten around to it.

All that said, RushJet1's RJDMC tool is the best one I've seen so far, but it doesn't have any pre-filtering. You'll have to do that yourself.

RJDMC

lidnariq
Posts: 10241
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Preparing DMC samples

Post by lidnariq » Sun Nov 29, 2020 2:05 pm

In my experience, you get the best results by some combination of:
1- filtering the input to just the frequencies you want reproduced
2- reducing the input volume

DPCM in particular preferentially reproduces lower frequencies at the cost of high frequencies – "slew rate distortion" – so both steps help with that.

User avatar
Ben Boldt
Posts: 751
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: Preparing DMC samples

Post by Ben Boldt » Wed Dec 02, 2020 1:24 am

Keep in mind that many might say that a more distorted DMC sample is preferential. If you hit a roadblock getting your DMC to sound good, try going worse; it can make some magic.

Post Reply