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
As we all know, 150 tempo, speed 6 and 60Hz engine will give you a 150 BPM song...
But the real Hz of the NES is 60.0988138974405. At this Hz, you would get a 150.247 BPM song instead of a 150 BPM song - 0.165% faster. It sounds like a nitpick - but sometimes you need to know the exact BPM, such as if doing rhythm game work or if you're combining an export from Famitracker with another song entirely.
So when I am
1) exporting as mp3
2) watching in Famitracker
3) exporting as nsf then playing it back in an nsf player
what BPM would I see in each of these cases?
thats a good question. maybe you could do an experiment and let us know what you find. i'm guessing it would be 150 in any facet of using FT. are you making a rhythm game for nes?
There isn't much you can do about this. The NSF spec stores the refresh rate as an integer, so there's no way to achieve the NES's true refresh rate unless the player provides an option to ignore that value and use vsync instead.
When it comes to playing NSF on hardware, the PowerPak has an internal timer which means it plays NSFs at the specified refresh rate (default 60 Hz for NTSC). The TNS-HFC3, on the other hand, does not, so it will always play NSFs slightly faster than most NSF players, as you pointed out in your initial post.
To answer your question, I don't think this should bne too much of a concern - if you use vsync as your timer, you don't have to worry about syncing you visuals to audio in a rhythm game since vsync means the audio engine updates at the same time as video.
_______________________
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.
What about a rhythm game in windows like Stepmania using a .wav export?
In which case, if it does turn out that wav export does it at NTSC instead of 60hz, then it's probably be easiest to edit and time correct the file in a sound editor before using it in your project which probably won't handle non-integral tempi very well
if he's a stepmania user then he'll do what an sm user would do with an audio file. it handles bpm to increments of .01, but that isn't accurate enough, so sm users would set multiple bpm markers as needed.
My point was that relying on vsync or even modifying the FT code to have an external callback function may not be an option for certain uses of the music.
Since 60.1 is faster than 60, I think it would be possible to resample the PCM audio without a noticeable difference in quality (the pitch difference between the frame rates is also relatively negligible...less than 3/100 semitone's worth). However, I think there was also an issue with Famitracker dropping frames every minute (perhaps this isn't applicable to t150, don't remember).
The NSF spec lets you specify the frame length (with a 1MHz resolution), and its exported NSFs specify 60Hz.
You only get the ~60.1Hz if you play it on an NSF player that does not respect the specified speed (e.g. TNS-HFC3).[/quote]
Thanks, good to know that it's like this.
[quote=jrlepage]There isn't much you can do about this. The NSF spec stores the refresh rate as an integer, so there's no way to achieve the NES's true refresh rate unless the player provides an option to ignore that value and use vsync instead.
When it comes to playing NSF on hardware, the PowerPak has an internal timer which means it plays NSFs at the specified refresh rate (default 60 Hz for NTSC). The TNS-HFC3, on the other hand, does not, so it will always play NSFs slightly faster than most NSF players, as you pointed out in your initial post.
To answer your question, I don't think this should bne too much of a concern - if you use vsync as your timer, you don't have to worry about syncing you visuals to audio in a rhythm game since vsync means the audio engine updates at the same time as video.[/quote]
What if you implement the NSF in an NES game and run it on a real NES? Will it run on the specified rate or 60.1 Hz considering its intended for NTSC systems.
_______________________
You shouldn't be here.......
[url=http://www.youtube.com/user/mmkthecoolest/videos]YouTube
[url=https://www.dropbox.com/sh/ilt1awj3tbz153r/AABpFdfVS0uviRdXNikitwpxa]Dropbox
The actual speed for playing from famitracker and WAV export (both is identical) is close to 60.0011Hz, not exactly 60Hz due to rounding. This means a BPM of 150.0028. NSF exported files is slighly off due to the separate 1 MHz clock, but still very close: 60.0024Hz (BPM of 150.006).
The difference should be way too small for anyone to notice.
[quote=mmkthecoolest]What if you implement the NSF in an NES game and run it on a real NES? Will it run on the specified rate or 60.1 Hz considering its intended for NTSC systems.[/quote]
An NSF running on an NES will run at the NES's refresh rate (60.0988138974405 Hz).