News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

Sound Files Editing (VCE)

Started by Zapper, July 27, 2010, 06:18:39 PM

Previous topic - Next topic

dstien

VCEs are Stunts resource archives. Working on the MIDI file conversion I identified some values in the MT-32 voices file that holds MIDI controller data:

char *vce = findResource(vceBuf, seq->voices[i].id);

if (vce == NULL) {
  seq->voices[i].enabled = false;
}
else {
  seq->voices[i].enabled   = true;
  seq->voices[i].channel   = vce[0x43];
  seq->voices[i].program   = vce[0x44];
  seq->voices[i].volume    = vce[0x45];
  seq->voices[i].pan       = vce[0x46];
  seq->voices[i].transpose = vce[0x10];
  seq->voices[i].hasHits   = vce[0x25];
}

CTG

I need a deep engine voice for the airplanes. Is it possible to solve?

CTG

It would be cool to have a main theme remix to replace the old one. But I guess music file editing has no priority. :)

Duplode

Quote from: CTG on October 25, 2012, 09:23:05 AM
I need a deep engine voice for the airplanes. Is it possible to solve?

Probably not unless you don't mind all other vehicles being affected (cf. Zapper's sound pack).

Zapper

#19
Hi,

Visiting this maturated topic, I found that some images were lost with imageshack... so I tried to fix some of those included in the first topic.

Also related to this topic I recently discovered an edited VCE file (different than the ones included in Zapper's Sound Pack) in my old laptop... so I decided to share it here:

ADENG1T3.VCE (Just copy over adeng1.vce after making it's backup)

This version has an good engine sound match for Flat-6 or V6 engines as Adlib/SoundBlaster sound effects.

Try and enjoy.

llm

#20
Quote from: dstien on December 13, 2011, 02:11:37 PM
VCEs are Stunts resource archives. Working on the MIDI file conversion I identified some values in the MT-32 voices file that holds MIDI controller data:

char *vce = findResource(vceBuf, seq->voices[i].id);

if (vce == NULL) {
  seq->voices[i].enabled = false;
}
else {
  seq->voices[i].enabled   = true;
  seq->voices[i].channel   = vce[0x43];
  seq->voices[i].program   = vce[0x44];
  seq->voices[i].volume    = vce[0x45];
  seq->voices[i].pan       = vce[0x46];
  seq->voices[i].transpose = vce[0x10];
  seq->voices[i].hasHits   = vce[0x25];
}


i found similar offsets while doing my MT15.DRV reverse engineering project - attached is the C-Source part of the Driver
there are some struct-members with the same offset that are used in drv function calls

see
struct1_t
  ...
  byte_44
  byte_45
  byte_46


used in code as

Line 878: send_program_change_midi_msg(channel_, buffer_->byte_44);
Line 918: send_pan_control_change_midi_msg(channel_, buffer_->byte_46);
Line 922: send_volume_control_change_midi_msg(channel_, buffer_->byte_45);

sames as

  seq->voices[i].program   = vce[0x44];
  seq->voices[i].volume    = vce[0x45];
  seq->voices[i].pan       = vce[0x46];




Zapper

Definitely the implmentation of adlib vce file seems to be similar with mt32, but parameter addresses should have different goals and in other numbers since this effects are played differently.

llm

Quote from: Zapper on July 14, 2021, 05:00:32 PM
Definitely the implmentation of adlib vce file seems to be similar with mt32, but parameter addresses should have different goals and in other numbers since this effects are played differently.

is a full descriptione of the VCE format available somewhere?

Zapper

Quote from: llm on July 14, 2021, 08:33:16 PM
Quote from: Zapper on July 14, 2021, 05:00:32 PM
Definitely the implmentation of adlib vce file seems to be similar with mt32, but parameter addresses should have different goals and in other numbers since this effects are played differently.

is a full descriptione of the VCE format available somewhere?

I also would like to discover that, but for now, just guessing and messing with bytes. ;)

Daniel3D

I don't know if you can use this. But I have found a modding resource about the file type.
https://moddingwiki.shikadi.net/wiki/Kris%27_Music_System_Voice_Format
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Daniel3D

Also maybe useful. A list of games that use the same music system.
http://www.vgmpf.com/Wiki/index.php?title=KMS

Released   Title   Sample
1990-10-??   Stunts (DOS)   
1990-??-??   4D Sports Tennis (DOS)   
1990-??-??   Bill Elliott's NASCAR Challenge (DOS)   
1990-??-??   Teenage Mutant Hero Turtles (DOS)   
1991-??-??   4-D Boxing (DOS)   
1991-??-??   Mission: Impossible (DOS)   
1992-??-??   The Simpsons: Bart's House of Weirdness (DOS)   
1993-??-??   Michael Jordan In Flight (DOS)   
1993-??-??   NHL 93 (DOS)   
1993-??-??   World Tour Tennis (DOS)   
1994-??-??   NHL 95 (DOS)
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

#26
@Daniel3D

do you know which of them also got a MT15.drv or variants of it - i've heard (don't know the source anymore) that there are even more tiny differences MT15.drv exist - then the variants in Stunts 1.0/1.1 - a search for " DSI " in all the files could reveal them (even if different named) - but i think only the MT32 supporting games from that list are relevant for the MT15.drv relevant investigation

would be great to have them all - i would include the differences in my C port of the driver

my next goal is to write an MT15.drv based player to play the game sounds outside of the game

so the next question is: which of the above games support MT32? - except the ones we know, its easier for me analysing the VCE stuff from the MT32 direction because i know more details in that area

a list of Game + exact Release Date + MD5 of the MT15.DRV and MT32.PLB would be great

Daniel3D

Quote@Daniel3D

do you know which of them also got a MT15.drv or variants of it - i've heard (don't know the source anymore) that there are even more tiny differences MT15.drv exist - then the variants in Stunts 1.0/1.1 - a search for " DSI " in all the files could reveal them (even if different named) - but i think only the MT32 supporting games from that list are relevant for the MT15.drv relevant investigation
Well, I don't know.
I found this when I was looking for information on the Kms file.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

#28
some of them containing MT15.drv(and MT32.PLB) and the the other sound drivers + bunch of VCE files  - in different versions (seem to be fixes in the timing code) or content - seems to be a very good source for VCE,MIDI sound analysing

1990-10-??   Stunts (DOS)    <-- contains MT15.DRV+VCEs+MT32.PLB
1990-??-??   4D Sports Tennis (DOS)      <-- contains MT15.DRV+VCEs+MT32.PLB
1990-??-??   Bill Elliott's NASCAR Challenge (DOS)      <-- contains MT15.DRV+MT32.PLB and other VCEs+DRVS
1990-??-??   Teenage Mutant Hero Turtles (DOS)    <-- contains DRV (no MT15) +VCEs
1991-??-??   4-D Boxing (DOS)       <-- contains MT15.DRV+VCEs+MT32.PLB
1991-??-??   Mission: Impossible (DOS)   <-- contains MT15.DRV+VCEs+MT32.PLB
1992-??-??   The Simpsons: Bart's House of Weirdness (DOS)    <-- contains MT15.DRV+MT32.PLB and other VCEs+DRVS
1993-??-??   Michael Jordan In Flight (DOS)   <-- contains MT15.DRV+MT32.PLB and other VCEs+ many different other sound-source DRVS
1993-??-??   NHL 93 (DOS)   <- MT30.BGP seems to be the MT32-sound driver, HOCKEY.EXE seems to have integrated MT32 support
1993-??-??   World Tour Tennis (DOS)   <-- contains MT15.DRV+VCEs+no MT32.PLB
1994-??-??   NHL 95 (DOS) <-- contains some KMS files

there are several changed versions of MT15.drv (and other drvs) around - also the contained MT32.PLB (sounds etc.) are different (much bigger or smaller then stunts)

could be funny to test if the different MT15.DRV and MT32.PLBs work with Stunts (some of the driver a litte bit bigger, some are 2-3 kilobytes larger)

GTAManRCR

Zapper, your V6 driver (ADENG1T3.VCE) sounds like a V10 with a Formula 1 car. So let's call it a Formula 1 V10 driver, okay?
Hejj bicska, bicska, bicska csantavéri kisbicska!