Romhacking.net

Romhacking => Newcomer's Board => Topic started by: stolenfat on May 13, 2011, 02:00:59 am

Title: SNES music (.SPC) modification
Post by: stolenfat on May 13, 2011, 02:00:59 am
I'd like to be able to modify the tempo of my favorite SPC tracks... is it possible to do?

Any ideas out there?

I've tried time stretching but it results in audio crippled by artifaction.

(I'd also be interested in changing the samples if that's possible.)
Title: Re: SNES music (.SPC) modification
Post by: Nightcrawler on May 13, 2011, 10:20:31 am
Yes, it's possible to do both. To change the tempo of an SPC file, you'd need to either understand the underlying music format to change the note lengths, or edit the underlying assembly driver code to play everything faster. Each game can be different, but typically games made by the same company use the same or similar format and engine. It's probably more work than it's worth.

Changing the samples is a matter of replacing the BRR samples with one of the same or smaller size. If you have a bigger one, you'll most likely have to shift all the other samples and change the pointers to them.

Another idea is to see if any SPC players allow you simply to clock faster and speed it up that way.

Lastly, it's also possible to convert an SPC to MIDI and then you can play it in your favorite MIDI and play with the tempo all you want.
Title: Re: SNES music (.SPC) modification
Post by: stolenfat on May 13, 2011, 07:30:45 pm
well i managed to figure it out...

first i used SPCtool to export into IT format, then used a mod tracker to modify further.

Eazy Peazy, was just really hard to find the information on how to.
Title: Re: SNES music (.SPC) modification
Post by: Bregalad on May 14, 2011, 08:32:43 am
It's very easy to change the tempo in SPC files : The SPC itselfs is clocked by 3 8-bit timers, so if you change the period of those timers the tempo will be affected. (typically only the first timer is used)

The 3 timers are located at 0x1fa, 0x1fb and 0x1fc. You will almost always be able to change the tempo this way (the bigger the number, the slower).