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 > FamiTracker Talk > Frequency of vibrato and tremelo effects? Owner: Stratelier New post
Page 1 of 1 Sort:  
Frequency of vibrato and tremelo effects? Posted: 2014-10-05 20:35 Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#62508
What are they? I was wondering about this the other day (in the "this should be covered in the FT wiki" sense) ... you specify a frequency in terms of 0 through F but as for what it means specifically that is hard to tell.... I have at least two songs where I'd like to apply these effects but I end up doing them 'manually' because it's more important for that specific song that they are aligned on row boundaries.

So it would be nice to have a table showing what these values are (both in terms of engine cycles and BPM), or at least just know them....

_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
Posted: 2014-10-05 21:53 Reply | Quote
Xyz_39808

Avatar

Member for: 4180 days
Location: South Texas
Status: Offline

#62509
I agree that this info should be in the wiki. Here are Hertzdevil's findings. Either through nsfimport or studying the code


Attachments:
ft_4xy_effect.ods (34 Kb)
ft_7xy_effect.ods (22 Kb)
ft_7xy_effect.txt (27 Kb)
ft_4xy_effect.txt (30 Kb)
Posted: 2014-10-05 22:30 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#62510
It works like this: a full vibrato cycle is 64 steps. When using it at speed 1 (41X), the phase of the cycle is incremented one step/tick. The resulting period is then (1 / 60) * 64 = 1.07s (or 0.93Hz). For PAL it's 1.28s (0.78Hz).

The speed setting selects how many steps to increase the phase for each tick, so it acts as a divisor. At speed 2 it's half the period, 0.53s, and speed 3 it's 0.36s, and so on. At 15 it's 0.07s.

_______________________
Programmer and developer
Posted: 2014-10-05 22:39 Reply | Quote
za909

Avatar

Member for: 3963 days
Location: Hungary
Status: Offline

#62512
Oh that's very useful to know if you want to cover songs accurately, since who knows if their vibrato routine does things similarly or not. One things I'd like to suggest though is resetting the "sofware LFO" for vibrato or tremolo if a new 7xx or 4xx command is read. This way people could still choose not to reset it on every new note by only having it where they want it to start.

_______________________
Rectangular sh*t ©
Posted: 2014-10-06 06:07  (Last Edited: 2014-10-06 06:09) Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#62527
[quote=za909]One things I'd like to suggest though is resetting the "sofware LFO" for vibrato or tremolo if a new 7xx or 4xx command is read. This way people could still choose not to reset it on every new note by only having it where they want it to start.[/quote]
I actually have a few songs which issue several vibrato commands across a single note (increasing the depth over time) and I certainly would [i]not[/i] want it resetting the vibrato phase each time. A new note can reset the phase, as can an outright 400 command, but not just any 4xx command.

_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
Posted: 2014-10-28 20:45  (Last Edited: 2014-10-28 20:46) Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#63180
[quote=jsr]It works like this: a full vibrato cycle is 64 steps. When using it at speed 1 (41X), the phase of the cycle is incremented one step/tick. The resulting period is then (1 / 60) * 64 = 1.07s (or 0.93Hz). For PAL it's 1.28s (0.78Hz).

The speed setting selects how many steps to increase the phase for each tick, so it acts as a divisor. At speed 2 it's half the period, 0.53s, and speed 3 it's 0.36s, and so on. At 15 it's 0.07s.[/quote]
About time I crunched those numbers ... given a fixed engine speed and a specified vibrato speed, the 'vibes per minute' is:

[b]Effect tempo = 15/16 * (engine speed) * (effect frequency)[/b]

So, e.g. under an NTSC (60Hz) engine, a vibrato speed 8 yields 450VPM whereas under a PAL (50Hz) engine it yields 375VPM.

I have one question -- would it be easier if the vibrato and tremelo operated in loops of 60 cycles instead of 64? 64 is obviously only divisible by powers of 2, whereas 60 is evenly divisible by 2,3,4,5,6 which would make it much easier to synchronize a vibrato/tremelo with specific notes in a song (at integral tempos, at least).


_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
Posted: 2014-10-30 21:06 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#63202
Yeah that is correct.

Perhaps it would be easier, but the reason for 64 steps was to keep the NSF code simple. Other sizes is possible as well but at the cost of more complicated code.

_______________________
Programmer and developer
Page 1 of 1 Sort: