I've been working on a multizone/multichannel server for a while now...

Basic audio functionality goes something like this:

1) On boot, I enumerate all local audio devices, and depending on user
configuration create "players" for them, one player for device
(multichannel) or one player per stereo pair/jack (multizone - analogue and
HDMI, but not SPDIF which remains stereo PCM). Same happens when an
pluggable device (USB, FireWire) is connected/disconnected (via UDEV call)

2) At the same time, local network sinks are created for AirPlay
(ShairPort), DLNA (Rygel) and BlueTooth A2DP (Pulse) - for each local audio
device/jack enumerated in step 1) They are advertised with name of the
server plus name of the device/jack and as such appear in
renderer/sink/destination of appropriate applications/devices (iTunes,DLNA
control points, Bluetooth devices that can stream to other A2DP devices)

3) Every 5 minutes I run a scan for new/removed network audio devices
(RAOP/AirPlay, BlueTooth A2DP, DLNA) and create/remove players for them.
Logitech Squeezebox and Sonos devices are supported too.

An "player" constitutes of an MPD instance and corresponding squeezempd
instance, registered with local or remote Logitech Media Server - that
provides full player control, including serving as an interface for many
available remote controller options (iPhone, Android, hardware remotes from
Logitech and Philips...)

Above is an subset of the full functionality which include DLNA server,
DAAP (iTunes) server, video player/PVR/live TV (XBMC) including TV tuner
client/server (MythTV) BitTorrent client (Transmission) etc etc, all tied
up together under singe (and quite primitive but working) web interface.

The easiest way to achieve what you describe that I know of, would be to
use SBS (LMS) that has built-in UPnP support to the extent that it works as
UPnP-AV server and exposes each of it's players as UPnP renderers that are
controlled from any UPnP/DLNA CP. Simply create one squeezempd/MPD instance
for each of your sound cards and that should do what you had described.

However, given the limitations of DLNA streaming architecture (Gappless
playback, limited formats support in standard, limited choice of control
points, control point must remain running to play next track/playlist,
general stability issues depending on particular implementation/product)
you may want to consider if you really want to make DLNA a backbone for
such setup.

Also, with 8 zones, you might find it more practical to reverse the
streaming direction, and to have the 8 sinks (destinations) in the
destination (room) and not on the server itself, and simply stream to them
from the server. This is what I do, having two Apple Airports Express
sinks, two DLNA sinks (Onkyo receivers) and a kitchen SqueezeBox "radio",
Bluetooht headphones, plus one Intel Atom based box that runs only players
serving as host to a audiophile USB DAC, and as output for an outdoor
amp/speakers - all connected to a box that runs full set of servers, stores
my music collection, acts as 2 channel TV tuner server/pvr etc etc

Note that in above description the DLNA "stream-to" functionality based on
Rygel is still not working for me - it works with some DLNA
devices/applications, but not mine unfortunately (Onkyo, Samsung) but
hopefully with help of kind people on this list we might get this working
too :-)

Andrej



On Fri, Mar 22, 2013 at 6:38 AM, Steve <[email protected]> wrote:

> I want to build a sound server to supply sound to various zones in my
> multi (8) zone house.
>
> The sound server should provide 8 DLNA renderer targets on the network.
> Each DLNA renderer will be connected to its own sound card, 8 of them.
> Each sound card will be connected to the amplifier inputs for a sound zone,
> stereo, 5.1 or 7.1, depending on how the zone is configured.
>
> I'd also like the SS to have a web page to allow one to configure how a
> stream is to be decoded, multiplexing an input stream to multiple sound
> cards and setting individual speaker volume levels in a zone.
>
> Any and all hints, tips or advice on the best/easiest way to set this up
> would be greatly appreciated.
>
> Thanks.
>
>
> ______________________________**_________________
> rygel-list mailing list
> [email protected]
> https://mail.gnome.org/**mailman/listinfo/rygel-list<https://mail.gnome.org/mailman/listinfo/rygel-list>
>
_______________________________________________
rygel-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/rygel-list

Reply via email to