|
Now that I've got it figured out, I thought I might as well explain how I did it, since it's really not that hard. My method uses purely Windows, so it may have some restrictions that using the command prompt doesn't, but it works, and it's not too complicated.
To begin with, we need the software to make the conversions. I won't go into too much detail on that because it's explained quite well at http://nesmusic.zophar.net/. Just download all the tools and follow the Make NSF tutorial on the right sidebar. (It's a horrible translation, but it's understandable enough.)
Once you've done that, you need your samples. I've found 16-bit, 44100 khz, mono samples work well for converting, but you may wish to experiment with the frequency. Make sure they're 16-bit and mono, though.
Once you have your samples, you need to convert them. The DMCConv GUI has worked well for me. Put the GUI in the same directory as the DMCConv files and run it. On my screen, it hides the buttons and settings, so I have to stretch the window out a bit. Once you can see everything, open up the directory with the samples you want to convert, and drag them onto the window. On the bottom are four buttons: The far left one will play the sample, the next one to the right will remove the selected sample from the list, the third button will reset any settings you have changed (after clicking it, choosing "yes" will clear the sample list, and "no" will leave it intact), and the fourth button will convert the samples (after a confirmation message, it will give you the same "yes/no" choice as before). At the top left is an option to choose a playback rate. F is the sample's original pitch, while E through 0 are higher pitches. Assuming the original sample is playing at a pitch of C, the different values would give the following pitches:
F - c E - f D - g# C - c (an octave higher) B - d# A - f 9 - g 8 - a# 7 - c (another octave higher) 6 - c# 5 - d# 4 - f 3 - g 2 - g# 1 - a# 0 - c (yet another octave higher)
The slider at the top adjusts the amplitude of the resulting sample. 200% seems about right for the samples I've used. Again, you'll need to experiment with the samples you're using.
The checkbox on the right... I haven't noticed any difference in the output when it's checked or unchecked. I'll need to experiment more.
Now that you've got your samples in .DMC format, copy or move them to the MCK directory in the MCKWatch folder. You're done with it for now.
In your MML file, you'll need to define some macros to access the samples. The macros follow this format:
@DPCM[num] = { "[filename]",[pitch] }
[num] is a number from 0 to 63, with 0 corresponding to C on the 4th octave, 1 corresponding to C# on the 4th octave, etc. Things got rather strange once I went up to the 5th octave, though, so I'd suggest limiting yourself to 0-11.
[filename] is the name of your sample. For example, kick.dmc, snare.dmc, etc.
[pitch] is a number from 0 to 15 and adjusts the playback rate of the sample. 15 is the original pitch, while 14 through 0 lower the pitch. Assuming the original sample is played at C, here are the values and their corresponding pitches:
15 - c 14 - g 13 - e 12 - c (an octave lower) 11 - a 10 - g 9 - f 8 - d 7 - c (an octave lower) 6 - b 5 - a 4 - g 3 - f 2 - e 1 - d 0 - c
If you're using a melodic sample such as an orchestra hit, you may need to use multiple samples at varying pitches to get a full octave. (Note that the note each sample corresponds with does not affect the pitch. Setting an orchestra hit on C with a pitch of 15 will sound the same as putting the same orchestra hit on C# wiht a pitch of 15.)
Once you've set your macro and put your sample(s) in place, all you need to do is put a track on channel E and put in the notes that correspond with the samples you chose. It should look something like this:
@DPCM0 = { "kick.dmc",15 } @DPCM1 = { "snare.dmc",15 } @DPCM2 = { "orchhit.dmc",13 } @DPCM3 = { "orchhit.dmc",12 } @DPCM4 = { "orchhit.dmc",14 }
E t100
E l8 c c c+ c16 c+16 c c c+ r d16 d16 r16 d16 r16 d+16 d16 r16 e16
That example, the samples used, and the resulting NSF file can be found at http://www.jabcreations.com/lousyspy/DPCM.zip.
|