Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29
The reason I am requesting this is because of the "inverted" frequency register of the N163 and other expansions(perhaps) which makes them particularly useless at high pitches when you need to use pitch bends, vibratos, and so on(put a Q7F effect and it will still be slow).
The letters can be discussed, or maybe there could be an additional effect which triggers a more sensitive behavior on the existing pitch effects(1xx, 2xx, 3xx, 4xy, Qxy, Rxy). The rate for this "more sensitive" trigger could oscillate between 2 and 8 or perhaps other values so people can do crazy stuff with them. This would achieve a better vibrato or pitch bend with a bigger width and easier implementation(for us slothy users), since the only way to currently emulate this in FamiTracker is to set speed 1 or a new instrument with pitch macros.
However, I'm afraid this would need a whole change to how the current effects work, which can lead to unexpected results. Plus, if new letters are used, this will leave little room to upcoming and more necessary effects.
This is more specific for N163 emulation, but can be used for other hardware as well.
Well, other expansions (FDS, and from what I've heard, the Sunsoft5B) have the expansion specific effects of H, I, and J. Perhaps JSR can make this N163 specific (since that's what you say it's more geared toward), seeing as it doesn't seem to use these effects yet.
Hxx = "sensitive pitch up"
Ixx = SP down
Jxy = extreme vibrato.
Exx = reused as a sensitivity modifier for 1xx, 2xx, 3xx, Qxy, and Rxy.
_______________________
[BURNING LOVE]
[url=http://www.youtube.com/user/ImATrackMan]YouTube
[url=https://twitter.com/ImATrackMan]Twitter (Stay off my lawn, kids)
It would be nice if you could set the pitch very precisely for N163 like you can with the other chips. N163 actually has 18 bit frequencies, which is unusually high for a Famicom audio chip. Pxx is good enough for most others, but for the N163 it's maybe not. Separate effects for coarse and fine pitch may be worthwhile here.
Unfortunately the problem carries over to every pitch related command, as you've pointed out. As well the ability to select different numbers of channels makes it even trickier, as the scale is relative to the number of channels too. At least for the time being there are instrument macros, which aren't as easy to use as effects but are ultimately more powerful if you can spare the instrument slots.
Shouldn't it be able to go the other way too - for example, pitch bending between two very high octaves notes on a 2a03 square happens almost instantly due to how close in value they are. What if I wanted it to be one unit every two ticks or three ticks or...?
All of your thoughts on this are really nice, so they can be added to my main idea. IaTM specified some letters, which could be useful for N163 specifically. Patashu, yes you are right, this can be done the other way around since the 2A03 makes pitch bending really fast at high frequencies which also renders them useless. But as rainwarrior said, instruments can emulate this ultimately powerful, but the problem there is that we would need to make too many instruments, eventually running out of slots. The effects would be very useful to compensate this, but changing the current effects would cause a lot more problems. We should see what jsr thinks about this.
Sorry if I sound like a broken record here, but maybe all pitch effects could go "cents" based, wherein there are always 100 fine adjustments per note regardless of chip (coarse approximation in some cases, naturally), and there could be a separate effect for accessing register values (maybe with a 16-bit extension like b00daw described). If people preferred register-based effects, they could use the "old mode" which is entirely vice-versa.
I guess it would be a significant change in the code though.
[quote=cak](Sorry if I sound like a broken record here, but) maybe all pitch effects could go "cents" based, wherein there are always 100 fine adjustments per note regardless of chip, and there could be a separate effect for accessing register values (with a 16-bit modifier like b00daw described). If people preferred register-based effects, they could use the "old mode" which is entirely vice-versa.
I guess it would be a significant change in the code though.[/quote]
I think the reason why pitch effects aren't 'cents' based is because it would require the nsf engine Famitracker compiles to do logarithmic calculations, which is... not an ideal situation (especially for the worst case of a full multichip nsf doing 20+ logarithmic calculations a tick)
Well if the nsf engine had to be rewritten then obviously that's not a very viable solution. I guess I assumed all the calculation would be in Famitracker rather than the engine itself.
That's weird. The NSF engine shouldn't be tweaked that much since it would cause two problems:
1.- An army of bugs with some important and already existing features.
2.- Too much CPU usage in the case of complex calculations such as the logarithmic ones you described, which can make the program and perhaps the computer itself crash. Plus, if this were to be emulated in real hardware, it would be a bunch of problems.
Accessing values from the frequency register by using effects would be cool, but I don't know if this would help that much in the idea I had. Correct me if I'm wrong please.
[This is still very interesting guys. If you can add more valuable information it would be neat, since I'm somewhat interested in this stuff.]
I don't think the CPU time is really the issue for logarithmic/non-logarithmic pitch control.
The way it is, you get a very straightforward 1:1 mapping between the numbers you put into effect params or macros and the actual numbers going into the NES.
If you switch to a MOD style pitch control instead, where it's logarithmic increments, the actual mappings of pitch values to NES registers becomes extremely cryptic.
So... these two goals are in conflict with each other. The former is much more in line with music in NES games (it's simpler to code, and more straightforward if you're trying to manipulate the hardware). The latter is abstracting the hardware away so you can just think about pitch itself.
(If logarithmic pitch control ever DOES get implemented, can smooth pitch bends of an arp/between arps without needing speed 1 + a calculator be implemented? thx)
[quote=Im_a_Track_Man]Well, other expansions (FDS, and from what I've heard, the Sunsoft5B) have the expansion specific effects of H, I, and J. Perhaps JSR can make this N163 specific (since that's what you say it's more geared toward), seeing as it doesn't seem to use these effects yet.
Hxx = "sensitive pitch up"
Ixx = SP down
Jxy = extreme vibrato.
Exx = reused as a sensitivity modifier for 1xx, 2xx, 3xx, Qxy, and Rxy.[/quote]
The Sunsoft 5B indeed uses Ixx and Jxx. I can't figure out what Hxx does. (Ixx is speed, Jxx is type. J00-J03 is decay, J04-J07 is attack.) Anyways, who the hell am I to talk about settings that might change later on hahaha
_______________________
"im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to." -omgdonut
[quote=poodlecock]The Sunsoft 5B indeed uses Ixx and Jxx. I can't figure out what Hxx does. (Ixx is speed, Jxx is type. J00-J03 is decay, J04-J07 is attack.) Anyways, who the hell am I to talk about settings that might change later on hahaha[/quote]
I think you are talking about the wrong chip, because decay and attack are more specific for FM synthesizers, and clearly the 5B is not one of them. One of the effects might be used for mode(PSG, noise or envelope), but really, attack and decay are more for FM synthesizers.
I hope this makes it clear. Now, everyone, get back on topic! We must wait until jsr replies to see what he thinks(about the main idea plus all of your contributions). Thanks to everyone for posting.
5B Hxx/Ixx control envelope speed (two effects are required because the envelope uses 16-bit values).
_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.