Announcement

Collapse
No announcement yet.

Airplay Speak - HS2 Beta Testing

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

    #61
    Airplay Speak Plug-In Beta Testing

    Yes it worked!!! I reinstalled bonjour and downloaded again the pluggin zip.
    I will continue testing it!

    Thank you very much!

    Very nice work with the pluggin!
    Hope more and more developers do things like this! That work and of course support it the most important thing!

    Thanks again!

    Comment


      #62
      Airplay Speak Plug-In Beta Testing

      Hello,

      I believe one of the problems was hsProtect on the HomeTroller, i imagine that there is something that the bonjour installer is writing to the windows directory protected by HS because everytine i reboot it stopped working.

      I have to stop hsProtect from command line, install bonjour again and activate hsProtect once again.

      Regards!

      Comment


        #63
        Possible to play wave file and also speak?

        Testing out v1.1.0.10, noticed a couple issues:

        When I use a "Speak" action to play a wave file, then follow the wave file action with a second "Speak" action (TTS in my testing), the second action does not play through the Airplay device (Airport Express in this case) but does play as expected through normal Speaker.exe clients. I have determined that by adding a "Wait" action in between the two "Speak" actions, then the second action will play through the Airplay device. I tried different wait times and the lowest possible wait time I can use and still have it play reliably is 300 ms. Sometimes it will work with a 250 ms wait, but not reliably. I am guessing the Airplay device is "still in use" for a small amount of time from the first wave file action. Is it possible to combine the wave file and subsequent TTS into the same command to avoid this?

        Also, I have noticed that when an event runs that sends to an Airplay device, the monitor on my HomeSeer computer comes out of sleep mode, i.e. turns on. Is this normal?

        Comment


          #64
          Originally posted by teladog01 View Post
          When I use a "Speak" action to play a wave file, then follow the wave file action with a second "Speak" action (TTS in my testing), the second action does not play through the Airplay device (Airport Express in this case) but does play as expected through normal Speaker.exe clients. I have determined that by adding a "Wait" action in between the two "Speak" actions, then the second action will play through the Airplay device. I tried different wait times and the lowest possible wait time I can use and still have it play reliably is 300 ms. Sometimes it will work with a 250 ms wait, but not reliably. I am guessing the Airplay device is "still in use" for a small amount of time from the first wave file action. Is it possible to combine the wave file and subsequent TTS into the same command to avoid this?
          please test version 1.1.0.11, this version should behave like normal speaker.exe clients. Let me know if that fix your problem.

          Also, I have noticed that when an event runs that sends to an Airplay device, the monitor on my HomeSeer computer comes out of sleep mode, i.e. turns on. Is this normal?
          I have no idea what could be the cause of this. Does it happen as well for events that send to speaker.exe clients only?

          Comment


            #65
            Originally posted by spud View Post
            please test version 1.1.0.11, this version should behave like normal speaker.exe clients. Let me know if that fix your problem.
            Hi spud! Thanks for looking into these issues...

            I tested 1.1.0.11 and there was no change. I still need a wait command of at least 250 ms for the second speak command to work on airplay devices.

            As for the monitor waking issue, I did some more testing and it is actually the wave file playing on the local speaker.exe client (same computer as HS server) that is bringing the monitor out of standby. I realize this has nothing to do with your plugin, but do you know if that is normal for speaker.exe when playing wave files (it only happens when playing wave files, not TTS)?

            One more thing I forgot to mention in my first post...the TTS audio quality is very poor when playing through an Airplay device, like it is a very low bitrate mp3. The wave file sounds perfect through my Airplay devices, and TTS through normal speaker.exe clients sounds great. But the TTS through an Airplay device has poor sound quality. Is that normal?

            Comment


              #66
              Originally posted by teladog01 View Post
              I tested 1.1.0.11 and there was no change. I still need a wait command of at least 250 ms for the second speak command to work on airplay devices.
              Sorry, I made a mistake when I built the 1.1.0.11 package. Could you download it again and retry?
              If it still doesn't work, please let me know exactly what commands you are trying to send and how. And please set the debug flag to yes, and send me the full logs.

              As for the monitor waking issue, I did some more testing and it is actually the wave file playing on the local speaker.exe client (same computer as HS server) that is bringing the monitor out of standby. I realize this has nothing to do with your plugin, but do you know if that is normal for speaker.exe when playing wave files (it only happens when playing wave files, not TTS)?
              I really have no idea, I guess it's kind of weird that something like that makes the monitor coming out of sleep. You should ask the HS guys.

              One more thing I forgot to mention in my first post...the TTS audio quality is very poor when playing through an Airplay device, like it is a very low bitrate mp3. The wave file sounds perfect through my Airplay devices, and TTS through normal speaker.exe clients sounds great. But the TTS through an Airplay device has poor sound quality. Is that normal?
              internally I use the SpeakToFile hs function to convert TTS to a wave file, and according to Rupp's answer in this thread: http://board.homeseer.com/showthread.php?p=733905, the low quality of the result is done on purpose to keep the file size at a manageable size.
              I'm going to see if instead of using the SpeakToFile function, I can directly call the windows TTS engine, and get a better quality.

              Comment


                #67
                Sorry, I made a mistake when I built the 1.1.0.11 package. Could you download it again and retry?
                If it still doesn't work, please let me know exactly what commands you are trying to send and how. And please set the debug flag to yes, and send me the full logs.
                Ok, I tried the new build and unfortunately it doesn't fix the issue, same behavior as before. I will PM the logs and event details.

                I really have no idea, I guess it's kind of weird that something like that makes the monitor coming out of sleep. You should ask the HS guys.
                I know, I thought it was weird, I'm not too worried about it though, gotta pick your battles ya know

                internally I use the SpeakToFile hs function to convert TTS to a wave file, and according to Rupp's answer in this thread: http://board.homeseer.com/showthread.php?p=733905, the low quality of the result is done on purpose to keep the file size at a manageable size.
                Aahhhh, well that makes sense. And would be understandable ten years ago. But it's kind of silly these days w/ 4 TB hard drives . It is a temporary file after all.

                I'm going to see if instead of using the SpeakToFile function, I can directly call the windows TTS engine, and get a better quality.
                I hope that is doable. Surely we can get a better quality. I understand that the AirPlay traffic itself is lossless (Apple Lossless), but it doesn't matter much if the source is poor quality.

                Thanks again for looking into this!

                Comment


                  #68
                  Ok, I tried the new build and unfortunately it doesn't fix the issue, same behavior as before. I will PM the logs and event details.
                  please send to spud.webb.4@gmail.com

                  I hope that is doable. Surely we can get a better quality. I understand that the AirPlay traffic itself is lossless (Apple Lossless), but it doesn't matter much if the source is poor quality.
                  good news, I did some tests and I can call the windows TTS API directly and get a good quality. Stay tuned for a release of a new version soon.

                  Comment


                    #69
                    version 1.2.0.0 attached to the first post of this thread. It improves a lot the quality of TTS sent to airplay devices. With this version you can also choose the voice you want from the config page.

                    Ok, I tried the new build and unfortunately it doesn't fix the issue, same behavior as before. I will PM the logs and event details.
                    I couldn't replicate your problem on my setup even with the exact same config you sent by email, but I did some refactoring that may help, so please test version 1.2.0.0. Also could you try to test with "Wait for speech to finish" unchecked in your speak actions. Thanks

                    Comment


                      #70
                      Originally posted by spud View Post
                      version 1.2.0.0 attached to the first post of this thread. It improves a lot the quality of TTS sent to airplay devices. With this version you can also choose the voice you want from the config page.
                      spud, the TTS quality is much better now. Thanks for that!

                      I couldn't replicate your problem on my setup even with the exact same config you sent by email, but I did some refactoring that may help, so please test version 1.2.0.0.
                      I still have to put the delay in for the TTS to be played through the Airplay devices. Without the delay, the TTS does not play.

                      Hmmmm, that's weird that the exact same event setup worked fine on your system. My Airplay devices are Airport Expresses, not the latest generation that has the Apple TV form factor, but the previous gen. They have firmware 7.6.1 on them. Maybe it's a difference in devices or firmware?

                      Also could you try to test with "Wait for speech to finish" unchecked in your speak actions.
                      This actually does work as expected (without needing the delay) on Airplay devices. The only problem is that the TTS plays on top of the wave file (they play simultaneously) on speaker.exe clients. On Airplay devices, they play one after the other as expected. Could you make them play properly on speaker.exe clients? Or is that out of your control?

                      Comment


                        #71
                        new version 1.2.0.4 attached to first post in this thread

                        it fixes the problem reported by teladog01 when successive speak command are run.

                        And in order to synchronize announcements on airplay devices and HS speakers, a setting has been added to the config page to specify a delay for the audio that is forwarded to HS speakers.

                        Comment


                          #72
                          Great job, spud! Thanks for working w/ me to get the successive speak commands working properly, and for adding the HS Speaker delay. 300 ms gets them synced up on my setup.

                          Comment


                            #73
                            per request... loading into HS3 for test

                            drop me an email
                            geary@embarqmail.com
                            Ubuntu on the Intel NUC ( 8i5BEK ), 32 G, 250G SSD, V4 Pro 😎

                            Comment


                              #74
                              Hi. Overall works well. Nice job. However, have you tried playing this:

                              &hs.speak "The time is $$time"

                              Sounds like garbage on mine. Instead of time, it spells out all the brackets, etc. I'm guessing this is due to the fact that you call TTS directly, outside of Homeseer, which takes care of time speaking.

                              Thanks.

                              Comment


                                #75
                                Originally posted by Silentcossack View Post
                                Hi. Overall works well. Nice job. However, have you tried playing this:

                                &hs.speak "The time is $$time"

                                Sounds like garbage on mine. Instead of time, it spells out all the brackets, etc. I'm guessing this is due to the fact that you call TTS directly, outside of Homeseer, which takes care of time speaking.

                                Thanks.
                                Update: I solved this. For this to work properly, remove one $. So with this client, just use $time (not $$time as usual).

                                Thanks again!

                                Cheers.

                                Comment

                                Working...
                                X