Announcement

Collapse
No announcement yet.

Control of speakers question

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • nightwalker
    replied
    Now i understand, far more involved than my setup as far as speaking goes.

    Originally posted by noopara View Post
    I have speakers inside in many rooms as well as outside and an intercom system in most rooms and on the patio and at the entry doors. I use the speakers and the intercom to broadcast messages and don't need for example to broadcast that I have received emails to every room or to the outside speakers. I also use time as a factor to announce messages.

    Leave a comment:


  • noopara
    replied
    I did some more testing using UltraLog to capture a speaking Plug-in using BLReminders. It's not a good solution for BLReminders. The problem is that when BLReminders speaks the only log entry is "Speak():message" - where message is what is actually spoken.

    Trying to build an event based on the a word or words in the message to key an event in order to control speakers won't work.

    There is also a timing problem that makes it very unreliable.

    It would be great if there were one solution for this like BLSpeech knowing what script or plug-in is trying to speak and then allow control of the speakers/zones accordingly.

    It is a tough one.

    Leave a comment:


  • noopara
    replied
    I have speakers inside in many rooms as well as outside and an intercom system in most rooms and on the patio and at the entry doors. I use the speakers and the intercom to broadcast messages and don't need for example to broadcast that I have received emails to every room or to the outside speakers. I also use time as a factor to announce messages.

    Leave a comment:


  • nightwalker
    replied
    Oh, i think i understand what you're trying to do. My setup is far different. Mine is setup that depending on time of day certain speakers will announce, others not. For example daytime - all speakers, evenings - all but the kids rooms, late evenings - only the living room, nights none at all. All of this can be overridden with a silent mode i have that cuts off all sound, speech, chimes, the phones, good for that undisturbed afternoon nap.

    Out of curiosity why would you want some plug-in speech held back while others go through?

    Leave a comment:


  • noopara
    replied
    So far I like what I see with BLSpeech compared to what I recall from when I was trying to use SpeakEasy. I agree it is simple when used to control everything the same way.

    Hopefully Blade can figure out a way to do what I'm after, otherwise I will not be able to use some of the announcing plugins (including some of his). I don't want the same speaker configuration for everything that speaks and most of the plugins don't have a feature that provides a way to "sense" that the plug-in is running or some other indication that could be used by a pre-speaking script to control speakers. At this point I'm not sure it's possible.

    Leave a comment:


  • nightwalker
    replied
    I Use BLSpeach in it's simplest form. with the included events. It's worked out great here. I use the before speaking and after speaking events to setup my speakers before the speech is released from the que. You will have to play with the delay setting a little bit depending on what equipment you need to activate and get ready before the TTS is released.

    It doesn't matter what plug-in or HomeSeer event generates the speech, BLSpeech catches anything going to TTS and holds it for the processing method of your choice.

    To be honest i find it all rather simple to use and get setup, There are lots of tags, etc that can be used to refine speech even further but for my purposes they were not needed.

    Leave a comment:


  • noopara
    replied
    Shoot - I was hoping you would say it was easy and it already does it.

    I thought perhaps a new method might work like this...

    hs.Plugin("BLSpeech").NextSpeech(speaker=WholeHouse,sound=My Wave,queue =discard)

    I just ran a test using BLReminders and the only log entry is "Speak():Test Reminder" - where "Test Reminder" is the name of the reminder. What I don't know is if this would be logged before BLSpeech would capture it so that UltraLog would see it and a pre-speaking script could process it. I'll run some more tests.

    Leave a comment:


  • Blade
    replied
    That is a tough one.
    I will need to think about this one. Sounds complex

    Leave a comment:


  • noopara
    replied
    I'm not sure how to write a script to control BLSpeech for this particular application.

    I understand how to write a script to control BLSpeech that includes a hs.speak statement
    using the tags, but how can the tags be used in a script to control speakers before, for example, BLReminders, or Jon00's Email plugin speaks?

    If I used a statement like this would it work?
    hs.Plugin("BLSpeech").{speaker=WholeHouse,sound=MyWave,queue =discard}

    What I am thinking is to capture which plugin is speaking by using UltraLog and then using that to set the speakers/zones appropriately depending on what type of announcement is being made.

    I'm not an expert programmer. Give me a few examples and I can usually make it work.

    Leave a comment:


  • Blade
    replied
    There are options for running a script or event before and after speaking.

    Leave a comment:


  • Uncle Michael
    replied
    I'll be curious to learn how this works. I thought that the HS log tended to lag actual events and assumed that something like UltraLog would too.

    I don't have exactly the same issue you are dealing with, but in a similar case I resorted to a virtual device. I assign a binary number to its value to indicate which option is active. (That is, option 1 is 1; option 2 is 2; Option 3 is 4: option 5 is 8, etc.) That way, I can check the value to determine which option(s) is/are active. The obvious downside is that every instance has to set the device value and there has to be a robust mechanism to clear it again.

    Leave a comment:


  • noopara
    replied
    OK, I think I have found out how to tell what plug-in is running and about to speak. By using a log monitor plugin such as UltraLog, I can capture it.

    So, now the only issue is how to pass info to BLSpeech from a script that it calls before HS starts speaking to tell BLSpeech what speakers/zones to activate.

    An example of the code would be greatly appreciated. Or, if anyone knows another way to accomplish this, I would appreciate hearing about that too.

    Leave a comment:


  • noopara
    started a topic Control of speakers question

    Control of speakers question

    I am working on trying to use this plug-in along with other plug-ins that make announcements. I need to control speakers based on which plug-in or which type of announcement is running. Would it be possible to do this by having BLSpeech start a script prior to HS speaking that would pass the speaker control info to BLSpeech based on (1) the status of a device and (2) based on what other plug-in is trying to make an announcement. Or, is there another way to accomplish this?

    How could the script pass this info to BLSpeech before HS starts speaking?

    What would the code look like to capture what plug-in is speaking?
Working...
X