Whole House Audio

Posted on
Sun May 15, 2011 10:21 pm
Brandt offline
User avatar
Posts: 414
Joined: Dec 24, 2008
Location: Mission Viejo, CA

Whole House Audio

Does anyone with a whole house audio setup know of any kind of walk through guide to help get setup?

Previously with X10, I was using powered speakers on appliance modules receiving audio through an unused telephone line from a Radio Shack mini amp and an HA server.

Now that I am on Indigo with Insteon on a Mac, I have purchased Airfoil and it looks like people use Airport Expresses for AirPlay? I would like to have speakers in different rooms, but not all on/receiving audio based on different variables and other factors. For example if the speaker is in a bedroom, if the person is sleeping then obviously don't play announcements over that speaker. If the time is past 11:30pm stop announcements for the entire house. If a movie is playing, don't do announcements in the movie room, etc...

My number 1 priority here is to get out Indigo announcements, and be able to switch on/off speakers via Airfoil/Airports. Second would be to be able to inject iTunes music into that mix, but possibly the audio only going to a specified speaker? Third would be to include Pandora audio source...I've seen the script but not ready for it yet.


So I guess these are probably some difficult specifications, so I would of course be willing to start simple, that being announcements to the whole house. What would be the hardware and software requirements and setup/configuration for this?

Thanks in advance!

Indigo 7 w/ Dual-Band 2413U PLM
macOS High Sierra 10.13.x
2011 iMac 3.4 GHz Intel Core i7

Posted on
Mon May 16, 2011 10:22 am
jay (support) offline
Site Admin
User avatar
Posts: 18200
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Whole House Audio

I was hoping to get to this but just haven't had time to do it (and won't likely now until after Indigo 5 final ships). However, here's roughly what I use: Airfoil with an Airport Express (AE) and two Apple TVs (ATV). I use the Soundflower extension to Airfoil that directs all system sound out to the selected speakers in Airfoil - so iTunes music plays as well as any spoken announcements (using the AppleScript attachment pauseiTunesAndSay() handler) play through any connected speakers. I also have some scripts that 1) provide attachment handlers to allow me to connect/disconnect speakers from Indigo and 2) sync the current state of Airfoil speakers (available, active (connected), unavailable) in Indigo variables that I can use on a control page.

Wanted to flesh it out more but got completely consumed with Indigo 5 development. Those scripts will now likely get replaced with a plugin but I have no ETA on that either. My best advise, at least with respect to what I'm using/planning is to be patient for a couple of months until I can work through what the Airfoil plugin will be/look like (assuming that it's even possible - haven't even really evaluated that). If I can't get it into a plugin like I'd like to I'll finish up the AppleScripts and make those available.

In the meantime I believe others have been doing something very similar so they may have something already usable that they can share. And, of course, for your first step of just setting up Airfoil and getting sound going to them from your Indigo Mac you don't even need any scripts - just install Airfoil and get an AE/ATV or two and get them working.

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Mon May 16, 2011 11:27 am
Brandt offline
User avatar
Posts: 414
Joined: Dec 24, 2008
Location: Mission Viejo, CA

Re: Whole House Audio

I purchased Airfoil 4 which uses an extension called "InstantOn" for System Sound, I haven't seen any mention of SoundFlower. I was able to send iTunes music from the Indigo Mac Mini to my MBP and my iPhone via Airfoil Speakers. I was then able to inject text-to-speech using the script that can say the name of the current track/album/artist.

What I still haven't figured is out to use the pauseiTunesAndSay("Some Announcement Here"). I am guessing it is for use in an embedded applescript, but when I tried it, I think I had iTunes set as my source in Airfoil (I've seen some people comment that you can tell iTunes to say, and I think that is what the iTunes track name script is doing). Anyway, I'll try again tonight now that you've recommended I set to source to system sounds (will that include all the beeps and dings?)

Secondly, I need some place to enter all my reminders for Indigo to speak ( I assume iCal integration? )

Finally, I need to understand how to switch Airfoil destinations on and off before speaking the announcement.

Indigo 7 w/ Dual-Band 2413U PLM
macOS High Sierra 10.13.x
2011 iMac 3.4 GHz Intel Core i7

Posted on
Thu Jun 09, 2011 11:40 pm
Brandt offline
User avatar
Posts: 414
Joined: Dec 24, 2008
Location: Mission Viejo, CA

Re: Whole House Audio

I'm anxiously awaiting the Airfoil plugin.

Will it be able to grab the speakers that are already selected before making a change, and then revert back when it is done with it?

Will you be able to use trigger conditions with it?

Indigo 7 w/ Dual-Band 2413U PLM
macOS High Sierra 10.13.x
2011 iMac 3.4 GHz Intel Core i7

Posted on
Tue Jun 14, 2011 1:40 pm
jay (support) offline
Site Admin
User avatar
Posts: 18200
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Whole House Audio

And what rumor would that be? I'm writing it and I haven't settled on all the functionality in the final version. I do like this feature though so I'll give it some thought.

Unless someone else is working on one (and definitely let me know if you are)! 8)

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Tue Jun 14, 2011 2:42 pm
Brandt offline
User avatar
Posts: 414
Joined: Dec 24, 2008
Location: Mission Viejo, CA

Re: Whole House Audio

I guess my use case was if somebody else in the house was listening to itunes, but had to make an announcement somewhere else in the house real quick, i would want it to return back to the itunes listener immediately after.

Indigo 7 w/ Dual-Band 2413U PLM
macOS High Sierra 10.13.x
2011 iMac 3.4 GHz Intel Core i7

Posted on
Wed Aug 03, 2011 8:36 pm
tintivilus offline
Posts: 31
Joined: Feb 18, 2009

Re: Whole House Audio

I'm just starting to work on this, and my plan is to slay the beast one head at a time :)

Most of my rooms will have Chumbies for audio. I chose these not out of any particular love for Chumby, but because it's an 8" wifi touchscreen with built-in speakers that can be had for $45

Chumbies have built-in mp3 streaming support, so audio goes to them via Nicecast. I have them running a full-screen web browser (control page) and a little daemon that polls for availability of a stream from nicecast and tunes in for music. For more instantaneous announcements I plan to have Indigo SSH to the Chumby and either (1) play a preloaded .wav file or (2) tune in, speak announcement, stop listening.

In other rooms I'm going to have to figure out how to control A/V receivers. That's a tougher nut to crack, and will have to wait until I get an ethernet-serial adapter for the living room.

90% of my "whole house audio" needs are just tuning Pandora from whatever room in the house, so getting the timing of announcements figured out isn't really a priority.

Unfortunately PandoraBoy seems to have bit-rotted and is in the process of transitioning to a new maintainer. I'm trying to get the old PandoraBoy scripts working with PandoraMan now, which has been a bit of a speedbump on the road to integration testing. I'll post more details after some polishing up...

Posted on
Thu Aug 04, 2011 8:32 am
roussell offline
User avatar
Posts: 1108
Joined: Aug 18, 2008
Location: Alabama

Re: Whole House Audio

tintivilus wrote:
I'm just starting to work on this, and my plan is to slay the beast one head at a time :)

..... For more instantaneous announcements I plan to have Indigo SSH to the Chumby and either (1) play a preloaded .wav file or (2) tune in, speak announcement, stop listening.
.....


I do exactly (1) above now with 7 of the Insignia Infocasts (chumbys) using the following quick-n-dirty shell script. I saved it as chumbyspeak.sh and run it as chumbyspeak.sh: "The phrase to speak" ip-address-of-chumby.

Other than a few seconds delay while the phrase is compiled into a file and pushed to the chumby, it works well for announcements. It does require the lame encoder to transcode from .aiff to .mp3 (tried to attach, even as zip and the forum wouldn't allow it.) which you can find without too much trouble on the `net. It also need the mac webserver to be running, or modified to use another.

Code: Select all
#! /bin/sh
rndid=$RANDOM$RANDOM
say -o /tmp/$rndid.aiff $2
./lame --quiet /tmp/$rndid.aiff /Library/WebServer/Documents/$rndid.mp3
sleep 1
ssh root@$1 "btplay --start-daemon http://Indigo-Server-Address/$rndid.mp3"
sleep 3
rm /tmp/$rndid.aiff
rm /Library/WebServer/Documents/$rndid.mp3


It could obviously be improved, for example it needs a method to send announcements to several chumbys as-close-to-simultainously as possible but maybe others can use it as a catalyst for something more. It suits my needs at the moment...

Terry

Posted on
Thu Aug 04, 2011 10:24 am
berkinet offline
User avatar
Posts: 3290
Joined: Nov 18, 2008
Location: Berkeley, CA, USA & Mougins, France

Re: Whole House Audio

tintivilus wrote:
...Most of my rooms will have Chumbies for audio. I chose these not out of any particular love for Chumby, but because it's an 8" wifi touchscreen with built-in speakers that can be had for $45...


OK, I'm intrigued. But, where did you find these (or the Insignia Infocast) at $45? :shock:

Posted on
Thu Aug 04, 2011 10:56 am
tintivilus offline
Posts: 31
Joined: Feb 18, 2009

Re: Whole House Audio

haha, I think word's getting out. I got three Infocast NS-DP8CH (rebranded Chumby 8) "used / like new" from Amazon for an average of about $42 each plus shipping. Today the cheapest listing is $70. I also recently ordered one of the 3.5" baby ones for $25 but I haven't done anything with it yet.

There was a Black Friday special on them last fall so there are a lot of lightly used ones floating around. Check eBay if you don't see good prices on Amazon Marketplace. Google Shopping suggests a going rate of around $55.

Name-brand Chumbies work the same way, but at a hefty price premium (but I do think they look nicer). These techniques should also be applicable to the Sony Dash if you can find a better deal than on the Infocast.

Incidentally, word on the street is that the late-model Chumby software supports USB audio class devices too, so you could even use something like this http://www.amazon.com/Turtle-Beach-Adva ... B0036VO4X4 for an optical output. I haven't tried it yet.

Also, if you don't like the Insignia branding, you can reflash them with the official Chumby 8 software. I haven't bothered.

roussell: Did you try SCPing the mp3 to the chumby and playing it locally, instead of hosting it and playing by URL ? I'm wondering how different the speed is.
Last edited by tintivilus on Thu Aug 04, 2011 1:03 pm, edited 1 time in total.

Posted on
Thu Aug 04, 2011 12:48 pm
chrisla23 offline
Posts: 97
Joined: Sep 16, 2009

Re: Whole House Audio

I use my squeezeboxes. I wrote a perl script that saves off the current playlist, figures out if they are currently playing, gets the time index of the currently playing track, tunes into a local Nicecast instance on the server capturing system audio, uses the say command to make the announcement, and then puts everything back the way it was playlist/playing wise.

I also hacked up the indigo/ichat applescript someone had previously posted here so I can Instant message the server the zone to make the announcement (bedroom/livingroom/etc) or sync them all, and the text of what to say. The perl script can also be just used from the commandline or via indigo as an applescript do shell call.

The net result is it will interrupt whatever is currently playing if anything, say the text and pickup again where it was. It works pretty good, once in a blue moon it has some timing issues but it's reasonably solid.

I'll post them up if anyone has any interest.

-Chris

Posted on
Thu Aug 04, 2011 2:01 pm
roussell offline
User avatar
Posts: 1108
Joined: Aug 18, 2008
Location: Alabama

Re: Whole House Audio

tintivilus wrote:
roussell: Did you try SCPing the mp3 to the chumby and playing it locally, instead of hosting it and playing by URL ? I'm wondering how different the speed is.


I thought about that but didn't try it - my thinking was that if I scp'ed the file, but still had to fire off a remote command via ssh to play it after copying it over, then I might as well just stream it with one single command.

I suppose I could have a directory on the chumby that was watched and btplayd just looked there once/second and if it found something play it and then delete it. In that instance SCP would be the only command.

It would probably be nice to pre-compile a bunch of useful phrases ("garage door open", "trash day", etc.) and then have them readily available via streaming or local to the chumby to save a bit of time converting the same phrases to mp3 over and over again. Perhaps the script could be smart enough to say it once, then store it. Subsequent same phrases would be pulled from the repository rather than generated again...

Terry

Posted on
Fri Aug 05, 2011 12:01 am
ckeyes888 offline
Posts: 2417
Joined: Nov 26, 2009
Location: Kalispell, MT

Re: Whole House Audio

chrisla23 wrote:
I use my squeezeboxes. I wrote a perl script that saves off the current playlist, figures out if they are currently playing, gets the time index of the currently playing track, tunes into a local Nicecast instance on the server capturing system audio, uses the say command to make the announcement, and then puts everything back the way it was playlist/playing wise.

I also hacked up the indigo/ichat applescript someone had previously posted here so I can Instant message the server the zone to make the announcement (bedroom/livingroom/etc) or sync them all, and the text of what to say. The perl script can also be just used from the commandline or via indigo as an applescript do shell call.

The net result is it will interrupt whatever is currently playing if anything, say the text and pickup again where it was. It works pretty good, once in a blue moon it has some timing issues but it's reasonably solid.

I'll post them up if anyone has any interest.

-Chris


Sounds exactly like what I was hoping to achieve with my Squeezebox.
Love to try your scripting on that.

Thanks,

Carl

Posted on
Fri Aug 05, 2011 2:38 pm
chrisla23 offline
Posts: 97
Joined: Sep 16, 2009

Re: Whole House Audio

Here you go. Some assembly required as they say...

Here is the perl side, it assumes your squeezebox server is the same as your indigo server, else you would need to change the PeerAddr below. You'll also need to edit the mac addresses in the all section for your players. You may also need to edit the URL for nicecast. All of this needs to be run from a local terminal/console/app. The say command does not work (for me at least) if you call it from an SSH sesssion. It currently also does not put sync sets back together, maybe a future addition on that.

You call it like:

/usr/bin/squeezesay.pl ZONE MACADDR "TEXT"

Eg.

/usr/bin/squeezesay.pl chris 00%3A00%3A00%3A00%3A00%3A01 "Hello world"

Code: Select all
#!/usr/bin/perl

use IO::Socket::INET;

my $sock = new IO::Socket::INET (
        PeerAddr => '127.0.0.1',
        PeerPort => '9090',
        Proto => 'tcp',
        Reuse => 1,
        Broadcast => 1,
        autoflush => 1,
 );

die "Could not create socket: $!\n" unless $sock;

$SIG{ALRM} = sub { die "timeout" };

$loop='0';
eval {
    alarm(60);
   unless($loop){


# bedroom

#$master = '00%3A04%3A20%3A16%3A36%3A26';

# chris
#$master = '00%3A00%3A00%3A00%3A00%3A01';

$master = @ARGV[1];

if ( @ARGV[0] eq "all" ) {
   # all
   #@squeezeboxen = ("00%3A04%3A20%3A05%3Acd%3A7c","00%3A04%3A20%3A07%3Add%3Abe","00%3A04%3A20%3A06%3A0b%3A5a","00%3A00%3A00%3A00%3A00%3A01","00%3A04%3A20%3A16%3A3e%3A60","00%3A04%3A20%3A16%3A36%3A26");

   # all inside

   #@squeezeboxen = ("00%3A04%3A20%3A05%3Acd%3A7c","00%3A04%3A20%3A06%3A0b%3A5a","00%3A00%3A00%3A00%3A00%3A01","00%3A04%3A20%3A16%3A36%3A26");

   # den and chris

   @squeezeboxen = ("00%3A04%3A20%3A05%3Acd%3A7c","00%3A00%3A00%3A00%3A00%3A01");
}

else {
   @squeezeboxen = ("$master");
}

$i='0';

# Save the current playlist and sync to the bedroom squeezebox
foreach $squeezebox (@squeezeboxen) {
   #print "Syncing $squeezebox to $master \n";
   print $sock "$squeezebox status 0 2 \n";
   $answer = <$sock>;
        @answer = split(' ',$answer);
        @playmatch = grep { /^mode%3A/ } @answer;
        @timematch = grep { /^time%3A/ } @answer;
   ($timeheader, $time) = split('A',@timematch[0]);
        if ("@playmatch[0]" eq 'mode%3Aplay') {
                $play='0';
        }
        else {
                $play='1';
        }
        $mode{ $i } = $play;
        $times{ $i } = $time;
   #print "$squeezebox Play was $play time was $time \n";
#die;
   print $sock "$squeezebox power 1 \n";
   $answer = <$sock>;
   #print $sock "$squeezebox playlist save temp$squeezebox \n";
   print $sock "$squeezebox playlist save temp$i \n";
   $answer = <$sock>;
   print $sock "$squeezebox sync -\n" unless("$squeezebox" eq "$master");
   $answer = <$sock> unless("$squeezebox" eq "$master");
   #print "$master sync $squeezebox \n" unless("$squeezebox" eq "$master");
   print $sock "$master sync $squeezebox \n" unless("$squeezebox" eq "$master");
   $answer = <$sock> unless("$squeezebox" eq "$master");
   $i++;
}

# tune in to the nicecast URL

print $sock "$master playlist play http%3A%2F%2F127.0.0.1%3A8000%2Flisten.m3u\n";
   $answer = <$sock>;

# say something
sleep 1;
#print "Saying @ARGV[2] \n";
`say @ARGV[2]`;
sleep 5;

# return the playlists to their previous state

$i='0';
foreach $squeezebox (@squeezeboxen) {
   print $sock "$squeezebox sync -\n";
   $answer = <$sock>;
        print $sock "$squeezebox playlist shuffle 0\n";
   $answer = <$sock>;
        print "Zone: @ARGV[0] Squeezebox play mode: $mode{$i} Track time: $times{$i} Said: @ARGV[2] \n";
        print $sock "$squeezebox playlist resume temp$i wipePlaylist:1 noplay:$mode{$i}\n";
   $answer = <$sock>;
        print $sock "$squeezebox time $times{$i}\n";
   $answer = <$sock>;
   $i++;
}
$loop++;
   }
    alarm(0);
};



Here is the applescript portion. Follow the directions in the previous indigo/Ichat post to set it up. I actually use this same script to accept the invitation and incoming messages. You'll need to edit the USER1@ and/or USER2@ IM addresses (two places in the script) as well as the names of your players and their mac addresses. I also found the chax ichat plugin helpful to have it re-login if it gets disconnected and to login on start when the machine boots.

Code: Select all

using terms from application "iChat"
   
   -- handler to respond to all incoming messages.
   on runIndigoRemoteControl(theMessage)
      
      set theResponse to "Unknown command."
      
      try
         if theMessage is "den on" then
            tell application "IndigoServer"
               send insteon group instnTurnOn using name "den"
            end tell
            set theResponse to "Turning on all lights in the den."
         else if theMessage is "den relaxed" then
            tell application "IndigoServer"
               execute group "den relaxed"
            end tell
            set theResponse to "Setting relaxed lighting in the den."
            
         else if theMessage is "den off" then
            tell application "IndigoServer"
               send insteon group instnTurnOff using name "den"
            end tell
            set theResponse to "Turning off all lights in the den."
            
         else if theMessage is "bedroom on" then
            tell application "IndigoServer"
               send insteon group instnTurnOn using name "bedroom"
            end tell
            set theResponse to "Turning on all lights in the bedroom."
         else if theMessage is "bedroom relaxed" then
            tell application "IndigoServer"
               execute group "bedroom relaxed"
            end tell
            set theResponse to "Setting relaxed lighting in the bedroom."
         else if theMessage is "bedroom off" then
            tell application "IndigoServer"
               send insteon group instnTurnOff using name "bedroom"
            end tell
            set theResponse to "Turning off all lights in the bedroom."
            
         else if theMessage is "downstairs on" then
            tell application "IndigoServer"
               send insteon group instnTurnOn using name "downstairs"
            end tell
            set theResponse to "Turning on all lights in the downstairs."
         else if theMessage is "downstairs relaxed" then
            tell application "IndigoServer"
               execute group "downstairs relaxed"
            end tell
            set theResponse to "Setting relaxed lighting in the downstairs."
         else if theMessage is "downstairs off" then
            tell application "IndigoServer"
               send insteon group instnTurnOff using name "downstairs"
            end tell
            set theResponse to "Turning off all lights in the downstairs."
            
         else if theMessage is "bedtime" then
            tell application "IndigoServer"
               execute group "bedtime"
            end tell
         else if theMessage is "nursery bedtime" then
            tell application "IndigoServer"
               execute group "nursery bedtime"
            end tell
            
         else if theMessage is "naptime" then
            tell application "IndigoServer"
               execute group "naptime"
            end tell
            
         else if theMessage is "naptime over" then
            tell application "IndigoServer"
               execute group "naptime over"
            end tell
            
         else if theMessage is "morning" then
            tell application "IndigoServer"
               execute group "morning"
            end tell
            
         else if word 1 of theMessage is "say" then
            set AppleScript's text item delimiters to space
            set wordCount to count of words in theMessage
            set zone to words 2 through 2 of theMessage as string
            if zone is "all" then
               --   set master to "00%3A04%3A20%3A16%3A36%3A26"
               set master to "00%3A04%3A20%3A16%3A36%3A26"
            else if zone is "den" then
               set master to "00%3A04%3A20%3A05%3Acd%3A7c"
            else if zone is "bedroom" then
               set master to "00%3A04%3A20%3A16%3A36%3A26"
            else if zone is "deck" then
               set master to "00%3A04%3A20%3A16%3A3e%3A60"
            else if zone is "hottub" then
               set master to "00%3A04%3A20%3A07%3Add%3Abe"
            else if zone is "livingroom" then
               set master to "00%3A04%3A20%3A06%3A0b%3A5a"
            else if zone is "chris" then
               set master to "00%3A00%3A00%3A00%3A00%3A01"
            else if zone is "zoe" then
               set master to "00%3A00%3A00%3A00%3A00%3A02"
            else
               set theResponse to "No zone specified."
            end if
            set sayText to words 3 through wordCount of theMessage as string
            set theResponse to do shell script ("/usr/bin/squeezesay.pl " & quoted form of zone & " " & quoted form of master & " " & quoted form of sayText) as string
            -- set theResponse to "Said: " & sayText & " to " & zone as string
            set AppleScript's text item delimiters to ""
         else if word 1 of theMessage is "testsay" then
            set AppleScript's text item delimiters to space
            set wordCount to count of words in theMessage
            set theResponse to words 2 through wordCount of theMessage as string
            do shell script ("/usr/bin/squeezesay.pl " & quoted form of theResponse)
            set AppleScript's text item delimiters to ""
         else if theMessage is "tail log" then
            tell application "IndigoServer"
               set theResponse to build event log list line count 30
            end tell
         else if theMessage is "help" then
            -- display available commands on "help"
            set theResponse to "Available Commands: den/bedroom/downstairs on/off/relaxed, bedtime, naptime, naptime over, nursery bedtime, tail log, turn on/off \"[device]\", toggle \"[device]\", dim/brighten \"[device]\", all lights on/off, execute group \"[name]\", send email to \"[emailAddress]\" \"[with subject text]\" \"[with body text]\",say all/bedroom/chris/den/deck/hottub/livingroom/zoe Text to say"
         else
            set theCommand to "tell application \"IndigoServer\"" & return & theMessage & return & "end tell"
            set result to (run script theCommand) as string
            
            if result is "" then
               set theResponse to "Executing " & theMessage
            else
               set theResponse to result
            end if
         end if
      on error errorMessage
         set theResponse to errorMessage
      end try
      return theResponse
      
   end runIndigoRemoteControl
   
   -- When first message is received, accept the invitation and send a greeting message from Indigo Remote Control.
   
   -- only allow connections from me for control -- put your name here
   on received text invitation theMessage from theBuddy for theChat
      if the handle of theBuddy is "USER1@JABSRV.com" or the handle of theBuddy is "USER2@JABSRV.com" then
         accept theChat
         send "Welcome to Indigo Remote Control." to theChat
         set theResponse to runIndigoRemoteControl(theMessage)
         send theResponse to theChat
      else
         log "Someone bogus tried to connect to us"
         send "Bye" to theChat
         decline theChat
         
      end if
   end received text invitation
   --   on received text invitation theMessage from theBuddy for theChat
   --      accept theChat
   --      send "Welcome to Indigo Remote Control." to theChat
   --      set theResponse to runIndigoRemoteControl(theMessage)
   --      send theResponse to theChat
   --   end received text invitation
   
   -- On subsequent messages, pass the message directly to Indigo Remote Control.
   on message received theMessage from theBuddy for theChat
      if the handle of theBuddy is "USER1@JABSRV.com" or the handle of theBuddy is "USER2@JABSRV.com" then
         
         set theResponse to runIndigoRemoteControl(theMessage)
         send theResponse to theChat
      end if
   end message received
   
   -- Sample, so you can test run this through Script Editor.
   --display dialog "Send a command to Indigo Remote Control:" default answer "help"
   --set theMessage to the text returned of the result
   --set theResponse to runIndigoRemoteControl(theMessage)
   --display dialog theResponse
   
end using terms from

Posted on
Sun Oct 09, 2011 11:03 pm
Brandt offline
User avatar
Posts: 414
Joined: Dec 24, 2008
Location: Mission Viejo, CA

Re: Whole House Audio

Ok so I have Airfoil, and the Airfoil Plugin with Indigo v5. Here is the setup I'm thinking:

In a few of the rooms mount these on the ceilings (since I'm renting I can't do in-wall speakers):

http://www.smarthome.com/7276SP/Elk-Ech ... -73/p.aspx

Run speaker wire from them to my Indigo Server location in the office.

connect all this speaker wire to a terminal block:

http://www.radioshack.com/product/index ... Id=2103229

Connect the other side of each terminal block to this cable:

http://www.radioshack.com/product/index ... Id=2102956

Plug each one into one of these:

http://www.radioshack.com/product/index ... Id=2062620

To mono to mono cable

To Airport expresses all plugged in next to each other on a wall-wart power strip.





This seems to defeat the purpose of the airport expresses since they are essentially suppose to eliminate the wires, but I don't have electrical outlets in my attic, and how else can this be done with wall mounted non-powered speakers?

Indigo 7 w/ Dual-Band 2413U PLM
macOS High Sierra 10.13.x
2011 iMac 3.4 GHz Intel Core i7

Who is online

Users browsing this forum: No registered users and 14 guests

cron