Menu

#99 ALL: Favor Adlib over MT32 for SFX tracks

open
nobody
None
1
2005-10-11
2003-06-21
Marek Roth
No

I don't know if you can easily distinguish between
music and SFX, e.g. recognise if a midi resource is
used for a sound effect or is it part of the musical score.
The problem is, that the MT32-to-GM translation is good
for music, but not that good for SFX, e.g. open and
close doors doesn't really sound like doors with a GM
wavetable when multi-midi is enabled. A priority like
Sample > Adlib > MT-32 would be usefull while all
musical scores should play the MT-32 version regardless
of the existance of other formats.

Discussion

  • Jonathan Gray

    Jonathan Gray - 2003-06-22
    • assigned_to: nobody --> jamieson630
     
  • Jamieson Christian

    • priority: 5 --> 2
     
  • Jamieson Christian

    Logged In: YES
    user_id=596642

    Wait a minute.... You're asking for better SFX under multi-
    midi? In that case, I have to assume you are referring to
    sound effects that you don't hear AT ALL unless you use the
    multi-midi option. If that's the case, here's why: those sound
    effects are ADLIB ONLY. They are not MT-32, they are NOT
    suffering from bad MT32-to-GM translation. They are going
    through the Adlib MidiDriver and will sound exactly the same
    regardless of your wavetable synth hardware (which they're
    not even using).

    In the case where a native driver has been selected, GM
    tracks take first priority, followed by ROL tracks (MT-32 with
    GM translation). Adlib is used ONLY if the other two are not
    present AND multi-midi has been selected to allow an Adlib
    driver to run in parallel with a native music driver.

    If the above is NOT what you are referring to, please give
    specific examples (game, location in game and action taken)
    where you think the SFX are not sounding appropriate, and
    list all command line options and config file options used to
    run the game.

    Lowering priority; I suspect this feature request arises out of
    a fundamental misunderstanding of what multi-midi support is
    for.

     
  • Marek Roth

    Marek Roth - 2003-06-22

    Logged In: YES
    user_id=123766

    I think multi-midi is ment in order to enable adlib sounds
    while all the GM or MT-32 is played at the same time, which
    was not possible in the original interpreter.

    And I am not refering to ADLIB ONLY effects. In fact, they
    seem to play just fine. I am not aware of any sound effect
    that only plays with multi-midi at all.

    Well, some examples: Just start Monkey Island 2 with
    multi-midi enabled. You hear a perfect Adlib sound while the
    code wheel items are shuffling. Then in the next screen,
    when you select the difficulty level you hear some dull MIDI
    noise. At this screen the Adlib equivalent would be more
    appropriate. This goes for all sound effects where an MT-32
    and an Adlib version exists. As I mentioned before, this
    includes almost all doors in MI2 and FOA. In case of that
    door, I hear some sound of the drums which really don't have
    similarities to a door sound.
    Or in MI2, when you dig for the bone at the graveyard, gun
    shots play. Also here the Adlib thunder sound would be more
    appropriate.
    There is no problem with the Adlib only sound effects as in
    MI2 the fire crackles correctly, the sound when broking the
    shovel from the sign sound well etc.. Sampled effects like
    the spit from the barkeeper play fine as well. There is no
    problem with the music, at all. The translation just works
    fine, and I think the quality is comparable with the DOTT
    midis for example. Because that I asked for distinguishing
    between music and sfx.

    This feature request should probably an option which is only
    used when MT-32 is translated to GM not when native MT-32 is
    enabled as that device would understand those effects correctly.

     
  • Jamieson Christian

    Logged In: YES
    user_id=596642

    Some examples of Adlib-only tracks that require multi-midi if
    you're using a native driver are the clicking sound during the
    MI2 copy protection screen code wheel, the sound when you
    pull the shovel off the sign in Woodtick, and the sound of the
    carpenter's hammer. But I digress....

    I am not aware of anything in the resources that specifies
    whether a sound is music or SFX. Consequently, the only
    solution I can see would be a hack that takes into account
    the SIZE of the resource -- i.e. we MIGHT be able to get
    away with assuming that sound resources that are sufficiently
    small are probably SFX rather than background music. At this
    time I would prefer not to implement such a hack until I've
    consulted with the project leads.

     
  • Jamieson Christian

    • priority: 2 --> 1
     
  • Jamieson Christian

    • summary: better multi-midi priority for SFX --> ALL: Favor Adlib over MT32 for SFX tracks
     
  • Marek Roth

    Marek Roth - 2003-07-15

    Logged In: YES
    user_id=123766

    Some SFX used in the games currently sound awfull with the
    GM translation. At least some of them do have their GS
    counterpart. This is the case for doors, thunder and
    explosion for example. Is it possible to translate them to
    those GS sounds? This would be even better than Adlib
    emulation, of course. Since these aren't available on any
    wavetable this should be another optional switch of course.

     
  • Marek Roth

    Marek Roth - 2003-10-08

    Logged In: YES
    user_id=123766

    A way of detecting an SFX track could be that: Check if it
    uses one or more MIDI channels, ie. start parsing the file
    until more than one MIDI channel is found or the end of the
    MIDI data is reached. In case there is only one channel that
    approach wouldn't take that long, since such MIDI are
    ususally very small. Those parsing cases could be even
    reduced by a MTrk count check before that, since it is
    greater than one in many cases and then a musical cue for sure.
    Note that even the simpliest music cues use at least two
    channels. For instance the Scabb Island map overview has one
    flute track and one percussion track.
    The metronome ticking on the Bloody Lip might be a rare
    exception, but I think it really doesn't effect gameplay
    when it ticks with Adlib.

     
  • Jamieson Christian

    Logged In: YES
    user_id=596642

    Just a note on the MTrk comment -- SCUMM games use SMF
    Type 0 tracks, which means the events for all the MIDI
    channels occur in a single MTrk. So counting MTrk's wouldn't
    work because the count is *always* 1.

    I will ponder on your other suggestions....

     
  • Marek Roth

    Marek Roth - 2003-10-08

    Logged In: YES
    user_id=123766

    As far as I can tell, all tracks in Monkey2 and FOA (which
    are the only games where this feature request does matter,
    as multi-midi has no effect on other games anyway) have all
    the MIDI in type 2, which is multi track not ment to be
    played simulaneously, which is a requirement for iMuse. (But
    ScummRV does, which is why they play in that funny mess
    there.) Even SFX tracks are type 2 even only one MTrk is
    exist, as I checked it with ScummRV. There are some none
    interactive cues like the part screen melody, which are in
    fact one track, but of course they also use more than one
    MIDI channel for playback. So this can be best checked with
    the note on commands to detect a SFX.
    Of course the MTrk comment was not ment as the only way to
    detect this, but since you have just to read one byte to
    figure out if there are more than one MTrk you can skip that
    note on checking procedure completely in such a case. But if
    it is single MTrk you go on and check for note on and count
    the used channels. If it is a single MTrk AND only one
    channel is used it is very probably a SFX.

     
  • Eugene Sandulenko

    Logged In: YES
    user_id=166507

    Back to the pool.

     
  • Eugene Sandulenko

    • assigned_to: jamieson630 --> nobody