, for answering the question and has received an EZ-Credit award! Share what you have learned and create a tutorial to help others by clicking here
A bit of background.
I am currently waiting for my EZ Robot order to arrive which should hopefully be here in a couple of weeks time, so in the mean time I have been browsing around EZ Builder software and had a quick play around with the speech synthesis settings and having it speak via my Pandorabot which is currently being trained. Everything worked fine but had a slight issue with the actual voice, that being the fact I am using Windows 7 64 bit which means I only have "Microsoft Anna's" voice and nothing else. A slight issue as 1.) I really don't like that voice much, and 2.) my robot, K-9, is going to be male.
Long story short, after going to the end of the internet and back trying to find how I could add more voices that would work with Windows 7 narrator, I came across a thread on, guess where, EZ Robots.com (should have looked here first lol) talking about speech synthesis for Windows 7 narrator, and there, was a suggestion for some really good voices which was from Cepstral.com (see links below). I popped there and tried out some demo voices and found one I really liked which worked great with EZ Builder. The full voice version (about $35 / £20) also comes with robotic voice effects which apparently work with EZ Builder and the EZ-B aswell which is great, so problem solved. Well not quite and this is where I need the help.
Ultimately, K-9 will be controlled via my iPhone and maybe also a tablet PC, as it will be a lot more convenient than carrying my laptop around, and he will not have an onboard PC, only the EZ-B4, so no problems there, except for the voice which, if I do purchase the full Cepstral voice, it can only be stored and used on my laptop. So does anyone know, how will I be able to get K-9 to talk, hold conversations, run scripts ect using my Pandorabot via the EZ-B4 with a really good sounding male voice? I'm guessing Cepstral will be out of the question which will be a real shame as I don't think there is an iPhone version, unless there is a way to use it that I have not thought of.
Any thoughts, ideas or suggestions would really be appreciated guys.
Windows 7 Narrator voice
I have found a few conversations, tutorials and activities that may help with your question. Take a look at these links. I've sorted them by what I believe to be most relevant but that is not always the case as I'm still learning.
Also, consider reviewing the Learn section for informative lessons and activities.
Check it out!
There are little question mark buttons on every control. If you press the question mark button, it will bring you to a help page for that control.
As for voices, Rich is really familiar with changing voices in windows. I know he has experience with it and will most likely chime in. And he's even more likely to assist when the post is marked as a question - so you're golden!
As for iPhone/android, I can answer that... There are pretty huge limitations I have been finding for speech synthesis on mobile. Specifically with iOS. There is a lot of development happening with our mobile app right now, and that includes speech synthesis and recognition.
I do not have answers regarding changing voices on the mobile.
The solution I have been recognizing is a windows control which will create audio sample files for the custom voice with your desired phrases. Yes, you lose the dynamic synthesis ability though - but it is a solution.
From what I understand, you want your K-9 to use the cepstral voice but you want to use your phone. One thing you can do is connect k-9 to your computer, and have EZ-Builder run the http server. then connect to that with your other device and tada! your k-9 talks with cepstral but controls from your iPhone.
Here's where to do the http server setup.
Connections control, settings gear, settings.
As DJ pointed out, I shall chime in
There are a whole bunch of voices out there which work with Windows SAPI. Personally I use C a Ceraproc voice for Jarvis as it has excellent pronunciation and is a close match to Jarvis from the Iron Man movies. They do many others but they are more human like than robot like. You can trial any voice out for any phrase on their website so you can try before you buy. They are quite expensive but in my opinion they are worth it. Watch my youtube videos of Jarvis to see how human like the voice is.
Their website is https://www.cereproc.com/
Obviously you know about Cepstral voices so I wont go over those.
How to make them work on the V4...
You will need a windows OS running the windows version of EZ-Builder (at least at the moment) for voice synthases. This will mean an on board PC or a PC that is accessible to the robot (on the same LAN or possibly even via the internet using some port forwarding and some preparation before using the robot).
The voice needs installing on Windows, then configure windows to use the new voice. By default (at least in my experience) EZ-Builder will use the default windows voice as a default. You may need to tweak the settings in Windows 8 and set the correct (or sometimes incorrect) settings such as male/female, young/old/teen etc. in the voice settings control.
Then use the SayEZB() command for the voice to be output to the EZ-B V4 on board speaker.
Or as DJ mentioned, create a lot (and it probably will be a lot) of audio files of the voice. This is something I have done to have Jarvis on my mobile phone for notifications. It sounds like his dynamic voice but the reality is it's an MP3 of a pre-recorded "you have a new email" or "you have a new message" or in some cases "incoming call from xxx"
If the robot will largely be at home you could have a PC hidden away running EZ-Builder with the voice you want etc. You could then connect to it via the http server to control from any web browser so iOS, android, windows, whatever. The http server would give you access to the controls, the windows OS would give you the voice you want.
Plan B - get a cheap acer W3 810 tablet. These run EZ-Builder without problems and are small enough to hide in a small backpack or a large pocket.
I hope some of that helped you. I'll admit I lost my train of thought part way through so if it's missing something or you need more help with a specific part or whatever just shout.
@Techno, that's not the http server, that's the TCP server for telnet or linking multiple instances of EZ-Builder to one robot (which is an option too however I need to check a few things before I offer up any suggestions there).
HTTPServer is a control in the General group when adding a new control in EZ-Builder.
Thanks for the reply buddy. Yeah now figured out the "require assistance" for asking a question as opposed to the "general conversation, DOH. Anyway it's great to hear your working on the mobile app development, especially with speech synthesis and recognition as I can see that being quite an important set of tools to have in the mobile control arsenal. Cant wait to see what you come up with and from what I've seen so far, whatever you come up with will be awesome.
Thanks for the idea of using audio files. Although I still actually want the dynamic speech synthesis so people can hold conversations with K-9 (plus the 8 months of AI bot training specific to this project I've put in so far), I can think of quite a few great uses for using pre recorded sound files which is something I never really thought of using before and may look in to implementing in some way.
@ Technopro and Rich.
Thanks for your input guys. I like the sound of using http server and really could be something I could use, at least for now anyway. So a basic run down on how this would work to see if I have this right, using pandorabot control with a voice synth installed on the laptop,
.Laptop has EZ builder installed.
.All devices, laptop, iPhone, EZ-B4 connected together using my home WiFi network.
.Laptop running EZ builder
.Run laptop in a room out of sight.
.iPhone connects to laptop and EZ-B4.
.Use iPhone to control EZ-B4 in K-9
.Use speech control to talk to K-9
.K-9 speaks back through onboard speaker using voice synth installed on laptop
Do I have this right? If so then I'm guessing that I can use the microphone on the iPhone to speak to K-9 using the iPhone speech to text option.
Actually when I said K-9 does not have an onboard PC, that wasn't entirely accurate. He does actually have a cheap generic 7" tablet on the side of his body (see pic's) which will be mainly used as a visual display unit but only runs on 4.1.1 Jelly Bean and probably unable to use EZ builder, but maybe a tablet upgrade could be an option but that wont be for some time yet as I have invested far to many beer tokens so far, but good idea though.
I'm not 100% sure on this (since I've never tried it) but I don't think the HTTP Server control will work for voice commands, it's more of a remote desktop, point and click stuff only.
So in that case I would look in to a wireless mic of some sort which can be fitted either in the robot (be aware of background noise though) or on your body somewhere. Have that connect to the PC that's hidden away.
That is at least until the mobile app has voice recognition support. I don't know what is supported by the iOS version since it's still in development, only DJ (and maybe some other EZ-Robot guys) would be able to comment on that.
The rest should work as you said, speech on the hidden PC outputs through the EZ-B V4 over the wifi network.
Having said that, if you can find an app for the iOS (not sure if anything exists, I don't do iOS due to the limitations) which will turn the iPhone/iPad in to a remote microphone for a Windows PC you could use that. You may need to jailbreak and use Cydia or whatever the unofficial app store is these days to find something that will do that.
Maybe getting a cheap tablet to run EZ builder and use that as the controller also might be a better option. The iPhone is a bit small to have multiple controls anyway. Quick question, Does the EZ-B4 have it's own speaking voice? I thought I saw it on one of DJ's videos but can't remember which one it was nor have I seen any other examples of this anywhere else.
BTW, I did check out your Jarvis videos a little while ago, very very cool. Great job Rich.
The V4 has a few phrases it says by itself, "battery is low", "connected to the network" etc. but everything else is done using Windows.
I've been tempted to put the Acer W3 810 in to Melvin however I didn't buy it for controlling robots (I actually bought it to use in the car along with vagcom and other OBD software). If I can scrape together enough funds for another W3 (they are cheap in the USA but over here they still sell for over £200 which sucks a little) I'll throw it in Melvin (or use it to control Melvin). Being small and capable of running EZ-Builder flawlessly it's ideal.
Thanks, I need to spend more time with Jarvis, he's been neglected recently for one reason or another.