annex⁴ Posted January 25, 2018 Share Posted January 25, 2018 We are pleased to announce the full release of our text-to-speech driver. This driver offers an astonishing number of voices and languages. You can inject variables in to the announcements and even have an event to trigger upon announcement end. As with all of our drivers there is a 21 day trial. For full details follow the link. https://annex4.link/drivers/voice-genie vstar, South Africa C4 user, sonic30101 and 1 other 4 Quote Link to comment Share on other sites More sharing options...
eddy.trochez Posted January 25, 2018 Share Posted January 25, 2018 . Quote Link to comment Share on other sites More sharing options...
sonic30101 Posted January 25, 2018 Share Posted January 25, 2018 You could just have multiple instances of the driver eddy.trochez 1 Quote Link to comment Share on other sites More sharing options...
eddy.trochez Posted January 26, 2018 Share Posted January 26, 2018 Yeah! I just realized that! Quote Link to comment Share on other sites More sharing options...
Gary Leeds UK Posted January 27, 2018 Share Posted January 27, 2018 Can someone share so programming for this Driver please. I`m struggling to work this one out Quote Link to comment Share on other sites More sharing options...
sonic30101 Posted January 27, 2018 Share Posted January 27, 2018 First you have to tell the driver what phrase you want to synthesize. Then go to your announcements and play the one named Polly Quote Link to comment Share on other sites More sharing options...
Gary Leeds UK Posted January 27, 2018 Share Posted January 27, 2018 So for more that one annocement you need to have extra drivers called polly 1/2/3 etc ? Quote Link to comment Share on other sites More sharing options...
annex⁴ Posted January 27, 2018 Author Share Posted January 27, 2018 Think of the announcement part as the rooms and volume for where you want the voice to play. Then if you were triggering the voice to happen when the front door opens to say welcome home, you would have that text as the programing part, when the event triggers the synthesize command, it will then play the announcement(the rooms selected). If you also have a trigger to say the HVAC is heating when heat is engaged it will use the same announcement. You would only need multiple drivers installed if you want to have different voices or the announcement in different rooms. Quote Link to comment Share on other sites More sharing options...
annex⁴ Posted January 27, 2018 Author Share Posted January 27, 2018 12 minutes ago, Gary Leeds UK said: So for more that one annocement you need to have extra drivers called polly 1/2/3 etc ? The files are always generated realtime, once the file comes back from the internet it plays. It is always replacing the polly wav file when triggered. Quote Link to comment Share on other sites More sharing options...
eddy.trochez Posted January 27, 2018 Share Posted January 27, 2018 Keep in mind that you'll be using the same announcement in Control4, and by that I mean the rooms in which the announcement will be played. The actual audio announcement will change depending on the variable, but it'll always play in the rooms you choose in the Announcement's settings. If you want certain announcements to play in specific rooms, you'll need an instance of the driver for every announcement. I've created a "house status report" announcement. And man, it works like a charm! You can program the driver to give you the status of only devices that require attention. For example, when I trigger the "Good Night Scene" the announcement will tell me which windows are open, but it won't mention the ones that are closed ("One of the kitchen windows is open"). If there's nothing to report, it'll give me a confirmation announcement, a simple "Good Night" confirms everything is closed and locked. Pretty cool! The one thing that sets this driver apart from others is that it uses Amazon Polly which is the most natural sounding TTS engine I've experienced. annex⁴ and South Africa C4 user 1 1 Quote Link to comment Share on other sites More sharing options...
South Africa C4 user Posted January 27, 2018 Share Posted January 27, 2018 It certainly works well and the Amazon Polly TTS engine is great! @Gary Leeds UK: a couple of hints on programming: 1. Create a separate announcement (polly1, polly2 etc.) for every different set of rooms you want audio to play in. E.g. I am looking at PollyWholeHouse, PollyOutside, PollyBedrooms, PollyUpstairs, PollyDownstairs and PollyMainBedroom 2. I find it useful to put the Polly execution in a macro and use a string variable for what Polly says. E.g. a simple set of commands for me would be: -> PollyString = ‘Good night sir” (after all, no one else calls me sir) -> execute PollyMainBedroom macro where PollyString is a string variable I created and my PollyMainBedroom macro includes the following two commands: -> PollyAnnouncement (PollyString,,,,,) using the PollyMainBedroom driver -> Execute PollyMainBedroom announcement Excuse the syntax which is all wrong as I am not in front of my PC but you get the idea. What I have described above is way more complex than necessary but makes it very versatile for future programming. Injecting variables into the string is easy and you can do something funky things as Eddy has pointed out. I’ve even tried emailing my personal Gmail account with a message titled “C4 Polly” and have it speak the body of the email... Using Alan’s IFTTT driver to get the email into a string via Pushover. This freaked my wife out... probably because I sat at the office and emailed “I’m watching you” which then was played through our bedroom speakers . That almost spelled the end of my relationship with C4! RobbieF and Gary Leeds UK 2 Quote Link to comment Share on other sites More sharing options...
eddy.trochez Posted January 27, 2018 Share Posted January 27, 2018 One thing to keep in mind is that when creating dynamic announcements, you have to keep them under 30 seconds. This is a limitation of the Announcement Agent. Quote Link to comment Share on other sites More sharing options...
zaphod Posted January 28, 2018 Share Posted January 28, 2018 On 2018-01-27 at 10:42 AM, South Africa C4 user said: That almost spelled the end of my relationship with C4! Or your relationship with your wife. South Africa C4 user 1 Quote Link to comment Share on other sites More sharing options...
South Africa C4 user Posted January 28, 2018 Share Posted January 28, 2018 39 minutes ago, zaphod said: Or your relationship with your wife. It was touch and go both ways! Fortunately time heals! Quote Link to comment Share on other sites More sharing options...
dlouque Posted February 2, 2018 Share Posted February 2, 2018 Very nice driver!!! I am somewhat new to using variables. I looked through available choices for a few things. 1) Be able to announce time of day. 2) Be able to pull current temp off of multiple C4 Tstat. I would appreciate a little help finding these standard items to fully test the driver and show it off to customers. Thanks, Daniel Louque Quote Link to comment Share on other sites More sharing options...
Rexabyte Posted February 3, 2018 Share Posted February 3, 2018 1. You inject %TIME or %DATE into the string to get the current time and or date. 2. The current temperature is variable id 1018 on a thermostat if I recall correctly. So it would be %{deviceId,1018} to get temperature. Where device ID is the id of the thermostat. Full example: The time is %TIME and the current temperature is %{2380,1018} Quote Link to comment Share on other sites More sharing options...
dlouque Posted February 4, 2018 Share Posted February 4, 2018 Thanks for help Wizard. I will give this a try in the morning. On the temperature, where is the device id located in composer? Also, is there a list of variables that can be injected on knowledge base? It would be a great reference. Thanks, Daniel Quote Link to comment Share on other sites More sharing options...
Gary Leeds UK Posted February 4, 2018 Share Posted February 4, 2018 Got it - Thank you so much Wizard. I go to the sensor or whatever in my project - Right click to get the Id number. Go into the Voice Genie and in action tab select Display Variables - Type in the Id number and all the codes come up in the Lum tab - I amend the line below using my numbers for the Lum tab - 20 hours ago, TheWizard said: Full example: The time is %TIME and the current temperature is %{2380,1018} The time is %TIME and the current temperature is %{1655,1002} degrees celsius Works Like a Dream - Thank You Why did that take me so long to sort out !!!!! Quote Link to comment Share on other sites More sharing options...
dlouque Posted February 4, 2018 Share Posted February 4, 2018 Wizard, the %TIME & DATE work perfect. I can't seem to make the temp work, it is just reading the numbers I am typing. Also Gary, can great tip about right mouse click for ID, i found them. But I don't quite understand about seeing variables after typing in the ID number. I really just want the reading of current temp and cool/Heat set points, but I don't see how to select those. Thanks for help guys with this, i think a lot of folks will benefit from this info. Daniel Quote Link to comment Share on other sites More sharing options...
Rexabyte Posted February 4, 2018 Share Posted February 4, 2018 I put together a little album as to how you would go about the whole process: https://imgur.com/a/lwfxc Gary Leeds UK 1 Quote Link to comment Share on other sites More sharing options...
Baubas Cat Posted February 4, 2018 Share Posted February 4, 2018 So do you need to be connected to the internet for the announcements to work or can they be downloaded to the controller. I ask because my current announcements are wav files and I don't need to be connected to the internet. Quote Link to comment Share on other sites More sharing options...
Rexabyte Posted February 4, 2018 Share Posted February 4, 2018 The TTS is calculated realtime from Amazon Polly so you need an active internet connection. The announcement is downloaded to the controller and saved as a wav file during the synthesize process. I could add a setting to play the latest downloaded file, but this may end up being confusing and not aligned if you're using variables. As above if you were using temperature and having it read it out on some event, you'd potentially get an incorrect reading as it would be whatever was the last downloaded. If you just want to use the TTS to synthesize static speech you can copy the announcement file created and play it as a normal announcement. Quote Link to comment Share on other sites More sharing options...
dlouque Posted February 5, 2018 Share Posted February 5, 2018 Thanks Wizard. I finally got the list of variables to show up now. I had to go through which ones would give the temp properly, but I found them. Appreciate your help. Daniel Quote Link to comment Share on other sites More sharing options...
neil12011 Posted February 6, 2018 Share Posted February 6, 2018 I don't get the "polly" generated announcement. Meaning, it doesn't auto add that filename to the controller. Any ideas? Quote Link to comment Share on other sites More sharing options...
Rexabyte Posted February 7, 2018 Share Posted February 7, 2018 The driver generally creates the polly announcement from Amazon Polly once the driver is added to the project. The only reason I could think of that it wouldn't would be if you didn't have a connection to the internet at the time the driver was added. If you did feel free to PM me some more info and I can take a further look. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.