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
Truth be told, it can probably be a LOT more accurate, as you will probably learn soon from our good 'ol friend nicetas, the resident expert on super accuracy. But this is nicely done, great work.
I have a copy of someone else's version of this song, if you'd like to compare (it should also be floating around on this forum somewhere). I don't remember who did it, exactly, but it's a bit more accurate.
Mind you, it's accurate enough for a beginner. There's still much to work on in terms of accuracy, but it's still noteworthy.
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!
Thanks guys. Well, I'm a bit of a programming geek, and the goal with this is frame accuracy. The only things I'm not too sure about in that regard is differences in the original engines pitch vibrato and bend function and famitracker's methods for these. My ears can't tell a difference at this point, but I gladly welcome better ears.
It's worth noting there is a strange bit where a note cut is given in the original, but is ignored for one reason or another allowing you to hear the duty change at one part. In this case I left the mute out so it acts how it originally executes.
Another oddity is that volume/envelope changes aren't as common as one would think in the original.. This was left as is for accuracy.
The main thing to worry about when regarding SUPER accuracy is the volume envelope, and the fine pitch. Tempo is also important, but it's also kind of a given. The same principle applies to correct note placement, correct duty switches, etc..
I know that you can use nsf2midi and Anvil Studio to get all of this information, but it's tedious as all hell. nicetas_c has a conversion table up somewhere for volume envelopes, it would probably be helpful if you're used to editing events and making conversions.
I'm curious though, is there anything interesting you've done programming wise? I would love to check out your work.
[quote=tadpole]It sounds pretty accurate to me, except for the wrong note (pattern 0B and 17, row 16 & 19, the E should be a D#, shouldn't it?)
[/quote]
Yeah, E <-> D# there. I found that one soon after posting, it's already fixed.. Also found an issue with the lead where I set vibrato where it's only set on the other pulse, as well as another mute there I missed.
The harmony still needs some revamping, as the envelopes operate differently than I assumed at lower volume settings. (Rounded divide, rather than subtraction) Cool feature though.
The lead is as good as it gets at this point (exported nsf, then wave, dumped to wave from original as well, compared in audacity last night after uploading here).
Have work now.. I'll probably fix up the harmony track tonight.
also, nice work for a beginner.[/quote]
Indeed nice work for a beginner.
And here are what you can spell with NICETAS in Scrabble:
ACETINS
CANIEST
CINEAST
yeah what about that spelling you wrote
So no nicetas rage or what this time. You have been too lucky, slick0 - once I get the mood, the rage 'will consume you all'.[/quote]
Hehe, seems you have a bit of a reputation around here. I guess I should be happy that the typo getting the rage was not the E <-> D#.
Honestly though, since this is a project with the crazy goal of frame accuracy, it can use all the scrutiny it can get. I'd be happy for some "FRAME 1634 ON THE HARMONY IS WRONG! HOW DARE YOU!".. And at that point, it's more helpful than an 'inb4, it's wrong, trust me' post.
The channel swap I nearly forgot about.. It was a mistake from very early on that I just went with.. I'll probably fix this last.
I'm trying to figure out how envelope 03 is wrong.. Bytes $84,$10 are setting the volume curve for it in the original engine, with the note starting a frame late. $84 is length = move down every 4 frames, $10 (only high bits) = one step every length interval. It and a few envelopes are probably longer than ever used in the song, but were generally following the engine.
And for sure, vibrato is something I need to go through more precisely.
The envelope itself isn't wrong, but the channel volume does NOT do direct offset, so FEDCBA9876543210 will become A988766544322110 instead of A987654321000000, making the A#3 on SQ1 Pattern 03 Row 0A incorrect.
Now here is a bad news: See some long notes in the triangle channel? (e.g. Pattern 03 Row 1E) For all triangle notes in this song which take up a 4th note, their duration is not 19 frames, it should be approximately 682 × 20 ÷ 832 frames (after some preposterous observations with foobar2000's spectrogram), which is approximately 16.4 frames for our convenience. In this case a custom clock speed will be used, but then all envelopes will be screwed up - of course including that 4F2, which is already fast, and the clock speed we use is probably 050D (300.0300 Hz), so everything will be 5x faster.
it's best that you redo the whole thing in 900 BPM.
In case you don't understand, I made a WIP cover, but it hasn't even been fine pitched, and the vibrato lead hasn't debuted either.
Also I have fine pitched the triangle toms towards the end, and that's the only thing I fine pitched.
Very nice. I'll be honest. I don't take covers all *that* seriously, because it's just something I do in my spare time. I am usually writing my own stuff. A fraction of that 'stuff' is on Famitracker.
[quote=nicetas_c]The envelope itself isn't wrong, but the channel volume does NOT do direct offset, so FEDCBA9876543210 will become A988766544322110 instead of A987654321000000, making the A#3 on SQ1 Pattern 03 Row 0A incorrect.
Now here is a bad news: See some long notes in the triangle channel? (e.g. Pattern 03 Row 1E) For all triangle notes in this song which take up a 4th note, their duration is not 19 frames, it should be approximately 682 × 20 ÷ 832 frames (after some preposterous observations with foobar2000's spectrogram), which is approximately 16.4 frames for our convenience. In this case a custom clock speed will be used, but then all envelopes will be screwed up - of course including that 4F2, which is already fast, and the clock speed we use is probably 050D (300.0300 Hz), so everything will be 5x faster.
it's best that you redo the whole thing in 900 BPM.
In case you don't understand, I made a WIP cover, but it hasn't even been fine pitched, and the vibrato lead hasn't debuted either.
Also I have fine pitched the triangle toms towards the end, and that's the only thing I fine pitched.[/quote]
I see. I knew at least envelopes would need to change for the lower volume parts, noticed that last night.. Wasn't sure it would require frame by frame stepping, though, but for other reasons you mentioned, it seems to be the way to go. Oh the joys of going for a direct port from one engine to another
I have foobar2000, have to check out its spectrogram. I'll need to check out some of the other tools mentioned, too.
Mind if I use your WIP as a starting point for the redo?