Skip to content

VGM Synth/Sample Muting Possible?

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • !!!!! Offline
  • Posts: 2
  • Joined: 2019-01-26, 8:28:21

VGM Synth/Sample Muting Possible?

Post by !!!!! »

I wanted to know if there is anyway to mute individual samples and synths in pre-existing VGMs whether to edit it's soundbank, force to play only one synth at a time via VGM player, etc?

For example a VGM (specifically with YM) might have 10 FM patches which alternate between 4 or 5 YM2612 channels with the DAC channel constantly swapping between samples.

Random VGM Song:
FM 1
FM 2
FM 3
FM 4
FM 5
FM 6
FM 7
FM 8
FM 9
FM 10
Sample 1 - Kick Drum
Sample 2 - Snare Drum
Sample 3 - Tom Drum
Sample 4 - Voice Sample

I want to be able to play VGMs with only one of these synths/samples playing for the entire duration of the VGM with silence at places other instruments were meant to play. The first VGM copy would only play FM1, second VGM would only play FM2, and so on up until the final sample that plays in the file which would be the 14th VGM in this case. All versions would retain the exact song length in that case.

Thanks in advance.
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Not that I'm aware of. you can mute channels but not individual instruments.
  • User avatar
  • mmontag Offline
  • Posts: 25
  • Joined: 2019-05-16, 8:27:23
  • Location: San Francisco, CA
  • Contact:

Post by mmontag »

This is a very good question.
Can this information even be recovered in theory from VGM format?
Listen to VGM ♫ (libvgm/VGM 1.71)
  • User avatar
  • ValleyBell Offline
  • Posts: 4803
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

The difficulty of recovering information about instruments from VGM files depends on the sound chip:
  • The PCM part of OPL4 and OKIM6295 have a large instrument/sample table at the beginning of the ROM, so it's easy with them.
  • Other PCM chips allow you to set start/loop/end points. Getting samples needs a bit of effort, but works well. (as proven by vgm_sro)
  • FM chips let you set up certain parameters (ADSR envelope, how the operators of a single channel are connected, etc.). You can extract instruments with some more effort.
    Sound drivers are able to change instruments while a note is playing though. Or they might adjust some filters depending on time or note. So the results aren't always perfect. (see vgm2tfi/vgm2opm/2612edit)
  • When using PSG chips like the SN76489 and AY8910, "instruments" are controlled by modifying the frequency and volume registers in realtime.
    That means that the concept of an "instrument" is completely on the side of the sound driver, so reconstructing instruments is very hard.
  • !!!!! Offline
  • Posts: 2
  • Joined: 2019-01-26, 8:28:21

Post by !!!!! »

My primary concern would be FM synths for Mega Drive/Genesis/Sega CD/32X and some arcade games that use FM (YM2612, YM2151) and their samples (YM DAC, OKIM, RF5C68, etc) to play in the fashion I described in the first post. I'm not concerned with PSG chips as I can deal with square waves much more easily.

I'd be willing to financially compensate anyone who would be able to make a tool that can batch create VGMs with an individual instrument or sample tied each one.


Post by RandomName »

I think kode54's multidumper would work, but it outputs wav files not vgm files.
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Multidumper creates wav files for each FM/PSG channel, it does not isolate each instrument in the file.
Post Reply