Salut
Kannagichan Bon, etant en vacances moi aussi j ai pu me dégager un peu de temps pour effectuer quelques recherches sur des infos Techniques pour le CPS-1, le processeur sonnore de la taito F3 ...
...'Pour le CPS-1 le
MSM6295 , le code source et les infos sur le net ,indique qu
'il ne gere que ADPCM donc tu devrais facilement trouver un convertiseur wav/adpcm.'
Oui, c'est tout a fait cela : j'ai trouver plusieures solutions afin de creer les samples adoc pour le CPS-1 : 'AUDACITY' (ou tout autres logiciels de traitement du son: Goldwave, CoolEdit ... ) et aussi '
SOX' , qualifié de couteau Suisse .... pour moi qui ne le connait pas du tout, une Véritable Usine a gaz !
comme je te l'avais dis , j'avais trouver ce lien d'une Video Youtube, qui nous permettait de nous mettre sur la Bonne Piste :
la solution du Codec : Dialogic's ADPCM ! ...j'ai fais pas mal de recherche sur la partie sonore pour les system CPS-1 par exemple notamment sur le processeur Oki_MSM6295 .... Par contre, son petit frere le Oki_MSM6258 utilisé sur le système japonais X68K est peut-etre compatible en therme de codec ....au vu de ce que j'ai trouver sur certain Forum X68K .
1/ convertiseur adpcm /wav donc IMPORT / fonction 'Decoder' Stargate Pinball Gottlieb System 3 Sound Modification
On y apprend pas mal de choses au travers des commentaires sur la video , et de son auteur ...
-----------------------------------------------------
'These sounds are stored as raw 8KHz ADPCM files <<<<<<<<<<<
System 3 machine which uses an aux sound board with the MSM6295 ADPCM voice chip ...'get Audacity as I linked to above. Run the program. Do File:Import:Raw Data and select the ROM file. In the ensuing options make the following selections:
Encoding: VOX ADPCM
Byte order: Litle-endian <<<<<<<<<<<<<<<<<
Channels: 1 Channel Mono
Start Offset: 0 bytes (this starts at the beginning of the file)
Amount to import: 100% (this brings in the entire file)
Sample rate: 8000 HzRQ: je confirme, ca fonctionne nickel avec ma vieille version d'AUDACITY / pour mon test j'ai JOINT via un BATCH les 2 fichiers ROMS (pour le son des CPS-1) et créé un fichier unique
>mon BATCH (tu dois connaitre) ->
copy /b ff18-18.bin+ff19-19.bin FFIGHT.bin -> c'est ce fichier unique ' FFIGHT.bin' que j' Import ... nota: le son sonne nickel , malgré la présence des Header au debut des EPROM 18 et 19 ...
------------------------------------------------------
Comme je le dis plus haut, j'ai effectué des recherches sur les Forum dédié au X68K, afin de trouver d autres infos sur comment Décoder les Samples (ici ke format des file *.pcm) pour le
OKI (M)6258....
http://nfggames.com/forum2/index.php?topic=6066.msg41855#msg41855 X68000 Drum Sample Pack
ATTENTION , sur le X68K , il ne s'agit plus de Fichiers ROMs mais de PDX !
.. 'I was able to load the exported samples in Audacity by using Import Raw Data with settings VOX ADPCM, Big-endian, 1 channel, 0 offset, import 100% and 15600hz sample rate.'
https://imgur.com/a/iZMh3 2 images setting : 'Import Raw Data ' + celle d' un Tool nommé 'PDX PCM file Extracter'
ou présenté comme ci-dessous
-----------------------------------------------------
These sounds are stored as raw 15600Hz ADPCM files -> le OKI (M)6258 AD-> dispose de plusieures Sample Rate ; 5 au total -> voir ci-dessous (*) PITCH utilisé dans les productions MML : fichiers *.MDX + *.PDX
get Audacity as I linked to above. Run the program. Do File:Import:Raw Data and select the PDX file. In the ensuing options make the following selections (settings) :
Encoding: VOX ADPCM
Byte order: BIG-endian <<<<<<<<<<<<<<<<< tiens petite difference !
Channels: 1 Channel Mono
Start Offset: 0 bytes
Amount to import: 100%
Sample rate: 15600 HzNota: j'avais vu aussi ici su le meme Forum X68K:
http://nfggames.com/forum2/index.php?topic=5115.30;wap2
'About sound, all I can say is that the ADPCM is an OKI MSM6258, which use the 4 bits dialogic adpcm algorithm. I know the "SoX" program can convert many pcm formats to another one, including dialogic. For playing samples, I guess you can ' Donc, au vu des ces infos, on peut tres certainement supposer que les OKI 6258 et 6295 sont compatibles ... mais cela reste a etre vérifier par des outils (nombreux PCMCONV sur la scene X68K + M6258 .... ) et des tests sur le Vrai Hard CPS-1 nous en diront plus !Nota: la question avait d'ailleurs été évoquée sur le Forum de Deflemask :
http://www.deflemask.com/forum/general/deflemask_download/435/ > 3noneTwo:
' It's kind of a shame that the X68000 didn't use the same OKI chip as many arcade boards. X68000 used the OKIM6258, while arcade boards often used the OKIM6295. It might be worth investigating if the two chips are similar, since YM2151+OKIM6295 was a popular arcade combo — Though this only matters if you really want to add more PCM arcade chips to DefleMask. ' PITCH pour les BGM sur X68K -> info trouvée dans une fichier MML
Change PCM frequency (pitch)
Range is 0-4 inclusive, default is 4
0 = 3.9kHz
1 = 5.2kHz
2 = 7.8kHz
3 = 10.4kHz
4 = 15.6kHz <<<<<<<<< par defaut !
-------------------------------------------------------
2/ convertiseur wav/ adpcm donc EXPORT / fonction 'Encoder' , toujours avec l' aide d' AUDACITY La encore, j'ai eu de la chance en faisant des recherches avec le mot clé ' VOX + Dialogic ADPCM '
j'ai trouvé sur Github ce super projet 'nesadpcm'
https://github.com/furrykef?tab=repositories > nesadpcm / VOX ADPCM player for NES ... A VOX ADPCM (a.k.a. Dialogic ADPCM or OKI ADPCM) decoder for the NES.
RQ: possibilté d'utiliser NSFPlug (winamp) pour ecouter le resultat et de comparer avec AUDACITY !!!
-------------------------------------------------------
Le dev., furrykef nous donne la procedure: Creating VOX ADPCM samples
'Converting your samples to VOX ADPCM is easy! For our example, we're going to use Audacity, but other tools can be used.
First, load your sample in Audacity. Then, in the bottom-left corner of your screen, click the "Project Rate (Hz)" and type in the playback rate of the engine. For instance, if you're using the maximum playback rate of the engine's slow mode, type 6351.
Next, go to File->Export..., then before you save, set "Save as type" to "Other uncompressed files", then click the Options... button in the dialog box. Choose "RAW (header-less)" for the header and "VOX ADPCM" for the encoding. Now save your file and voila!'--------------------------------------------------------
Maximum playback rates are as follows:
Slow mode: 6351 Hz
Faster mode: 8470 Hz
Fastest mode: 8948 Hz
>Kannagi : je pense que ces valeurs sont plus spécifiques au Decoder ADPCM pour la NES (qui utilise en Natif le DPCM 7bit si je me souviens bien) -> revoir la section 'Determining sampling rate ' donc.
J'ai vu aussi souvent dans les drivers MAME : sample rate = M6295 clock /165 -> le circuit sonore etant utilisé par de nombreux autres Systems d'Arcade que celui du CPS-1 -> pour s'en rendre compte :
sur wikipedia pour l CPS-1 -> Yamaha YM2151 @ 3.579 MHz; Oki OKI6295 @ 1 MHz (7.576 kHz samples). sur d'autres Systems -> M6295 clock: 1.33333MHz, Sample Rate: /165 . ->1333330/ 165 = 8080 Hz ...
https://vgmrips.net/packs/chips lls utilisent le M6295: Toaplan 2, CP System, Mega System 1, Arcade Machine, Y Unit T Unit, Cave 68000, Deco 32, B System, Mega System 1-C, Deco MLC System,
Sur le Net, on parle a propos des fichiers VOX des Sample Rate 6KHz et 8KHz ... et donc on utilise plus 6000 et 8000 pour les essais ..
Audio extension! VOX – Dialogic ADPCM Low Sample Rate Digitized Voice (VOX)
Extension de fichier .VOX ADPCM Dialogic Sound
Extension de fichier .VOX-6K Dialogic 4-bit ADPCM
Extension de fichier .VOX-8K Dialogic 4-bit ADPCM
Deplus dans le repertoire nesadpcm/raws/ on trouve aussi des fichiers *.Raw' (ou *.vox pour resté coherent) avec d'autres Sample Rate : dk-roar-4000.raw, beatles-6236.raw .... il faudra voir si le Hard CPS-1 les support (il n'y a pas de raison)
De quoi donc réaliser des tests avec AUDACITY et les Samples Roms des jeux CPS-1, ou bien des Vox de 'Frog Feast ' ....
Avec du recule, j'aurais du m' apercevoir que Charles DOTY avait fait une partie du boulot en nous donnant les infos sur la partie SON du CPS-1 avec son projet 'Frog Feast :
http://frogfeast.rastersoft.net/CPS1Src.html >-> All of the sound stuff was done with Cool Edit Pro, but any audio editor should work. The audio files are converted to a 16 bit 8000 hz 4 Bit Dialogic ADPCM format.
>Kannagi; je sais que tu n'aime pas trop utiliser comme support , le travail d'autres Dev. et tu prefere partir des sources des Drivers MAME afin d'en extraire les specifications techniques ...
Pour ma part, Je pense que le travail de C.Doty peut nous aider. .. je resterais sur la partie SONORE du CPS-1 (mais cela reste valable pour la partie PGM-1 et l' ICS2115 / 32 canaux PCM ) et les outils developper pour les GFX et le Son
pour rappel , ces tools c'est ici ->
http://frogfeast.rastersoft.net/Files/CPS1Tools.zip demo -> Le Batch pour le Builder de la ROM son ' , respectant les Romset du Jeu 'FINAL FIGHT'
snd.bat:
cd Sounds
CPS1Sound 0 Frog.vox SoundHeader.bin -> SoundNumber SoundHeader :contient quoi comme info ? -> >KANNAGI il y a quoi dans ce Header ?
CPS1Sound 1 Tongue.vox SoundHeader.bin
CPS1Sound 2 FlyGrab.vox SoundHeader.bin
CPS1Sound 3 Water.vox SoundHeader.bin
copy /b SoundHeader.bin+Frog.vox+Tongue.vox+FlyGrab.vox+Water.vox ff18-18.bin -> le Builder de la ROM Son 'CPS1Sound' pour le CPS-1 / hyper simple !
PadFile 0 131072 ff18-18.bin
copy ff18-18.bin c:\mame\roms\ffight
copy ff19-19.bin c:\mame\roms\ffight
cd ..Romset:
ff09-09.bin or FFIGHT.09 Z80 -> sound driver
ff18-18.bin or FFIGHT.18 Sound
ff19-19.bin or FFIGHT.19 Sound
conseil, si vous voulez egalement vous amuser avec les ROMS son des jeux qui utilisent le OKI (M)6295 ... je vous donne cces quelques sites
Pour mes essais sur les Roms Son , j utilise toujours les Drivers XML pour HOOT - j'ai trouvé ce super site JAPONAIS 'hoot arcade wiki' par ex pour CAPCOM
http://www19.atwiki.jp/hoot2ch/pages/41.html <game>
<name>FINAL FIGHT</name>
<!-- -->xml fait: les hautes collines
<driver type = "cps1">capcom</driver>
<romlist archive = "ffight">
<rom type = "code" offset = "0x00000">ff09-09.bin</rom> -> le driver sound , EPROM 09.bin
<rom type = "pcm" offset = "0x00000">ff18-18.bin</rom> 128 KB
<rom type = "pcm" offset = "0x20000">ff19-19.bin</rom> 128 KB -> total size -> 256 kb
</romlist>
pour les Zip ROMS (contenant uniquement le driver en 09.rom et les samples 18.rom + 19.rom ) c'est toujours ici :
http://hoot.joshw.info/roms/ CAPCOM roms ou bien là :
http://hoot.joshw.info/!MDScene_Arcade_VGM/Update du 03/09/2016 -> le soundChip MSM5205 (adpcm sample - 8 KHz) utilise lui aussi le Dialogic ADPCM comme Algo de Compression ... Super , Cela confirme mes soupsons ; Infos trouvées ici :
http://forum.gadgetfactory.net/index.php?/topic/1830-driving-a-ym2151-fm-synth-chip/ YM2151 FPGA (ca pourra peut etre interesser Sean / Furrtek au passage ... ) http://www.ysutopia.net/special/MSM5205.htm#ADPCM_format si cela se trouve , la scene Dev PCE / Turbo Gfx dispose d'outil pour le son , pouvant nous aider -> poser la Question a freem qui dev sur la PCE ...
Sujet = cps1 sfx file format : >Kannagi, pourras-tu nous donner des infos sur la structure et le FORMAT des Sound Roms pour le CPS-1 ? On sait qu'une ROM Son est constituée d'un HEADER + des samples au format RAW /VOX ... Je pense que tu pourras trouver des infos sur le code source de son Builer 'CPS1Sound'
Pour m'a part j' ai essayer de trouver des infos lisible (pour un mec comme moi , qui ne suis pas dev., ni meme programmeur) ->j' ai trouvé un debut de piste là encore : Je sais que le Dev. tres connu de la scene Megadrive, Tiido (son prénom) plus connu sous le pseudo
TmEE,, a effectuer des recherches sur le Format des ROms Son des CPS-1 , ce qui permet ensuite pas mal de modification, extraction (au format original *.vox) de tous les samples (sfx, voices , instruments ...)
A priori, la solution se trouve dans les DATASHEET des soundchip OKI : Le Bidouilleur
The Drakon a posté quelques infos sur differents Forums dédiés au Bootleg / Romhacking ->
'Thanks to tiido I learned how to manipulate sound effect samples in the arcade game and either remove them or replace them with samples from other cps1 games. / Anyway with the great help of tiido I learned the cps1 sfx file format and learned how to transplant sfx samples between games. / ...With the great help of tiido figuring out the 6295 rom format by reading the datasheet .... / With the help of tiido I learned how to transplant sound effects between cps1 games. I swapped the bass kick sound in street fighter 2 with the bass kick from megaman the power battle ' .... Pour , ma part j'ai egalement toujours en téte que les tous premiers jeux CPS-1 (voir meme certains CPS-2) ont été developpés sur X68000 (voir mon post ci-dessous du 02/12/2011)
d'ailleurs d' autres site l'ont par la suite confirmé plus en détail dont celui de
Arcade Hacker http://arcadehacker.blogspot.fr/2015/05/capcom-cps1-part-2.html 'According to what is known, Capcom used the X68000 as a benchmark for its CPS1 hardware design and also as game development workstation.' / Voici quelques infos sur les PDX :
https://vgmrips.net/wiki/PDX 'File starts with 96 32-bit unsigned integer pairs, each pair containing offset and length of ADPCM data chunks for each note value. To play a particular sample, simply play the note with the corresponding value on channels P - W.
The ADPCM data is 4-bit. Sample rate is set in the MDX file. 'Fred/FRONT