Jump to content

Home

Secret of Monkey Island - CD Talkie Edition Project


Espiox
 Share

Recommended Posts

Check Indiana Jones and the Fate of Atlantis, and I'm sure you'll find that all multi-line speech just uses the one sound file, and the subtitles are frequently out of synch with the sound.
As I did checked above. Thus, we should implement it the same way. If we can't split the lines in individual talking events, we have to join the samples.
Link to comment
Share on other sites

  • Replies 383
  • Created
  • Last Reply

Top Posters In This Topic

Do all subtitle lines have a constant display duration?

 

Or is there a way to modify this duration per line, possibly through a modified version of scummtr, so that it would match the length of the corresponding speech sound?

Link to comment
Share on other sites

(numtags << 1) + 8

 

Ah! That's exactly what I was missing. Thanks.

 

Whenever the next tag's position is encountered, the talking animation is toggled on or off.

 

Ok, this will not help with multiple lines. I wonder if it helps with cut off samples when having the last tag >= length of the sample...

 

I think one problem is that the old SCUMM games did not support multiple speech sounds per line. Check Indiana Jones and the Fate of Atlantis, and I'm sure you'll find that all multi-line speech just uses the one sound file, and the subtitles are frequently out of synch with the sound.

 

While that is true, I think we can expect people to use ScummVM when they want a proper Talkie version. And I was somehow hoping we could find a trick this way...

 

As said, multiple lines are in fact working fine with ScummVM only that they are messed up when the subtitles are turned off.

 

Well that said, the tags are definitely no solution for this problem, as they are just for lip-animation timing nothing more.

 

So this finally leaves us this four options:

1) Try to patch ScummVM and bring the patch upstream.

2) Modify the scripts so no more multi-lines are used.

3) Merge audio files and have out of sync subtitles.

4) Force the user to always have subtitles enabled.

 

Or am I missing something?

 

IMHO 1) or 2) are the better solutions as they should not have any negative side-effects.

 

Sorry I'm late to the party!

Hey, the party just started :)

Link to comment
Share on other sites

I believe the subtitle display duration is calculated based on the length of the subtitle, modified by the global subtitle speed.
There are occasions in which they are cut short, though. For instance, the introduction to the Fettucini brothers is supposed to be fast talk, Stans lines about personal problems too. And the pirate leaders "grog grog grog" and "ha ha ha" are also short for the flashing effect. There are probably more instances.
As said, multiple lines are in fact working fine with ScummVM only that they are messed up when the subtitles are turned off.
Couldn't we just submit a patch for ScummVM? Eventhough, it is no intended original LEC feature, it won't hurt to have this supported, I'd say.

As a side effect, this would also improve subtitle sync with FOA etc., since those have indeed the same issue.

Link to comment
Share on other sites

The only real problem now are the false positive matches that are listed in the missing.txt....
I think, most of them can be avoided by checking the room number. Passing the -h parameter to scummtr adds a leading info from where the line comes, starting with the room number. Conveniently, most samples are also named with the room number.

Most ambiguous matches would be avoided that way. Only a few remain in cases where the same line is used in the same room, like the cannibals' "nothing.". And I guess, all the insults, too.

Link to comment
Share on other sites

Couldn't we just submit a patch for ScummVM? Eventhough, it is no intended original LEC feature, it won't hurt to have this supported, I'd say.

As a side effect, this would also improve subtitle sync with FOA etc., since those have indeed the same issue.

 

Well we could, but it will not improve FOA with the current approach as FOA only uses one sample per line. (Well a mod could probably be made .. but I wonder if there would be any people willing to do so....).

 

Fell free to make a patch though :-)

 

I think, most of them can be avoided by checking the room number. Passing the -h parameter to scummtr adds a leading info from where the line comes, starting with the room number. Conveniently, most samples are also named with the room number.

 

Oh! I must have overlooked the -h option. Well yes, this could indeed improve it a lot.

Link to comment
Share on other sites

Ok, with the hint of LogicDeLuxe it works MUCH better now.

EDIT: It also matches the interaction/script number now. So even less collisions.

 

The input file needs to be generated with:

scummtr -cw -g monkeycdalt -of mi1.txt -h -H

 

For the output it remains the same (the meta-info is not copied):

scummtr -cw -g monkeycdalt -if mi1new.txt -H

 

As usual the updated version at the same place:

http://helicoid.de/scumm/mkspeech.zip

 

P.S.:

Stupid question: How to disable the subtitles for MI1 in ScummVM? I have set it to "Speak only" but the subtitles still pop up...

 

P.P.S.:

Well the room number for Spiffy is wrong ..... hardcoded the change.

I also filter all "OBNA" lines now....

Edited by jott
Link to comment
Share on other sites

I'm aiming to get a working version of my installer up tonight to make it easier for people to join in and test the speech.

 

EDIT: I'm having a bit of trouble getting it to the run the encoder. I'll get this up ASAP, but it won't be tonight.

Edited by Espiox
Link to comment
Share on other sites

Well we could, but it will not improve FOA with the current approach as FOA only uses one sample per line.
Well, I wrote that with single samples for multi-lines in mind. Thus what FOA uses as well. Depending on the subtitle speed used, it can indeed go quite a lot out of sync at those lines, too.

With joint samples, a short silence should be added at the joint. About 300 ms sounds fine to me in most situations. The voodoo lady would probably need a bit more when she is guessing Guybrush' name.

Well the room number for Spiffy is wrong ..... hardcoded the change.
I guess, you could first find all matches according to room numbers, and after that, ignoring the room numbers for the remaining lines. Hopefully, those aren't that many.

 

Also, the tweak file should be able to exclude samples. As a curiosity, there are some lines recorded, which actually are never spoken. For instance, you can talk to your crew and have the option "Keelhaul: to haul under the keel of a ship as punishment or torture.", which has a sample, but Guybrush actually refuses to say this. Also the snoring sample is huge, and unnecessary, as there is already a much smaller sample for this in the game data file. (Unless, we want to patch that out in turn, that is)

 

 

And while we have patched scripts already, is there any chance we could fix some bugs which were introduced to the enhaced CD, but not present in the VGA floppies? Like:

- Smoke at Smirk's close up. Look's like the same graphic as the steam from the voodoo cauldron, and the smoke in the catacombs.

- LeChuck's shaking the grog machine animation.

- Consistent text color of the priest.

- White background at the sleeping dogs message. (This one was already fixed in the German patch: http://la-patches.gandimann.de/)

- Brown floor in the kitchen door in the Scumm bar (Also this one was already fixed in the German patch: http://la-patches.gandimann.de/)

- Navigator's directions. He rarely seems to look to the front or back, even when those are the only ways to go.

- Picture breaking in the mansion uses EGA graphic for some reason.

- And if we ask Dominic Amato politely, maybe the stump joke and the Charles Atlas joke too.

 

I would take a look into those issues, but I don't know how to use descumm and some script compiler for this. Are there any guides for this?

Link to comment
Share on other sites

Well, I wrote that with single samples for multi-lines in mind.

 

Well still I assume fixing FOA sync is not trivial (otherwise it would probably be done already). I also think that the current approach is better, as the lines are always in sync this way. And I bet it won't be that hard to fix the problem when subtitles are disabled.

 

Also, the tweak file should be able to exclude samples.

Yeah, I'll probably add something later. "x,y=-1" should do the job I guess..

 

As a curiosity, there are some lines recorded, which actually are never spoken.

I really like the Guybrush_UnknownFilename_07 sample *g*

 

Also the snoring sample is huge, and unnecessary, as there is already a much smaller sample for this in the game data file. (Unless, we want to patch that out in turn, that is)

Is it actually included at the moment? Only samples that have a matching text line are copied to the monster.soX anyway...

 

I would take a look into those issues, but I don't know how to use descumm and some script compiler for this. Are there any guides for this?

Feel free to do so! I never played around with descumm so I can't help you there.

Link to comment
Share on other sites

I guess, you could first find all matches according to room numbers, and after that, ignoring the room numbers for the remaining lines. Hopefully, those aren't that many?

 

Well now it only matches if the room number is correct. I think there are really few rooms that do not match, so it's probably not worth the effort to add extra logic there.

 

The remaining lines are mostly the sword fight scenes.

Link to comment
Share on other sites

Is it actually included at the moment? Only samples that have a matching text line are copied to the monster.soX anyway...
I didn't check yet. The one at the brig has the snoring subtitled, so I assumed it is.

 

After some testing, I see that including the remaining sounds which didn't match a room would not only useful for the new Spiffy room (which seems to work, btw.), but also those which had variables in it. Those are currently silent.

Link to comment
Share on other sites

Ok, I updated the tool again.

Now it should fall back to the next best line when the room does not match...

 

I'm not sure how much more time I will/can put into this...... well.... the source code is as always included. And I cleaned the code up at least a little bit.

 

Also a value of -2 in the mapping.txt should ignore the sample for the line... i.e. "66,1=-2". But this is untested.

Link to comment
Share on other sites

I think the ultimate batch-file would contain a few questions first, including music replacement yes/no, narrator inclusion yes/no, Spiffy inclusion yes/no and so forth (I don't know if that last one is happening though).

 

And even better than having it just as a batch file would be a nice GUI for it... although of course I've got no idea how to do that.

 

I included my Spiffy addition with the patches I sent to Espiox. That's what SCUMM Image Encoder was for. I also had to create a new room for the Spiffy closeup scene.

 

This is all such great news! I'm looking forward to it!

Link to comment
Share on other sites

I've written a dialog line splitter: (outdated version)

It's not throughoutly tested yet. And there are at least these known bugs:

- Concerning 000_LECF\030_LFLF_store\000_ROOM\050_LSCR.dmp and 000_LECF\083_LFLF_cu-dock\000_ROOM\032_LSCR.dmp as mentioned here: http://www.lucasforums.com/showthread.php?p=2654259#post2654259

- scummtr reports some bad jumps.

 

You need to run scummpacker first. Then you need descumm, scummbler and this zip extracted in the same dir. Run dialogsplitter.bat and wait.

Edited by LogicDeLuxe
Link to comment
Share on other sites

I think splitting the dialogue is the way to go, as that will enable the game to work properly with subtitles off.

 

EDIT: Jestar Jokin updated Scummbler, so now there are now errors on extracting the text with scummtr! We just need to get the audio matched with the right lines.

 

EDIT2: The dialogue splitter messed up Spiffy's text position after his first line, so I'm making a new patch now.

Edited by cocomonk22
Link to comment
Share on other sites

 Share


×
×
  • Create New...