Hi guys,
in order to thoroughly understand BRR, I am coding my own BRR encoder. I am starting simple, by just using a filter of 0 for all packets.
I started with this Veldt article: http://emureview.ztnet.com/developersco ... PU/spc.htm
If you scroll down to the section "SPC-700 SAMPLES" I followed his directions there.
I dont really know much about waveforms but I found a simple WAV file, stripped it to RAW, and started coding my encoder. experimenting a lot with it because it just isn't offering a clear sample.
I went and found BRRTools and, that program is doing things above my scope, however when I use it to encode the same sample with only filter 0, I get a pretty similar looking resulting brr file as from my encoder. In fact, practically every byte in the job is only different by a range of 0-2.
I can't speak much accurately from this point forward, which is why I came here seeking help. I am posting up a directory on my webspace with the WAV file, raw file, brr file from my encoder, brr file from BRRTools with filter set to 0 only (resampling n1.0, which should not alter anything at all), as well as my current source code. OK I would very much appreciate you cool dudes' insight onto this issue of mine.
Thanks bros!
Bazz
p.s. Files: http://www.cs.umb.edu/~bazz/mybrr/
Note: I manually pre-prepended 10 bytes of 0x00 to my encoder's output to more easily match with results from BRRTools.
p.p.s I have a the SNES source code and SPC700 source, I didn't bother to upload it.. Hmm I'll do that now.
Everything is in the snes_side directory and can be compiled with WLA and Tasm. I'm not going to get into instructions. Good_music.smc is with the BRRTools, and bad_music.smc is with my brr encoder. Of course, with filtering, the good_music sample can be even better. Tried it.
in order to thoroughly understand BRR, I am coding my own BRR encoder. I am starting simple, by just using a filter of 0 for all packets.
I started with this Veldt article: http://emureview.ztnet.com/developersco ... PU/spc.htm
If you scroll down to the section "SPC-700 SAMPLES" I followed his directions there.
I dont really know much about waveforms but I found a simple WAV file, stripped it to RAW, and started coding my encoder. experimenting a lot with it because it just isn't offering a clear sample.
I went and found BRRTools and, that program is doing things above my scope, however when I use it to encode the same sample with only filter 0, I get a pretty similar looking resulting brr file as from my encoder. In fact, practically every byte in the job is only different by a range of 0-2.
I can't speak much accurately from this point forward, which is why I came here seeking help. I am posting up a directory on my webspace with the WAV file, raw file, brr file from my encoder, brr file from BRRTools with filter set to 0 only (resampling n1.0, which should not alter anything at all), as well as my current source code. OK I would very much appreciate you cool dudes' insight onto this issue of mine.
Thanks bros!
Bazz
p.s. Files: http://www.cs.umb.edu/~bazz/mybrr/
Note: I manually pre-prepended 10 bytes of 0x00 to my encoder's output to more easily match with results from BRRTools.
p.p.s I have a the SNES source code and SPC700 source, I didn't bother to upload it.. Hmm I'll do that now.
Everything is in the snes_side directory and can be compiled with WLA and Tasm. I'm not going to get into instructions. Good_music.smc is with the BRRTools, and bad_music.smc is with my brr encoder. Of course, with filtering, the good_music sample can be even better. Tried it.