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 > a formula for seamless custom tempos Owner: gyms New post
Page 1 of 1 Sort:  
a formula for seamless custom tempos Posted: 2011-09-05 11:04 Reply | Quote
gyms



Member for: 4183 days
Status: Offline

#22773
This may be common knowledge, but I just figured it out. It's a lot of help while working on a song where shuffling Fxx effects around still doesn't give you the tempo you need.

24 * (desired tempo) / 60 = (customized Hz setting)

I'm currently working on a tune where the only tempo that works is 140 at speed 2, in which my custom speed setting is 56Hz.

For those who aren't familiar, you can adjust this via Tracker > Engine Speed > Custom

FamiTracker seems to save these settings with the file, so no need to readjust every time you open up your ftm. The only problem I see with this is emulators and nsf players still playing your nsf at 50 or 60Hz. But using FT to render your tune would give flawless results as far as this is concerned.

Posted: 2011-09-05 16:04 Reply | Quote
MovieMovies1

Avatar

Member for: 4373 days
Location: Norway
Status: Offline

#22775
I have another way for ajusting custom engine speed perfect.

You set the speed to 15, this will make the tempo become 60, the same as the framerate. Then, you ajust the tempo to your desired tempo. If we take 135 for example, that equals 54 frames in a second. Now ajust the custom engine speed to the tempo you see in the lower right corner, in this case 54bpm. Now set the speed back to what you need, and just play around!

Posted: 2011-09-05 18:55 Reply | Quote
DalekSam

Avatar

Member for: 4280 days
Location: United Kingdom, Belfast
Status: Offline

#22780
Interesting, but I still prefer rational tempo for the fact that it is still compatible for NSF.

Nonetheless, something that's a bit easier for people that works, I guess.

Posted: 2011-09-06 01:31  (Last Edited: 2011-09-06 01:33) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#22787
Why is there a 24 in your formula? Shouldn't it be this:

E = custom engine speed to use
T = desired tempo

E hz = T bpm * 60 hz / 150 bpm

Edit: Never mind, it's the same forumla.

E hz = T bpm * 24 hz / 60 bpm
E hz = T bpm * 2 hz / 5 bpm
etc.

Also DalekSam, the custom engine speed is supported in NSF, even though it isn't supported by NES hardware.

Posted: 2011-09-06 02:10 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4982 days
Location: Canada
Status: Offline

#22791
[quote=rainwarrior]Also DalekSam, the custom engine speed is supported in NSF, even though it isn't supported by NES hardware.[/quote]
You're absolutely right, but few programmers bothered to throw custom engine speed support into their players. That's why I stick to 60Hz anyhow. Try listening to nicetas_c's Metroid 100% accurate cover in any other player than foobar2000 and you'll see what I'm on about... :/

Posted: 2011-09-06 04:15  (Last Edited: 2011-09-06 04:18) Reply | Quote
gyms



Member for: 4183 days
Status: Offline

#22795
So submitting a 56Hz nsf as a Famicompo entry wouldn't be the best idea...



edit: although, there isn't too much hiccup with tempo=140 @ 60Hz. Custom engine settings are great for when you plan on an mp3 or wav to be your final destination.

RE: a formula for seamless custom tempos Posted: 2014-06-02 09:40 Reply | Quote
angrybird_23

Avatar

Member for: 3963 days
Location: at the center of the earth
Status: Offline

#57902
that whole engine speed thing was really something that took me forever to find out about. i had to figure it out through rushjet1's songs. btw is that something the nes could do? i would like to make songs very authentic to the original nes but i'm not sure if that custom speed is possible for the nes. do you know and how do i find out? and don't tell me to google it. i've tried and nothing comes up. either that or it just leads me here.

Posted: 2014-06-02 20:20 Reply | Quote
jsr
Administrator

Avatar

Member for: 5924 days
Location: Sweden
Status: Offline

#57910
It can be done but it requires an additional hardware timer to generate the frequency, as the NES is lacking these (beside the internal 60 Hz timers). On the other hand most games had extra hardware to allow stuff the NES couldn't do on it's own.

But in practice, custom refresh rates was never used (as far as I know) since it would mean running the audio out of sync with the video hardware, which is problematic.

_______________________
Programmer and developer
Posted: 2014-06-03 04:20 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4982 days
Location: Canada
Status: Offline

#57928
For the record, the Power Pak allows you to play NSFs with nonstandard refresh rates. In my experience, it supports refresh rates way greater than what Famitracker lets you choose.

_______________________
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: 2014-06-03 14:41 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#57939
The timer on the PowerPak goes as high as 1,000,000 Hz, even though the NES isn't even fast enough to run an empty infinite loop at that rate.

Yeah, I still find it interesting that the NSF spec has the custom rate at all. I've seen one rip that used 30 Hz, which doesn't seem worthwhile (should have just wrote a divider routine). Disch eliminated it from NSFe because all the rips tend to have 16666 (60 Hz) instead of the more accurate 16639 (60.09Hz), so for him it seemed no setting at all would result in more accurate emulation.

Posted: 2014-06-03 19:03 Reply | Quote
jsr
Administrator

Avatar

Member for: 5924 days
Location: Sweden
Status: Offline

#57953
[quote=jrlepage]For the record, the Power Pak allows you to play NSFs with nonstandard refresh rates. In my experience, it supports refresh rates way greater than what Famitracker lets you choose.[/quote]
That is because the CPU is the actual limitation, not the timer. It's not very meaningful to allow rates that are guaranteed to not work, and even 400 Hz is likely too much when using expansion chips: it's up to the composer to check if an exported NSF really works when using a custom rate.

_______________________
Programmer and developer
Page 1 of 1 Sort: