- I have never done this format
- SNES crash course
- Tools for creation
- Tools for playback
- See also
is the SNES/Super Famicom
sound format; it utilizes 8 channels of sampled sound
(with limited noise support), has a 64KB data limit
, and has a built-in echo
system, along with a host of other interesting features that give it its distinct sound. If you want to read more about the soundchip itself and its quirks, check the great info on the SPC
I have never done this format
OK. If you have either 1) a tracker that can produce .it or .xm
; or 2) a DAW with VST and MIDI support
, you can do this format comfortably. Less comfortable options (MML & standalone trackers) are listed in "Tools for creation" below as well.
You want to make an 8-channel .it or .xm file, which will be converted to .spc to submit for this format. In the "Tools for creation" list below, grab either SNESMOD (.it) or XMSNES (.xm). Both tools contain their own text documentation about what you can and cannot do - naturally there is not a full implementation of every effect in either module format. Notably echo settings are done using song comments.
You want to grab the C700 VST from the "Tools for creation" list below. It's a VST designed to emulate the SNES's soundchip, and it just so happens to be able to "record" to .spc - perfect for BotB! Our very own doctorn0gloff
has written an INCREDIBLE article on how to set up and use C700 to create .spc files: C700 VST
SNES crash course
The easiest way to get started with SNES is to use existing SNES samples; you can use your own, but there are quirks to its compression that may cause you hangups, so read more on the SPC
article if you want that. You can find the samples from many different SNES games in the bitpacks of the YEA VIDEOGAME remix OHB series
; you can also use split700n
to rip samples from .spc files yourself.
The biggest thing that throws people is the 64KB data limit, which includes sound driver info, samples AND song data. If your .spc file seems to hang at a certain point, it probably ran out of memory.
This is especially common with C700 VST
as it is recording
an .spc rather than rendering
; pitch effects and the like generate a ton of data because every change in pitch is being recorded. Regardless of the tool it is a good idea to check your work fairly often, so you're not stuck submitting late to fix issues!
You DO have access to:
* ADSR envelopes
* panning, vibrato, porta, the usual suspects
* built-in echo delay which can range from 16ms to 240ms; however each increment of 16ms consumes an additional 2KB of your available 64KB
* noise channel (not a very powerful one though)
* weird FM ("Pitch Modulation") using one sample to frequency modulate another (chaotic high level feature)
Read more about these features on the SPC
article to better understand its capabilities.
Tools for creation
- .it to .spc conversion tool originally by mukunda and further developed by Augustus Blackheart
. Contains ample documentation on features + how to use. Original SNESMOD can still be found here
- .xm to .spc conversion tool by mukunda (with instructions). Alternative link
* C700 VST
- VST by osoumen
which emulates the SPC700 soundchip. Can create .spc and .smc files! Check the article on C700 to get it set up to use for .spc output: C700 VST
> C700 Microtunable
's fork of C700 VST which can utilize Scala tuning files. (source
- MML-based Super Mario World music editor made by Kipernal. Supports BRR, echo, gain and ADSR envelopes.
's newer fork of AddMusicK.
* SNES Game Sound System
- AKA SNESGSS, a standalone tracker by Shiru. Direct download link
- still in development
Tools for playback
* SNES SPC700 Player
- AKA SPCPlay; considered the best tool for SPC playback. This is the one you want, especially after recent updates.
* (fb2k) Game Emu Player
- AKA foo_gep, a component for the foobar2000 media player that plays many game sound formats including .spc.
* chipsynth SFC
- [paid] VST by Plogue which contains a player for .spc files, though it cannot create them.
- Lyceum article about the SPC700 soundchip and related info.