Opened 12 years ago

Closed 12 years ago

#3539 closed defect (fixed)

COMI: Wrong music transition

Reported by: eriktorbjorn Owned by: aquadran
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 3

Description

Latest SVN snapshot
English version of the game

I don't know if this is a bug report or a feature request, but...

In some places, the game should end the music track it's playing, and start a new one from the corresponding point. The effect is similar to the old iMUSE trick of turning individual instruments on and off. It seems that ScummVM does not support this, because it starts the new track from its beginning.

One such place is at the Voodoo Lady's place. Outside the house, the main theme is played only on bass. When you enter, a flute is added. When you summon the Voodoo Lady, an electric organ is added. I'm attaching a savegame outside the house.

If there's code missing, I suspect it's related to IMuseDigital::playComiMusic(). Apparently, the table of music cues contains information about how to make the transition to the new piece of music.

Ticket imported from: #1861099. Ticket imported from: bugs/3539.

Attachments (2)

comi.s04 (75.4 KB ) - added by eriktorbjorn 12 years ago.
I hope this was the correct savegame.
savegame.004.gz (79.1 KB ) - added by eriktorbjorn 12 years ago.
Compressed savegame outside Voodoo Lady's place

Download all attachments as: .zip

Change History (14)

by eriktorbjorn, 12 years ago

Attachment: comi.s04 added

I hope this was the correct savegame.

comment:1 by fingolfin, 12 years ago

Interesting! So, this is kind of a missing feature, i guess... ;) Aquadran, any thoughts on this?

comment:2 by fingolfin, 12 years ago

Owner: set to aquadran

comment:3 by eriktorbjorn, 12 years ago

I managed to make a brief recording from running the original game under Wine: http://www.update.uu.se/~d91tan/ScummVM/voodoo.ogg

The difference between the tracks is subtle, but effective.

comment:4 by aquadran, 12 years ago

"One such place is at the Voodoo Lady's place. Outside the house, the main
theme is played only on bass. When you enter, a flute is added. When you
summon the Voodoo Lady, an electric organ is added" as that happen in scummvm so it shouldn't, based on recording. I must check original comi at runtime, do you have maybe savegame to close place for original engine ?

by eriktorbjorn, 12 years ago

Attachment: savegame.004.gz added

Compressed savegame outside Voodoo Lady's place

comment:5 by eriktorbjorn, 12 years ago

I'm not sure I understand what you meant, but I'm attaching a savegame I made while playing the game in Wine. It's the same savegame I used when making that audio recording.

ScummVM plays the correct music, as far as I can tell, but whenever the music changes, the new music plays from the beginning instead of the same position as the old music.

(I think it's supposed to use the same kind of transition when talking to the different people at the barber shop, and possibly at the roller-coaster at the end of the game. But I haven't played that far in Wine, so I don't have any savegames there.)
File Added: savegame.004.gz

comment:6 by aquadran, 12 years ago

scummvm and original imuse doesn't remember old position. in that case it always start from same position, a bit after beginning. there are 3 songs as same song with 3 minor differences. first outside, second when you enter, and third when you meet Voodo Lady. It should fadeout current and play new song always from same place(sound data). But I noticed two things which scummvm do not properly. Fade out is too short, I think it should take 2 seconds not 1. So transition will be more smooth. second thing, when it start play new song it start at beginning of data with 1 second fade out(first region) because jump opcode is attached, and parallely properly new (3 region - after jump). In this case it should not start. Fade out always happen in scummvm when jump is meet (except when fade delay is 0). I don't know yet if it should be exception for first region with attached jump opcode to no play this region with fade out.

comment:7 by eriktorbjorn, 12 years ago

Hmm... If it always starts the new music from the same position, a bit after the beginning, I should be able to hear the break in the rythm, but I don't. No matter how many times I walk in and out of the house, or at which point in the tune I do it. The transition always sounds seamless to me.

comment:8 by eriktorbjorn, 12 years ago

I've uploaded another two-minute recording of me walking in and out of the house, using the original interpreter under Wine: http://www.update.uu.se/~d91tan/ScummVM/voodoo2.ogg

From what I can hear, the flute version of the song does not start at the same point every time I enter.

By the way, http://www.worldofmi.com/features/download/savegame/ has a set of MI3 savegames that should make it easier to test other parts of the game with the original interpreter.

comment:9 by fingolfin, 12 years ago

Question: Does it always transition immediately? Or with a brief delay? In the latter case, then maybe it only transitions to a specific "region" or so? I.e. it waits just long enough to be able to transtion smoothly...

comment:10 by eriktorbjorn, 12 years ago

> Question: Does it always transition immediately? Or with a brief delay?

There is a slight delay, I guess, but that could be just the time it takes to cross-fade the music (if that's what it's doing). You can tell when the room changes because of the sound of footsteps on a wooden floor. That sound effect is only used inside, so they either start just when the room is entered (and the flute music starts), or they end just when the room is exited (and the flute music stops).

comment:11 by aquadran, 12 years ago

I added into svn two changes which fix issues which I described below

comment:12 by aquadran, 12 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.