Announcement

Collapse
No announcement yet.

Airplay Speak - HS2 Beta Testing

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

    Airplay Speak - HS2 Beta Testing

    Post here your questions/remarks when you are testing a Beta version of the plug-in

    To install the latest Beta version download the zip attached to this post and unzip the 4 dlls to your HS folder. The file AirplaySpeak.lf needs to go to your Config folder (only needed if you have never installed AirplaySpeak before)


    Changes to v1.1.0.0:
    • AppleTV, and most of other AirPlay capable devices are now supported
    • WAV, MP3 and AIFF files are now supported thanks to NAudio library
    • Fixed bug when setting up an event to speak to just one AirPlay device (thanks djmilez for reporting)
    • Added a debug flag in the config page to write detailed logs.


    Changes to v1.1.0.1:
    • Connection port was hardcoded to 5000, it's now retreived from the service discovery
    • Fixed debug flag not written correctly to ini file


    Changes to v1.1.0.2:
    • Fixed resampling problem on win XP. We now use DMO resampler on Vista or later, and ACM otherwise.


    Changes to v1.1.0.3:
    • Fixed connection port issue (bad casting)


    Changes to v1.1.0.4:
    • Added a switch in config page to disable forwarding TTS to HS speaker clients to avoid double announcements in case another plugin is already acting as a proxy speak plugin.


    Changes to v1.1.0.5:
    • Fixed error while reading connection port from ini file
    • Fixed connection problem with XBMC


    Changes to v1.1.0.6:
    • Added support for mono audio files
    • Disconnect from the device right after the end of the announcement.
    • Added "Before Delay"and "After Delay" settings which are a number of seconds to wait before and after playing the announcement.


    Changes to v1.1.0.7:
    • Added "Event Before"and "Event After" settings which let you trigger some events before and after the announcement is played, stop/resume what's currently being played on the device for example.


    Changes to v1.1.0.8:
    • Fixed a bug preventing any connection to a device after one failed connection


    Changes to v1.1.0.9:
    • Fixed a bug introduced in version 1.1.0.7 which trigger errors when trying to access config page.


    Changes to v1.1.0.10:
    • Fixed time sync issues causing problems on most recent airport express (2nd generation)


    Changes to v1.1.0.11:
    • Queue data to existing connection instead of resetting the connection when trying to send a new data to a busy device.


    Changes to v1.2.0.0:
    • By default the plugin now calls directly the windows TTS API instead of using hs.SpeakToFile.
    • Possibility to choose the TTS voice from the config page.
    • Fix threads synchronization when multiple speak commands are run at the same time.


    Changes to v1.2.0.4:
    • Added a setting to specify a delay for the audio that is forwarded to HS Speakers.
    • Fixed issues when successive speak commands are sent.


    Changes to v1.2.0.5:
    • Added functions SetSpeakerEnabled and SetSpeakerVolume to be able to enable/disable and to set volume level from a script


    Changes to v1.2.0.6:
    • Added option in AirplaySpeak.ini to disable newly discovered speakers by default (speakers_enabled_by_default=False)


    Changes to v1.2.0.7:
    • Replaced Debug yes/no flag with log level switch
    • Added warning when discovering a speaker which is password protected


    Changes to v1.2.0.8:
    • Support for password protected speakers


    Changes to v1.2.0.9:
    • Fixed a bug affecting only old password protected AirPort Express (firmware <= 6.3)


    Changes to v1.2.0.10:
    • Fixed DMO resample of wave files
    Attached Files
    Last edited by spud; January 18, 2014, 07:28 PM.

    #2
    Other non AirportExpress devices are now picked up in the config ok.

    I have Apple TV, Phillips Airplay speaker and Raspberry Pi with Airplay as well as an AirportExpress.

    The 3 non AirportExpress devices give the error below when trying to send some text to speak. I enabled debug but no further info was logged.

    16/03/2013 21:10:32 - AirplaySpeak - Connection to XBMC (raspbmc) (192.168.0.4) failed: No connection could be made because the target machine actively refused it 192.168.0.4:5000

    Thanks
    Chris

    Comment


      #3
      do you have some passwords set up on those devices?

      could you try to set the debug flag to yes, and restart HS (or disable / enable the plugin)

      you should see some lines like below when it discovers the AirPlay devices:

      Code:
      16/03/2013 5:44:10 PM  - AirplaySpeak - Found Service: D830623275DE@AirPort Express 1
      16/03/2013 5:44:10 PM  - AirplaySpeak - Resolved Service: D830623275DE - AirPort Express 1 - 192.168.1.95
      16/03/2013 5:44:10 PM  - AirplaySpeak - TXT Records = 
      16/03/2013 5:44:10 PM  - AirplaySpeak - txtvers = '1'
      16/03/2013 5:44:10 PM  - AirplaySpeak - ch = '2'
      16/03/2013 5:44:10 PM  - AirplaySpeak - cn = '0,1'
      16/03/2013 5:44:10 PM  - AirplaySpeak - ek = '1'
      16/03/2013 5:44:10 PM  - AirplaySpeak - et = '0,1'
      16/03/2013 5:44:10 PM  - AirplaySpeak - sv = 'false'
      16/03/2013 5:44:10 PM  - AirplaySpeak - da = 'true'
      16/03/2013 5:44:10 PM  - AirplaySpeak - sr = '44100'
      16/03/2013 5:44:10 PM  - AirplaySpeak - ss = '16'
      16/03/2013 5:44:10 PM  - AirplaySpeak - pw = 'false'
      16/03/2013 5:44:10 PM  - AirplaySpeak - vn = '65537'
      16/03/2013 5:44:10 PM  - AirplaySpeak - tp = 'TCP,UDP'
      16/03/2013 5:44:10 PM  - AirplaySpeak - vs = '105.1'
      16/03/2013 5:44:10 PM  - AirplaySpeak - am = 'AirPort4,107'
      16/03/2013 5:44:10 PM  - AirplaySpeak - fv = '76000.14'
      16/03/2013 5:44:10 PM  - AirplaySpeak - sf = '0x4'
      please copy paste them, as well as the logs messages you get when HS try to connect to those devices.

      Comment


        #4
        I tired several times to set debug and restart hs (making sure to wait 5 minutes each time so hs saved settings) each time hs restarted debug was set to false again, i managed to get round this by editing the .ini file with hs stopped and started it again.

        Log output here: https://dl.dropbox.com/u/7816635/hs_airplay_log.txt

        Comment


          #5
          Forgot to mention no passwords set, but think you see this in the log.

          Comment


            #6
            Failing on Apple TV

            Log on start-up:

            3/16/2013 9:44:19 PM AirplaySpeak sf = '0x4'3/16/2013 9:44:19 PM AirplaySpeak am = 'AppleTV2,1'3/16/2013 9:44:19 PM AirplaySpeak vv = '1'3/16/2013 9:44:19 PM AirplaySpeak vs = '160.10'3/16/2013 9:44:19 PM AirplaySpeak vn = '65537'3/16/2013 9:44:19 PM AirplaySpeak tp = 'UDP'3/16/2013 9:44:19 PM AirplaySpeak ss = '16'3/16/2013 9:44:19 PM AirplaySpeak sr = '44100'3/16/2013 9:44:19 PM AirplaySpeak sv = 'false'3/16/2013 9:44:19 PM AirplaySpeak pk = '2554c2b216f0c5796e4d5063d2b0848461c37c29510f993287a80f97c6e d9ba5'3/16/2013 9:44:19 PM AirplaySpeak pw = 'false'3/16/2013 9:44:19 PM AirplaySpeak md = '0,1,2'3/16/2013 9:44:19 PM AirplaySpeak ft = '0x4A7FFFF7'3/16/2013 9:44:19 PM AirplaySpeak et = '0,3,5'3/16/2013 9:44:19 PM AirplaySpeak da = 'true'3/16/2013 9:44:19 PM AirplaySpeak cn = '0,1,2,3'3/16/2013 9:44:19 PM AirplaySpeak ch = '2'3/16/2013 9:44:19 PM AirplaySpeak txtvers = '1'3/16/2013 9:44:19 PM AirplaySpeak TXT Records = 3/16/2013 9:44:19 PM AirplaySpeak Resolved Service: 28CFDA1ACC84 - Apple TV - 192.168.1.1003/16/2013 9:44:19 PM Plug-In Finished initializing infrared interface 3/16/2013 9:44:19 PM AirplaySpeak Found Service: 28CFDA1ACC84@Apple TV

            ... and when it tries to send to Apple TV:

            3/16/2013 9:44:32 PM AirplaySpeak Error: Retrieving the COM class factory for component with CLSID {F447B69E-1884-4A7E-8055-346F74D6EDB3} failed due to the following error: 80040154.3/16/2013 9:44:32 PM AirplaySpeak Server, AirTunes/160.103/16/2013 9:44:32 PM AirplaySpeak CSeq, 53/16/2013 9:44:32 PM AirplaySpeak SET_PARAMETER rtsp://192.168.1.104/2339475938 RTSP/1.0CSeq: 5Session: 1Content-Type: text/parametersContent-Length: 20User-Agent: iTunes/4.6 (Macintosh; U; PPC Mac OS X 10.3)Client-Instance: 5411E71446DEB913volume: -15.0000003/16/2013 9:44:32 PM AirplaySpeak Server, AirTunes/160.103/16/2013 9:44:32 PM AirplaySpeak CSeq, 43/16/2013 9:44:32 PM AirplaySpeak SET_PARAMETER rtsp://192.168.1.104/2339475938 RTSP/1.0CSeq: 4Session: 1Content-Type: text/parametersContent-Length: 20User-Agent: iTunes/4.6 (Macintosh; U; PPC Mac OS X 10.3)Client-Instance: 5411E71446DEB913volume: -30.0000003/16/2013 9:44:32 PM AirplaySpeak CSeq, 33/16/2013 9:44:32 PM AirplaySpeak Server, AirTunes/160.103/16/2013 9:44:32 PM AirplaySpeak Audio-Latency, 2453/16/2013 9:44:32 PM AirplaySpeak RECORD rtsp://192.168.1.104/2339475938 RTSP/1.0CSeq: 3Session: 1Range: npt=0-RTP-Info: seq=3500;rtptime=63488User-Agent: iTunes/4.6 (Macintosh; U; PPC Mac OS X 10.3)Client-Instance: 5411E71446DEB9133/16/2013 9:44:32 PM AirplaySpeak Audio-Jack-Status, connected3/16/2013 9:44:32 PM AirplaySpeak Session, 13/16/2013 9:44:32 PM AirplaySpeak Server, AirTunes/160.103/16/2013 9:44:32 PM AirplaySpeak CSeq, 23/16/2013 9:44:32 PM AirplaySpeak Transport, RTP/AVP/UDP;unicast;mode=record;server_port=62843;control_port=63628 ;timing_port=496733/16/2013 9:44:32 PM AirplaySpeak SETUP rtsp://192.168.1.104/2339475938 RTSP/1.0CSeq: 2Transport: RTP/AVP/UDP;unicast;interleaved=0-1;mode=record;control_port=3893;timing_port=3892User-Agent: iTunes/4.6 (Macintosh; U; PPC Mac OS X 10.3)Client-Instance: 5411E71446DEB9133/16/2013 9:44:32 PM AirplaySpeak Server, AirTunes/160.103/16/2013 9:44:32 PM AirplaySpeak CSeq, 13/16/2013 9:44:32 PM AirplaySpeak ANNOUNCE rtsp://192.168.1.104/2339475938 RTSP/1.0CSeq: 1Content-Type: application/sdpContent-Length: 184User-Agent: iTunes/4.6 (Macintosh; U; PPC Mac OS X 10.3)Client-Instance: 5411E71446DEB913v=0o=iTunes 2339475938 0 IN IP4 192.168.1.104s=iTunesc=IN IP4 192.168.1.100t=0 0m=audio 0 RTP/AVP 96a=rtpmap:96 AppleLosslessa=fmtp:96 352 0 16 40 10 14 2 255 0 0 441003/16/2013 9:44:22 PM AirplaySpeak (Apple TV): Welcome to Home-Seer

            Comment


              #7
              Any Screen shots or documentation for this plug-in

              Hi, I was wondering if anyone had any Screen shots or documentation for this plug-in. Seems like a great idea but I would like to understand how it works a little better before possibly jumping in.

              I downloaded the beta zip but did not see any information beyond the runtime files.

              Thanks in advance.

              Comment


                #8
                Did you see the post with instructions...

                http://board.homeseer.com/showthread.php?t=158680

                Just enable the plugin from under interfaces section
                Then config your devices (enable disable them)
                Create an event to speak and enter the text to speak or enter an audio file and then enter the name/s of the Airplay speaker/s

                Comment


                  #9
                  Originally posted by djmilez View Post
                  Other non AirportExpress devices are now picked up in the config ok.

                  I have Apple TV, Phillips Airplay speaker and Raspberry Pi with Airplay as well as an AirportExpress.

                  The 3 non AirportExpress devices give the error below when trying to send some text to speak. I enabled debug but no further info was logged.

                  16/03/2013 21:10:32 - AirplaySpeak - Connection to XBMC (raspbmc) (192.168.0.4) failed: No connection could be made because the target machine actively refused it 192.168.0.4:5000

                  Thanks
                  Chris
                  Do you have some firewall or something that could block the traffic to those devices?
                  Are you able to send some music to those devices using iTunes from your HomeSeer machine?

                  Code:
                  3/16/2013 9:44:32 PM AirplaySpeak Error:  Retrieving the COM class factory for component with CLSID  {F447B69E-1884-4A7E-8055-346F74D6EDB3} failed due to the following  error: 80040154
                  qmcgrath, I just googled this error and it turns out, that the resampler I used from NAudio library does not exist on win XP. So I'm assuming you run HS on XP?
                  I will find an alternative solution and test it on a XP machine.

                  Comment


                    #10
                    no firewall. itunes runs from same pc as hs and plays music to all airplay devices without any problems.

                    Comment


                      #11
                      Fund the instructions - thanks - but not working

                      I installed the beta since I have an Apple TV

                      This is the error I'm getting when I try to speak. I also have an Pioneer receiver VSX 1121 that the plug-in is finding but no idea how I could use that (send to it) - if the receiver worked somehow that would be great...
                      Attached Files

                      Comment


                        #12
                        new version 1.1.0.1 attached to first post in this thread (Note you need to update all the dlls)

                        This should fix the following type of connection problem:
                        Code:
                        16/03/2013 21:10:32  - AirplaySpeak - Connection to XBMC (raspbmc)  (192.168.0.4) failed: No connection could be made because the target  machine actively refused it 192.168.0.4:5000
                        which has been reported by both djmilez and norcoscia

                        norcoscia,
                        for your other issue (AppleTV), could you set the debug flag to true in the config page, restart HS (or disable/enable the plugin), run your speak event, and then send me your logs.

                        Thanks guys for the testing!

                        Comment


                          #13
                          new version 1.1.0.2 attached to first post in this thread, which fix the problem reported by qmcgrath.

                          Comment


                            #14
                            Thanks Spud great job, now working on some of my devices. Tested ok on Phillips Airplay speaker, AirportExpress and PC Running Shairport4w.

                            Apple TV still has problems, different error this time. Raspberry Pi also has same issue it looks like.

                            18/03/2013 10:11:34 - Event - Event Trigger "Test Airplay Speak"
                            18/03/2013 10:11:34 - AirplaySpeak - (Lounge): Hello Chris how are you today
                            18/03/2013 10:11:34 - AirplaySpeak - Connection to Lounge (192.168.0.15:-16383) failed: Specified argument was out of the range of valid values.Parameter name: port
                            18/03/2013 10:11:34 - AirplaySpeak - Stack: at System.Net.Sockets.TcpClient.Connect(String hostname, Int32 port) at RTSPClient.Connect() at RAOPClient.Connect() at HSPI_AIRPLAY_SPEAK.Speaker.Reset()

                            18/03/2013 10:15:58 - Event - Event Trigger "Test Airplay Speak"
                            18/03/2013 10:15:59 - AirplaySpeak - (plexhometheater on rasplex): Hello Chris how are you today
                            18/03/2013 10:15:59 - AirplaySpeak - Connection to plexhometheater on rasplex (192.168.0.4:-28870) failed: Specified argument was out of the range of valid values.Parameter name: port
                            18/03/2013 10:15:59 - AirplaySpeak - Stack: at System.Net.Sockets.TcpClient.Connect(String hostname, Int32 port) at RTSPClient.Connect() at RAOPClient.Connect() at HSPI_AIRPLAY_SPEAK.Speaker.Reset()

                            Comment


                              #15
                              emailed a section of my log to you

                              Sent log via email - let me know if you see anything - updated to 1.1.0.2 before running test.

                              Comment

                              Working...
                              X