Search Unity

RT-Voice - Run-time text-to-speech solution

Discussion in 'Assets and Asset Store' started by Stefan-Laubenberger, Jul 10, 2015.

  1. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hi Stefan

    Yes, this is a problem with the wrappers which is fixed in the upcoming version 2.8.5.
    We thought that all SAPI-voices are SSML-compatible, which is unfortunately not the case...
    This wrong assumption leads to the "fallback" you described.

    I've sent you a PM with a link to the new wrappers.

    Have a nice day!


    Cheers
    Stefan
     
  2. lscroberto

    lscroberto

    Joined:
    Mar 28, 2017
    Posts:
    9
    the last version I used is version 2.7.1. and this version working perfectly on android devices.

    with the new version does not send the audio

     
  3. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    What do you mean by "send the audio"? You don't hear anything? Is this a new problem?
    Did you try "es_MX"?

    What's your device, Android OS and Unity-version?

    Btw, wow, 218 voices! I never saw this many before on a mobile device :)
     
    Last edited: Sep 19, 2017
  4. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Ok, I probably found the problem... It's related to the huge amount of voices you've got :)
    Anyway, if you wanna try the fix, please send me your invoice.

    Cheers
    Stefan
     
  5. mavisakal

    mavisakal

    Joined:
    Aug 26, 2017
    Posts:
    15
    Hi,
    I've created a Unity project for iOS using Morph3d, Salsa and RTVoice. I selected Daniel as voiceName. But when I run the app in Xcode9 with an iPad pro 10.5, I got the following error. It works fine on Unity. And one more thing, I selected Daniel as voiceName in c# script but iOS switches to Samantha voice at runtime.


    XCode 9 debug messages:
    -------
    2017-09-20 23:34:49.815255+0300 morphsalsart[1218:625212] speak - selected voice: Samantha
    2017-09-20 23:34:49.839873+0300 morphsalsart[1218:625322] [TTS] TTSPlaybackCreate unable to initialize dynamics: -3000
    SendMessage: object RTVoice does not have receiver for function SetState!

    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function WordSpoken!
    SendMessage: object RTVoice does not have receiver for function SetState!
    speakStartMethod: Wrapper {Uid='cd20d88e-e5a2-44b5-a0dc-33fb8ebb8cca', Text='Hi, this is Daniel. I represent a new partnership between humanity and technology.', Source='True', Voice='', SpeakImmediately='True', Rate='1', Pitch='1', Volume='1', OutputFile='', Created='09/20/2017 23:36:47'}
    Crosstales.RTVoice.Speaker:eek:nSpeakStart(Wrapper)
    Crosstales.RTVoice.Provider.<speak>d__22:MoveNext()
    UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
     
  6. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    I've wrote you an email with the details.

    Important for iOS users: iOS can't generated audio files which are needed to be used inside Unity. This means, SALSA won't work, since the audio never goes into Unity!
    The only alternative is to use "MaryTTS" - we included a manual on how to setup such a server.
    Or you can use our test-server if you provide the invoice and estimate of the number of users per day.
     
  7. lscroberto

    lscroberto

    Joined:
    Mar 28, 2017
    Posts:
    9
    Of course. but I send my invoice to this medium or by some email to do it. Thank you
     
  8. Sphisis

    Sphisis

    Joined:
    Apr 22, 2013
    Posts:
    1
    Couldn't get rtvoice to find any voices on samsung galaxy, when using samsungs own tts. Is it business as usual or a bug? Seems like a burden to ask users switch their tts for google.
     
  9. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hi

    RT-Voice supports the standard TTS-classes from the Android API:
    https://developer.android.com/reference/android/speech/tts/TextToSpeech.html

    So, if you can't see any voices, it's because "Samsung TTS" isn't compatible with the standard. :(
    I heard of this problem before and the affected customers had to switch to "Google TTS"...

    We don't own a Samsung device, so I can't verify it... On the other hand, I think it's (again) Samsungs fault because they screw Android with their own apps and customizations.

    Unfortunately, I see only two alternatives:
    1. the users have to install "Google TTS"
    2. use MaryTTS

    Have a nice weekend!


    Cheers
    Stefan
     
    Sphisis likes this.
  10. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    400
    Hi I would need to make voice recognition to move objects in unity. Can your RT-Voice unitypackage do it? or Could I modify it to do it? Thanks
     
  11. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hi

    No, RTV is meant for the opposite: text to speech ;)

    Anyway, there are some other packages at the store and even a free one from Unity itself:
    https://www.assetstore.unity3d.com/en/#!/content/69399

    Cheers
    Stefan
     
    castana1962 likes this.
  12. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    400
    Thanks Stefan !!! Best Regards
     
  13. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    400
    Sorry again but do you know if it is possible create a Voice command script to move objects in Unity? Thanks for your time
    Alejandro
     
  14. Phanton28

    Phanton28

    Joined:
    Nov 21, 2014
    Posts:
    6
    Hey Devs.

    We are trying to build a project for the hololens using your plugin. I get no errors in unity or when i build to the windows platform but when I try to build the file we get these errors.


    Using unity 2017.1.1


    RTVoiceERRORS.png
     
  15. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hi

    Which version of RTV are you using, PRO or standard?


    Cheers
    Stefan
     
  16. Phanton28

    Phanton28

    Joined:
    Nov 21, 2014
    Posts:
    6
    We are using standard.
     
  17. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    To build for WSA (HoloLens), you have to upgrade to the PRO version.
     
  18. Phanton28

    Phanton28

    Joined:
    Nov 21, 2014
    Posts:
    6
    Ok Thank you very much. Do you know if the hololens has any built in voices or would i have to use marryTTS?
     
  19. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    We don't own a HoloLens, but I'm pretty sure it will work - all WSA systems I know have built-in TTS.
    Please let us all know if RTV works with HoloLens ;)

    Thank you!


    So long,
    Stefan
     
  20. Phanton28

    Phanton28

    Joined:
    Nov 21, 2014
    Posts:
    6
    A couple more questions. it says contact you guys for using marrytts does that mean you guys have a server we can use and does Speaker.Voices.Count mean the number voices you can use ?
     
    Last edited: Oct 10, 2017
  21. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Our MaryTTS-test server is available for all our users, just send me the invoice and some details about your project (like the expected users/requests per day) etc.

    Speaker.Voices.Count is indeed the number of available voices. But you have to make sure, you're checking the variable after RT-Voice has finished reading the voices (listen to the "OnVoicesReady"-event).
    Is that the case? Then HoloLens would have no TTS voices... :(
     
  22. Phanton28

    Phanton28

    Joined:
    Nov 21, 2014
    Posts:
    6

    I have been playing around with it and i must have been calling it before the voices are ready. The Hololens has 3 native voices. I will Send you an email about the MaryTTS shortly. Thank you for your time.
     
  23. myddt

    myddt

    Joined:
    May 13, 2015
    Posts:
    6
    Hi, Stefan
    RT-Voice is 100% great tool to me, especially for my project. However I am having a problem when it is on Android device(No problem with iPhone). It takes quite a long time to load something initially(I guess it's loading some voice components). I don't know it's only me or other people have the same experience, could this be fixed if I used few particular voices only(Android has like 29 types voices)?
     
  24. myddt

    myddt

    Joined:
    May 13, 2015
    Posts:
    6
    Sorry, I forgot to mention that I'm using PRO version of RT-Voice.
     
  25. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hi

    Please send me the invoice and I can give you the new version of RTV which contains a "voice initalizer" :)

    Thank you!

    Cheers
    Stefan
     
  26. Freddy888

    Freddy888

    Joined:
    Sep 13, 2014
    Posts:
    165
    Hi Stefan,

    Could you help me get up to speed with the visemes and how they work now please ?

    I found Speaker.OnSpeakNativeCurrentViseme is not there anymore.

    Since I last played with this the code you gave me above worked fine. I noticed Now when I try...


    Code (CSharp):
    1. Speaker.OnSpeakCurrentViseme += speakCurrentVisemeMethod;
    2.  
    3.  
    4.     private void speakCurrentVisemeMethod(object sender, CurrentVisemeEventArgs e)
    5.     {
    6.         //Debug.Log(e);
    7.         //Debug.Log(e.Viseme);
    8.         TriggerViseme(e.Viseme);
    9.     }
    I get the errors :

    No overload for 'speakCurrentVisemeMethod' matches delegate 'Speaker.SpeakCurrentViseme'

    The type or namespace name 'CurrentVisemeEventArgs' could not be found (are you missing a using directive or an assembly reference?)


    Thanks !
     
  27. Freddy888

    Freddy888

    Joined:
    Sep 13, 2014
    Posts:
    165
    Nevermind, I finally spotted it in the docs, you changed it to a string. This now works :

    Code (CSharp):
    1. private void speakCurrentVisemeMethod(object sender, string e)
    All is good in the world again :)
     
  28. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Great, RTV saved the world :D

    Have a nice weekend!


    Cheers
    Stefan
     
    Freddy888 likes this.
  29. developerEbibelot

    developerEbibelot

    Joined:
    Oct 16, 2017
    Posts:
    10
    Hi,

    I bought Pro version of this asset and trying use it on my character. I'm developing for IOS platform but when I try to build it for xcode I'm keep getting this error;

    speak - selected voice: Samantha

    [TTS] TTSPlaybackCreate unable to initialize dynamics: -3000


    SendMessage: object RTVoice does not have receiver for function WordSpoken!

    SendMessage: object RTVoice does not have receiver for function SetState!

    I couldn't fix the error please help me to fix it. Thanks.
     
  30. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hi

    Did you use the "RTVoice"-prefab? As it looks, the "LiveSpeaker"-script is missing...


    Cheers
    Stefan
     
  31. developerEbibelot

    developerEbibelot

    Joined:
    Oct 16, 2017
    Posts:
    10
    Thanks for response Stefan,

    I added but now it is giving this error;

    speak - selected voice: Karen
    [TTS] TTSPlaybackCreate unable to initialize dynamics: -3000


    in IOS 11 device when I press talk button(it works fine in Unity).
     
  32. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Is it possible that you device is in "silent mode"?
     
  33. developerEbibelot

    developerEbibelot

    Joined:
    Oct 16, 2017
    Posts:
    10
    Apparently it was. Thanks for the help. But current problem is now Salsa not working :) . Are there any other options that I should enable?
     
  34. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    The problem is that iOS doesn't allow to generate audio files... This means, there is now way to get the audio into Unity (and SALSA can't react to the speech)... Bad Apple :mad:

    The only alternative is to use MaryTTS instead of the built-in TTS.
     
  35. developerEbibelot

    developerEbibelot

    Joined:
    Oct 16, 2017
    Posts:
    10
    I'm using MaryTTS test server right now. But it is still not working. Is it because of permission issues maybe? When I setup MaryTTs on Unity it works fine with a female voice but when I export it to xcode and run it it chooses the voice as Aaron and doesn't do lipsync.
     
  36. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Yes, you aren't allowed to create a build with the test server.

    You can setup your own MaryTTS server (see "MaryTTS.pdf" for more) or get an account from our test server.
     
  37. developerEbibelot

    developerEbibelot

    Joined:
    Oct 16, 2017
    Posts:
    10
    How can I get account for the test server? I don't want to lose time for setting up my own server. I can do that once I am ready to release the app.
     
  38. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Send me an email with your invoice.
     
  39. developerEbibelot

    developerEbibelot

    Joined:
    Oct 16, 2017
    Posts:
    10
    I sent the email with invoice number.
     
  40. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Crazy-Minnow-Studio likes this.
  41. AR_Rizvi

    AR_Rizvi

    Joined:
    Aug 12, 2013
    Posts:
    40
    hi @Stefan-Laubenberger
    I installed the German voice (de-DE, Hedda) to my windows 7 PC using unity 5.4.0 having RT voice Version 2.8.1.
    I am having difficulties to make RT voice sound like (de-DE, Hedda), it always talks in (Microsoft Anna) voice i am not sure what i am doing wrong here.
    I unchecked the MarryTTS checkbox and manually pass parameters for (de-DE, Hedda) but it always talks (Microsoft Anna) Why i do not understand that.
    Can you please look into it with me as i am not sure what i am doing incorrectly
     
  42. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hi

    You are doing everything right, but this problem is related to the fact that not all voices support SSML... :(
    Just enable "Auto Clear Tags" or make sure you don't use any SSML-tags.

    That should solve the problem, please let me know.


    So long
    Stefan
     
  43. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Btw, you should update RT-Voice to the latest version.
     
  44. AR_Rizvi

    AR_Rizvi

    Joined:
    Aug 12, 2013
    Posts:
    40

    Hi @Stefan-Laubenberger ,
    I have auto clear tags is enable form the start but something some where is wrong thats why i can not make (de-DE, Hedda) to work for me
    Can you please help me through it
    i would be very appreciable
    thanks...
    Ps: waiting for the funds to buy the update :)
     
    Last edited: Oct 30, 2017
  45. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hello again

    This problem is fixed since 2.8.5 - you should really update to the latest version...
    There is no other solution.
     
  46. AR_Rizvi

    AR_Rizvi

    Joined:
    Aug 12, 2013
    Posts:
    40
    @Stefan-Laubenberger
    Yes i updated it and it worked thanks...
    But now i need to put two characters like a man and a women in a scene where they are in conversation with user and each other and some how i am not able to put two characters in one scene It always delete one and only keep one of them I do not know why
    Can you help me with this to ?
    Thanks...
     
  47. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    I assume that you're trying to add RT-Voice to both characters - don't do that! Add the RTVoice-prefab only once to the scene and use scripts to control the conversation.
    You can take a look at scene "02-Dialog" or in the SALSA-package at the "SALSA_Bots".

    I hope this gets you further.
     
  48. faddou

    faddou

    Joined:
    Aug 3, 2016
    Posts:
    8
    Hi, I recently purchased RTVoice Pro ad I am having a light issue. The Speaker. Speak method play the string attached to it at run-time, which means that if I write something like Speaker.Speak ("Hello"); and Speaker.Speak ("World"); the words Hello and World will be played at the same time. However, I would like to play them one after the other.

    My current project is a bit more complex than that since I have several strings of varying length that I would like to play sequentially based on some other boolean variables.

    So my question is, How can play different string on after the other ? I thought there will be a boolean trigger somewhere but I cannot find it. I also tried to use the speakStartMethod and speakCompleteMethod without success.

    I am sure this has an easy solution and I overlooked something. Could you please help me or eventually redirect me to some tutorial.

    Thanks.
     
  49. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Hi

    The two callbacks are the right way - what went wrong?


    Cheers
    Stefan
     
  50. faddou

    faddou

    Joined:
    Aug 3, 2016
    Posts:
    8

    Well, if I write something like :

    string str1 = "Hello" ;
    string str2 = "World" ;
    Speaker.Speak (str1);
    Speaker.Speak (str2);

    I have str1 and str2 being read at the exact same time. Not one after the other.