Instrument viewer

Issue #10 wontfix
Former user created an issue

A view of the instruments used in the file. This can be useful when one wants to create an instrument definition file out of existing songs. For example: I have a MIDI file which plays all the 128 melodic instruments, and all the 47 percussive instruments. I can play this file in windows 95, windows 3.1, games, etc. I capture what is played in a DRO file. Now i want to see the list of instruments used and use that information to create an instrument definition for a MIDI player I'm making. The instruments used is just a description of the contents of the registers each time a note is played.

Comments (3)

  1. jestar jokin repo owner

    Interesting idea! There may be a few problems with this approach, however.

    1. The DRO format might be too low level to effectively capture enough information to determine an "instrument". While General MIDI files use preset instruments which do not let you alter the sound beyond some simple effects (chorus and reverb), OPL3 music uses a full synthesizer, and those synthesized sounds could change over time. For example, the original game's music player might apply a Low Frequency Oscillator (LFO) effect to slowly change the tone of an instrument, however the OPL3 has no support for LFOs so this would have to be implemented in the music player. The DRO format just logs the raw data sent to the registers, and would not know about any LFO. This could mean the registers would be different between notes, and each note would appear to be a new instrument.

    2. DRO Trimmer currently does not keep the state of each register. There is already an analyser implemented that determines the state of each register, in order to display the correct value in the "Description" column. We could do something similar, but the information has to be calculated every time instructions are deleted.

    An alternate approach might be to just let you view the channels used and mute/solo them as appropriate, and you just write down the instruments yourself, although I have seen some DRO files where instruments alternate each note between different channels. If you grab the latest code from the "newFeatures" branch, you'll be able to solo/mute channels from the command line player, this will be incorporated into the next release (whenever I get around to it).

    I recommend you have a look at DRO2MIDI, and see how it performs the mapping to MIDI instruments.

  2. jestar jokin repo owner

    Unfortunately, I've decided not to implement an instrument viewer, mostly since DRO files have no real concept of an "instrument". I'll close this issue for now.

  3. Log in to comment