Article History
 
 
 
Discussion
 
32748 views
 
34% damifortune
spc (format) View HTML Version
 

'[b]SPC'[/b] is the '[b]SNES/Super Famicom'[/b] sound format, named after its soundchip SPC700. It utilizes '[b]8 channels of sampled sound'[/b] (with limited noise support), has a '[b]64KB data limit*'[/b], and has a '[b]built-in echo'[/b] 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] article!

* 64KB is the limit for .spc; ROM file options .smc/.sfc can be larger

'[#[I have never done this format]
OK. If you have either '[b]1) a tracker that can produce .it or .xm'[/b]; or '[b]2) a DAW with VST and MIDI support'[/b], you can do this format comfortably. Less comfortable options (MML & standalone trackers) are listed in "Tools for creation" below as well.

'[b]1)'[/b] 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. '[o][Note: SNESMOD is more up-to-date than XMSNES if you are on the fence.]'[/o]

'[b]2)'[/b] 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 or .smc - perfect for BotB! Our very own '[l[https://battleofthebits.com/barracks/Profile/doctorn0gloff/[doctorn0gloff] has written an INCREDIBLE article on how to set up and use C700 to create authentic chiptune files: '[[C700 VST]. 

'[#[SNES crash course]
This format uses samples, so 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 (listed near the bottom of '[l[https://battleofthebits.com/lyceum/View/XHB+series/[this page]); you can also use '[l[https://cdn.discordapp.com/attachments/239107754575265803/802311561267249182/split700n.zip[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. '[b]If your .spc file seems to hang at a certain point, it probably ran out of memory.'[/b] This is especially common with '[b]C700 .spc output'[/b] as it is '[o]recording'[/o] an .spc/.smc rather than '[o]rendering'[/o]; pitch effects and the like will generate a ton of data because every change in pitch is being recorded, and that takes up space. 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!

If you're using C700, you have access to '[b].smc export'[/b] too, which can help make up for its data hogging because you are '[b]no longer restricted to 64KB'[/b]. Song data is offloaded to the ROM, so you can actually nearly fill C700 up to 64KB with just your chosen samples + delay settings if you export to .smc instead of .spc.

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.

'[#[Restrictions on submit]
Your submission should take one of two forms, both of which should be playable on hardware or in an emulator:
1) .spc (SNES chiptune song file)
2) .smc/.sfc file (SNES ROM) - no copyrighted content of course, and anything containing visuals should be judged solely on the music

'[#[Tools for creation]
* '[l[https://cdn.discordapp.com/attachments/592900670391189528/844212693232910336/snesmod.zip[SNESMOD] - .it to .spc conversion tool originally by mukunda and further developed by '[l[https://battleofthebits.com/barracks/Profile/AugustusBlkheart/[Augustus Blackheart] and '[l[https://battleofthebits.com/barracks/Profile/KungFuFurby/[KungFuFurby]. Contains ample documentation on features + how to use. Original SNESMOD can still be found '[l[http://snes.mukunda.com/[here].
* '[l[https://cdn.discordapp.com/attachments/592900670391189528/844218502168313856/XMSNES-x64.zip[XMSNES] - .xm to .spc conversion tool by mukunda (with instructions).   '[l[https://github.com/argarak/xmsnes-bin[Alternative link]
* '[l[http://picopicose.com/software.html[C700 VST] - VST by '[l[https://battleofthebits.com/barracks/Profile/osoumen/[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 chiptune output: '[[C700 VST]
> '[l[https://drive.google.com/file/d/1iRs3ZIZ3e_tuu5cE6BWjfYx71TDWX6Bz/view[C700 Microtunable] - '[l[https://battleofthebits.com/barracks/Profile/doctorn0gloff/[doctorn0gloff]'s fork of C700 VST which can utilize Scala tuning files. ('[l[https://drive.google.com/file/d/1uU6jdC-182HEpV1o_ENwJ2N8zpYQVRfX/view?usp=sharing[source])
* '[l[http://www.smwcentral.net/?p=section&a=details&id=11664[AddMusicK] - MML-based Super Mario World music editor made by Kipernal. Supports BRR, echo, gain and ADSR envelopes.
> '[l[https://github.com/KungFuFurby/AddMusicKFF[AddMusicKFF] - '[l[https://battleofthebits.com/barracks/Profile/KungFuFurby/[KungFuFurby]'s newer fork of AddMusicK.
* '[l[https://shiru.untergrund.net/software.shtml[SNES Game Sound System] - AKA SNESGSS, a standalone tracker by Shiru. '[l[https://shiru.untergrund.net/files/snesgss.zip[Direct download link]
* '[l[https://github.com/bazzinotti/snestracker[SNESTracker] - still in development

'[#[Tools for playback]
* '[l[https://dgrfactory.jp/spcplay/index.html#spcplay[SNES SPC700 Player] - AKA SPCPlay; considered the best tool for SPC playback. Recently updated (as of writing)!
* '[l[https://www.foobar2000.org/components/view/foo_gep[(fb2k) Game Emu Player] - AKA foo_gep, a component for the foobar2000 media player that plays many game sound formats including .spc.
* '[l[https://github.com/bsnes-emu/bsnes[bsnes] - SNES emulator (for .smc/.sfc submissions)
* '[l[https://www.zophar.net/snes/snes9x.html[Snes9x] - SNES emulator (for .smc/.sfc submissions)
* '[l[https://www.plogue.com/products/chipsynth-sfc.html[chipsynth SFC] - [paid] VST by Plogue which contains a player for .spc files, though it cannot create them.

'[#[See also]
'[[SPC] - Lyceum article about the SPC700 soundchip and related info.
'[[Program+for+the+SNES+APU] - Lyceum article proposing assembly source code example to operate the SNES APU

 
C A T E G O R I E S
 
 
Battle Formats
 
 
Sound Chips