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.
In version 0.4.1 and earlier, you could force N163 to not use the time sharing system by a registry tweak:
Code:
[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.
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:
[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.
That's what causes the nasty sounding harmonics in a >6 channel setting?
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.
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.
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.)
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.
As someone who does not understand the hardware or assembly side of things (yea I know,) thank you for putting that into easier terms.
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.