Voice acting issues

Started by rmonic79, Wed 07/06/2017 10:42:35

Previous topic - Next topic

rmonic79

Hi guys i'm having big problems.
First of all if i numbering speech dialogues and translation doesn't works anymore.
On the other side the core language of the game is Italian but the voice act will be in english so i need to create a voice script from english translation and not from main language of the game. Is it possible?
Thanks for your time.

Khris

Quote from: rmonic79 on Wed 07/06/2017 10:42:35First of all if i numbering speech dialogues and translation doesn't works anymore.
Not a useful problem description. What exactly is happening? And why do we have to ask?

Crimson Wizard

Quote from: rmonic79 on Wed 07/06/2017 10:42:35
On the other side the core language of the game is Italian but the voice act will be in english so i need to create a voice script from english translation and not from main language of the game. Is it possible?
If I remember correctly, if you autonumber speech in scripts, and then update translation files, the voice numbers will be present in english trs as well, so you may use these for reference. I believe that game will hook up whichever voice-over (speech.vox) is present. It cannot detect what language it is anyway.

rmonic79

Quote from: Khris on Wed 07/06/2017 14:48:01
Not a useful problem description. What exactly is happening? And why do we have to ask?
It's happening that the game it's already translated and released and now we need an updated with voice acting that i never did before so i used autonumber speechlines and it doesn't recogniza english translation anymore. If i use update it put down all the line again with number but i have to copy and paste the entire translation.
And another big problem is that the game is in italian and english but the default language is italian and i need instead to make a voice script with english language for actors if it's possible.

p.s. by the way if a would do english and italian dub how it should works?

Crimson Wizard

#4
It probably does not recognize english translation, because translation must have those voice numbers too.

Some kind of automatic tool might help? Some program or script that would copy english lines over to new translation file, prepending them with the voice numbers from italian lines.

Crimson Wizard

BTW, have you tried Speech Center plugin?
http://www.adventuregamestudio.co.uk/forums/index.php?topic=45622.0

I never used it myself but maybe it could help you do what you want.

m0ds

#6
Thanks for the PM about this thread (Mandle). I'm a little rusty but Speech Center will help you work with translation files no problem. It will number your core code and then you should be able to update the translations, and you can also compile the scripts (as in reading dialogue scripts for your actors) from the numbered translations or the core language if you want. Inside SC you can choose to look at the core language or any translations. I'll be honest, I haven't used speech centre for over 1-2 years now (I think we speech centered Tales late 2015-ish and have not used it since), so I can't really remember the process. But the author of that plugin certainly used to be around to give a helping hand. And what I do know is that the core language of Tales (and Midian games) are Italian, and that I've had no problem with it compiling the English scripts and line numbers for actors to work from.

Word of advice - BACK UP YOUR GAME before using Speech Center, or even the auto-AGS numbering facility (though do not try and use ags auto numbering and speech center together, it must be one or the other) and work from a COPY. Do your tests on a seperate copy. Make a mistake in a single only copy of a game you've got, and you can end up stuck with permanent numbering. I've been lucky that there has always been a backup to revert to if things went a little awry...and I'd be lying if I said it doesn't happen every time I use it...the process is a little daunting at first, but it is all manageable. My own fault for not keeping notes of the pure process, as such forcing myself to "trial and error" every time I come to use it.

Also remember not to have any clashing four letter character names, in Cat Lady we had Nurse1 and Nurse2 characters, both shared the speech "NURS" ... this was a nightmare. Also got to be mindful of where you've used "ego" and "player" commands, especially if "player" is covering multiple characters co they will all share the same actor script "charPlayer.html" and it'll be up to you to identify which lines represent which characters and split them between the right actors accordingly (not sure if this has been updated/fixed since I last used SC). But as I say, do some tests, have a play... it's not too hard once you've figured it out, but aye, my memory has chosen to push aside how to use Speech Center for the time being, sorry, lol.

You may also want to check with some of the other folks who use VA methods of AGS regularly, Dave G, JSH, Andail, Radiant perhaps. They may well have done it a lot more recently than me (but I can't guarantee they use Speech Center). Good luck!

Mandle

Thanks for the reply, Screen7!

This is very valuable advice for us, and also for other with similar issues in the future!

Thanks so much for answering in great detail. We will look into this method over the weekend.

rmonic79

Thanks guys i'll give it a try.
i'm having another big issue i used atonumbering but he doesn't did it in some function related stuff or array
like
Code: ags

@1
  melvinparla("I'm busy.");
   enableguipersonal();
stop
@2
 melvinparla("Please, I'm busy. Be brief.");
Ego: &187 Right, then...
  
option-on 10 
option-on 3
option-on 19
option-off-forever 2 
return
@3
 melvinparla("I'll just bet you do.");


or
Code: ags
 cSfondoFin2.ManualScaling=true;
      cSfondoFin2.Scaling=200;
     //cSfondoFin2.Transparency=100;
     
     invocazione[0]="That is not dead which can eternal lie. And with strange aeons even death may die.";
     invocazione[1]="Oh, Father Dagon the stars are in place.";
     invocazione[2]="AS FORETOLD!!";
     invocazione[3]="With the blood of your children's children WE SUMMON THEE.";




Crimson Wizard

Autonumbering in AGS works only with default functions, like Say.
I believe that with Speech Center plugin you should be able to tell which strings are speech to number them.

Then again, if only few lines were missed, you can just put numbers yourself.

rmonic79

#10
Quote from: Crimson Wizard on Fri 09/06/2017 16:48:45
Autonumbering in AGS works only with default functions, like Say.
I believe that with Speech Center plugin you should be able to tell which strings are speech to number them.

Then again, if only few lines were missed, you can just put numbers yourself.
no are not so much so it's a pleasure to hear that i can autonumbering myself, i have to add them also to voicespeech.txt?


Crimson Wizard

#11
Quote from: rmonic79 on Fri 09/06/2017 16:52:46
no are not so much so it's a pleasure to hear that i can autonumbering myself, i have to add them also to voicespeech.txt?

You need to put them into speech lines in script, similar to how autonumbering feature does. I do not know how voicespeech.txt works, maybe it takes these numbers from script? Never tried myself.

rmonic79

#12
I add this one like one above but them are not recognized in voicescript
Code: ags

melvinparla(" &15 I'm busy.");
   enableguipersonal();
stop
@2
 melvinparla("&16 Please, I'm busy. Be brief.");
Ego: &187 Right, then...
  
option-on 10 
option-on 3
option-on 19
option-off-forever 2 
return
@3
 melvinparla(" &17 I'll just bet you do.");
return
@4
  Skip(false);
  melvinparla("&18 \"Ancient Artifacts Of Essex.\"");
  melvinparla("&19 Don't tell the boss I lost library property. He'll cut my pay.");


this is the function by the way
Code: ags

void melvinparla(const string a){
  provamelvin=cMelvin.Frame;
  cMelvin.LockView(40);
  cMelvin.Animate(1,8,eRepeat,eNoBlock,eForwards);
  cMelvin.Frame=provamelvin;
  cMelvin.Say(a);
  provamelvin=cMelvin.Frame;
  cMelvin.Animate(0,8,eRepeat,eNoBlock,eForwards);
  cMelvin.Frame=provamelvin;
  }


i think is because strings are generated at the moment.

Crimson Wizard

Thinking logically, if voice script works same as autonumbering, then it will ignore custom functions too.

rmonic79

Quote from: Crimson Wizard on Fri 09/06/2017 17:24:55
Thinking logically, if voice script works same as autonumbering, then it will ignore custom functions too.
Sorry i didn't read your edit. Any suggestions about how to make it works?

Crimson Wizard

Quote from: rmonic79 on Fri 09/06/2017 17:26:39
Quote from: Crimson Wizard on Fri 09/06/2017 17:24:55
Thinking logically, if voice script works same as autonumbering, then it will ignore custom functions too.
Sorry i didn't read your edit. Any suggestions about how to make it works?

You cannot make it work with AGS. Either do it by hand, or check if SpeechCenter plugin can do that.

rmonic79

Fortunately adding numbering to a line doesn't recognized by the voicescript and autonumbering works (So the codes above about melvin that speak with function is dubbed anyway) on other hand it seems that saybackground stuff doesn't play file (like cthulhu evoke above)

Crimson Wizard

Quote from: rmonic79 on Sat 10/06/2017 10:02:55on other hand it seems that saybackground stuff doesn't play file (like cthulhu evoke above)

Yes, unfortunately, there is a restriction in AGS that:
- only one voice can play at a time, and
- speech has to be blocking.

Since background speech is not blocking and there may be several of them at same time, voice is not supported for them.
If you want non-blocking voice-over, I think only way is to import voice files as common "sounds", and play them instead.

SMF spam blocked by CleanTalk