# SPC (Dateiformat)

SPC (auch SPC700 Audio-Datei genannt) ist ein Dateiformat für Videospielmusik. Dieses enthält Kopien von Melodien und Musikdaten, wie sie im RAM des Soundchips SPC700 verwendet werden, welcher in der Spielkonsole Super Nintendo Entertainment System (SNES) eingesetzt wurde. Alternativ können die Daten auch durch einen Konsolenemulator wie ZSNES oder Snes9x verarbeitet werden.

## Technik

Der SPC700-Chip (oder dessen Emulator) erzeugt den Klang durch den Aufruf eines eingebetteten Programms, das die gespeicherten Musikdaten verarbeitet und in eine an den Chip ausgegebene Sequenz von DSP-Befehlen umwandelt. Diese erzeugt ihrerseits die Tonausgabe entsprechend den DSP-Befehlen. Die Möglichkeiten der SPC700-DSP-Befehle gestatten die Musik-Synthese durch Samples (analog zur Musikwiedergabe durch MOD oder IT) und eine umfangreiche Tonwiedergabe, die lediglich aus 64 KB Daten erzeugt wurde – während die Speicherung als unkomprimierte WAVE-Datei (bei Verwendung von PCM oder ähnlichem) große Datenmengen, bei bestimmten längeren Stücken bis hin zu hunderten von Megabytes, benötigen würde. Der SPC700-Chip erzeugt ein 16-Bit-Ausgangssignal mit 32 kHz, aber SPC700-Emulatoren können dazu konfiguriert werden, eine andere Abtastrate auszugeben (von acht bis 48 kHz). Die Positionen innerhalb eines Liedes werden durch Tics angegeben. Dadurch ist es möglich, bestimmte Bereiche zu wiederholen und in einer Schleife abzuspielen.

## Verwendung

SPC-Plug-ins sind verfügbar für Winamp, foobar2000, Audacious, Rockbox (für tragbare MP3-Player) und andere bekannte Player, von denen einige bereits native SPC-Unterstützung haben. Manche SPC-Player können sogar eine höhere Ausgangsqualität erzeugen als der Chip SPC700 selbst, indem der Ton mit einer höheren Abtastrate ausgegeben wird (bis zu 192 kHz), unter Verwendung komplexerer Sound-Interpolations-Methoden und einer speziellen „High Quality“-Optimierung, wie sie beispielsweise SNESAmp einsetzt. Es gibt auch Programme wie SPC Tool oder SPC2MIDI, die in der Lage sind, aus SPC-Dateien MIDI-Dateien zu erzeugen.
Inzwischen werden Soundtracks mit dem RAR-Algorithmus komprimiert, mittels einer progressiven Kompression, die bei der ZIP-Komprimierung nicht zur Verfügung steht. Dieses Archiv-Format spart viel Platz, da für gewöhnlich eine Vielzahl der Samples innerhalb der Lieder wiederverwendet werden und diese nur einfach gespeichert werden müssen, statt sie stets von neuem zu sichern. Die archivierten Dateien bekommen die Erweiterung RSN und werden vom Player direkt beim Abspielen entpackt.

## Einschränkungen

Eine Unzulänglichkeit des SPC-Formats kann bei den Spielen Tales of Phantasia und Star Ocean beobachtet werden. Diese Spiele verwenden „Streaming-Sampling“ womit Samples während der Laufzeit ausgetauscht werden, um die 64-KB-Grenze des SPC700 zu umgehen und so zusätzliche Instrumente und Stimmen einsetzen zu können. Da der Dump jedoch nur die Samples erfasst, die zu Beginn des Spiels geladen werden, führt dies bei einigen Liedern zwangsläufig dazu, dass falsche Samples benutzt werden. Die Musik wird entsprechend entstellt wiedergegeben.

## Plug-ins und Player

* Audacious, ein Mediaplayer für Windows/Linux, der SPC-Dateien unterstützt.
* Audio Overload, ein unter Windows/Mac/Linux lauffähiger Player speziell für Videospielmusik, der neben vielen anderen auch SPC-Dateien unterstützt.
* Chipamp, ein von OverClocked ReMix initiiertes Winamp-Plug-in zur Wiedergabe von über 40 Chiptune- und Tracker-Formaten.
* VLC media player, ein Player für Windows/Mac/Linux, der neben vielen weiteren Formaten auch SPC-Dateien wiedergibt.