Hi, I'm designing integrated home automation/entertainment system based on Linux and other open source apps. I have several possible sound sources (like Festival as speech synthesis, music players, VOIP or ordinary telephony applications, intercom) and several sound destinations (rooms in my house - can be either remote desktop running some network audio client or separate output on multichannel local audio card). Now I'd like to implement 'virtual' audio router/mixer in software that can be dynamically controlled from other program language (Perl is preffered in my case). I'd need to combine several audio sources to each sound destination (like big software switching/mixing/routing black box), dynamically change volumes, add/remove chains etc... I'd like to deal with all this with Ecasound (it can be controlled from Perl) - or should I use some other program ? I'm thinking of using Alsaplayers as music/wav players (they have software volume control) , Jack (as sound servers) and Ecasound (for routing, mixing) .... Some possible scenarions: - when internet voice call comes in, then I connect to certain channel on audio card for certain room (route two way audio stream that comes from Internet to certain audio destination/source) - when watching TV (sound going to some audio card output), speech synthesis would like to announce something (I'd like to volume down TV audio and mix speech, and then go with TV volume to normal level) - from one room I'd like to talk to another... If I think ideally - best would be to have range of "virtual" sound destinations, that could be dinamically routed,mixed to physical devices. As far as my novice knowledge goes I was thinking of using Alsaplayers as music/wav players (they have software volume control) , Festival as speech synthesis, some softphone for IP telephony (that could output to ecasound or Jack) and every other valuable suggestion for software package I get. I don't know much of Jack, maybe its also part of solution.... Any other advice in apps to use, more info or any other opinion would be more than grateful. Also if anyone made some effort or thinking in this direction - it'll be of great help... Thanks in advance, Rob.