FamiTracker 0.3.8 beta

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

Moderator: Moderators

Post Reply
User avatar
mikejmoffitt
Posts: 1349
Joined: Sun May 27, 2012 8:43 pm

FamiTracker 0.3.8 beta

Post by mikejmoffitt » Wed Jun 12, 2013 7:54 pm

Does anyone have the old Beta, the first to add the Namco 163 audio? I'm looking for the version that first had it, before the time-sharing sound was implemented that makes the 163 sound nasty.

User avatar
Dwedit
Posts: 4306
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: FamiTracker 0.3.8 beta

Post by Dwedit » Wed Jun 12, 2013 9:08 pm

In version 0.4.1 and earlier, you could force N163 to not use the time sharing system by a registry tweak:

Code: Select all

[HKEY_CURRENT_USER\Software\FamiTracker\Emulation]
"Linear Namco mixing"=dword:00000001
We all know that the real hardware sounds just as bad as the time sharing system, but using 6 or fewer channels is a good compromise. Except people keep making all these epic songs with too many channels, so they sound crappy.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
mikejmoffitt
Posts: 1349
Joined: Sun May 27, 2012 8:43 pm

Re: FamiTracker 0.3.8 beta

Post by mikejmoffitt » Wed Jun 12, 2013 9:38 pm

Dwedit wrote:In version 0.4.1 and earlier, you could force N163 to not use the time sharing system by a registry tweak:

Code: Select all

[HKEY_CURRENT_USER\Software\FamiTracker\Emulation]
"Linear Namco mixing"=dword:00000001
We all know that the real hardware sounds just as bad as the time sharing system, but using 6 or fewer channels is a good compromise. Except people keep making all these epic songs with too many channels, so they sound crappy.
Ah, neat. Thanks, that'll do the trick just fine.

I already made all my tracks with 4 or less channels, but it still does not sound very good. I will see if this sounds much better using 0.4.1.

CKY-2K/Clay Man
Posts: 215
Joined: Sun Apr 01, 2007 2:10 pm

Re: FamiTracker 0.3.8 beta

Post by CKY-2K/Clay Man » Sun Jun 16, 2013 2:10 am

That's what causes the nasty sounding harmonics in a >6 channel setting?
Image
Here to at least get an idea of how the NES works. I mean I know alot of the basic things, but this place'll help me grasp more how NES functions.
Major respect to NES developers.

User avatar
Dwedit
Posts: 4306
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: FamiTracker 0.3.8 beta

Post by Dwedit » Sun Jun 16, 2013 9:53 am

What causes the nasty sound is the way they did the mixing. Instead of adding the volume levels together, it just plays the volume level of each channel in a sequence. This is not all that unusual to do, even the SNES does that as well, but you need to do it really fast so that the artifacts are outside of the range of human hearing. The Namco chip doesn't do it fast enough when it's using 7 or 8 channels, but does when it's using fewer channels.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
Bregalad
Posts: 7879
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: FamiTracker 0.3.8 beta

Post by Bregalad » Sun Jun 16, 2013 10:35 am

You mean the SNES is "multiplexing" the outpout of every of the 8 channels in time, and that filtering of the output makes the average of it ? Interesting.

tepples
Posts: 21973
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: FamiTracker 0.3.8 beta

Post by tepples » Sun Jun 16, 2013 10:45 am

I don't think the Super NES does it because if it were true, mixing more than one sound into the echo buffer would fail, and I don't know how the S/PDIF mod would work. But based on how I remember the description of the Ensoniq DOC in the Apple IIGS Hardware Reference, it appears the DOC uses the N163 style multiplexer method. (Incidentally, the DOC is where I first learned of the delayed-by-one-byte memory readback that I would later come to learn is used in the NES PPU's VRAM interface.)

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

Re: FamiTracker 0.3.8 beta

Post by lidnariq » Sun Jun 16, 2013 10:50 am

To give a few more details: The N163 always produces audio at 120kHz. Always. But it's only a 4 bit × 4 bit multiplying DAC, not enough to play more than one channel with volume control at a time. So it rotates amongst the enabled channels.

At 1-4 channels, this time-division multiplexing is assuredly ultrasonic to all humans of all ages regardless of anything else. But 5-8 channels will produce switching noise at 24kHz (audible to very young children), 20kHz (audible to teenagers), 17kHz (audible to people who haven't been damaging their hearing with loud music), and 15kHz (audible to many). Due to the vagaries of how this works, it effectively modulates the intended audio content at the switching noise frequency, so a 1kHz sine wave used in a 8 channel context will produce sine waves at 1, 14, and 16 kHz.

ionustron
Posts: 34
Joined: Wed Apr 14, 2010 12:25 pm

Re: FamiTracker 0.3.8 beta

Post by ionustron » Sat Jun 22, 2013 8:45 pm

As someone who does not understand the hardware or assembly side of things (yea I know,) thank you for putting that into easier terms.

User avatar
mikejmoffitt
Posts: 1349
Joined: Sun May 27, 2012 8:43 pm

Re: FamiTracker 0.3.8 beta

Post by mikejmoffitt » Mon Jul 08, 2013 10:14 am

Having poked around the latest Famitracker source, it appears the control variable for switching on and off the time-share mixing is still in place. When I am home and have time to fight with it, I can see about changing it and compiling it.

Post Reply