Language…
9 users online:  Atari2.0, futhark, GRIMMKIN, JezJitzu, kasoku,  Nanako, Nemesis1407, Pink Gold Peach,  Segment1Zone2 - Guests: 245 - Bots: 361
Users: 64,795 (2,377 active)
Latest user: mathew

"extsnd.exe", a new sound effect creation program...

Yeah, I was browsing through pukiwiki, and I found this.

Apparently (well more like obviously) it is a program for making your own sound effects.

link

By reading the google translated version of the readme, it seems like the program is fairly intricate.

There are several .bin files that it apparently uses for different things.

Each of them has a specific format that is several bytes, but due to the fact that google translate is crappy, and everything is not explained, I don't understand everything completely and I haven't tried to get it working yet.

Let's see if we can figure this out...
Wait, make sound effects for SMW? If so, that could be useful.
Sound effects can already be done with smkdan's sample utlity. :P You can import different sound effects to each level. :P
Ice Man, all smkdan's tool does is change the samples which changes what the sound effects and music sounds like. I think this does something different.
Ooooh. We need someone who reads Japanese!

If this is really a sound effect creator, I may be starting my hack over from scratch just to get this in there.
I've removed my NoFades patch until I can find the brightness code for Star Road warps.
We maybe get Homing's help. You can find him in the improved addmusic thread.
Well I got my hands on a decent translator;

Code
Tool that changes effect sound of SMW



Suitable usage
1.It is drag & drop in cutter.bat as for SMW ROM that has been remodeled. 
2.Example\sndplus.bin is copied onto the same folder as ROM. 
3.The line written sndplus.bin near the line being written # 0 of sndlist.txt on is 
added. 
4.It is drag & drop in patch.bat as for ROM a little while ago. 
5.It is a frog in $35 as for $01 of PCaddr0x15C1 of ROM (effect sound number of 
the presents screen). 





Element analysis result of extsnd.rar:
Readme.txt: 
Cutsnd.exe :sound.bin that cuts out driver.bin, sound.bin, and 
owmusic.txt from bin\ cutdrv.exe :ROM that can be remodeled by doing 
patch.bat :ROM to which the effect sound file is cut out by doing 
cutter.bat :ROM in D&D in D&D is made and sound.bin is made from 
makesnd.exe :sndlist.txt and various effect sound files that insert 
the effect sound etc. remodeled to divided importsnd.exe :ROM in the 
effect sound file etc.
Driver.bin is variously corrected. 
Src\ that secures various areas in movlm.exe :ROM
:It is a source of the program in the bin file. 





About the generated file
Driver.bin: sound.bin like the program that rules the sound source 
surroundings: BGM thrown with owmusic.bin :OW like the effect sound 
and the tone data, etc. etc. that have it is sndtone.bin that has it: ..
tone data for effect sound.. ..tone data for bgmtone.bin :BGM that 
has it.. sndlist.txt that extone.bin :D0?D9 that has it has it ..the 
tone and the interval data..: The inserted effect sound table is 
portX\???.bin that has it: It is effect sound file cut out. 





Format of each file
sndtone.bin:
It is a couple by nine bytes and nine bytes of $00 ?$12 of 19 are VOL L VOL R Pitch 
L Pitch H SRCN ADSR(1) ADSR(2) GAIN The name is w (http://www.geocities.co.jp/
playtown/2004/sndtech.txt though it is pitch magnification though w SRCN = shape of 
waves number that doesn't understand well is understood. 
Copy..Shinano..referring to..welcome.
I hope w because it is ..saying.. suitable at ..no understanding of well.. $80 
the pitch magnification when the sound is emitted though thought that there are 
differences how many between $81. look at the reverse-sweat source

It is VOL L for ? or what VOL R Pitch L It is possible to set it, and it sets 
with the interval or $80? and w in like the matter volume not to understand 
whether there is Pitch H usual. 

Moreover, maximum $80 can be added. 

bgmtone.bin:
It is a couple by five bytes and five bytes of $00 ?$12 of 19 are 
srcn adsr(1) adsr(2) gain It doesn't understand well as well as on 
of the magnification of pitch ^^;. 
Perhaps, maximum $100 can be added. 

extone.bin:
If it about is a couple by six bytes and one of nine D9 for D0 ? D8, 
it adds at the end and six of seem to being able use bytes are srcn 
adsr(1) adsr(2) gain magnification of pitch Pitch is pitch it, is 
common five bytes of the start with the one of bgmtone.bin, and even 
if the sound is averaged with AA after the sound emitted when this 
sound is sounded has and it makes it to the same tone as the first 
five bytes for instance with pitch = $AA and DA, becomes the same 
sound. 

sndlist.bin:
------------------------------------------------
#3
It is effect sound file >// etc. blktool of < port3#1 and an effect sound in 
$7E1DFC when one is written. < effect sound file of port3#2 >
...



#0
It is an effect sound in effect sound file >// $7E1DF9 of < port0#1 
when writing. < effect sound file of port1#1 >
...
------------------------------------------------

It is possible to omit it following the effect sound file (). 
00	:End code
However, XX, YY, and ZZ are XX YY ZZ $00?$7F. 
XX:Length of sound
YY: When the volume (left) is not specified, it doesn't change 
it. 
Volume..right..specify..same..value..become..sound..reference..
tone..change.
It becomes noise off when not specifying it ..NCK (80 is added to 
00?1F and specify it with 80?9F) it... 
XX:The negative number ..the tone number (It is possible to 
change with sndtone.bin) it.. is not acceptable. 
DD tone A time C: It is EB A in case of DD for the sound and EB 
of tone as for last sound (?) time C It continues the sound of 
AA ..return in front of w FF :1byte.. for instance through all 
eternity when continuing though it is thought that it puts it out 
as the volume increases spending the time second with AA FF when 
it is correct that tone and time show the interval and time in w 
that doesn't understand well. 



Cool, This is THE Best utility I have found yet. Now I can add voices in conjunction with the Sample Tool!

I always wanted to add Hebereke's Voices from the Hebereke series (SNES games). I hope it Works!

@SpriterSonikku: Do you have the translated document (Above) in .TXT format?

Edit: I Realigned and revised the Text, But the some of the revised text might be wrong, And does the word ''Frog'' need to be changed into Error? I do not know, But here it is:


___________________________________________________________
Tool that changes Sound Effects for SMW Suitable usage:

1.Drag & drop in cutter.bat for the remodeled SMW ROM.

2.Example\sndplus.bin is copied onto the same folder as ROM.

3.The line written sndplus.bin near the line being written #0
of sndlist.txt on is added.

4.You can drag & drop the ROM in patch.bat for a little while.

5.There is a frog(Error?) in $35 as for $01 of PC address 0x15C1
of ROM (Sound Effect Number of the ''Nintendo Presents'' screen).

Element analysis result of extsnd.rar:

Readme.txt: Cutsnd.exe: sound.bin:
that cuts out driver.bin, sound.bin, and owmusic.txt

from bin\ cutdrv.exe: ROM that can be remodeled by doing
patch.bat: ROM to which the effect sound file is cut out by doing
cutter.bat: ROM in D&D in D&D is made and sound.bin is made from
makesnd.exe: sndlist.txt and various Sound Effect files that insert the Sound Effect, etc.
remodeled to divided

importsnd.exe: ROM in the Sound Effect file etc. Driver.bin is variously corrected.
Src\ that secures various areas in movlm.exe: ROM: It is the compiled ASM code of the program (bin/smc file).

About the generated file Driver.bin:
sound.bin like the program that rules the sound source surroundings:

BGM thrown with owmusic.bin:
OW like the effect sound and the tone data, etc. etc.

sndtone.bin has:
..tone data for effect sound..
..tone data for bgmtone.bin

BGM has:
sndlist.txt and extone.bin:

D0?D9 has:

..the tone and the interval data..

: The inserted Sound Effect table is portX\???.bin, it has:

the Sound Effect file cut out. Format of each file

sndtone.bin: It is 2-9 Bytes, $00 ?$12 out of 19 are:

VOL_L, VOL_R, Pitch_L, Pitch_H, SRCN, ADSR(1), ADSR(2), and GAIN.

The name of the Website (In Japanese):
http://www.geocities.co.jp/playtown/2004/sndtech.txt
though it's pitch magnification though SRCN shaped the wave number that the program does not understand it well

Copy..Shinano..referring to..welcome.

I hope so, because it is saying suitable stuff while id does not understanding it well...

$80 the pitch magnification when the sound is emitted though. I thought that there are
differences how many between $81. look at the reverse-sweat source It is VOL L for ? or
VOL R Pitch L. It's possible to set it, and it sets with the interval of $80? and like with the matter of volume.
It does not understand whether there is Pitch H usually. Therefore, maximum number of Sound Effect is $80 and that is
all that can be added.

bgmtone.bin: It is a couple by five bytes and five bytes of $00-$12 of 19
are srcn adsr(1), adsr(2), and gain.

It isn't understandable as well as on of the magnification of pitch.
Perhaps, the maximum of $0100 can be added.

extone.bin: If it's about a couple by six bytes and (subtract?) one out of D9 for
D0 - D8, it adds at the end and six of the following seem to be able use the bytes:
srcn, adsr(1), adsr(2), gain, and magnification of pitch.

Pitch is the five common bytes in the start of bgmtone.bin, and even if the sound is
averaged with AA after the sound emitted when this sound is made, it makes it the
same tone as the first five bytes. for instance with pitch, $AA and DA, becomes the
same sound.

sndlist.bin in offset #3 is a Sound Effect file, etc.

To use with Blocktool: port 3 #1 is used in Sound Effect $7E1DFC where the Sound Effect is written with
Sound Effect file of port 3 #2.

#0 is a Sound Effect in the Sound Effect file

$7E1DF9 of port 0 #1 when writing.

Sound Effect file of port 1 #1

It is possible to omit the following the Sound Effect file:

(). 00 :End code However, XX, YY, and ZZ are XX YY ZZ

$00 - $7F. XX:Length of sound YY: When the volume (left) is not specified,
it doesn't change it.

(Volume right, specify same value, become sound reference,
tone change. It becomes noise off when not specifying it)

NCK (80 is added to 00 - 1F and specify it with 80?9F)
XX: The negative number, the tone number (It is possible to change with sndtone.bin) it's not acceptable.
DD: tone A time C: It is EB A in case of DD for the sound and EB of tone as for last sound.

time C continues the sound of AA and returns in front of FF:

1byte.. for all eternity. when continuing, it puts out
volume as it increases spending the time with AA FF. when the tone is corrected and time shows the interval, The Time is not understandable enough.
___________________________________________________________
I just played around with it and I think I see how it works now.

Like the doc says, first you need to drag / drop your ROM over "cutter.bat" which will produce all these folders and files in your ROM directory. "patch.bat" is what you do everytime you want to insert sound effect data.

After running you ROM through "cutter.bat", you'll see a few files and two folders. The 2 folders (portXsnd) contain .bin files for each sound effect, where port0snd files are played by writing to $1DF9 and port3snd files are played by writing to $1DFC. The value stored to play the sound effect is included in the .bin file so the code to play the Yoshi sound:

Code
LDA #$1F
STA $1DFC


Corresponds to port3_1F.bin by default. There's a list (sndlist.txt) that contains the paths to the .bin files to insert for each sound effect.

http://www.smwcentral.net/?p=thread&pid=54581

---

As for the .bin files themselves, they use the same format as music but here you need to deal with them in raw hex. You're dealing with raw N-SPC commands here. Mattrizzle posted a neat reference for the commands, including a link to the .txt with bytes to play for a given note. Always terminate a .bin with 00. By changing the contents of a .bin and running patch.bat again you can change how sound effects are played in game.

---

There are some 'tone' files, but I'll go through just sndtone.bin for now. Each set of 9 bytes represents how a particular sample is manipulated during playback of a sound effect. When a DA XX command is run (ALWAYS at the start of a .bin, otherwise you have no set sound to work with), the XX decides which set of 9 bytes to load.

00: Volume left, value from 00-7F. Greater values inverted phase.
01: Volume right, see above. Volume is usually overwritten by a command in the .bin file.
02: Pitch Low
03: Pitch High (these mean nothing as playing a note overwrites the pitch)
04: Sample #. This one's important, it defines the sample # used for a sound effect when this particular entry is loaded. This is the same sample # you find in the sample tool, so you can effectively use the unused entries now (00-3F, like in the tool).
05 - 07: Envelope, pretty complex so not going to bother explaining this. Maybe another time. Defines how volume is controlled during playback.
08: Base frequency, not so sure about this one.

There's also a bgmtone.bin which is like the above, but for music instead (THIS is what gives you new instruments).

00: Sample #.
01-03: Envelope
04: Base frequency.

extone.bin seems to be for percussion, I'm not sure.

---

So, this tool basically means new instruments and new samples in conjuction with my sample tool. There is no need to pick samples carefully since now oyu can just insert into an 'Unused' slot and make the tone file entrie's sample # point to that previously unused sample. Very nice tool. I'll be sure to mess around with it some more.
So does this have to be done to a clean ROM, or can I use it with all of the stuff I've done with my hack so far? What address does the tool write to in the ROM?

Also, can you post a direct link to the tool. I can't seem to find the link on that page.
I've removed my NoFades patch until I can find the brightness code for Star Road warps.
Hmm, that's odd... here's the link though. I did it through translator last time, so that link might have had issues...

Here

Anyways I do think it can be used on any rom. Actually it seems like it works fairly similar to something like spritetool.
Your layout has been removed.
Originally posted by spigmike
Hmm, that's odd... here's the link though. I did it through translator last time, so that link might have had issues...

Here

Anyways I do think it can be used on any SMW rom. Actually it seems like it works fairly similar to something like spritetool.


BTW: It is nice to hear more progress has come when I posted the revised document, there are 2 reasons I put that up:

Reason #1: The document was not translated very good

and Reason #2: Somebody has to fix the ''CODE'' stuff in this forum so it can align properly. (like when you push enter in the text editors.)

I hope this means we can replace Mario's death music for something from NSMB (It's death music). I perfer the latter.




Looking for a ExGFX Request/Submit Thread? Try this one.
----
My Hacks: Princess Daisy, The Forgotten One: 1% Complete. Rosalina's Quest: 2% Complete.
----
Krystal Gaming
Coburn64, you could already do that with addmusic. The death music is just a short, non-looping music track.