I was aware that the more accurate emulation probably wouldn't be well received, but my opinion is that the emulation should be as true to the target hardware as possible, as that's what the music essentially is written for (and not NSF players/format or famitracker's internal audio generator).
Sure it would be easy to add a switch to turn it off, but my concern is that as this hides the problem rather than solves it (where the real solution is to reduce the amount of channels), it will cause people to simply ignore this shortcoming rather than actually consider if they really need 8 channels (which is possible, but won't sound good at all).
This is my viewpoint, if you think you have good arguments against it then I'll consider adding an option. I should probably add that I do not have anything against audio enhancements like that, but such options are better suited for NSF players (where it's up to the user) rather than in the composing tool.
InterrobangPie wrote:
I'm guessing this is a bug (the latter point surely is a bug - flat waveforms are supposed to be silent).
This is not a bug, the noise comes from the channel switching itself and not the waveform. As long as there is different waves on different channels there will be audible noise. Try playing the same wave on all channels simultaneously.
Sure it would be easy to add a switch to turn it off, but my concern is that as this hides the problem rather than solves it (where the real solution is to reduce the amount of channels), it will cause people to simply ignore this shortcoming rather than actually consider if they really need 8 channels (which is possible, but won't sound good at all).
Yea, I can dig it. This thought also crossed my mind.
I clearly listed several shortcomings in your viewpoint earlier, but here they are again:
-The N163 hiss is inaudible on real hardware unless you go out of your way and mod your Famicom to add A/V output to it.
-The N163 hiss is not implemented in NSF players.
-99% of people write music with the intent of distributing their music in NSF format, NOT to play them on real hardware. See above argument.
-The N163 hiss is a hardware defect that composers should only have to cope with if they want to.
-There have been reports of users getting disoriented and physically unwell after extended exposure to the N163 hiss.
-Informing the users that this is how the real chip operates AND not giving them the choice to avert it IS imposing your viewpoint on them. Fine, we know it sounds horrible on real hardware. We know the dangers of using 8 channels and then throwing an NSF at our Famicoms (because we all have one right). So we won't. It wouldn't matter if it was just some quirk that happens sporadically (such as the 2A03's phase reset when the high frequency bit is changed) or an adjustment like the old vs new VRC7 patches, but this particular situation is different, because it completely breaks ability to use the hardware, AND it's not something you have to endure if you're playing by the rules and using an RF Famicom anyway.
Now can we have the luxury of composing stuff on our PC without ear strain after 2 minutes of N163-ing pls? D:
jsr wrote:
Sure it would be easy to add a switch to turn it off, but my concern is that as this hides the problem rather than solves it (where the real solution is to reduce the amount of channels), it will cause people to simply ignore this shortcoming rather than actually consider if they really need 8 channels (which is possible, but won't sound good at all).
That all depends on how you word the option. If it's a dropdown menu with two options, have them read "Accurate emulation" and "Inaccurate emulation (no hiss)" or whatever. Then we'll know if our stuff is hardware-compatible or not.
You know, if you want FamiTracker to sound like RF out, you can open up the settings and crank up the LPF (I dunno, maybe -70db at 8000hz seems to do it about right).
But then FamiTracker output sounds different from NSF players, so that can't be a solution.
Honestly, have both emulations and let the bloody users choose for themselves. If users avoiding the problem instead of solving it is an issue for you, make the accurate setup the default one that's loaded when a new FTM is created, don't document the way to change the emulation (and make it obscure or something) and make it superobvious that removing the hiss results in inaccuracy. That way everybody wins.
Seriously, I'd be happy if the only way to change the emulation mode was to hex edit the exe or something like that, as long as there's a way for users who really know what they're doing to change it.
Yeah, I think if the people want the innacurate version, then they shouldn't put up with accurate hiss during composing. Since that's not what they are intending to hear.
Accurate sound emulation is pretty important. I would actually be rather disappointed if the switching noise was not present by default. The next version of NSFPlay will do this, when I get around to it.
That said, I consider FamiTracker foremost a tool for composition; and there are certain things that make composition easier. The ability to hear an accurate rendering of the sound is important for composition in this medium, but it is not the only thing that is important.
For instance, being able to mute channels is an extremely important feature. Actually, when trying to work on expansion hardware with many channels, I often wish I could have stereo mixing (and/or individual channel volumes) in FamiTracker, just so I can help my brain distinguish channels better while I'm trying to work on them.
What I'm saying is that sometimes the accurate rendering of sound is counter-effective for the act of composition, even if the intent is to have accurate rendering in the finished work. Does subjecting yourself to a piercing 15kHz tone for many hours help you compose? No, not at all.
8 channel N163s actually should be discouraged; King of Kings and Erika to Satoru no Yume Bouken probably do sound terrible on AV-modded Famicoms, and irritate people with modern TVs. The light gun is a similar problem. (I understand that AV modding is pretty common for Famicom, and it's wayyyy more common for people who like to play NSFs on their Famicom. Not to mention the later model Famicom HVC-101 which ONLY had AV out.)
Jrlepage, your repeated claim that it's inaudible on RF output seems kind of disingenuous-- especially since RF-style sounds are available in FamiTracker and you have an immediate objection to that too, for some reason. I think it is true that the noise is acceptably low under that situation, but this should not be exagerrated. Erika to Satoru no Yume Bouken actually has a fairly nice soundtrack that I wouldn't listen to at all if I had to do it through the 15kHz noise, but it's absolutely true that the audio circuit is generating that noise.
The argument about intended target seems a bit tiresome. There are several intended targets; hardware, NSF emulation, and just regular recordings as well-- FamiTracker is for all of these things. But hang on a second...
Yes, the majority of current NSF players are inaccurate. Many things about the N163 were not known properly until very recently. The txt documents on NESDev are wrong, and until I corrected it even the wiki page was wrong. A lot of old PPMCK NSFs were actually incompatible with hardware due to these mistakes. People weren't even calling it N163 until recently. I think FamiTracker should have a mandate to produce accurate sound, partly because this will help the NSF community get it right as the real properties of the hardware become more widely known.
In my opinion, accurate emulation of this sound with no option to disable it is better than the inaccurate version, but I don't see the need to enforce it. On by default is great; but an option to turn if off is extremely welcome, much like better interpolation in SPC players, or texture filtering on the PS2 when playing PSX games, etc...
Also, just drop one channel and it's a non-issue, guys. :P
Funny how the only practical way to hear your own N163 tunes on hardware happens to be emulation also. I agree that accuracy is important, but how likely is it that any N163 tune we make will be played on REAL hardware?
Well, the ONLY reason there exists such a thing as N163 audio in the NSF format is because it was a real piece of hardware that really made sound on a Famicom. Support was added to NSF players in an attempt to capture this real sound.
Now imagine if N163 had been the primary NES sound. It would be widely known, and most emulators would have gotten it right the first time. Everyone would know that 8-channel N163 sucks, and probably a lot of N163 players would have an easy-toggle option for RF sound. (NSFPlay has always had a "TV Sound" preset in the "Easy Setup" menu, by the way.)
I'm trying to imagine what this conversation would be like if the 2A03 channels were on an obscure Japanese expansion audio chip, and most emulators mistakenly gave them 4x the tuning resolution, and we were all suddenly exposed to the real thing for the first time. "Why do all the 2A03 high notes have to suck? They play fine in VirtuaN163!"
Questions about whether we will play them on real hardware is a bit oblique to the issue. NSF exists to simulate the hardware, to make the hardware sound easy to get. NSF was not created with the idea of producing the nicest sounding chiptunes; as is pointed out ever other day here, there are a zillion other solutions for that.
I love the idea of augmenting NSF playback with things that make it sound nicer (stereo sound, oversampling, N163 mixing instead of switching, reverb, etc.) but all that stuff really has nothing to do with NSF or FamiTracker. NSF is entirely about what the hardware is and does, and contains absolutely nothing more than that. That's its entire reason for being.
Anyhow, as I've said I'm fully in favour of an option to turn it off, but only because it is a universally unpleasant sound. I just think arguments that "well, most NSF players don't do it" and "we'll never play it on hardware anyway" are really against the entire spirit of NSF, which is what I thought we were here for, using FamiTracker instead of, say, Schism Tracker.
Questions about whether we will play them on real hardware is a bit oblique to the issue.
Yes, sorry. I really had no point there; just blurted out something. Sometimes I'll get bored at work and things like that happen.
rainwarrior wrote:
I'm trying to imagine what this conversation would be like if the 2A03 channels were on an obscure Japanese expansion audio chip, and most emulators mistakenly gave them 4x the tuning resolution, and we were all suddenly exposed to the real thing for the first time. "Why do all the 2A03 high notes have to suck? They play fine in VirtuaN163!"...
...I love the idea of augmenting NSF playback with things that make it sound nicer (stereo sound, oversampling, N163 mixing instead of switching, reverb, etc.) but all that stuff really has nothing to do with NSF or FamiTracker. NSF is entirely about what the hardware is and does, and contains absolutely nothing more than that.
Yea, I agree. I had made an 8 channel N163 tune I was bit proud of, which is now ruined, so I was against this change at first. However, I can see why jsr is hesitant to include the switch feature. FamiTracker is nearly the standard when it comes to making NES music; it's very widely used. The decision regarding the N163 switching vs mixing issue can potentially affect how everyone approaches this chip in the future. It's a fairly big, historic decision in a lot of ways. Honestly, if we could have a switch to turn the noise off, everyone probably always will. The whole procedure of the community finding creative and artistic ways to work around and exploit this N163 switching noise weakness will either recieve very little attention or likely not happen at all. I think this is important as far as the spirit of NSF is concerned.
Hmm. I forgot about the eventual fact that the NSF format/players will eventually have to be updated to include 8channel hiss. In which case, there would be no need for a turnoffhiss feature as when you play it back you'll hear the his anyway.
Sort of parallel to stereo in FT, the second that is implemented, you're already working outside the NES/famicom limits. If that is your goal, then export and work on the sound using your own method. FT should not be responsible for anything above and beyond what an NSF should be. And, when the format catches up with newly revealed info about hardware (including the possibility of VRC7 patches changing again) FT will already be ahead o the game by making 8channel N163 a very bad decision.
I redact my vote. If you want to disable hiss, make your own hack from the source code. FT is not responsible for this flaw.
If the chip produces hiss, then hiss is what Famitracker should have.
Not necessarily because this is the better option for people to work with, but rather because it's consistent with previous, similar decisions. The sound of VRC7 has been updated two times, and both times the presets ended up sounding completely different...and in my opinion, the patches sounded way better before the most recent update! Then the volume scaling changed, which completely changed the way that you had to handle volume even if you weren't exporting to NSF. That means less volume values to work with for everybody. But I'm not complaining because we're trying to write for a set of hardware, and as the emulation for that hardware gets more accurate, our tools will become more accurate. If we're going to forgo that accuracy for the sake of making something more ideal, then we need to also have an option to revert VRC7 back to how it was previously.
Besides which, N163 sounds fine with 6 channels. I don't care if I have to miss out on TWO WHOLE CHANNELS WHAT EVER WILL I DO WITHOUT PILES OF POLYPHONY IN MY NES SJDHSANFjkdlsjnkl
No matter what you guys say, subjecting yourself to 15 kHz of pure pain will never help composition in any way. The hiss should have the ability to be turned on/off just like I can turn channels on/off at will. That's not supported by hardware right? But that's no excuse, since it's a tool that helps you with your composition. Turning off the hiss should be treated the same. Like I said, make the warning that it's hardware-unsupported super conspicuous and everybody's happy.