Trying to Cobble Together a Text-to-Speech Solution


(Mark) #1

I posted this in the WebCoRE community forum a few days ago and didn’t get a response so I thought I’d ask here.

I’m not even sure how to properly articulate what I’m trying to do but here goes.

I’m trying to use some devices I already own to inexpensively incorporate text-to-speech into my SmartThings setup. Specifically, I’d like to announce things like someone has arrived or my z-wave doorbell was rung (it’s only a switch and doesn’t have a speaker so it alerts us by flashing the lights when the doorbell button is pushed).

I own some old iPads and a few Bluetooth speakers, and would like to send messages from ST to an old iPad and then play them on a speaker that’s connected to the iPad via Bluetooth.

I’m guessing I need a SmartApp that will allow me to talk to an iOS device that’s running some kind of media rendering software (or DLNA app?) and is connected to the speaker via Bluetooth. I look at LANnouncer but that appears specific to Android.

Can anyone point me in the right direction? Has anyone done something similar? Should I give up and pop for a cheap DLNA speaker or go the Sonos route? I’d prefer to make use of things I already own but that may not be feasible. As a note, I’ll be using WebCoRE to output the messages.

Thanks for any advice anyone can offer.


#2

Lots of people have done different variations on these. You can check the project reports in the community – created wiki on the quick browse lists. There are two lists there that you should look at, one for alerts and one for voice projects.

You are going to run into some challenges because you want to use iOS devices. A lot of the stuff is just simpler to do with android, and I say that as someone who uses iOS for preference for almost everything because it’s more accessible.

http://thingsthataresmart.wiki/index.php?title=How_to_Quick_Browse_the_Community-Created_SmartApps_Forum_Section#Quick_Browse_Links_for_Project_Reports.2FQuestions


#3

BTW, it’s pretty easy to use an iOS device as a DNLA speaker using one of many different available apps. The following is a good review page.

But what android let you do is capture an event, like a notification from SmartThings, and then use that to trigger another app. With smart things that would typically be done with Tasker and another app.

iOS just doesn’t let you do that. Apple doesn’t like the idea that an app might launch another app on the iOS device without the user being notified first. That does protect you from various kinds of malware, but then it also limits some other things you can do.

There are some additional options if you want to jailbreak your iOS device, but I don’t do that myself so I can’t really help with it. And it gets pretty technical.

So the short answer in all of that is it’s just easier not to try to use an iPad for this kind of use case.


#4

(Sorry, I’m really disorganized today, forgive me for the multiple posts.)

I forgot one other option which is super simple, and that’s just to get the Aeotec doorbell. This is Z wave device which can play up to 99 different custom soundtracks. So as long as you can use pre-recorded announcements, you can have one for the laundry is done, one for the mail is in, one for Charlie is home, etc. And there’s a very good community created device Type for it. So basically any event that smart things can use can then trigger a specific sound announcement from the doorbell. The price is been going up on these recently and they’ve been getting harder to find, so you may have to look around. But it’s a very popular device. :sunglasses:

So if you just want an off-the-shelf solution, and you’re willing to spend about $70, that’s a good option to consider and it’s way easier to set up than any of the others.


#5

It’s understandable to want to use existing devices and I’m mostly an iOS user as well. However, I find that using LANnouncer to be an elegant and flexible solution to what you want to do. Android tablets/phones are super cheap to purchase these days. Although a little pricier, I would recommend the new Amazon Fire HD8 or the cheaper HD7 for their quality build. I originally bought a cheap Android phone for $20 and the battery couldn’t handle a constant trickle charge and eventually expanded and I couldn’t use it anymore.

iPads can be repurposed as a web cam using AirBeam app and they’re also great to use with ActionTiles. (https://www.actiontiles.com). I’m sure there are more things that you can do with an old iPad.


(Andy - United Kingdom) #6

Before buying a couple of Jam wifi speakers, I used a couple of these:

They are cheap enough and at first I connected a couple of wired speakers to them.

Then I bought one of these:

To connect via bluetooth…

It worked well for me for a while as I took a long time to decide which wifi speakers to buy


(Mark) #7

Thank you for all of the suggestions and info. I’ve decided to purchase an inexpensive Android tablet instead of trying to use old iOS devices.


(Mark) #8

In case anyone is trying to do something similar, I managed to buy a refurbished Amazon Fire HD from Amazon for $33.00. I installed the Google Play Store APKs using instructions I found on forum.xda-developers.com. That allowed me to install LANnouncer and SmartThings on the Fire tablet, and I can now use Big Talker and WebCoRE for TTS, chimes, etc. I was going to connect the Fire tablet to a Bluetooth speaker but the sound from the tablet is loud enough and the audio quality is fine for simple notifications. It’s also nice to be able to access SmartThings from the tablet.


(Todd M) #9

I have been trying to get TTS working in my home. I have a Russound whole-home audio system with ceiling speakers throughout my house. I DO NOT have Sonos speakers or anything like that. Just audio speakers that are connected to my Russound AV controller. I can control my Russound with Alexa using work from redloro https://community.smartthings.com/t/release-russound-multi-zone-controller-integration/41203. I have Kodi installed on a Raspberry Pi 3. All of my music is also stored on the Raspberry. I have a SmartThings hub and I use Ask Alexa and Webcore pistons to control the Russound, ie. “Alexa, tell SmartThings to turn on the music in the shower” where “music in the shower” is a macro that runs a piston that turns on the speakers in my shower, sets the volume to 40 percent and turns on the audio source Music Server (Kodi) on the Russound AV controller. I can play playlists, songs, artists, adjust volume, pause/next/stop etc. throughout my house using Alexa voice commands to Kodi and SmartThings. All is well.

I am trying to write Webcore code to use Speak Text to any of my speakers. Webcore will not recognize any of my speakers as a Music Player 1 and does not list Speak Text in the list of commands for the shower speakers (device : Shower Speakers). Suggestions?


(Todd M) #10

Answered my own question. Had to install Media Renderer : RELEASE Generic Media Renderer (DLNA Speakers). Cheap Sonos Alternative (Update V2) to get SmartThings to recognize Kodi as a music player. Now I can use the Speak Text commands in webcore.