EZ-Builder Windows Release 2016.10.18.00

Download and install the latest EZ-Builder robot programming software to experience these updates.

Download EZ-Builder
Changes:

- Remove StartVoice() from prompt builder since it overwrote SetVoice() as per PTP's email suggestion (http://www.ez-robot.com/Community/Forum/Thread?threadId=9743)

- SetVolume() allows ez-b index (http://www.ez-robot.com/Community/Forum/Thread?threadId=9698)

- display the battery voltage and temperature of the ez-b when connection occurs in status window

- updated error message when importing Auto Position that doesn't match current configuration
#1  
Thanks for fixing the TTS settings. I can finally reliably use any of my robot voices!

Alan
Synthiam
#4  
Good to hear - removing the StartVoice() and EndVoice() in the PromptBuilder did the trick. There's no Microsoft documentation in the PromptBuilder that states it will default to a different mystery voice if StartVoice() is used (https://msdn.microsoft.com/en-us/library/ms586864(v=vs.110).aspx). PTP suggested specifying the voice in the PromptBuilder StartVoice(), but instead i simply removed the StartVoice() entirely. Now it continues to use SelectVoice() instead as before (https://msdn.microsoft.com/en-us/library/microsoft.speech.synthesis.speechsynthesizer.selectvoice(v=office.14).aspx)
#5  
I haven't tested with sayezb yet, but say, and the TTS object work. I can change voices, change rate, and change emphasis and they all work as expected. Both Windows voices and Cepstral voice.

Alan
#6  
My Speech Settings Control now looks like this since the update;

User-inserted image


I can't adjust the rate or emphasis and I no longer have the male/ female voice option - there is a female voice available though.
#7  
Interesting. Rate and emphasis work for me. I still think there are regional differences in the voices, but I am surprised that there is any difference between EN-US and EN-CN settings.

Alan
Synthiam
#8  
Because when you set the gender or age it defaults to the main mystery voice. It's one or the other, hence my previous response. Maybe there's another overrride somewhere but it sure isn't in the promptbuilder.

This is what you get for the time being...
#9  
I have computer set on EN-US. Do have the male/female voice option?
#10  
I don't have the gender or age option.
Synthiam
#11  
Correct. Please read my last response. Those options are removed because those options are what breaks the selected voice. I provided links and information in all posts on this thread.

I'll look to see if there are more mystery overrides that allows gender and age without changing the voice.

In the meantime, they're removed as you have noticed. But selected voice works - and that's progress.
#12  

Quote:

i have computer set on EN-US. Do have the male/female voice option?


No, as DJ said, he removed them. They are no longer supported as options in Microsoft voices. They provide male and female voices though.

The "Rate" function doesn't change "Microsoft David" but does change "Microsoft Zira" and my Cepstral Lawrence voice.

The "Emphasis" works on "Microsoft David" and Cepstral Lawrence, but has no effect on "Microsoft Zira"

So the specific functions are dependent on which voice you choose.

Alan
Synthiam
#13  
After further research into the overloads and methods for both the setvoice and promptbuilder, it appears voices don't have genders or ages.

The gender and age is used to "find the closest voice match by hints". Voices have a gender and age property.

So you either have one or the other. But gender and age are not actually configurable values. They're only search values to find a closest matching voice.

Again, they're not actually options and I used them incorrectly on previous releases.
#14  
If i reinstall the 10/8/2016 update I get this Speech Settings Control;

User-inserted image


I can switch between male and female voices and adjust the rate of them except for Microsoft David. Before the latest update I could adjust the rate of Microsoft David.
Synthiam
#15  
Please reference my previous post
#16  
I have have similar results to Alan's... where all the voices seem to work unless I select Hazel then speech stops responding (more precise Hazel doesn't speak and the other voices stop responding too) . I currently have 2 third party voices (from Cepstral and Ceraproc), David, Zira and Hazel... As mentioned all work except Hazel. I never use Hazel so no big deal. This is under Win 10 with all the updates and of course the latest version of ez builder. My language is set to EN-US...
United Kingdom
#17  
I have just installed this update the set my language back to English-UK and (after a reboot) it still makes no difference all I get is that horrible slow female voice with no way to change it or the speech settings. So it looks like this particular mod does not work for UK TTS for some particular reason?

I have now set my language back to English-US and it all works ok again. I would obviously prefer to have the correct region set which for me is the UK.

Tony
Synthiam
#18  
That speech voice is not an English-UK compatible voice.
United Kingdom
#19  
DJ, I know that but it is my only option when I go back to English-UK region - Cereproc Giles and William are still on the speech setting window but will not select. When I go back to English-US all TTS voices are selectable and work. So even though I am in the UK, I have to select the US region for TTS to work properly.

Tony
#21  
@Tony,

I can replicate your problem please check your email.
#22  

Quote:

display the battery voltage and temperature of the ez-b when connection occurs in status window

I don't see that displayed anywhere. Does that mean when connection occurs in/via the status window, or the voltage and temp is displayed in the status window when connection occurs? If the latter, what is the "status window"?
Thanks
#23  
@DJ,

Is still related to the email we exchanged.

before you had your promptBuilder like this:

Code:


var promptBuilder = new PromptBuilder();
promptBuilder.StartVoice(this.myGender, this.myAge);
promptBuilder.StartSentence();
promptBuilder.StartStyle(new PromptStyle { Emphasis = this.myEmphasis, Rate = this.myRate });
promptBuilder.AppendText(this.myText);
promptBuilder.EndStyle();
promptBuilder.EndSentence();
promptBuilder.EndVoice();


Now you have like this

Code:


var promptBuilder = new PromptBuilder();
promptBuilder.StartStyle(new PromptStyle { Emphasis = this.myEmphasis, Rate = this.myRate });
promptBuilder.AppendText(this.myText);
promptBuilder.EndStyle();


but you need to specify the voice:

Code:


promptBuilder.StartVoice(myInstalledVoice.VoiceInfo.Name);
promptBuilder.StartSentence();
promptBuilder.StartStyle(new PromptStyle { Emphasis = this.myEmphasis, Rate = this.myRate });
promptBuilder.AppendText(this.myText);
promptBuilder.EndStyle();
promptBuilder.EndSentence();
promptBuilder.EndVoice();


If you don't specify the voice name, the .net wrapper for the SAPI api, checks the selected voice culture and invalidates the choice if not equal to the Application culture, and searches for the fist voice matching the application culture.

I'll provide an example in the next post.
#24  
voices found:

Code:


Index=0: Name=[Microsoft Hazel Desktop] Culture=[en-GB] Gender=[Female] Age=[Adult]
Index=1: Name=[Microsoft David Desktop] Culture=[en-US] Gender=[Male] Age=[Adult]
Index=2: Name=[Microsoft Zira Desktop] Culture=[en-US] Gender=[Female] Age=[Adult]


system regional settings: US (En-US)
David Voice Selected=> Speak => David's voice => OK
Zira Voice Selected => Speak => Zira's voice =>OK
Hazel Voice Selected => Speak => David's voice => Not OK => Note: TTS selects David's because is the next En-US choice after Hazel

system regional settings: (En-GB)
David Voice Selected=> Speak => Hazel's voice => NOT OK
Zira Voice Selected => Speak => Hazel's voice =>NOT OK
Hazel Voice Selected => Speak => Hazel's voice => OK

Note:
the search is initiated on the current selected voice, and loops a linked list so in the last scenario, the search goes to the begin to match an En-GB voice.
#25  
Not related, but an example of the SSML executed via SAPI API

Note:
There is no limitation to use voices outside your system settings:

SSML voice match:
1) Match by name if specified

2) Match by Culture, Gender, Age, Variant Index
Variant Index is used when there are more voices sharing the same attributes: e.g. Culture, Gender, Age

An example:

Code:


<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"; xml:lang="en-US">
<voice gender="female" age="30">
<s xml:lang="en-GB">
Welcome to the United Kingdom!<break />Zira, i see this is your first time.
</s>
</voice>
<voice gender="female" age="30" variant="3">
<s xml:lang="en-US">yes it is, I'm so excited.</s>
</voice>
<voice gender="female" age="30">
<s xml:lang="en-GB">
and you Mr. David<break />are you here for Business reasons ?
</s>
</voice>
<voice gender="male" age="30">
<s xml:lang="en-US">does business means shopping ?</s>
</voice>
<voice gender="female" age="30">
<s xml:lang="en-GB">Mr. Richard were you Born ?</s>
</voice>
<voice gender="male" age="30">
<s xml:lang="en-CA">i was born and raised in Waterloo, Canada.</s>
</voice>
<voice gender="female" age="30">
<s xml:lang="en-GB">Mrs. Catherine i see you are from Australia, how are you related?</s>
</voice>
<voice gender="female" age="30">
<s xml:lang="en-AU">I'm David's half-sister, raised in Melbourne, and I'm Richard's wife.</s>
</voice>
<voice gender="female" age="30">
<s xml:lang="en-GB">are you with them too ?</s>
</voice>
<voice gender="male" age="30">
<s xml:lang="en-IN">no, no, My name is Ravi and i'm from India</s>
</voice>
<voice gender="female" age="30">
<s xml:lang="en-IN">Ravi can you tell the officer we are in hurry.</s>
</voice>
<voice gender="male" age="30" variant="3">
<s xml:lang="en-GB">Why is taking too long ?</s>
</voice>
</speak>


The above ssml does not specify the voices names it uses the variant to match another voice with the same attributes.

The wave generated from the above ssml: You can hear the accents: American, British, Canadian, Australian and Indian.

multiple_voices_and_cultures.zip
#26  
@DJ,

I don't know if this would be higher level of effort, but how about turning the speech settings object into an open-source plug-in so PTP can fix it to work in all regions (or share the source of the object with him and let him fix it for you).

It is working fine for me now because I am in the US, anf even though my Cepstral voice is an English accent, it is apparently a US voice, but our international friends are still having issues.

Alan
Synthiam
#27  
Please read my previous comments in this thread - according to microsoft documentation the SelectVoice() does that.
United Kingdom
#28  
Clearly, SelectVoice() does not work for the English-UK region, so I guess in this region we are screwed. Hopefully PTP will come up with something for the UK.

Tony
Synthiam
#29  
Tony, try this test app and tell me which of the two speech tests works for you

TONY DOWNLOAD THIS: SpeakingTest.zip


1) Extract the files to your desktop or some location

2) Enter the Speaking Test folder from the extracted location

3) Double click to execute the "Test Speech Voices.exe" application

4) Use the drop downs and SPEAK Buttons to try each of the 2 tests and tell me which one works as you expect


----------------------------------------

And for PTP to understand the two tests, here is the source code: TestSpeechVoices.zip
United Kingdom
#30  
DJ, I get Cereproc William (voice I generally use for TTS) on test 1 and I get the female voice on test 2 - this is with Hazel selected on both. I can change both test voices to William using the drop downs which then gives the William TTS.

So as the app starts I get William on test 1 and female on test 2 while it is Hazel on both drop downs.

Hope this helps.

Tony
Synthiam
#31  
Can you explain differently? I don't understand

Which of the two tests works as you expect?
United Kingdom
#32  
On app start both tests have Hazel on the drop down.

Pressing test 1 - I get William
Pressing test 2 - I get female (possibly Hazel?)

Now if I select William on both drop downs.

Pressing test 1 - I get William
Pressing test 2 - I get William

I am not sure how to interpret these findings? On default (Hazel selected) test 1 gives me the William TTS that I want to use with EZ-Builder and test 2 (with Hazel selected) I get the female TTS. So I guess test 2 gets the TTS gender right, whilst test 1 gives me William when Hazel is selected (and Hazel cannot be selected)?

Tony
Synthiam
#33  
It sounds like test #2 is operating correctly? Because hazel selected gives you hazel, and William selected gives you william.

Where test 1 is always giving you William and it cannot be changed. Is this accurate?
#34  
Hello

Only the test 2 is working correctly for me
Test 1 is always giving the same default voice , whatever the voice selected

Jean-Luc
Synthiam
#35  
This is good feedback. Anyone else try it for additional verification?
#36  

Quote:


This is good feedback. Anyone else try it for additional verification?


On a US-EN system, both tests work the same (just as the latest EZ-Builder works) including with a Cepstral voice (Lawrence, has UK accent, but I am pretty sure it is installed as a US-EN voice).

Alan
#37  
Test 1 - David and Hazel both sound like David
Zira sounds as it should
Test 2 - all voices sound as they should
Synthiam
#38  
The latest installer has been updated with the results of user tests - let me know how it works
#39  
It is working for me, but being an EN-US system, it was working i yesterday's version. The test will be if it works for Bhouston and Toymaker.

But, since it appears from the source of the test app that you were taking PTP's advice on how to fix it, I am confident it will work for them (a test app he created is what first fixed my Cerproc voice).

Alan
#41  
Thanks DJ,

Let's hope it works for Tony too.
#42  
Getting closer.
Now I have the 3 voices David, Hazel and Zira.
I can't adjust the rate on David and Hazel but I can on Zira.
David (the one I want to use) and Hazel speak only at the "Slow" rate.
#43  
I am pretty sure that the David voice doesn't support the rate property. You might want to see if Cerproc has a voice you like. They are only $35US, which is much cheaper than most other voices and they have a good selection of voices and effects that you can apply. They do support the rate property, and with this fix, they now work in EZ-Builder without messing with system files and registry entries.

Alan
#44  
Thanks Alan, I use to be able to adjust the rate on the David voice, hopefully, it can be again. The voice really is painful to listen to at the rate it is at. Yes, I know there are voices available for purchase but I think there should be a good sounding male voice in EZ Builder so every one doesn't have to buy a male voice.
#45  
@BHouston,

What kind of OS you have ?
#46  
Well, the voices come from Microsoft, not EZR. One correction to my previous. Cepstral is the voice that I have Cereproc is another voice company, and I confused them and called it Cerproc, which doesn't exist:)

One of my Windows machines, which was upgraded from Windows 7 Ultimate 32 bit instead of Windows 8 home 64 like the other ones has a 3rd voice, Microsoft Mark. I'll test it after work tomorrow (actually, might be Thursday depending on when I get home. Taking my wife to a concert tomorrow night) and see if it supports the rate property, and research if it can be downloaded or activated on Windows 10 Home.

I also have a different voice app that I think has the rate setting. I'll confirm if it also fails on the David voice.

Alan
#48  
Bob,

I just tried and the David voice supports different rates.

David voice with different rates:
DavidVoices.zip


Zira voice with different rates:
Zira.zip
#49  
@ptp That zip file works on my system. How do I install it into EZ Builder or onto my OS?
#50  
both zip files contain recorded samples from my computer (windows 10).

Is not a fix.

I tried Emphasis - None, and different Rates.
#53  
I'm thinking that it's a setting in my system somewhere. I have my system set to EN-US. Any suggestions where to look/adjust the settings on my computer?
Is anyone else from Canada having this problem?
#54  
Bob,

I just checked some old SAPI code.

open RegEdit on your computer and go to the following Registry key:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech\Voices

check if exists a DefaultTTSRate property
if exists, check if is 0 (zero), if not change to 0.

Let me know if it worked.
#56  
so is not that.

Can you try the following:

change your regional settings (system too) to EN-CA. The speech settings will reset.
Try EZ-Builder

If you want to return to EN-US, change it again to EN-US (System too with Reboot)
Try EZ-Builder
#57  
I changed everything back to EN-CA and regional settings to Canada - no change.
I have Microsoft David Mobile voice selected there and can change the rate but not in EZ-Builder.
#58  
I was incorrect. Microsoft David Desktop does support the "Rate" property outside of EZ-Builder. I am able to control it using Roboblather http://zetacentauri.com/software_roboblather.htm but not EZ-Builder, so there is still something wrong in the EZ-Builder speech settings control.

The Roboblather page also has a link to a forum where you can download 3 additional Microsoft voices originally from Windows XP, Mike, Sam, and Mary (http://www.eightforums.com/customization/23916-microsoft-anna-windows-8-a-6.html post 56). All support the rate setting in EZ-Builder, so it is something unusual with how David is being accessed. (none of these voices sound as smooth and natural a the newer David and Zira, but might meet your needs in the short term until this issue is resolved. Mike doesn't sound too bad.

Alan
United Kingdom
#59  
Thanks, DJ it now all works as it should - I now can select my Cereproc voices in English-UK.
I would also like to give a special thanks to PTP for all his great input that helped to solve this issue.

Tony
#60  
@bhouston,

Sorry to insist did you tried David's voice with Emphasis:Not Set ?

with Rate: Slow or Rate:Extra Slow ?

User-inserted image


still not working ?
#61  
I did not test with emphasis not set. It was set to Moderate (the default) for all of my rate tests.

I can't try changing to Not Set until I get home from work, and maybe not until very late.

Hopefully Bob can try that today.

Alan
#62  
Only to be clear Emphasis, Rate are handled by the voice provider.

You can have a voice supporting both attributes, only one or having trouble mixing them together.

Is not a Windows Speech API bug.

David, Zira, Hazel all come with windows, but are implemented by different providers, it's possible to find differences between them.

To help troubleshoot i always start with one Attribute off: e.g. Emphasis: Not set, than i test the Rate attribute, then i swap, and only after i try to combine both.
#63  
@ptp. That worked! I had tried that before and it didn't make a difference but now it does. I can now adjust the rate of both David and Hazel voices in EZ-Builder. Thanks for all your help.
#64  

Quote:

@ptp. That worked! I had tried that before and it didn't make a difference but now it does. I can now adjust the rate of both David and Hazel voices in EZ-Builder. Thanks for all your help.


Yup, that fixed David's rate issue for me too.

Thanks @PTP for helping @DJ fix this longstanding issue.

Alan