A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Introducing the new Universal Render Pipeline and High Definition Render Pipeline subforums!
Unity 2019.3 Beta is out now.
Discussion in 'Assets and Asset Store' started by Stefan-Laubenberger, Jul 10, 2015.
There should be this array for the text files:
Do you see this?
You can build for Android... Do you get an error?
Thanks for your quick response! I did not have that array option, nor the Mode option. So, I deleted it all and started fresh by importing everything again. Now, I have both the missing options. I tried dragging a text file on it and it works just AWESOME! Thank you
p.s. The speech happens when you press the Test-Drive button in Editor mode. I am, of course, going through the docs now, but perhaps I can ask this question to save myself some time: How do I trigger this at run-time given that the Test-Drive is disabled in Play mode? Cheers
There are two methods for "TextFileSpeaker" which can be called at run-time:
Speak() // random text file
SpeakText(int index = -1) // index of the text file
I hope this helps you further!
@Stefan-Laubenberger Quite a few actually! The first one is Error: [Temp/StagingArea/AndroidManifest-main.xml:12, /Users/ws/Desktop/RTvoice/Temp/StagingArea/android-libraries/RTVoiceAndroidBridge/AndroidManifest.xml:3] Main manifest has <uses-sdk android:minSdkVersion='9'> but library uses minSdkVersion='15' UnityEditor.HostView:OnGUI() but when I open the AndroidManifest.xml it says
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="24"/> so it should be OK, and there is no other manifest in the project...
We resolved this through setting → Player Settings > Other Settings > Minimum API Level > Android 4.3 "Ice cream Sandwich (API level 15)"
Hopefully, this will help others having the same issue!
Thank you for pointing this out!
We thought it's clear enough in the documentation, but anyway consider it solved
The upcoming version 2.8.0 will automatically set the correct API-level in the Android build settings!
I hope this is fine.
We also got rid of some legacy code to maintain pre-iOS 8-versions. The target version will now be set to the correct level.
This is brilliant Stefan, Many thanks. Just checking if we can freely upgrade (to the upcoming version) now that we have purchased the pro version from the Asset Store?
Sure, updates are free
I might take you up on this but before that I have found out some more info on how to recreate this issue from a customer running the latest code version.
The customer uses BitDefender AV solution, this antivirus product does not like the wrapper exe and every time a voice announcement is made in my game he gets a two second pause in the whole game. If he white lists the wrapper exe then the problem goes away.
I'm happy to accept that AV solutions will do what they are going to do but why the whole game freezes when this happens I don't understand, surely there is a way to stop this happening. I tried putting the call to the speaktext in a coroutine and it still freezes the whole thing. I haven't tried speaknative yet.
I have some ideas on improving things... Currently, every speech starts a process, which normally needs no time and doesn't freeze the game (stupid AV snake oil! ).
So, if we start the process only once during the whole game, there would be no lags. But, it's a lot of work from our side and I can't promise anything right now.
The other possibility is to sign our exes - that would probably stop the darn AV-solutions. This also needs time and money ;-)
TypeLoadException: Could not load type 'UnityEngine.WWWAudioExtensions' from assembly 'RTVoice'.
UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress)
Crosstales.RTVoice.Speaker:Speak(String, AudioSource, Voice, Boolean, Single, Single, String, Single)
Crosstales.RTVoice.SALSA.Speak:Talk() (at Assets/crosstales/RTVoice/3rd party/SALSA/Scripts/Speak.cs:55)
I am unity version 5.3.6, RT - Voice is PRO version 2.7.2
You are using the RTV-version for Unity 5.6+.
Simply follow the upgrade instructions in the asset (-> re-download it from the UAS and install it for Unity 5.3.6).
Hi Stefan, I am experimenting with a couple of ways to read out text to an Android device user. Quite promising so far!
Below, you will see a few lines of code, after I have dragged into my scene the two required prefabs: RTVoice and TextFileSpeaker.
public class Test : MonoBehaviour
private GameObject _myTextFileSpeakerPrefab;
// Put text in string variable and play it at run-time.
Speaker.Speak("Hi there! I am the Voice Manager.");
// Find the TextFileSpeaker prefab in the scene.
_myTextFileSpeakerPrefab = GameObject.Find("TextFileSpeaker");
if (GUI.Button(new Rect(Screen.width/2, Screen.height/2, 200, 50), "Read Out Instructions"))
Debug.Log("Instructions Button Pressed");
// Read out the instructions.
IEnumerator Instruct(float delay)
yield return new WaitForSeconds(delay);
Speaker.Speak("Optical Character Recognition can help you find information on your device quickly. blah blah blah");
My first question is: Is there a limit to the length of the text you can squeeze in Speaker.Speak("")?
My second question is: How do I get the already-in-the-scene TextFileSpeaker prefab to do the reading-job for me, instead of putting all the text in the Speaker.Speak("") of my IEnumerator? With the prefab, I can just drag and drop onto it a text file, but that only works in Editor mode. Is there anyway I can get this prefab to do what I am currently doing by copying&pasting text into the Speaker.Speak("") method? As you can see in the code, I can find the prefab in the Hierarchy and access it, but not sure how I can do the rest with it and then build to device?
I try to answer your questions:
Speech text limit: I think it would be the typical 65536 chars limit, but we never tested it with sooo much text. Feel free to try it out and please report back
TextFileSpeaker has two methods called Speak() and SpeakText(int index = -1) which can be called by your script instead of passing the text to the Speaker.Speak-call.
You can add as many TextFileSpeakers to your scene as you need (e.g. a TFS for every NPC). Then add the desired text files to them. Lastly, you can configure the voice, rate etc. After that, I would create a script with public variables of the different TextFileSpeakers and call one of the methods above when needed.
I hope this helps you further.
We proudly present you RT-Voice with WebGL!
Please checkout the demo.
I'm using version 2.7.1 and using
Speaker.SpeakNative(text,Speaker.VoicesForCulture( "en-gb" ))
to play for first time when i play it takes some time to speak text.
Please update to the latest version 2.7.4 and try it again
We ordered a key and can soon sign our exes - I hope this helps...
Send me an email with the invoice and I provide the signed exes asap.
When i quit app i get
NullReferenceException: Object reference not set to an instance of an object
at Crosstales.RTVoice.Provider.VoiceProviderAndroid.Silence ()
at Crosstales.RTVoice.Speaker.OnApplicationQuit ()
Did you update to the new version and is there this issue?
The latest version 2.8.0 has signed EXEs.
If you wanna try it, send me an email with the invoice.
Hello @Stefan-Laubenberger ! I just bought RT Voice Pro and cant make it read anything on Unity. Getting the following errors on the console.
Which point to:
VoiceProviderMary.cs 176: AudioClip ac = www.GetAudioClip(false, false, AudioType.WAV);
VoiceProviderMary.cs 181: while (ac.loadState == AudioDataLoadState.Loading);
VoiceProviderMary.cs 186: if (wrapper.Source != null && ac.loadState == AudioDataLoadState.Loaded)
I'm having some trouble using the voices I have installed in my Windows 10 machine. I followed the instructions posted here, and yet the only voice that's being recognized by RT-Voice is Microsoft Zira Desktop, which I wasn't aware I had installed. I was expecting to at least be able to use Microsoft Helia Mobile, since that one is selected under Settings > Time & Language > Speech in the Settings menu (and is able to read text).
Meanwhile, I found out about the Control Panel > Speech Properties > Text to Speech menu, which only lists Microsoft Zira Desktop, despite the fact that I have other voices installed and featured in the Settings > Time & Language > Region & Language menu.
This is a bit puzzling and has probably nothing to do with RT-Voice, but are you aware of what might be causing this? Is there any way to programmatically get these voices? I don't quite understand why Microsoft keeps two different menus for what seems to be the exact same thing (text to speech, they're even called the same).
I wrote you an email.
I'm not sure what's causing this, which Windows 10-version are you using, 32- or 64bit?
To install voices, please follow the instructions in chapter 6.1 of the documentation:
Thanks @Stefan-Laubenberger, the instructions in the document worked just fine, I'm now able to use other voices on Windows 10.
It still beats me why I would need to edit the registry files myself and why voices installed using the Settings menu do not work.
I think the instructions you tried first were for the Windows 10-UWP-part, so they were only for Windows-apps and not for "normal" Windows-applications.
If you own the PRO-version, you can build for the Windows Store and try it out
Have a nice weekend!
Just bought RTvoice Pro and it's looking great.
Only thing is that I have a mac and the TextFile Speaker Demo is not working.
Could not generate the speech: 400 Bad Request
Crosstales.RTVoice.Provider.<speak>c__Iterator2:MoveNext() (at Assets/crosstales/RTVoice/Plugins/Scripts/Provider/VoiceProviderMary.cs:228)
Thank you for buying RTV!
First of all, you're using MaryTTS... This is your intention, right?
Secondly, we have a small bug with MaryTTS: you have to add a voice for the Speak-call, like this:
Speaker.Speak ("Hi rocki, how are you?", null, Speaker.VoiceForCulture("en"));
It's already fixed, if you send me an email with the invoice, I can give you the new version.
But anyway, it's always a good idea to specify the voice
Ok, it was something else
We let our TextFileSpeaker read our "README.txt" which was too long for MaryTTS...
Here is another text file which works, just add it to your project replace it in the demo scene:
You could also add a voice for MaryTTS.
Great it's working now.
Btw, I thought that if I'm in the editor on my mac it would use my mac's voice instead of MaryTTS.
On Demo 2, I'm getting this error:
Edit, Other demos are getting the same error when I uncheck the MaryTTS default voice.
Could not read the file: Unknown Error
Crosstales.RTVoice.Provider.<Speak>c__Iterator1:MoveNext() (at Assets/crosstales/RTVoice/Plugins/Scripts/Provider/VoiceProviderMacOS.cs:311)
What is your current build target?
I tried it with our Mac and I couldn't simulate the issue you described... Can you please provide me with more information how you "did this"?
The next release will add SSML- (prosody) and EmotionML-support for MaryTTS!
We hope that we can add SSML also for Windows, but we can't promise that right now...
We're seeing the same error on Mac (OSX 10.12.5) with Unity 2017, triggered with this line:
using (WWW www = new WWW("file:///" + outputFile))
I checked and the file in outputFile definitely exists in the file system, so the generation seems to have worked, and something is preventing WWW from accessing the created file.
Could you please try something? What happens if you change the line (remove one slash):
using (WWW www = new WWW("file://" + outputFile))
Confirmed, that works. Thanks.
Thank you, we will fix this in the next release!
Yeah, it's getting even better: SSML works now also in Windows!
Another upcoming feature: define all speeches in a text file (incl. voice, rate, pitch and volume) and generate them as audio files!
i am developing a project in unity using RT-Voice but the voices of the dispositives do not, we like.
They have not thought about adding more real and personalized voices.
thanks for your atention.
The voices in RTV aren't part of our package - we use the underlying TTS system (or MaryTTS).
But you can add your own voices like described in chapter 6 of the documentation:
Or use MaryTTS; there it's even possible to create your own voice as you like it:
Dialogue System users: The Dialogue System Extras page has an updated support package for RT-Voice 2.8.1.
Thank you Tony for your awesome support!
Hello! I was interested in purchasing RTVoice, but had two questions:
1) Could this service be used with a chatbot service like Api.ai? I've been seeing people integrate Alice into this and was curious.
2) What is the difference between getting the Pro version and just purchasing the regular RTVoice (besides the source code, and what would it mean using that)?
Thanks for your reply.
I would be interested in using some voices from third parties such as ivona
But I do not see in the manual how to implement it, they could help me.
Thank you very much
Thank you for your interest in "RT-Voice"!
The answers to your questions:
RTV can speak any text - so if you have access to the texts from the chatbots, the answer is yes.
Apart from the source code, the PRO version supports UWP (WSA) as build target. We also release fixes for problems immediately to our customers - the DLL-version is bound to the official release cycles, which can result in delays up to 2 weeks (depending on the severity of the issue).
Have a nice day!
What's your build target?
If it's Windows it would be very easy since the only thing the voices must provide is SAPI-compatibility and they're ready to use in RTV.
Normally, they all come with a manual and a setup application.
I think there are scripts missing from the latest RTVoice? I'm trying to use SALSA with RTVoice and following the instructions from http://crazyminnowstudio.com/posts/salsa-and-rt-voice-for-runtime-lipsynced-text-to-speech/. The file I downloaded from the site doesn't compile and the whole script files in namespace Crosstales.RTVoice.Model.Event is missing from the RTVoice package(RTVoice PRO 2.8.1) I installed today. Also, there seems to be no SALSA example scene any more in the package. Where can I find SALSA + RTVoice integration tutorial?