Search Unity

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

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

  1. UNITY3D_TEAM

    UNITY3D_TEAM

    Joined:
    Apr 23, 2012
    Posts:
    720
    ok mail has been sent
     
  2. M-Hanssen

    M-Hanssen

    Joined:
    Sep 8, 2014
    Posts:
    34
    2.9.4 is not available on the asset store yet, and I can't build my project because of the editor dll error.
    Could you please hurry up with this fix and put it in the asset store
     
  3. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    RTV 2.9.4 is submitted to the store but not approved yet.

    You can write me an email with your invoice and I send you the new version.
     
  4. MFKJ

    MFKJ

    Joined:
    May 13, 2015
    Posts:
    264
    Hi RTV Team,

    Is there any function available in the RTVoice that can provide me the list of installed voices (that we find in voice selection in windows like Microsoft Anna - English (United statest) or else installed voices) and I play one of them with my choice? I can get systems voices through Microsoft SpeechSynthesizer and InstalledVocie classes but it is not available in unity so, is this kind of feature available in RTVoice or not?

    Code (CSharp):
    1. using System;
    2. using System.Speech.Synthesis;
    3.  
    4. namespace ConsleApp_GetSysetmVoices
    5. {
    6.     class Program
    7.     {
    8.         static void Main(string[] args)
    9.         {
    10.             using (SpeechSynthesizer synth = new SpeechSynthesizer()) {
    11.                 Console.WriteLine("installed voices");
    12.                 foreach (InstalledVoice voice in synth.GetInstalledVoices())
    13.                 {
    14.                     VoiceInfo info = voice.VoiceInfo;
    15.                     Console.WriteLine("Voice name" + info.Name);
    16.                  
    17.                 }
    18.             }
    19.         }
    20.     }
    21. }
     
  5. Stefan-Laubenberger

    Stefan-Laubenberger

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

    Yes, you can :)
    There is a property on the Speaker-class called "Voices" which represents all available voice for the current platform.
    For more, please see the API:
    https://www.crosstales.com/media/da...ass_crosstales_1_1_r_t_voice_1_1_speaker.html


    Cheers
    Stefan
     
  6. MFKJ

    MFKJ

    Joined:
    May 13, 2015
    Posts:
    264
    Stefan-Laubenberger likes this.
  7. hbw_sk

    hbw_sk

    Joined:
    Jan 10, 2018
    Posts:
    3
    hi stefan,

    New user here. Black screen on android problem.

    Baseline: I built the minimal android app as suggested by unity here (just importing the Simple Mobile Placeholder asset from the asset store). Got it running on my phone. Splash screen. Then spinning red cube.

    Problem: Import RTVoice from the asset store. Make no other changes (not using RT voice, just imported). Now just black. No splash screen and no red cube.

    Suggestions?

    Thanks,
    HB
     
  8. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Which Unity version are you using?
     
  9. hbw_sk

    hbw_sk

    Joined:
    Jan 10, 2018
    Posts:
    3
    5.5.4p4
     
  10. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    That's strange, but I know that older versions of Unity have problems with the new Android SDK.
    Is upgrading to 2017.2 an option for you? Just to try it.
     
  11. rgonsalv

    rgonsalv

    Joined:
    Sep 29, 2016
    Posts:
    47
    Is it possible to do intermediate upgrades? I don't see any way to do this viathe Asset Store. We're finding lots of problems jumping that many versions and would like to do the upgrades incrementally. from 2.7 -> 2.8.x -> 2.9.x. Thanks.
     
  12. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    No, this isn't possible and also not recommended.

    The easiest way to update is to create a new scene and delete "Assets/crosstales". Then import the latest version.
    There should only be minor API changes, see the "VERSIONS.txt" for more.
     
  13. rgonsalv

    rgonsalv

    Joined:
    Sep 29, 2016
    Posts:
    47
    Thank you that worked better. I imported everything. I am able to compile locally and rebuild our app and it performs as expected. However when it gets to Unity Cloud Build, we get this message:
    Code (CSharp):
    1.  Assets/Plugins/crosstales/RTVoice/Scripts/Tool/AudioFileGenerator.cs(188,41): error CS0246: The type or namespace name `NAudio' could not be found. Are you missing an assembly reference?
    and 4 other instances in that file.
     
  14. rgonsalv

    rgonsalv

    Joined:
    Sep 29, 2016
    Posts:
    47
    Also, when compiling on the Macintosh, it fails in VoiceProviderWSA. This #if conditional doesn't seem right:
    Code (CSharp):
    1.  
    2. #if (UNITY_WSA || UNITY_EDITOR) && !UNITY_WEBPLAYER
    3.  
    4.         private static bool isInitialized = false;
    5.         private static RTVoiceUWPBridge ttsHandler;
    6.  
     
  15. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    I've just tested a build for macOS under 10.13.2, Unity 2017.2.0 and RTV 2.9.4. On my side, everything works...
    What is your setup?

    About the first issue "NAudio" - please make sure that you include the whole NAudio folder for your builds:
    upload_2018-1-13_11-17-58.png
     
  16. hbw_sk

    hbw_sk

    Joined:
    Jan 10, 2018
    Posts:
    3
    It appears to work with 2017.2. Thanks.
     
    Stefan-Laubenberger likes this.
  17. MFKJ

    MFKJ

    Joined:
    May 13, 2015
    Posts:
    264
    Hi RTVoice team,

    Is there any check available that RTVoice object become destroy on Load.? Currently is not destroying on load.
     
  18. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Sure, just disable "Dont Destroy":
    upload_2018-1-16_10-39-20.png

    But we don't recommend it. If you destroy it at every scene switch, it will have to load all the voices etc. every time you use it.
     
  19. UNITY3D_TEAM

    UNITY3D_TEAM

    Joined:
    Apr 23, 2012
    Posts:
    720
    hi again stefan i have installed server and client successfully in my windows server . now the problem is i cant able to fetch inside unity
     
  20. UNITY3D_TEAM

    UNITY3D_TEAM

    Joined:
    Apr 23, 2012
    Posts:
    720
    is there any other thing i want to do to fetch data? to unity?. i have seen u have index.html?
     
  21. UNITY3D_TEAM

    UNITY3D_TEAM

    Joined:
    Apr 23, 2012
    Posts:
    720
    does i need to do any index .html setup?
     
  22. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    I wrote you an email ;)
     
  23. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    I see your RT Voice plugin on asset store. Its really great plugin for TTS in unity. According to your description on asset store Current Word functionality does not work on android. Before purchase your plugin I want to confirm that its is possible for you to give Current Word functionality for android in future.
     
  24. Stefan-Laubenberger

    Stefan-Laubenberger

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

    I'd love to add this function for all platforms, but we are depended on the underlying TTS-system.
    Unfortunately, only iOS and Windows have that function built in :(

    MaryTTS could be a solution for the future, but I can't promise it right now...
     
  25. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    Thanks for replay hop you add this feature in future .:)
     
  26. BenRumiSys

    BenRumiSys

    Joined:
    Oct 2, 2017
    Posts:
    2
    Hi Stefan,
    Help! I just purchased RT-Voice and tried running the demos. Problem is that the RTVoice prefab properties show zero voices, so none of the demos work. This is with Unity 2017.2.0f3 on Windows 10 Pro. When I look at the Windows 10 Speech Settings, I already have 3 voices installed (Microsoft David, Mark, and Zira).
    Thanks,
    Ben
     
  27. Stefan-Laubenberger

    Stefan-Laubenberger

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

    I just verified RTVoice 2.9.4 with 2017.2.1 and 2017.2.0 and it works:
    upload_2018-1-19_9-1-36.png

    Some questions:
    • Do you see any errors/warnings in the console?
    • Are you using a anti virus software?


    So long,
    Stefan
     
  28. M-Hanssen

    M-Hanssen

    Joined:
    Sep 8, 2014
    Posts:
    34
    I'm using RTVoice 2.9.4 with Unity 2017.3 and I'm getting this error caused by RTVoice speaker regularly.

    What could be the cause of it and how do I fix it?
     
  29. Stefan-Laubenberger

    Stefan-Laubenberger

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

    I think I found the problem that is causing this on 2017.3 and created a fix.
    Do you own the PRO version? If so, I could send you the fix right now.


    Cheers
    Stefan
     
  30. BenRumiSys

    BenRumiSys

    Joined:
    Oct 2, 2017
    Posts:
    2
    Hi Stefan,

    Looks like I may be having a conflict with the Oculus asset. I'll investigate further and let you know.

    Thanks,
    Ben
     
  31. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
  32. guiome66

    guiome66

    Joined:
    May 5, 2013
    Posts:
    5
    Hi, I just downloaded the latest version of RT Voice and I am have some errors indicating that some constant variables do not ave a definition anymore. As I check the Constant and Config files, it is true that I cannot find those constants anymore:

    Assets/crosstales/RTVoice/Plugins/Scripts/Tool/InternetCheck.cs(229,61): error CS0117: `Crosstales.RTVoice.Util.Constants' does not contain a definition for `INTERNET_CHECK_URL_WINDOWS'

    Assets/crosstales/RTVoice/Plugins/Scripts/Tool/InternetCheck.cs(142,46): error CS0117: `Crosstales.RTVoice.Util.Constants' does not contain a definition for `INTERNETCHECK_SCENE_OBJECT_NAME'


    Assets/crosstales/RTVoice/Plugins/Scripts/Tool/InternetCheck.cs(107,62): error CS0117: `Crosstales.RTVoice.Util.Config' does not contain a definition for `DONT_DESTROY_ON_LOAD

    Assets/crosstales/RTVoice/Plugins/Scripts/Tool/Proxy.cs(110,39): error CS0117: `Crosstales.RTVoice.Util.Constants' does not contain a definition for `PROXY_SCENE_OBJECT_NAME'

    Assets/crosstales/RTVoice/Plugins/Scripts/Tool/InternetCheck.cs(315,61): error CS0117: `Crosstales.RTVoice.Util.Constants' does not contain a definition for `INTERNET_CHECK_URL_FALLBACK'

    Assets/crosstales/RTVoice/Plugins/Scripts/Tool/InternetCheck.cs(286,61): error CS0117: `Crosstales.RTVoice.Util.Constants' does not contain a definition for `INTERNET_CHECK_URL'

    Assets/crosstales/RTVoice/Plugins/Scripts/Tool/InternetCheck.cs(257,61): error CS0117: `Crosstales.RTVoice.Util.Constants' does not contain a definition for `INTERNET_CHECK_URL_APPLE'
     
  33. Stefan-Laubenberger

    Stefan-Laubenberger

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

    Yes, this is the case. Please delete the whole "Assets/crosstales" folder before importing the latest version.


    Cheers
    Stefan
     
  34. WaqarKhan703

    WaqarKhan703

    Joined:
    Sep 9, 2013
    Posts:
    7
    Hello,

    I just download rt-voice from asset store for 2017.1.
    I tried it to use in 2017.3.

    Upon following your basic video. I'm getting this error:

    TypeLoadException: Could not load type 'UnityEngine.WWWAudioExtensions' from assembly 'RTVoice'.
    UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
    UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    Crosstales.RTVoice.Speaker:SpeakWithUID(Wrapper)
    Crosstales.RTVoice.Speaker:Speak(String, AudioSource, Voice, Boolean, Single, Single, Single, String)

    Please Help thanks.
     
  35. Stefan-Laubenberger

    Stefan-Laubenberger

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

    The problem is that Unity changed the WWW-class in 5.6 and then reverted it in 2017.3...
    We sent different packages to the store to fix this problem.

    So, open 2017.3 and download it again in via the "AssetStore" window in the Editor. This will fetch the 2017.3 version of RTV.
    But be aware: if you later switch back to 2017.1, you will have to repeat the procedure.

    I know it's a mess, but the fault is on Unity's side.
     
  36. rgonsalv

    rgonsalv

    Joined:
    Sep 29, 2016
    Posts:
    47
    1) The folder layout looks the same. The NAudio-Source is zipped up.
    2) Our Macintosh setup is the same, except we are using Unity 5.6.4p2.
     
  37. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    But it works when you build locally?
     
  38. rgonsalv

    rgonsalv

    Joined:
    Sep 29, 2016
    Posts:
    47
    yeah, that's what's so strange... I'm looking more into this, I will let you know what I find.
     
  39. Bilxao

    Bilxao

    Joined:
    May 29, 2015
    Posts:
    3
    Hello Stefan,

    Is there anyway we can pause speech once it is started? I tried to do it with unity Timescale. But it carries on till the end.
     
  40. Stefan-Laubenberger

    Stefan-Laubenberger

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

    Are you using Speak or SpeakNative?

    If you use the first method, you could add an AudioSource for the call and simply call "Pause" on it.
    SpeakNative can't be paused.

    I hope this helps you further.


    Cheers
    Stefan
     
  41. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Thank you, please let me know!
     
  42. RiccardoAxed

    RiccardoAxed

    Joined:
    Aug 29, 2017
    Posts:
    119
    Hi, I'm working on a mobile VR project that requires multi-language text-to-speech, so I'm thinking to have a go with RT-Voice.

    It's my first project using TTS, so sorry for my trivial question: how can I include the languages I need? Can I choose them from a preset list in Unity or should I only rely on device's installed TTS languages?

    In the latter case, could I then turn to MaryTTS system to select a set of languages?

    Just to clarify, I should need english, italian, german, french, spanish and chinese.

    Thanks!
     
  43. Stefan-Laubenberger

    Stefan-Laubenberger

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

    Thank you for your interest in RT-Voice!

    Here are the answers to your questions:
    1. RTV uses the underlying TTS system and the installed languages. Apple and Google TTS support all your desired languages per default.
    2. Yes, you could use MaryTTS. Afaik, there isn't a voice for Spanish and Chinese, but you can probably find one or create it on your own ;)
    I hope this gets you further!


    Cheers
    Stefan
     
  44. Kobuster

    Kobuster

    Joined:
    Feb 19, 2014
    Posts:
    3
    Hi Stefan! Windows allows users to specify TTS playback rate in the control panel. Is there any way in RTVoice to use that rate when calling Speaker.SpeakNative, or is there some way to query RTVoice as to what the system's default playback rate is? Thanks in advance!
     
  45. Stefan-Laubenberger

    Stefan-Laubenberger

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

    You can change the rate of the speech - there is a parameter called "rate" to accomplish that.
    For more, please see:
    https://www.crosstales.com/media/da...peaker.html#a7083a472c301a672038851f9e64df0a4


    Cheers
    Stefan
     
  46. Kobuster

    Kobuster

    Joined:
    Feb 19, 2014
    Posts:
    3
    I understand that I can change the speech rate, and that I can provide an interface for my users so that they can change it themselves. What I'm asking specifically is this: is there a way for my program to know that voice and what rate my user has selected in Windows, so that when they load my program it is already using the voice and rate that they prefer?
     
  47. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,981
    Ok, I see.
    No, that's currently not possible, but I will add it in the next release. ;)


    So long,
    Stefan
     
  48. Kobuster

    Kobuster

    Joined:
    Feb 19, 2014
    Posts:
    3
    Thanks. :D
     
  49. nmadrane

    nmadrane

    Joined:
    Jun 7, 2017
    Posts:
    1
    Hi,

    I have a problem : when I test tts from the Inspector (the "Preview Voice" button) everything works, but I have no audio when I run my application from Unity (on Windows).

    I am using RTVoice version 2.7.2

    Here are the settings of the RTVoice node : (split into 2 screenshots) :

    Screenshot01.png Screenshot02.png

    I am using RT-Voice with Vuforia. My ARCamera has an audio listener :

    Screenshot03.png

    Here is my scene hierarchy :

    Screenshot04.png

    Also, I see the following error in the Console :

    ArgumentNullException: Argument cannot be null.
    Parameter name: key
    System.Collections.Generic.Dictionary`2[System.String,UnityEngine.AudioSource].ContainsKey (System.String key) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:458)
    Crosstales.RTVoice.Speaker.Silence (System.String uid)
    Crosstales.RTVoice.Tool.TextFileSpeaker.Silence ()
    Crosstales.RTVoice.Tool.TextFileSpeaker.Speak ()
    Crosstales.RTVoice.Tool.TextFileSpeaker.Start ()
     
    Last edited: Feb 5, 2018
  50. JonBanana

    JonBanana

    Joined:
    Feb 5, 2014
    Posts:
    85
    Hi , i just bought RT Voice , but i dont succeed to use ssml on my iphone.

    Does it work on ios ?

    Thanks