Author Topic: [Beta release] Ultrasound - sound effect replacement/addition mod  (Read 41066 times)

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
Oh, I see. In that case I fear that there is no good way around this other than altering the texts removing all variable content so it doesn't matter who says it. For the first issue you probably have to replace all those statements by text that the party leader speaks.

No, that isn't the case at all.

I don't see any problem adding support to Ultrasound for having different voice files for the same text box depending on who's in the party. Might take a bit of time to code but there's no technical reason it can't be done; it's already injecting a DLL into the FF7 process, so it can access the necessary information without too much trouble.

meesbaker

  • *
  • Posts: 324
    • View Profile
Ok sure, technically it is possible but it should be a lot simpler to alter the scripting. Shard said that this causes trouble with other mods. Is this really such a big deal to add 2 lines of if structures?

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
Given the choice between modifying every script where there is dialogue said by a 'generic' party member, which breaks compatibility with any other mods that modify the field files; or adding support for it into Ultrasound ... I'm not sure why you think the former is simpler.

Well, I suppose it would require less programming. It's noticeably more work though, given that it involves both having to change all the relevant field scripts and rewrite the dialogue to make sense when spoken by the party leader.

meesbaker

  • *
  • Posts: 324
    • View Profile
Modding the PSX version I learned that difficulty and the required amount of work are two completely different things, Im used to doing some simple hand work on a mass of field files ;)

And it involves more than just getting the variables in the dialogues to work, Shard pointed out that Ultrasound must know which speaker to pick from the start for a statement that is given by multiple potential party members. Both issues he mentioned should cause trouble, if you find it easy to include support for that of course you do not have to touch the scripts.

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
New version: http://www.ficedula.co.uk/voices/Ultrasound_0_40.zip

Changes:
-Use OpenAL output & buffer cache to try and reduce latency
-Support OGG files
-Support selecting voice files based on party members

For the last feature, it lets you change which audio file is played depending on whether a particular character is in the party or not.

The way to set that up in the XML is like this:

Code: [Select]
  <Entry File="elm\tifa1.wav" ID="119" Part="a" Char1="2">...</Entry>
  <Entry File="elm\tifa2.wav" ID="119" Part="a" Char2="2">...</Entry>
  <Entry File="elm\tifa3.wav" ID="119" Part="a" Char3="2">...</Entry>
  <Entry File="elm\vincent.ogg" ID="119" Part="a" CharAny="7">...</Entry>

What says is that when dialogue 119a is played:
-If the character in position 1 in the party is Tifa, play tifa1.wav
-If the character in position 2 in the party is Tifa, play tifa2.wav
-If the character in position 3 in the party is Tifa, play tifa3.wav
-If Vincent is anywhere in the party, play vincent.ogg

(In the game, Tifa uses character ID 2, and Vincent is ID 7. The IDs are the same as in the savegames, see http://wiki.qhimm.com/view/FF7/Savemap)

That means you can cope with dialogue that includes the {PARTYx} tags by recording multiple versions and having the correct version play back.

Shard - can't remember if we ever discussed this, but how do you want to handle choices? Although Ultrasound doesn't currently support it, it would be possible to work out which option was selected, and play an audio file based on that. The only issue is that of course once the player hits Enter to confirm which option they want, the game (usually!) goes straight onto the next piece of dialog, so you'd have the audio playing 'behind' what was on the screen.

Options I can think of:
-We don't care, we aren't going to voice choices
-Voice the option and just delay any audio for the following window until the option audio is done playing
-...any other suggestions...?

Shard

  • *
  • Posts: 330
    • View Profile
Another option would be to voice each choice (in the characters head) as the player highlights the choice with the hand cursor, and silence it when they move to a different choice or they pick one.

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
Hm, interesting. I'll try and implement that and see if it works.

Shard

  • *
  • Posts: 330
    • View Profile
If that doesn't work, we may just have to never play dialogue choices. There are some places in the game where the character doesn't even speak the choice you make, and other places where they do.

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
Victory; http://www.ficedula.co.uk/voices/Ultrasound_0_41.zip

Only change is that dialogue choices can be voiced now. The tags needed to trigger that in the files are:

Code: [Select]
  <Entry File="elm\103a.wav" ID="103" Part="a">“Then let me explain  how to use the world map.”</Entry>
  <Entry File="elm\103b.wav" ID="103" Part="b">“Well then,what do you want to know?” Changing camera angles Map indicators Operating the buttons</Entry>
  <Entry File="elm\103b_0.wav" ID="103" Part="b" Choice="0"></Entry>
  <Entry File="elm\103b_1.wav" ID="103" Part="b" Choice="1"></Entry>
  <Entry File="elm\103b_2.wav" ID="103" Part="b" Choice="2"></Entry>

Note the first two tags are for 'regular' dialogue; the last three are for the 3 options that are displayed as part of dialogue 103b.

When the prompt is first brought up, whichever option is initially selected will be played after the current 'regular' dialogue has finished speaking. Moving to another option will voice that choice (cancelling any existing choice file that's playing). Selecting an option doesn't automatically silence the choice, but any other dialogue being played will replace the choice (so in practice, selecting a choice usually will silence it since you almost always move onto another dialogue box!)

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
So I want to start to replace the sound with the files I have from the PSX.

First thing: Can you divide the files by their content, please? So I have folders for voice, sound and ambient. Atm. as it is now it is a bit messy.

Second: Is it possible to dump the current played sound with its ID? Ideally it will ignore sound which is already replaced by the tool. This way it's easier for me to find specific sounds.

At last there is a delay when the tool kicks (first time when a replaced sound is played) in but after that it plays perfect. (only as a note)

Edit
Oh, great tool so far!

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
Second: Is it possible to dump the current played sound with its ID? Ideally it will ignore sound which is already replaced by the tool. This way it's easier for me to find specific sounds.

If you run DbgView while the game is running (with Ultrasound), it logs sounds to the debug output along with a note saying whether the sound is being replaced by Ultrasound or not. You should see lines like:

Code: [Select]
Sound 0 0 102 64...not overridden, allowing default proc
The third number is the sound ID.

Shard

  • *
  • Posts: 330
    • View Profile
Very nice. That was quick. When we get some of this stuff edited, I'll let you know if anything needs to be tweaked.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
If you run DbgView while the game is running (with Ultrasound), it logs sounds to the debug output along with a note saying whether the sound is being replaced by Ultrasound or not. You should see lines like:

Code: [Select]
Sound 0 0 102 64...not overridden, allowing default proc
The third number is the sound ID.

But it will also dump information I dont need? I have no time to hunt down for information I do need.

@Shard
I hope SE will hire some of the voice artist for their 'Re-Try'!

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
But it will also dump information I dont need? I have no time to hunt down for information I do need.

OK, but Dbgview does have a filter, so if you set the filter to only display messages containing "not overridden", you'll only see output about sound effects that are being played and haven't been replaced by Ultrasound.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
I have encountered bug which prevents the tool from working. After a certain amount of replaced sounds (I use around 50 so far) the tool does not start properly and can't be closed.

Here the files I use:
https://mega.co.nz/#!aQEQARAZ!LGFVcBEI3KkWp3fbLTIFaGmDAtvUr6y-kemVc_7IYh8

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
v0.42: http://www.ficedula.co.uk/voices/Ultrasound_0_42.zip

Only change is that I've implemented a 7H plugin, so Ultrasound mods can be distributed & run through 7H without needing to install and run Ultrasound manually first. There's an example mod XML in the download, but let me know if anyone wants to do this, so I can help get it working.

@Kaldarasha: Sorry, didn't see your message before. Will take a look.

Tsuna

  • Global moderator
  • *
  • Posts: 823
  • Working together to create awesome things!
    • View Profile
    • The home of Tsunamods
How do i use this with 7H, ive tried making into IRO and importing and also trieng it as a folder but there arent any voices in the area the tech demo has

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
Upload the iro somewhere and send me the link; I'll take a look and work out what the problem is.

Cheers

Tsuna

  • Global moderator
  • *
  • Posts: 823
  • Working together to create awesome things!
    • View Profile
    • The home of Tsunamods
« Last Edit: 2016-01-20 14:18:01 by Tsunamix »

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
Well, there's a couple of issues;

1) Everything's inside an Ultrasound_0_42 folder within the archive; it shouldn't be
2) You'd need to rename 7HModSample.xml to mod.xml because that's what 7th Heaven expects it to be called - and edit the details to reflect the contents of your mod

....but I think you've also misunderstood: the 7H plugin is so you can create your own mod. Just archiving up the standard Ultrasound package doesn't achieve anything useful. The FF7 voices project hasn't released anything for download yet.

Tsuna

  • Global moderator
  • *
  • Posts: 823
  • Working together to create awesome things!
    • View Profile
    • The home of Tsunamods
Ah they make perfect sense. So right now this mod doesn't actually do anything then? I kinda thought it was like beta/alpha release. Really wanted to try out what you had so far

ficedula

  • *
  • Posts: 2178
    • View Profile
    • http://www.ficedula.co.uk
Ultrasound isn't really a mod, so much as a tool for people to create audio mods. The voices team is one group that's using it.

Tsuna

  • Global moderator
  • *
  • Posts: 823
  • Working together to create awesome things!
    • View Profile
    • The home of Tsunamods
So is the voices team still working and is it possible to get anything from them as an early test.

Shard

  • *
  • Posts: 330
    • View Profile
No, because our files will only work with our translated script, which hasn't been released yet (and won't until the project is done).

Ficedula has a few sounds in the wall market area, and he has replaced the sound that plays when you walk onto a save point.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
@ficedula

Have you looked at the problem I have posted before?