Just writing this to say I do apologise for the delay making the requested recordings and uploading them; I spent the entire day yesterday writing my DC5 entry. I should have some spare time later today though so keep an eye out for an update!
Charging for making these recordings would be pretty ridiculous. I'm in all likelihood the only person in the western world with one of these TNS carts, it'd be pretty cheap of me to demand money in exchange for having a go at it. :p
Although, I suppose I wouldn't say no to small donations if anyone really insists. But it's absolutely not necessary. Like I said I like doing this, and if I can make other people happy and help improve emulation in the process, then it's all good. B)
Thanks so much, jrlepage! I'm glad to know my weird tuning stays intact on the hardware. Plus, even though the VRC6 is so basic, there's definitely a difference in sound. It seems like a direct conversion with nsf2wav causes a lot more positive feedback (a "problem" I've had with all my basic waveform works made directly on PC), while everything ends up much more balanced through the Famicom. The DPCM high-hat especially has a lot more room to breathe.
So, I lined up a direct conversion exactly with the recording you made and panned them all the way left and right and since the timing is dead-on, it makes a wonderful stereo mix! Plus, the listener can isolate either speaker for a "pure" mix.
The only issue I noticed listening to the tunes play on Famicom (especially Arupiji Batulu) is that the DAC produces a pop every time a DMC sample plays. You could probably fix this by adding $ff at the end of every
@DPCM macro (e.g. @DPCM0 = { "samples/mayazimmerman/Kick.dmc",$f,$0,$0,$ff} ).
As for your wave conversion problems... Have you tried NSFPlay's WAV output feature?
EDIT:
za909 wrote:
Thanks for the previous ones!
Now, here's a not as professional sounding one.
This was made by modifying the music data in a Mega Man 3 ROM I'm hacking. It doesn't sound as professional because I have to adapt to strict size limits (I usually end up with the game jumping all over the place for channel data where I find unused space) ,the pitch table is not 100% correct (if you nsfimport you might see P7F or P81 sometimes) and because mid-note vibratos take 6 times as much space as just a normal note, I usually don't use them.
This is a cover of Wily's Marine fortress from Megaman III (GB)
Huh. I didn't really notice any pops, but I'll check out the DPCM options a bit more.
I gave NSFPlay a try on your recommendation and it actually does reduce positive feedback, but it also plays slower than the actual Famicom. Really, the whole positive feedback issue, while technically "wrong" from a standard mastering perspective because it limits the volume, does have its own aesthetic appeal because it's a true representation of the peaks and valleys of simple waveform harmonies playing on the same channel.
Altogether, I'm pretty enthused about these stereo mixes. I couldn't have asked for them to come out better.
You're the third person to mention NSFPlay playing back at the wrong speed; it's a bug I've been trying to reproduce (but have never been able to make happen on my own machines).
If you use the NSFPlug version with Winamp (or something that can take Winamp plugins) do you still have the problem?
Would the "Use 60.09 Hz vsync frequency" option help? I think I tried syncing an FTM with the Famicom once and couldn't manage it because FamiTracker was always getting behind slightly. Maybe it's an issue with all players that play at exactly 60 Hz when they shouldn't?
No it's not that, it ends up playing at the wrong pitch completely, like it thinks it's getting new sound buffers at the rate of 44100kHz but it's getting a different rate from the OS and doesn't know. That kind of thing. I haven't figured out the problem yet.
As for trying to synch with an NES, the NSF spec is kinda messed up that way. The timing is custom, and it can't actually do exactly 60hz, or the NTSC refresh frequency either. The default timing is 1000000/16666 Hz (60.002). The 60.09Hz vsync frequency override setting might help. You can also set the custom time in the NSF to 16640, which will be closer to 60.09.
For most NSFs it is correct to play them at 60Hz, since that's the speed they specify. Real games are going to do 60.09Hz though. The PowerPak should run at the specified time, if its timer is accurate enough, but probably your TNS cart is going to run at the 60.09Hz NTSC refresh rate.
I uploaded a recording of StygeBlaster, a.k.a. the never ending NSF! Obviously I couldn't record the whole thing, so you'll have to make do with the first 10 minutes of the tune. :p
Yup, the "Use 60.09/50 Hz vsync frequency" option cleared the timing issue right up. Now that I've got three identical tracks that each cover slightly different sonic territory, I've been driving myself a little mad with mixing for sound quality vs. conceptual integrity, so I just took my favorite two mixes so far and tossed them into a playlist on shuffle to hear how they sound back-to-back with other music and I'll make a decision while I put away laundry.
If it's not a problem, I'd like to request the title theme of Skate or Die 2 by Rob Hubbard, I'm really curious about the 7-bit PCM in this one. First track in the nsf here: http://www.zophar.net/download_file/14623
A full loop is approx. 2 minutes, 8 seconds