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 FamiTracker
Login:
Menu:
Post: Author:
FamiTracker > General > Bug Reports & Feature Requests > Request: More powerful effects related to pitch Owner: Mr_Master New post
Page 1 of 2 Sort: Goto Page: [1] [2] Next >>
Request: More powerful effects related to pitch Posted: 2013-03-05 00:40 Reply | Quote
Mr_Master



Member for: 3521 days
Status: Offline

#45214
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.

Posted: 2013-03-05 04:15 Reply | Quote
Im_a_Track_Man

Avatar

Member for: 4137 days
Location: Plantation, Florida
Status: Offline

#45216
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)
Posted: 2013-03-05 11:08 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#45224
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.

Posted: 2013-03-05 12:37 Reply | Quote
Patashu

Avatar

Member for: 3749 days
Location: Sydney, Australia
Status: Offline

#45225
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...?

Posted: 2013-03-05 17:17 Reply | Quote
Mr_Master



Member for: 3521 days
Status: Offline

#45231
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.

Posted: 2013-03-05 23:33  (Last Edited: 2013-03-05 23:38) Reply | Quote
cak

Avatar

Member for: 4314 days
Location: oregon
Status: Offline

#45234
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.

Posted: 2013-03-05 23:38 Reply | Quote
Patashu

Avatar

Member for: 3749 days
Location: Sydney, Australia
Status: Offline

#45236
[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)

Posted: 2013-03-05 23:44 Reply | Quote
cak

Avatar

Member for: 4314 days
Location: oregon
Status: Offline

#45238
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.

Posted: 2013-03-06 00:34 Reply | Quote
Mr_Master



Member for: 3521 days
Status: Offline

#45240
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.]

Posted: 2013-03-06 04:39 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#45244
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.

Posted: 2013-03-06 04:47 Reply | Quote
Patashu

Avatar

Member for: 3749 days
Location: Sydney, Australia
Status: Offline

#45245
(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)

Posted: 2013-03-06 12:07 Reply | Quote
Mr_Master



Member for: 3521 days
Status: Offline

#45250
I understand rainwarrior. Thanks for pointing that out.

Posted: 2013-03-06 20:28 Reply | Quote
poodlecock

Avatar

Member for: 3398 days
Location: !wow
Status: Offline

#45253
[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
Posted: 2013-03-06 21:49 Reply | Quote
Mr_Master



Member for: 3521 days
Status: Offline

#45254
[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.

Posted: 2013-03-06 22:07  (Last Edited: 2013-03-06 22:54) Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4983 days
Location: Canada
Status: Offline

#45255
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.
Page 1 of 2 Sort: Goto Page: [1] [2] Next >>