Page 1 of 2
Make rockman 9 sound fx explosion with famitracker
Posted: Mon Jun 29, 2009 8:54 pm
by Banshaku
I'm trying to reproduce some sound fx inside famitracker so I can have an idea how to program them after.
As an experiment, I tried to remake the explosion from the rockman 9 intro where the city is attacked (because I liked it, see
intro on youtube from 35 seconds). Because of my lack of knowledge about sound fx on the nes (and famitracker), I'm not sure how to reproduce this one even thought is seems simple. hmm.
I think the speed must be very fast, uses 1 square channel for the beginning of the fx and stop it quite abruptly then use the noise channel to finish the sound. For the noise channel, they may only use duty 0.
Am I in the right direction? Any pointers for reproducing this sound fix would be greatly appreciated. I'm just affraid that the fact that it was not on the nes that it may be hard to reproduce but it's so nes like that it must be possible.
Posted: Tue Jun 30, 2009 3:36 am
by neilbaldwin
I captured the audio and put it into a sound editor. Then screen grabbed that to highlight different sections.
The red section is a few frames of noise starting at low pitch and rising slightly. So maybe 0F,0E,0D,0C.
Then a pause of a few frames where there is no sound (green section).
The noise for the rest of the sound (Orange & yellow) seems to be alternating between two pitches and then slowly rising. So maybe;
0A,08,0A,08,0A,08 for a while, then
09,07,09,07,09,07
08,06,08,06,08,06
07,05,07,05,07,05
06,04,06,04,06,04
something like that, if you see what I mean?
I marked the start of the yellow section in orange because I think I hear a tiny down-sweep on a square channel. Probably only a few frames starting from a fairly high pitch and sweeping down fast. Sounds like 50% duty to me and the starting pitch seems to be about note number 32 (in my code, which translates to about F in the 3rd octave).
(Edit : sorry, I don't know much about FT so can't tell you how to recreate the sound in that tool. These are just the numbers I'd put into the noise pitch register, however you achieve that in FT.

)
Posted: Tue Jun 30, 2009 4:17 am
by neilbaldwin
I thought I'd have a go at making it in Nijuu. I don't have SFX so I made a (large) drum to achieve a similar effect.
http://dutycyclegenerator.com/sound/explosion.mp3
Here's a copy-n-paste from Nijuu.
"DRUM2" is the just name of the drum sound.
"DRUM_D" means use voice D (noise), the two parameters are pitch, amplitude.
"DFE" means no more data for this frame.
"DE" means end of drum sound definition.
You should be able to work it out from that.
It's not exactly the same but with a bit of tweaking you could get it close. In the end I didn't bother with any square sound, it's all on the noise channel. You can see just after the several DFE commands (this is the pause bit where there is no sound) that I set the noise pitch to 0E then 0F at maximum amplitude. This seemed enough to get the sharp attack without the use of any square sound.
Code: Select all
DRUM2 DRUM_D $0F,$0F
DFE
DRUM_D $0E,$0F
DFE
DRUM_D $0D,$0F
DFE
DRUM_D $0C,$0F
DFE
DFE
DFE
DFE
DFE
DRUM_D $0E,$0F
DFE
DRUM_D $0F,$0F
DFE
DRUM_D $0C,$0F
DFE
DRUM_D $0A,$0F
DFE
DRUM_D $0C,$08
DFE
DRUM_D $0A,$08
DFE
DRUM_D $0C,$08
DFE
DRUM_D $0A,$08
DFE
DRUM_D $0B,$07
DFE
DRUM_D $09,$07
DFE
DRUM_D $0B,$07
DFE
DRUM_D $09,$07
DFE
DRUM_D $0b,$07
DFE
DRUM_D $09,$07
DFE
DRUM_D $0b,$07
DFE
DRUM_D $09,$07
DFE
DRUM_D $09,$05
DFE
DRUM_D $07,$05
DFE
DRUM_D $09,$05
DFE
DRUM_D $07,$05
DFE
DRUM_D $09,$05
DFE
DRUM_D $07,$05
DFE
DRUM_D $09,$05
DFE
DRUM_D $07,$05
DFE
DRUM_D $08,$03
DFE
DRUM_D $06,$03
DFE
DRUM_D $08,$03
DFE
DRUM_D $06,$03
DFE
DRUM_D $08,$02
DFE
DRUM_D $06,$02
DFE
DRUM_D $08,$02
DFE
DRUM_D $06,$02
DFE
DRUM_D $07,$01
DFE
DRUM_D $05,$01
DFE
DRUM_D $07,$01
DFE
DRUM_D $05,$01
DFE
DRUM_D $07,$01
DFE
DRUM_D $05,$01
DFE
DRUM_D $07,$01
DFE
DRUM_D $05,$01
DFE
DRUM_D $06,$01
DFE
DRUM_D $04,$01
DFE
DRUM_D $06,$01
DFE
DRUM_D $04,$01
DFE
DRUM_D $06,$01
DFE
DRUM_D $04,$01
DFE
DRUM_D $06,$00
DFE
DRUM_D $04,$00
DFE
DE
Posted: Tue Jun 30, 2009 5:39 am
by Banshaku
Thanks Neil for the analysis
I was thinking about extracting the sound and slowing it down to see what I can hear. I will try that tonight.
In famitracker I don't even know myself (hence the question) but now with this input, I will see how I can translate your 二十 (nijuu) data into famitracker one.
I'm starting to get the hang a little bit about tracking. I cannot read music so with a tracker, I can play the note and figure out something. But with noise... There is no note so now I have to understand how to make sfx with it.
If I can make it I will post a sample later. I don't know about tonight but I will see, a little tired now from work. If other people have other approach for famitracker, I will be more than happy to hear about them too.
Posted: Tue Jun 30, 2009 8:07 am
by neilbaldwin
No problem.
From what I've been reading about FT, it should be easy enough to create a "pitch envelope" and feed in similar values to the ones I listed.
Posted: Tue Jun 30, 2009 12:19 pm
by Sivak
Interesting stuff.
I was wondering about how they might have made some of the electrical sound effects. I know it's obviously manipulating the noise wave in short mode (I believe that's the official name; I normally call it the funky noise, heh)
Plug Man's attack is the one I'm thinking of.
Posted: Tue Jun 30, 2009 1:53 pm
by Memblers
Obviously this isn't any good for Megaman 9, but my
NSF player can be useful for analyzing output from NSFs. Because my player has crappy speed controls though, it's best to use zSNES and the 'inc frame' option (with F1).
Posted: Tue Jun 30, 2009 4:15 pm
by jsr
I made a quick example
here. Maybe not as accurate but should give the idea. You can also insert Neil's values either as an instrument (easiest using the arpeggio and volume settings), or in the pattern editor with speed 1. Just remember that note 0 is actually the lowest pitch and F highest in the tracker.
But if you were going to program it manually anyway then you might wanna try that instead, you can feed Neil's values directly to the noise registers ($400C for volume and $400E for pitch).
Posted: Tue Jun 30, 2009 6:47 pm
by Banshaku
Thanks everyone for the comments.
@jsr: This is really close! This is what I was looking for. And you don't even use the square channel (I was wrong). I would have never figured it out. Only with noise. I need to learn more about it.
Neil example of explosion, Jsr sample with Ft. I will have many people to thanks when I finish the project I'm working on
I will whip up a sample in Ft in one song I made for fun and post it back here.
Posted: Tue Jun 30, 2009 10:36 pm
by Banshaku
Sorry for double post.
There is only one thing thought. The first time the sound is fine, the second time you repeat it, it changes. My guess is that the sound depends on the pseudo random number (?) used in the noise channel.
Is it possible to reset the pseudo random number with the original seed?
I think I had a similar issue with the noise channel in the past and didn't know why. Now I think I'm getting close to the reason.
If you cannot reset the seed then you cannot remake the exact sound fx in that case. hmm..
Anybody knows about this particularity of the noise channel?
Posted: Wed Jul 01, 2009 7:32 am
by Jarhmander
Except of a reset, you can't,
Posted: Wed Jul 01, 2009 8:50 am
by Banshaku
Arrggg!

This mean I will have to find another way to reproduce it by using other channels at the same time. On the bright side, at the least I'm getting somewhere.
Posted: Wed Jul 01, 2009 10:43 am
by neilbaldwin
Banshaku wrote:Arrggg!

This mean I will have to find another way to reproduce it by using other channels at the same time. On the bright side, at the least I'm getting somewhere.
I don't know if it would work but what would happen if you put one frame of noise before the start with 0 amplitude i.e. so you can't hear it. Then at least the start of the SFX should be consistent, maybe?
Posted: Wed Jul 01, 2009 7:45 pm
by Banshaku
neilbaldwin wrote:I don't know if it would work but what would happen if you put one frame of noise before the start with 0 amplitude i.e. so you can't hear it. Then at least the start of the SFX should be consistent, maybe?
I don't know much about sound yet but I will try and see what happens. Thanks for comment.
Posted: Thu Jul 02, 2009 12:22 am
by Banshaku
I used the square channel to simulate the beginning of the explosion. If you listen well, you can hear 2 notes. I can hear those 2 tone. I tried to reproduce those "noise" note as square.
It's not perfect and I still need to tweak it but here an nsf used with the
Rockman 9 intro 1 I remade. The timing of the song and explosions (27 of them) are very close to the real introduction. The explosion is maybe the one that I like the less. Tweaking required, if even possible to make that fx on the nes.
Any comment appreciated. First time at reproducing a song with a tracker. Some reference materials (Tssf s3m) was used when I was not sure since it's my first time. But since the notes in the s3m are completely different from famitracker (and I can't read notes..), I used it when I was not sure for the tone and timing. I used the soundtrack and intro to confirm a few things.
Edit:
I updated the file. The pitch of square 1 was not 100% the same as the original. I didn't know that you could put hex value for the P parameter (duh). The real pitch is P7E. It was annoying me a lot that I couldn't do properly. I was writing 79 instead of standard 80 and was not working. New user error I guess!...
Edit2.5:
I updated the file again for the square sound during explosion. For the noise, I took a break because I'm tired.