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 > Alternating Speeds: Why does it work? Owner: Dullstar New post
Page 1 of 1 Sort:  
Alternating Speeds: Why does it work? Posted: 2015-04-05 21:22  (Last Edited: 2015-04-05 21:23) Reply | Quote
Dullstar



Member for: 3265 days
Status: Offline

#67867
I'm curious as to why these work, and the wiki doesn't really explain it at all. I've never cared much for "just accept that it works and move on."
http://famitracker.com/wiki/index.php?title=Common_tempo_values

Also, from the wiki:
[quote=]When the tempo is set 150 bpm, the "speed" values basically indicates how many "frames" (or updates to the audio engine) happen during one row. The "default" tempo is 150 bpm, because 60hz framerate = 3600 frames per minute, and (3600 f/min) / (6 f/row * 4 row/beat) = 150 beat/min. Other tempo values mean different frame/row values.

Problems may begin to appear when using tempo values that correspond to a number of frames per row in between two whole numbers of frames per row (e.g. 6 and 7, as is the case when using a tempo between 128 bpm and 150 bpm), in which case you get alternating rows of 6 and 7 frames (and it's difficult to predict which is going to be on any given row). The effect of this is that you hear slight unevenness in the tempo. This is especially noticeable when using single-row echo or fast arpeggios (using either instrument-defined arps or the 0xx effect). [/quote]
It says that "different tempo values mean different frame/row values," which isn't particularly helpful information. I assume what it's saying is that, when tempo is equal to 150, the speed value is equal to the number of frames per row, but what happens to the calculation when tempo is not equal to 150? Is 150 the only tempo value that works smoothly, or are there others that work smoothly?

RE: Alternating Speeds: Why does it work? Posted: 2015-04-05 21:41 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4983 days
Location: Canada
Status: Offline

#67868
It works because that's what Famitracker does internally when you use tempo values that don't amount to an integer value of frames per row. Alternating speeds simply makes this visual, which helps insert effects like Gxx or Sxx (or align instrument envelopes) more easily.

_______________________
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.
Posted: 2015-04-06 01:32  (Last Edited: 2015-04-06 01:33) Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#67877
Calculate the following:

(engine speed * song Speed) / (song Tempo * 24)

This gives you the number of engine cycles per row of pattern data in your song. If this is an integer value, then every note in the song will be a consistent length. If not, FamiTracker will internally round the timing of each note to the closest engine cycle possible, but it won't be perfect, and whether it is noticeable depends on how you're composing your song.

_______________________
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/
Page 1 of 1 Sort: