How to Use SNESMOD: Using the Converter
First a brief overview: inside the SNESMOD .zip you downloaded are a series of .bat files that activate one of four different converter options. Opening any of these will prompt you to select an .it file – it's easiest to copy your file into the same folder so you can simply input its filename. Once you do, hit Enter and an .spc file will be created. Done!
The Four Converters
Let's go over those options for conversion, which use different sound drivers:
- Lite: This is the original implementation! It is suitable for most needs, but lacks the robust feature suite needed to control many SPC700 features mid-song, such as echo delay parameters, ADSR envelopes, and several others. Notably it uses less pattern data than its brethren, hence the name "Lite".
- Pitchmod: The next step up in terms of available features. This SNESMOD driver also allows the ability to toggle pitch modulation and noise. (Read more about those chip features here.)
- SuperNoFX: "Super SNESMOD" offers mid-song control of echo delay time, feedback and filter, along with a few other interesting features. It sacrifices support for sound effects, which may be relevant if you are creating music for a SNES game, but otherwise won't matter. Most of its unique functions are accessed through
Sxx
andZxx
commands, which have been repurposed for the converter. - Celes: The most fully-featured of all the SNESMOD drivers. In addition to the features of the others, Celes lets you alter ADSR envelopes mid-song and adds some dedicated effect commands for echo feedback control and faux filter sweeps. Similarly to SuperNoFX, it sacrifices support for sound effects, which will only matter if you're making music for a SNES game.
Detailed information on each of the SNESMOD drivers can be found in the /doc/ folder. Each effect command's function and usage are listed in their respective .txt files. You can read more about the SPC700 features themselves in the C700 VST portion of this guide.
One thing to note about the feature-rich converter options is that you won't hear any of their effects while writing your song in the tracker; you will have to run the converter and listen to the result. In the case of SuperNoFX and Celes, many .it effect commands have been repurposed, which may also make playback in the tracker more difficult to judge as you work. (For example, Ixx
controls echo feedback in Celes but makes a sound-off-and-on tremor effect in the .it format.)
How to Convert
Once you know which of the converters you want to use, run the .bat file for that converter. A window will pop up prompting you to enter the name of your file. The easiest way to proceed is to move or copy your .it file into the same folder as the .bat, type its filename into the prompt window, such as mysong2.it
, then hit Enter. Bam, your shiny new .spc will be created!
You can also input an entire filepath instead, but make sure to put it in quotation marks, such as this syntax: "C:\CoolMusic\mysong2.it"
. Note that if you do this, the output .spc will be located in the CoolMusic
folder, where your .it file is, rather than the SNESMOD folder.
For original SNESMOD: Using the original converter is quite a bit simpler since there is only one option. Simply drag your .it file onto "smconv.exe" in the folder. Then you'll get your .spc file in the same folder as the .it!
Note: If you're comfortable with the command line interface, all the SNESMOD variants can be controlled that way, too. Running smconv --help
(for SuperNoFX/Celes), smconv-lite --help
(for Lite), or pmconv --help
(for Pitchmod) in the terminal will show you the additional options available during conversion; primarily these are intended for game development and the like. In this particular help documentation, each of the tools is referred to as "smconv" so be sure to change references to that to "smconv-lite" or "pmconv" to actually point to Lite or Pitchmod.
Troubleshooting
If you run into problems converting, some of the most common are not using Instrument mode (which is required), not setting the ITCompressionMono
flag to 0 in OpenMPT's Advanced settings, and incorrectly input echo delay settings. Refer to Setting Up Your Module for more details on proper setup.