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
I'll assume someone has attempted this track, given its everlasting fame... but after isolating the triangle channel, I've noticed a lot of little details you don't normally hear.
Some notes start high and quickly step down, some notes have a blip in the beginning, some in the middle, and some in the end.
Of course, I could just build a separate instrument for every time there's a discrepancy and shape them with an arpeggio, but this seems like an extremely inefficient way to go about doing it, especially considering it was originally done by a major game developer.
I guess what I'm wondering is whether or not someone knows of any tricks or seldom-used features that can help recreate this sound without jerry-building everything in the aforementioned manner.
Partial triangle channel track enclosed...
Thanks for looking!
Yeah and there's a great chance you won't ever get a hold of the composer, and even if you did I don't think he'd remember. Most composers don't remember much about their game music now because they don't care.
How come using the NSF importer is cheating, but asking someone else for help isn't?
When I used to transcribe things before I wrote the NSF importer, if something was hard to hear I'd usually use NSFPlug's slowdown feature. Now that I have the importer the process is so much easier though. Well, sorry, I'm going to cheat for you for the purpose of having something accurate I can explain.
Now... the blips in the bass on this track aren't really easy to do cleanly in FamiTracker... the sixteenth note is 7 frames long, and the blips take the first 2 of those 7. Ones without a blip are silent for those two frames.
So, what we have is really two independent lines being played through the triangle channel at different time slices. There's two approaches I would take trying to duplicate this.
A. Hide the blip line by making a lot of arpeggio instruments, show only the bass line, and run at a nice comfortable speed 7.
B. Show both the blip line and bass by alternating rows at speed 2 and 5 (F02, F05). You can see them both interleaved, and you don't need any extra instruments, but your row speed is doubled in a jittery way.
I kinda prefer the clean look of the speed 7 version, even though there's a tonne of instruments. I've kinda gotten used to having large banks of arpeggio instruments though.
That's a good point I had actually considered. :D
I hope you don't feel I was insulting your work - that wasn't my intention.
...but to answer the question, I prefer to use my own ears, when possible. Hearing what's happening wasn't my problem; it was approaching the task of putting it into the tracker in a way that wasn't overly-complicated and cumbersome I was iffy about.
As for the importer, I'll probably check it out for curiosity's sake. It sounds like an impressive hunk of code.
Input assimilated, sir! I appreciate the replies from the both of you!
Now back to work!
I wasn't insulted, I just wonder sometimes why people draw rather arbitrary lines, like... is it okay to mute/isolate a single channel, is it okay to use slowdown, is it okay to use an automated tool like the NSF importer?
I dunno, I've done a lot of by-ear transcriptions over the years. It's good practice, but there is a point when I don't feel like I'm learning a new skill so much as just spending time on it. Back in high school I used to transcribe from tapes on my walkman, rewinding over and over, or just put my Super Nintendo on and listen to the music loop.
If I have to do it by ear, I will, but I'm actually really glad that I can speed up the process when it comes to NES music now. Also there's a lot of stuff I've found with it that I would have never caught by ear. The opportunity to see what's going on so accurately has been very eye-opening.
I'm covering old NES songs in an attempt to learn the software so I can write my own music with it and not sound like a total noob in the process. The way I see things, the best way to learn how to do something is to first try and duplicate the work of those before you. It teaches you quite a bit... assuming you're aware of the techniques available to you.
I wasn't looking for EXACT transcriptions, just a little insight as to how a more skilled hand might have gone about putting those sounds to paper, so to speak (maybe a lesser-known dual-purpose to an effect or the like). Regardless of the audible result, if the tracking is clunky, I feel like I haven't learned anything worthwhile... I've just used what I know inappropriately as a means to an end.
So basically, if something or someone does the work FOR me, I feel like I'll have learned less than if someone simply points me in the right direction.
I hope that provided more clarity than confusion. :D
If I ever feel like I'm no longer learning a new skill and just spending time on it... then I'll know it's probably time to move on to writing my own material, or find a more challenging track (last song I did was the intro to Ninja Gaiden 2... and I'd consider this a bit more difficult).
I'd like to say though, your importer sounds like a great way to test myself. I'd much rather get the song to a point I'd call 'satisfactory' and then check it against the computer's "ears" than let it do my job outright... kind of like a calculator to mathematics.
Also - I'm glad to know I wasn't the only kid to record video game music on tape so I could listen to it on the bus back in the day. :P
I suspect in the original game the sound programmer would have written the equivalent of a special effect or instrument to do the 2-frame blips. There's a lot of things you could do with custom code that there really isn't a clean way to do in FamiTracker.
Another alternative in this case might be to go twice as fast again, and use a pattern of F02,F02,F02,F01. That way the rows wouldn't look quite so crowded/uneven.
If I want a lot of arpeggio control, sometimes a fast speed like F02 seems like the best way to go, maybe even just for a couple of frames (working on high speed tracks can be a bit exhausting sometimes).
I'm not too keen on the ins and outs of the actual coding of the games, but I do know that a lot of times sprite-work would make clever dual-use of a specific set of sprites and a simple palette-swap (like the clouds and bushes in the original SMB).
I can't imagine the music being any different. Most of the ultimate goal (sprites, music, general coding, etc.) was to get more by intelligently manipulating less. Everything was a space-saving operation.
I refuse to believe that the musicians were allowed to run rampant with special-effects and an over-blown instrument libraries whilst everyone else had to tighten their belts.
This is probably addressed by your claims of custom code, but again, I wouldn't know. FamiTracker seems quite capable though, and I'm sure the tricky arpeggios will do the job just fine; changing the tempo mid-frame seems like sort of a work-around to me.
...Again, I'm just a noob, so this is pure speculation on my part.
Have I mentioned I really appreciate you taking the time to have this conversation with me?
_______________________
The only things certain in life are death and uncertainty.
Well, the rules for what makes clean/simple/small data in FamiTracker aren't the same as the rules for Blaster Master. A lot of them will be similar, but your sound code makes a big difference here.
The other thing is, when you're working with a high level tool like FamiTracker, it's not always obvious what takes the most space. An instrument definition can be rather lightweight in the NSF. Each of those bass blip instruments is probably about 13 bytes. So... having a lot of "instruments" isn't necessarily a bad solution, even in a real game.
Remember, if you make an arpeggio instrument, it costs some amount of data, but it saves the data you would have used on all those notes. The more times you reuse it, the more you save.
Custom code works the same way, just think of it as an even more versatile instrument definition. You might spend 50 bytes on a simple feature, but you can reuse that feature a thousand times.
Usually with FamiTracker I'm concerned with making something I can edit and work with easily. Size isn't a concern unless I'm making a real game/demo. So, in that respect, if I know the chords I'll need beforehand (often the case for a cover), I'll just make the arpeggio instruments, but if I need to change them a lot, I'll work with high speed (e.g. F02).
Another thought about Blaster Master. Looking at the correlation between the noise channel and the triangle I notice:
- E-3 on every emphasized hi-hat.
- C-4 on every snare.
So, these blips in the triangle are actually part of the percussion sound.
Imagine if you had custom code that let your noise channel instruments also interrupt the triangle channel for 2 frames. You could write your bassline without worrying about the blips at all, which would be automatically inserted by your percussion.
That's interesting... I hadn't considered reusing some of the instruments for the rest of the soundtrack, though it's more than possible; I haven't looked at the rest of the tracks in detail, but you're probably on to something there.
It was mighty clever to utilize the triangle channel to accent the 'percussion' of the noise channel. Now I just love SunSoft more. Funny how imitating the heroes of my past has brought me a new respect for them.
I'm not even sure what the original instructions for the sound processor even looked like, but I'd sure be interested to learn. FamiTracker clearly tries very hard to put every function at your disposal... perhaps by the time it clears 1.0 we'll have the option for custom hard-coded input. We can only hope, eh?
Sunsoft is known for using the linear counter of triangle channel to get unusual sound. It allows to get sounds shorter than a frame. It is used for the sound effect of hero hit (outside of the tank) in Blaster Master. Maybe they used it in the music too.