Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: Extracteur-décodeur SDAT  (Lu 2842 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Synthesis Hors ligne
Global Moderator
*****
Messages: 176


Voir le profil WWW
Membre n° 341

« 08 Décembre 2008, 18:26:06 »

Salut !

Depuis quelques jours, je me suis relancé dans le décodage ADPCM (voir mon topic à ce sujet).


En fait, je souhaiterais faire un décodeur SDAT 2 MOD (codé en C, pour ligne de commande). L'idée est assez bizarre, je m'explique :

Comme vous le savez peut-être, certains fichiers .nds contiennent une section SDAT qui concerne la gestion des fichiers sons par Nintendo (avec effets sonores, modules, etc.)

L'idée est de créer un décodeur-extracteur de SDAT, qui convertit les fichiers SSEQ (contenus dans les SDAT) en fichier de type XM ou IT, et qui décode tous les autres fichiers sons de la rom.
Plutôt sympa pour ceux qui (comme moi) sont tentés de faire des remix de titres entendus sur console...


J'ai trouvé un petit peu d'infos sur :
> La structure des SDAT :
   kiwi.ds.googlepages.com/sdat.html
> Comment décoder de l'IMA ADPCM en PCM 16-bits :
   La GBATek
   MultimediaWiki
Malheureusement, je connais pas encore la structure des fichiers XM ou IT...


Si quelqu'un est tenté de rejoindre le projet...
Journalisée

The Turrican DS Project
NitroTracker songs
Scape Original Soundtrack (Includes 3 leftovers)
MasterDje Hors ligne
Diet Coke Addict
Global Moderator
*****
Messages: 3249


Voir le profil WWW
« Réponse #1 : 08 Décembre 2008, 19:16:56 »

j'suis pas efficace en xm ou it (utilisateur de fast tracker2, quand meme, mais pas plus... désolé)
mais je trouve ton idée GENIALE, si c'est faisable (du genre d'un cryptage moisi nintendo trop zarb...)

j'espère vraiment que ce projet va aboutir... Azn
Journalisée

morukutsu Hors ligne
Hero Member
*****
Messages: 500


Voir le profil
Noctambule

« Réponse #2 : 08 Décembre 2008, 20:13:30 »

ça peut être intéressant, ça m'a toujours branché de faire des algos dans le genre Azn
Journalisée
Synthesis Hors ligne
Global Moderator
*****
Messages: 176


Voir le profil WWW
Membre n° 341

« Réponse #3 : 08 Décembre 2008, 22:18:02 »

j'espère vraiment que ce projet va aboutir... Azn

Moi aussi, vraiment Azn

En fait, je fais ça pour m'éviter une tonne de manips du genre :
- Découpage de la rom avec DSLazy
- Découpage (sans effet) de la partie .sdat avec un truc trouvé sur le Net
- Création d'un outil en C pour découper la partie .sdat parce que l'autre truc marche pas bien
- Création d'un décodeur ADPCM en C
- Conversion des .sseq en .mid avec sseq2mid
- Ouverture des .mid avec ModPlug et conversion en .it
- Remplacement un-à-un des sons de la carte midi par les sons du jeu
- etc etc etc

L'idéal c'est que ça "fasse tout ça d'un coup", et qu'on puisse obtenir au final un dossier contenant d'une part les effets sonores du jeu, et d'autre part les sseq converties dans un format standard.
Journalisée

The Turrican DS Project
NitroTracker songs
Scape Original Soundtrack (Includes 3 leftovers)
Ludo6431 Hors ligne
Administrateur
*****
Messages: 903


Voir le profil WWW
It flies !

« Réponse #4 : 09 Décembre 2008, 12:41:47 »

Déjà pour éviter ton premier point, il suffit d'utiliser ndstool directement (utilitaire en ligne de commande, utilisé autant pour recompacter que pour décompacter les fichiers .nds (utilisé à chaque compilation, pour créer le .nds)).
Et après à vous l'honneur Smiley
Journalisée

Mon matériel : DS Lite blanche flashée v8 | DSi noire | SCLite | SCDS ONE v2 | SCDS TWO | DSerial EDGE | MK-R6 gold | rumble pack | R4(r4ds.cn) | M3i Zero | Acekard 2i | iTouch DS | CycloPS' iEvolution
Synthesis Hors ligne
Global Moderator
*****
Messages: 176


Voir le profil WWW
Membre n° 341

« Réponse #5 : 09 Décembre 2008, 13:16:41 »

Déjà pour éviter ton premier point, il suffit d'utiliser ndstool directement (utilitaire en ligne de commande, utilisé autant pour recompacter que pour décompacter les fichiers .nds (utilisé à chaque compilation, pour créer le .nds)).
Je saisis pas, là... j'utilise DSLazy pour décompacter ma rom, ndstool ferait exactement la même chose, d'après ta description...
Journalisée

The Turrican DS Project
NitroTracker songs
Scape Original Soundtrack (Includes 3 leftovers)
Ludo6431 Hors ligne
Administrateur
*****
Messages: 903


Voir le profil WWW
It flies !

« Réponse #6 : 09 Décembre 2008, 18:47:30 »

Ben en fait DSLazy utilise ndstool (qui est un utilitaire en ligne de commande) -_-'
Journalisée

Mon matériel : DS Lite blanche flashée v8 | DSi noire | SCLite | SCDS ONE v2 | SCDS TWO | DSerial EDGE | MK-R6 gold | rumble pack | R4(r4ds.cn) | M3i Zero | Acekard 2i | iTouch DS | CycloPS' iEvolution
Synthesis Hors ligne
Global Moderator
*****
Messages: 176


Voir le profil WWW
Membre n° 341

« Réponse #7 : 09 Décembre 2008, 22:01:01 »

En effet, après vérification, c'est bien ça...

Sinon je réalise que le format SSEQ peut difficilement être converti en XM :
Certains effets (comme le changement de panoramique de piste) sont "permanents", ils ne changent pas tant qu'ils ne sont pas modifiés ensuite -- je sais, c'est bizarrement dit -- contrairement aux effets XM qui reprennent leur valeur par défaut lorsqu'une nouvelle note est jouée.

Donc, seul le .it est retenu, il me reste plus qu'à trouver un peu de doc...
Journalisée

The Turrican DS Project
NitroTracker songs
Scape Original Soundtrack (Includes 3 leftovers)
midwife Hors ligne
Newbie
*
Messages: 10


Voir le profil
« Réponse #8 : 18 Mai 2009, 14:20:40 »

Salut, voilà ce que j'ai trouvé

* ITTECH.TXT (45.77 Ko - Téléchargé 134 fois.)
Journalisée
Synthesis Hors ligne
Global Moderator
*****
Messages: 176


Voir le profil WWW
Membre n° 341

« Réponse #9 : 18 Mai 2009, 14:50:48 »

Désolé, ça fait longtemps que je l'avais trouvée, cette doc.


En fait, finalement, j'ai abandonné le projet quand j'ai appris qu'il existait déjà un outil qui permettait de faire ça, ça s'appelle VGMTrans (cherchez un peu sur Goût-gueule, vous trouverez sans doute).

VGMTrans convertit des séquences au format MIDI et les sons associés au format DLS (= pack de sons pour séquenceur MIDI).
Il ne reste plus qu'à associer le DLS au fichier MIDI qui va bien en utilisant le logiciel Awave Studio, et exporter le tout en wav ou en mp3 (je me souviens plus des formats gérés).

Avec VGMTrans, on peut récupérer tous les effets sonores d'un jeu et tous les instruments utilisés dans les musiques (on peut aussi le faire un par un au format wav, et pas seulement en DLS).


Seul petit hic de VGMTrans (faudrait corriger le code source, en plus c'est un bug facile à corriger), c'est que certains sons ont une fréquence de base supérieure à la fréquence maxi autorisée sur 16 bits (et que donc VGMTrans va les jouer à une fréquence de 65536 Hz de moins). Il faut simplement corriger les sons qui sonnent pas ou qu'on n'entend pas bien en rajoutant 65536 à leur fréquence.

La correction du bug consiste à faire un tout petit calcul de rien du tout avec les 2 octets suivants dans la rom (en rapport avec la fréquence et le timer), et si le résultat est pas assez proche de la fréquence qu'on a lue, on rajoute 65536 à la fréquence (et on passe en double word, évidemment).


PS : Désolé pour le post over-long...
« Dernière édition: 18 Mai 2009, 14:55:21 par Synthesis » Journalisée

The Turrican DS Project
NitroTracker songs
Scape Original Soundtrack (Includes 3 leftovers)
Pages: [1]   Haut de page
Imprimer

Aller à: