La musique Super Nes au format SPC

Pour les amateurs de musique sur Super Nes, le format de musique 'SPC' est un vrai bonheur et permet souvent de remplacer avantageusement le format MP3. Vous trouverez dans ce dossier tout ce qui est nécéssaire pour pouvoir en profiter et croyez moi, vous ne le regretterez pas...

Si j'ai oublié quelque chose d'important, si vous voyez des erreurs ou si vous avez des questions, n'hésitez pas à m'écrire : xenokefka@excite.com

Sur ce, bonne lecture!
-XenoKefka-

Sommaire

1/ Qu'est ce que c'est ?

Le SPC-700 est le co-processeur sonore de la Super Nes. Conçu à la base par Sony, il a été choisi par Nintendo en raison de son faible coût et du fort potentiel technique qu'il offrait pour l'époque, en 1990 (surtout comparé aux capacités sonores limitées de la Megadrive ^_^). Et on peut dire que ce fut un excellent choix!

Un peu de technique...

Le SPC-700 est un processeur 8 bits possédant 64 Ko de Ram (seuls 32 Ko sont utilisables cependant) et auquel est associé un DSP 16 bits (processeur qui produit le son) possédant un certain nombre de registres (pour le pitch et le volume de chaque canal audio ainsi que certains effets comme l'écho). En schématisant, c'est le SPC-700 qui exécute le programme musical et qui modifie les registres du DSP, ce dernier produisant le son qui correspond à la valeur courante de ses registres. Le DSP permet de mixer 8 canaux simultanément en stéréo.

Lorsqu'une musique est jouée, la musique est stockée dans les 32 Ko mémoire du SPC-700 sous forme de samples compressés. Pour la petite histoire, en utilisant une cartouche de 24 Mbits (3 Mo) pour stocker des samples, il serait possible de faire jouer à la console plus de 3 minutes de musique qualité CD en stéréo (près de 6 minutes 30 en mono!). Comme quoi, sur Super Nes, rien d'impossible =).

Hélas, la musique SPC n'est pas stockée en mémoire dans un format connu par nos braves PC (et Mac ^_^). Du coup, un émulateur du SPC-700 et du DSP sont obligatoires pour pouvoir les écouter. En plus, à cause du manque de documentation disponible, il aura fallu des années aux auteurs d'émulateurs Super Nes pour atteindre une qualité sonore honnête (qui se souvient de 'Snes96', il y avait même pas de son! ^_^). En tout cas, merci à ZsKnight, l'un des auteurs de ZSnes, qui s'est bien prit la tête et qui est à l'origine de nombreuses découvertes sur le sujet ^_^. Et un grand merci également à AntiResonnance et son fabuleux émulateur SPC-700 qui est, aujourd'hui, le plus fidèle et le plus performant.

Est-ce légal ?

Personnellement, je dirais que "oui", car le format est très éloigné de tous les formats audio existant et puis surtout, la musique n'est pas stockée normalement puisque c'est en fait un programme en langage machine SPC-700 qui est stocké dans chaque fichier SPC. Si la musique, sous cet aspect "langage machine", est protégée au même titre qu'au format MP3 ou WAVE, alors les SPCs sont aussi illégaux que les MP3s. En tout cas, autant les MP3s issus de CDs audio existants et vendus dans le commerce sont illégaux, autant pour les SPCs, je ne pense pas que ça pose de problème.

Comment ça se présente ?

Chaque musique est en fait un "dump" de la mémoire du SPC-700. Chaque fichier fait invariablement 64 Ko (64.5 Ko exactement ^_^). Faute de place dans les 32 Ko de mémoire utilisables, certains très longs morceaux sont coupés en deux fichiers différents comme par exemple la (mythique) musique de fin de Final Fantasy VI qui dure tout de même plus de 21 minutes!!! Par contre, de très très rares musiques qui effectuent des transferts de données pendant la lecture (comme la chanson de Tales of Phantasia où les samples de la voix sont envoyés au SPC-700 au fur et à mesure de la chanson), ne peuvent pas être stockées sous ce format. Rassurez-vous! La chanson de Tales of Phantasia est le seul exemple que je connaisse et les musique de l'opéra de Final Fantasy VI fonctionnent très bien (normal puisque les voix ne sont pas vraiment digitalisées mais en fait de vulgaires "instruments") !

Les programmeurs qui ont travaillés sur le SPC-700 ont rajouté un en-tête à chaque fichier SPC. Cet entête fonctionne de la même manière que l'ID3 pour les MP3. Il contient des informations comme le nom de la musique, l'auteur, l'album et, éventuellement, le temps du SPC (si aucun temps n'est défini, alors il est infini).

Et la qualité sonore ?

Aucun soucis là-dessus, l'émulateur d'AntiResonnance, SnesAmp, frôle de très près la perfection. Franchement, il faut confronter directement la version MP3 à la version SPC pour constater une différence, souvent infime... Et encore, quand on sait que la musique est remasterisée pour la sortie en Original Soundtrack (en CD Audio quoi...), on peut se demander si la version SPC n'est pas plus proche de ce qui est produit réellement par notre bonne vieille SNes =).

Y a t-il des défauts ?

Malgré tous les éloges que l'on peut faire sur ce format, il y a quelques défauts. Etant donné que la musique est stockée sous forme de programme, il n'est pas possible de se balader dans la musique comme on voudrait. Par exemple, si vous voulez écouter la 50ème seconde de "Four Noble Devils" (Romancing SaGa III), il vous faudra vous taper les 49 premières! Idem si vous êtes arrivé à 1 minutes 30 et que vous voulez revenir à la 50ème seconde, il faudra repartir du début! Dans le plug-in SnesAmp pour Winamp, le problème a été légèrement contourné: si vous mettez le curseur à la 50ème seconde, le programme émulera les 49 premières secondes en avance rapide (la rapidité dépend de la puissance de votre ordinateur). Toutefois, ce n'est pas la solution ultime car, une fois arrivé à l'instant demandé, lorsque la musique commence à se jouer, certains canaux n'apparaissent pas spontanément (pour des raisons techniques qu'il serait un peu long d'expliquer ici ^_^)... Mais bon, la solution fonctionne très bien la plupart du temps.

Le deuxième problème est que le SPC, sous sa forme de programme à bien un début mais pas de fin! En effet, dans les jeux, la plupart des musiques sont jouées en boucle et si ce n'est pas le cas, le jeu s'arrange pour remplacer la musique à la fin du morceau (comme pour la fin de Final Fantasy VI qui est divisée en deux fichiers, ce qui ne se voit pas quand on regarde la fin du jeu car la transition est parfaitement gérée). Du coup, les SPCs ont, par défaut, une durée infinie! Heureusement, la présence d'un champ pour le temps dans les entêtes des fichiers SPC permettent de pallier a ce problème. Certains lecteurs de fichiers SPC ont un temps limite par défaut de défini (comme le plug-in SnesAmp pour Winamp, ou un SPC dure 3 minutes par défaut).

Conclusion

Le SPC est le format ultime (et je pèse mes mots ^_^) pour la musique Super Nes. Il n'est pas 100% parfait, mais il possède plusieurs avantages déterminants sur le MP3. Voici justement un petit tableau récapitulant ses avantages et ses inconvénients.

Avantages
Inconvénients
La faible taille des données comparé au MP3. Les plus gros soundtracks font en moyenne de 300 à 400Ko s'ils sont bien compressés.
Les défauts liés au fait que les musiques sont stockés sous forme de programme. Elles sont, par défaut, de durées infinies et on ne peut pas aller et venir comme on voudrait (défaut à moitié corrigé dans le plug-in SnesAmp pour Winamp)
On trouve aujourd'hui des émulateurs de grande qualité qui reproduisent fidelement le son de la Super Nes! Le meilleur exemple étant SnesAmp! La qualité est 99.5% du temps comparable sans problème au MP3.
Certaines très rares musiques ne passent pas correctement (l'intro chantée de Tales of Phantasia par exemple). Et puis, aucun émulateur n'est parfait! Même si SnesAmp et Super Jukebox sont tout proche de la perfection!
C'est, pour ainsi dire, légal! Beaucoup plus légal que les MP3s en tout cas! =)
Enormément de jeux ont été rippés sous ce format. Il n'y a qu'a voir la section SPC de Zophar's Domain (voir section 'Liens') !!
Les musiques sont bidouillables! Vous pouvez changer les samples, ajouter des effets...etc... Bon ok, il faut bien tâter en programmation SPC-700 mais c'est tout à fait possible!

Retour au Sommaire >>

2/ Installation

Désolé pour les Linuxiens... Les solutions présentées ici ne sont utilisables que sous Windows! J'essayerais de rechercher des solution pour Linux et Mac d'ici une mise à jour du dossier.

De nombreux programmes/plug-ins existent pour écouter la musique SPC sous Windows. J'ai retenu ce qui représente à mon avis les deux meilleures alternatives :

A/ Super Jukebox - Un programme autonome
B/ SnesAMP - Un plug-in pour Winamp (meilleure solution si vous utilisez Winamp)

A/ Super Jukebox

Les opérations pour installer et configurer ce programme sont relativement simples :

  • Commencez par télécharger la dernière version (au moment où j'écris, c'est la version 3.1) sur le site de Super Jukebox
  • Installez le programme.
  • Ensuite, lancez le programme puis commencez par le configurer (les options par défaut sont loin d'être optimales ^_^), pour cela :
  • Allez dans le menu "Options" puis sélectionnez "Configure..." (ou appuyez simplement sur F3) pour arriver à la boite de dialogue suivante :

  • Si vous voulez associer les fichiers avec Super Jukebox (c'est à dire, que Super Jukebox s'éxecute automatiquement lorsqu'on double-clique sur un fichier SPC), cliquez sur "Select All".
  • Si vous voulez éviter qu'un autre programme ne s'associe avec les fichiers SPC, alors cochez l'option "Register file types on startup". A chaque fois que vous redémarrerez Windows, celui-ci ré-associera les fichiers SPC avec Super Jukebox. Cela permet d'éviter que d'autres programmes ne "volent" l'association...
  • Ensuite cliquez sur "Player" dans l'arborescence, vous arriverez à la boite de dialogue suivante :

  • Voici la meilleure configuration à adopter pour avoir la meilleure qualité possible :
  • Pour l'option "Interpolation", sélectionnez "Cubic"
  • Pour l'option "Mixing Mode" : sélectionnez "MMX", si vous avez un processeur Pentium MMX, K6-1, Pentium II. Sélectionnez "3DNow!", si vous avez un processeur AMD autre que le K6-1. Sélectionnez "SSE" si vous avez un Celeron ou un Pentium III. Cette option n'est pas très importante, elle n'influe pas sur la qualité du son, mais sur la puissance utilisée par votre processeur pour l'émulation.
  • Si vous avez des problèmes de grésillements ou de saute de son, vous pouvez augmenter la valeur dans "Buffer length" de 1000 ou 2000 millisecondes. Si ça ne marche toujours pas, cela signifie que le problème vient d'ailleurs...
  • Mettez "Sample Size" sur "16-bit", "APR" sur "Increase" (permet théoriquement aux différentes musiques de se jouer sur le même volume) et n'oubliez pas de cocher "Use low-pass filter" surtout!
  • Voilà! Normalement c'est terminé, vous n'avez plus qu'à sélectionner les fichiers que vous voulez écouter dans l'arborescence de fichiers (partie droite de la fenêtre), vous devez les ajouter dans la playlist (partie gauche de la fenêtre). N'oubliez pas les options "Add All" (utilisée sur un répertoire, elle ajoute dans la playlist tous les fichiers SPC contenus dans le répertoire) et "Remove All" (vide la playlist).
  • De nombreuses autres options existent (comme la gestion de skin par exemple) donc n'hésitez pas à aller explorer un peu par vous-même...

Nouvelle version de Snesapu.dll : L'émulateur SPC-700 utilisé par Super Jukebox est celui d'AntiResonnance et c'est le fichier "Snesapu.dll" qui se trouve dans le répertoire ou vous avez installé Super Jukebox (par défaut: C:\Program Files\Super Jukebox\). Or une nouvelle version (comportant moins de bugs) de cet émulateur est sortie après Super Jukebox! Elle est disponible sur le site de SnesAmp. Pour l'installer: téléchargez le fichier, assurez vous que Super Jukebox n'est pas lancé et décompressez simplement le fichier dans le répertoire de Super Jukebox.

B/ SnesAMP

Voici la meilleure solution si vous utilisez Winamp! Il s'agit simplement d'un petit plug-in qui vous permettra d'utiliser Winamp pour lire les fichiers SPC.

Attention! Winamp est obligatoire!! Si vous n'avez pas Winamp et/ou que vous ne voulez pas l'installer, utilisez Super Jukebox

Attention! J'utilise la version 2.73 de Winamp, si vous avez une version plus avancée, il est possible que la marche à suivre change légèrement...

  • Commencez par télécharger la dernière version (au moment où j'écris, c'est la version 2.50) sur le site de SnesAmp.
  • Installez le plug-in (je n'en dit pas plus, c'est simplissime ^_^).
  • Lancez Winamp, et allez dans "Preferences..." (appuyez sur Ctrl+P ou bien cliquez-droit n'importe ou sur Winamp sauf dans la playlist, allez dans le sous-menu "Options" puis cliquez sur "Preferences...")
  • Cliquez dans l'arborescence sur "File types" puis sélectionnez les fichier SPC, SP1, SP2 ... SP9. Je vous déconseille de sélectionner les types de fichier ZST, ZS1 ... ZS9 puisqu'il s'agit de fichiers de sauvegardes de l'émulateur "ZSnes" : à la base, ce ne sont donc pas des fichiers de musique (même si dans l'absolu ces fichiers marchent également puisqu'ils contiennent les données SPC lorsque le jeu a été sauvegardé).

  • Normalement, les options par défaut du plug-in SnesAMP sont les meilleures. Si, malgré tout, vous avez besoin d'aller dans la configuration, voici la marche à suivre : allez dans "Preferences...", puis, dans l'arborescence, cliquez sur "Input" (qui se trouve juste sous "Plug-ins") puis sélectionnez dans la liste qui apparait "Alpha-II SPC Player ..." et cliquez sur "Configure".

  • La configuration de la section "DSP" devrait être pratiquement optimale normalement ("Sample Rate" sur "44100", "Interpolation" sur "Cubic", "Sample Size" sur "16-bits" et "Low-pass filter" coché). Si vous possédez une vieille carte Soundblaster/SoundblasterPro ou compatible, il est possible que le pitch soit légèrement trop bas, pour y remédier : sélectionnez pour "Pitch" l'option "SB/SBPro".
  • Pour les puristes qui veulent une émulation la plus fidèle possible, vous pouvez avoir une émulation des bugs matériel présents sur la Snes. Pour cela, cochez l'option "Hardware Anomalies". Changez également l'option "Interpolation", car la Snes utilise l'interpolation Gaussienne ("Gaussian") et non cubique (bien que l'interpolation cubique soit une méthode qui donne un son de meilleure qualité la plupart du temps, il n'est pas aussi fidèle).
  • Attention à l'option ""Surround" sound" qui permet de simuler un "pseudo" son surround. Elle ne permet pas toujours d'obtenir une meilleure qualité de son (toutefois, elle marche pas mal avec les musiques de certains jeux comme Seiken Densetsu 3), à vous de voir!
  • La durée par défaut des SPCs où ce n'est pas spécifié n'est pas infini dans SnesAMP. Cela évite d'avoir a changer manuellement de musique. Sa valeur initiale est de 3 minutes. Dans les options de configuration, vous pouvez également régler le temps par défaut des SPCs (la valeur initiale est 3 minutes dont 10 secondes de fading).

Retour au Sommaire >>

3/ Conseils pratiques

La compression des fichiers

Pour avoir un taux de compression optimal sur les fichiers SPC, il faut compresser en archive RAR (avec WinRAR, par exemple) avec les options suivantes : "Create Solid Archive" cochée et le "Dictionnary Size" à 1024 Kbytes.

Attention!

  • Si vous compressez en fichier Zip ou Arj ou autres, vous obtiendrez un taux de compression catastrophique.
    Démonstration avec les musiques de Tenchi Sozou/Terranigma: 55 fichiers de 64.5 Ko, soit environ 3.46 Mo :
Méthode
Résultat (Taille de l'archive)
Archive Zip (compression maximale)
1.94 Mo
Archive Rar sans l'option "Solid Archive"
1.91 Mo
Archive Rar avec l'option "Solid Archive"
0.19 Mo
  • Si vous compressez ensemble des fichiers SPC de plusieurs jeux différents, la compression sera terriblement moins efficace car les samples contenus dans chaque jeu sont la plupart du temps complètement différents.

Pour ripper soi-même...

C'est moins simple qu'on pourrait le penser. Sur certaines versions récentes de ZSnes (1.31 par exemple), le programme recherche le départ du morceau mais cette recherche fait très souvent tout planter (je n'ai réussi qu'à ripper une seule fois sur une bonne dizaine de tentatives sur des jeux différents!). Un conseil si vous voulez quand même essayer, désactivez l'option "New Gfx Engine" sinon ça ne marchera jamais! Sur les versions plus anciennes (la version 1.00 par exemple), le fichier SPC s'enregistre avec comme début du morceau le moment où vous sélectionnez l'option "Save SPC Data" (pour accéder à l'option appuyez sur F1) donc il faut un bon timing pour ne pas rater les premières notes ^_^. Mais au moins ça ne plante pas ^_^.

Update!! Il semblerait que sur la dernière version de ZSnes (1.337), l'ancienne méthode ait été rétablie.

Si quelqu'un connait d'autres méthodes plus simples pour ripper les SPC. N'hésitez pas à m'écrire: xenokefka@excite.com

Retour au Sommaire >>

4/ Téléchargements

Voici une petite sélection de soundtracks très sympa qu'on ne trouve pas actuellement sur le site SnesAmp. Ce sont des archives auto-extractibles, donc même si vous n'avez pas de quoi décompresser les fichiers Rar, pas de soucis =)

Ces SPCs ont été vérifiés par mes soins donc ils devraient marcher sans aucun problème :).

Titre
Taille
Auteur du rip
Commentaires
143 Ko
Master Of Stealth
Des musiques bien flippantes pour cet excellent jeu!
140 Ko
Spongemop
Musiques sympas pour cet Action-RPG édité par Enix
143 Ko
Omni/
Les musiques remasterisées des deux premiers opus de la série mythique d'Enix!
178 Ko
X
Chef d'oeuvre incontestable de Koichi Sugiyama!
139 Ko
Dejap
Six musiques de ce jeu fabuleux!
901 Ko
Alhazard
Gros soundtrack (plus de 100 musiques!) pour jeu d'exception!
72 Ko
LMM
Premier jeu en Dolby Surround sur Super Nes!
151 Ko
Zero
Soudtrack complet de ce célèbre shoot-em-up
162 Ko
TechnoSCuM
Musiques du sympatique RPG tiré du manga de Clamp
122 Ko
King Aleste
Qui ce souvient de cet excellent jeu de plates-formes bien de chez nous?
85 Ko
Lord K Lustar
Des musiques bien Japonaises pour ce très bon jeu d'action
84 Ko
AtLaS
Là, on est plutôt dans les musiques du moyen-orient! Excellentes d'ailleurs!
73 Ko
King Aleste
Un excellent jeu de Nintendo avec des musiques non moins sympathiques =)
142 Ko
King Aleste
Musiques de ce très bon jeu d'action de Sony Imagesoft !
79 Ko
Death Adder
L'un des jeux légendaires de la Super Nes!
103 Ko
Sine7Hz
Falcom est réputé pour la qualité de ses musique (merci la JDK Sound Team!) et le démontre une fois de plus!

Retour au Sommaire >>

5/ Liens

Voici quelques liens recommandés pour vos besoins en SPC =)

Le site de référence! Si vous voulez des soundtracks complets avec temps paramétrés, nom des musiques, des auteurs...etc... C'est le site qu'il vous faut!
Site du logiciel Super Jukebox
Zophar's Domain est l'un des sites de référence pour ce qui concerne le monde de l'émulation! Il possède une gigantesque section bourrée de SPC (hélas, la plupart du temps, non paramétrés). Si vous ne trouvez pas votre bonheur sur SnesAmp, essayez ici! Attention toutefois! Il arrive les SPC soient très anciens et n'aient pas un format valide, donc la qualité du son peut alors être assez mauvaise...
Retour au Sommaire >>