+  RHDN Forum Archive
|-+  Romhacking
| |-+  General Romhacking
| | |-+  SPC to MOD converters? (also Modifying OpenSPC)
Pages: [1]
Author Topic: SPC to MOD converters? (also Modifying OpenSPC)  (Read 1 times)
Dwedit
Guest
« on: January 15, 2010, 11:03:08 pm »

Besides OpenSPC, are there any SPC to MOD converters?

Edit:
I finally managed to build OpenSPC.  (hint: delete the included "allegro.h" file from the source code)
I modfied the program to support fractional update rates, so it can generate better IT files.
« Last Edit: January 16, 2010, 12:15:53 am by Dwedit »
Azkadellia
Guest
« Reply #1 on: January 16, 2010, 01:31:06 am »

Quote from: Dwedit on January 15, 2010, 11:03:08 pm
Besides OpenSPC, are there any SPC to MOD converters?

Besides the old SNEmul, nope. (but then again, the mod ripper completely sucked. Tongue)

Quote
Edit:
I finally managed to build OpenSPC.  (hint: delete the included "allegro.h" file from the source code)
I modfied the program to support fractional update rates, so it can generate better IT files.

This is completely epic. Is it still command line, or did you give it a pretty GUI?
I loved OpenSPC completely for this reason. Too bad the SNeSe core is fail. You could use blargg's APU core if you wanted to. Relevant link.
JCE3000GT
Guest
« Reply #2 on: January 17, 2010, 01:35:55 pm »

Quote from: Dwedit on January 15, 2010, 11:03:08 pm
Besides OpenSPC, are there any SPC to MOD converters?

Edit:
I finally managed to build OpenSPC.  (hint: delete the included "allegro.h" file from the source code)
I modfied the program to support fractional update rates, so it can generate better IT files.

I'm interested in a better build of the program if you make one.   Grin
Dwedit
Guest
« Reply #3 on: January 18, 2010, 12:43:22 am »

Well, it does accept fractional polling rates, but you still have to play the song, then precisely calculate what that fractional polling rate should be.

Example: The title theme from Super Mario World.
You need to precisely measure the length of a section of the song.  For instance, a loop of the whole song is 38.677458 seconds.
A measure of the song is 3.215750s.  So the loop is 12 bars long.

Then you arbitrarily decide how many IT rows you want in a frame.  Let's pick 256.
Do some division.  256/3.2231215 = 79.4261091.
That would be your desired update rate.

But then you find that if you add .003 to the update rate, it might align better to the IT file grid.

Anyway, the whole IT dumping thing is a mess and is done the wrong way.  It really should just everything with the timestamp at which it happens, then process that information to determine recurring ADSR volume envelopes, frequency sweeps, and other characteristics of the instruments, then determine the real rate they are applied on the grid.  Right now it's just using the "Okay, .01 seconds passed, have the channels changed?" algorithm.  It has issues with notes being misaligned, or volume or frequency changes immediately before the new note event.
Azkadellia
Guest
« Reply #4 on: January 18, 2010, 12:56:47 am »

Yeah, Butcha didn't know much about the Impulse Tracker format apparently. If you want it, I have an incomplete format spec written by the author of Impulse Tracker himself. It should give you an idea of how it's setup.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC