Questions about speed and tempo

General discussion about tracking, help and support.
User avatar
Gev
Posts: 5
Joined: Sat May 16, 2015 10:21 pm
Location: Louisville, KY

Questions about speed and tempo

Postby Gev » Sun May 17, 2015 1:27 am

I have a question about the explanation about tempo and speed on the wiki. I hope this is the correct place to post.

From the page Effect Fxx:
It says is that, when 4 rows represents one beat:

Tempo = 900 ÷ Speed (NTSC)

This implies that if you change the speed, you also change the tempo, or if you change the tempo, you also change the speed. So if the default speed is 6 and the default tempo is 150, then you use an F04 command to set the speed to 2/3 what it was, then the tempo [by this formula] should increase by a factor of 3/2, to 225. So now the tempo is 225. or is it? if you use an FE1 command to set the tempo to 225, which it already should be, the BPM readout changes from 225 to 337.5.


I think what the formula should say is:
for ntsc:
BPM = 6 x Tempo / Speed

where changing the tempo does not change the speed and changing the speed does not change the tempo [they would just affect the bpm].


Then the wiki gives another confusing formula:

Tempo = 2.5 * Clock speed ÷ Speed (user-defined clock speed)

let's define a clock speed of 60 [ntsc], and compare it to the previous given formula:

900 / speed = tempo = 2.5 * 60 /speed

so...
900 / speed = 2.5 * 60 /speed

multiply both sides by speed...
900 = 2.5 x 60

simplify the right side...
900 = 150

well, thats clearly not accurate.

i've tried setting a custom enging speed, anywhere from 25 to 400 hz. but it never seems to affect either the bpm readout or how fast it plays.

i think there may be a problem with the information on this page. any help?

User avatar
Stratelier
Posts: 378
Joined: Sun Apr 26, 2015 7:46 pm

Re: Questions about speed and tempo

Postby Stratelier » Sun May 17, 2015 2:37 am

Where to start ...

At the default settings (Speed 6) your song Tempo is the actual BPM of the song. Engine speed makes almost no difference here because FamiTracker, by design, aims to achieve the stated Tempo of your song; engine speed simply determines how accurately FamiTracker can do that. E.g. under the NTSC engine, any tempo that doesn't multiply evenly into 900 BPM (which is derived from engine speed / song meter, btw, i.e. 60Hz / 4 rows per beat = 3600 per minute / 4 per beat = 900 beats per minute) means that the timing of each beat won't be exact but instead rounded off to the nearest engine cycle. For example, if you're playing a song at 200BPM, then there are 4.5 engine cycles between each row, which means that while quarter notes (beats) and eighth notes are exact, sixteenth notes are ever so slightly off timing (but whether you'll actually notice this while the song is playing varies).

Gev wrote:From the page Effect Fxx:
It says is that, when 4 rows represents one beat:

Tempo = 900 ÷ Speed (NTSC)

This implies that if you change the speed, you also change the tempo, or if you change the tempo, you also change the speed. So if the default speed is 6 and the default tempo is 150, then you use an F04 command to set the speed to 2/3 what it was, then the tempo [by this formula] should increase by a factor of 3/2, to 225. So now the tempo is 225. or is it? if you use an FE1 command to set the tempo to 225, which it already should be, the BPM readout changes from 225 to 337.5.


This is because Speed and Tempo are two independent parameters and setting one does not cause the other to return to its "default" value. Here's what's happening internally when you do those steps:

1 - Your song Speed/Tempo are initially 6/150.
2 - F04: Speed = 4. Your song is now playing at 150% Tempo, and your effective BPM is 225.
4 - FE1: Tempo = 225. However your Speed still remains at 4 where you last set it; your song is still playing at 150% Tempo, so the effective BPM is indeed 337.5 .

Aside: Egad, the writeup for that page is horribly confusing and the whole spiel about how one "should" set their tempo is completely missing the point of the effect.

jsr
Site Admin
Posts: 112
Joined: Tue Jan 06, 2015 1:25 pm

Re: Questions about speed and tempo

Postby jsr » Sun May 17, 2015 10:29 am

Gev wrote:From the page Effect Fxx:
It says is that, when 4 rows represents one beat:

Tempo = 900 ÷ Speed (NTSC)

I think what the formula should say is:
for ntsc:
BPM = 6 x Tempo / Speed

Yeah your last formula is correct, that's how the BPM calculation is done (with the default row highlight setting of 4). It seems the first one assumes tempo 150 is used, I agree it's confusing and perhaps it should be replaced.

Gev wrote:Then the wiki gives another confusing formula:

Tempo = 2.5 * Clock speed ÷ Speed (user-defined clock speed)

This is also wrong, the proper formula should be:

Tempo = 2.5 * Clock speed

or more useful:

Clock speed = Tempo / 2.5

This is used to find stable tempos other than 150 BPM, i.e. tempos where all rows have the same duration. For example if you want 155 BPM, set tempo to 155 and engine speed to 62 Hz.

At the moment the engine rate is limited to integer Hz's which limits the number of BPMs available, but this will change in an upcoming release and will give access to any BPM.

Thanks for pointing this out, I'll clarify on the wiki.
Famitracker developer

User avatar
Gev
Posts: 5
Joined: Sat May 16, 2015 10:21 pm
Location: Louisville, KY

Re: Questions about speed and tempo

Postby Gev » Sun May 17, 2015 2:52 pm

Tempo = 900 ÷ Speed (NTSC)
If this assumes a tempo of 150 is used, then it's really saying that 150 = 900 / speed, which is a silly way of saying speed = 6, which is not really a formula and more of a constant. Also, this formula makes speed and tempo dependant variables, and as Stratelier pointed out "Speed and Tempo are two independent parameters and setting one does not cause the other to [change]".

Im having trouble setting the engine speed to 62. one pixel of mouse movement seems to move from 61 to 64. is there a windows or mouse setting i need to change?

im also confused about the formula: Clock speed = Tempo / 2.5
This defines clock speed as a function of tempo [dependant]. so if i change the tempo under song settings, i change the clock speed. but thats not correct, is it?

Thank you, Stratelier, for explaining how tempo works. what about speed? what does it do and how does it work? i would guess that it alters the effective tempo, where effective tempo = tempo * (6 / speed), because you said that at speed=4 the tempo was effectively 150%, though the actual tempo value/paramater does not change.

User avatar
MovieMovies1
Posts: 98
Joined: Mon Apr 20, 2015 6:20 pm
Location: Norway
Contact:

Re: Questions about speed and tempo

Postby MovieMovies1 » Sun May 17, 2015 3:16 pm

Gev wrote:Im having trouble setting the engine speed to 62. one pixel of mouse movement seems to move from 61 to 64. is there a windows or mouse setting i need to change?


The cursor keys give you fine control over the engine speed setting.
[INSERT SIGNATURE HERE]

User avatar
Stratelier
Posts: 378
Joined: Sun Apr 26, 2015 7:46 pm

Re: Questions about speed and tempo

Postby Stratelier » Sun May 17, 2015 4:48 pm

Gev wrote:im also confused about the formula: Clock speed = Tempo / 2.5

This formula will calculate an engine speed that gives you exactly 6 engine cycles per row (at 4 rows per beat). I'm not entirely sure where the 2.5 derives from, but the numbers work.

Thank you, Stratelier, for explaining how tempo works. what about speed? what does it do and how does it work? i would guess that it alters the effective tempo, where effective tempo = tempo * (6 / speed), because you said that at speed=4 the tempo was effectively 150%, though the actual tempo value/paramater does not change.

That is exactly what the Speed setting does, alters the effective tempo. It basically has two practical uses:

1 - When your tempo = (2.5 * engine), (e.g. Tempo 150 NTSC engine) Speed matches the actual # of engine cycles per row, giving you an alternate means of controlling your song tempo (e.g. Speed 7 Tempo 150 corresponds to 7 engine cycles per row, and yields an effective BPM of ~128). This is useful if you use a lot of frame-dependent effects because it guarantees that every row lasts a predictable number of cycles. It's also probably more authentic to how NES music was actually written back in the actual NES days (vsync was commonly used to time the audio output). And it's what the entire latter half of the Fxx page is talking about.

2 - Working in non-default song meters -- e.g. if you have Speed 3 Tempo 150 but write the song around 8 rows per beat (instead of the default 4) then you get effectively 150BPM except each beat is divided into 32nd notes (instead of 16th notes). By extension, Speed 1 Tempo 150 (NTSC) allows you to write a song at the raw engine speed if you want to do that.

User avatar
Gev
Posts: 5
Joined: Sat May 16, 2015 10:21 pm
Location: Louisville, KY

Re: Questions about speed and tempo

Postby Gev » Sun May 17, 2015 9:45 pm

thank you very much

jsr
Site Admin
Posts: 112
Joined: Tue Jan 06, 2015 1:25 pm

Re: Questions about speed and tempo

Postby jsr » Sun May 17, 2015 10:18 pm

Stratelier wrote:I'm not entirely sure where the 2.5 derives from, but the numbers work.

2.5 is equal to 60 (seconds / minute) divided by 24 (ticks / beat). 60 since BPM means beats per minute (and engine speed in Hz is equal to ticks / second). 24 comes from 6 (default speed setting) multiplied by 4 (default number of rows / beat), with the result of 24 ticks / beat.
Famitracker developer


Return to “General Talk”

Who is online

Users browsing this forum: No registered users and 1 guest