What is the current status of Multizoning audio?

Speak your mind

Postby rbziggy on Sun Nov 13, 2005 8:48 pm

rbziggy wrote:
One thing I do want to let you know about. I have had a problem at XL (and thus winamp) startup. At startup, each of the 'stacked' direct sound (dlls) versions revert to the same soundcard (i.e. sound for the 3 zones comes out of one set of speakers!). Going into the winamp output setup and pointing them to the right soundcard sorts it out and this works fine until you close/restart xl. Clearly this is not very desirable (especially if you set up several multizones). I think it must be a config file problem but I can't find anything in winamp.ini that shows the directsound output soundcard as a config item.

Richard


Yeup - this is a problem :(

The config item in winamp.ini is cfg.dev2 (the soundcard name seems to be encoded in hex format not plain text).

Because i'm using diplicates of the direct sound dll (out_ds.dll) it appears it reads from the same field from the winamp.ini file. I can't think of a way to give directsound its own ini file for each instance (e.g. in a plugin subdirectory). Consequently may be stuck with this feature. Only way I can see round it is if we had an XL linkage via winamp that would allow us to subsequently update the config of the stacked out_ds versions after startup. Might be possible but not without Steves intervention but that may not happen for a while I guess. :(

(any super plugin authors who would like a crack at this one) :?:

I think I can live with this feature for a bit but it does seem a shame.

(Winamp forums suggest using wave out as an alternative but my guess is that it may give sync probs and it only allows 2 zones to be linked without probs anyway.)

Rgds

Richard
rbziggy
 
Posts: 124
Joined: Mon Mar 21, 2005 11:49 pm
Location: UK

Postby Chazotta on Mon Nov 14, 2005 3:35 am

bugger... there's no way i could live with that
Chazotta
 
Posts: 136
Joined: Wed May 19, 2004 3:58 am
Location: Hobart, Australia

Postby CiXel on Sat Nov 19, 2005 3:07 pm

Ok... So Here's an Idea, brainstorming if you will, and I realize there are some logistics to be considered but here's an overall sketchy idea.

Let's start backwards.
What if each zone had it's own Winamp that used a "line in" as it's Audio source. Ie. Volume Control.

You could set your Master zone up using a Multiple output plugin that could feed say a Virtual Audio Cable, or multiple. Then route that to each zone's individual Winamp.

That way, when you wanted to listen to the "MASTER" zone, you could just flip to the "line in" input, and when you wanted independant control of each zone, you could just play a file, which would flip the input plugin.

For instance
http://home.hccnet.nl/th.v.d.gronde/dev/lineinWA2/
This is a great little line in plugin (way better than the default)
And you can create a playlist "track" that will flip to the input stream.


This still needs refinement, but I thought I'd through it into the pot.
CiXel
 
Posts: 177
Joined: Tue Feb 22, 2005 6:27 pm
Location: New York

Postby samgreco on Sat Nov 19, 2005 3:48 pm

What if each zone had it's own Winamp that used a "line in" as it's Audio source. Ie. Volume Control.

You could set your Master zone up using a Multiple output plugin that could feed say a Virtual Audio Cable, or multiple. Then route that to each zone's individual Winamp.


I like your approach, but I think that the problem that XLobby has with staying in synch would continue with this scenario. It is multiple Winamp instances that have trouble staying locked. Hence the idea of one instance feeding all outputs. It's only one stream.

Now you did say something about "Virtual Audio Cable" and I think that has some potential. I've thought that a virtual patchbay might be cool, but can't find anything like that.

If we could do that, we could take all of the burden away from Winamp and just have a "patchbay" switch presets according to the zone selection. This would also allow for putting Inputs into the mix. For instance, I'd like to connect a couple of tuners for radio.

I just got my M-Audio Delta 1010LT installed a couple of days ago and got a couple of zones working the old XLobby way for a short test and all was well. I have the capability of 5 zones with it, so we'll see. Need more amp channels :) "Only" have 8.
samgreco
 
Posts: 246
Joined: Tue Mar 25, 2003 1:04 am
Location: Villa Park, IL

Postby CiXel on Sat Nov 19, 2005 4:41 pm

samgreco wrote:I like your approach, but I think that the problem that XLobby has with staying in synch would continue with this scenario. It is multiple Winamp instances that have trouble staying locked. Hence the idea of one instance feeding all outputs. It's only one stream.


Well, after thinking about it some more, the sync issue would be non exisitant for this reason. 1 instace of Winamp would feed the output stacker plugin which could feed up to 64 instances of VAC.

If you have 4 zones try this idea.
Each zone 1-4 would output (using a output stacker plugin) to itself (Wavout or whatever) and also a Virtual Audio Cable line. So in this instance we'd ending up having for zone 1: Wavout 1 and VAC1, zone 2: Wavout 2 and VAC2. etc...

If say you wanted to listen to Zone 1 in Zone 2 you would just run the "url" in Zone 2's Winamp (created from and switching Jasper's line-in plugin) that picks the VAC1 device to listen to. If you also wanted to listen to Zone 1 in Zone 4, you would do that same, run the "url" on Zone 4's Winamp that selects VAC1 as the "line in" device. Now you would have 1,2, and 4 listening to the same "source" and 3 would be independant. There would be no synching of songs as Zone 1 winamp would be doing all the playing and Zones 2 & 4 just listening to the "line in".

This is of course under the assumption that a single computer with multiple outputs is your master xlobby music hub.

You can also make alias's for each device, where you can CALL VAC1 Zone1 or FamilyRoom or whatever, or better yet, create a PRESET for each stream in Jasper's line in config (that way you could specify other options.

To listen to Zone1's stream now called FamilyRoom, the URL would be:
line://dev=FamilyRoom

Additionally, if you made a Preset with a few more options called "LivingRoom", it could be called via url:
line://preset=LivingRoom

If you wanted to stop listening to the "line in" in Zone 2 just play a regular file, and it will play again just like normal...

This seems almost workable, as it gives us a way to switch sources on the fly, and even in our current state.

I'm still working on it.
Thoughts?
CiXel
 
Posts: 177
Joined: Tue Feb 22, 2005 6:27 pm
Location: New York

Postby rbziggy on Sun Nov 20, 2005 1:31 pm

samgreco wrote:I just got my M-Audio Delta 1010LT installed a couple of days ago and got a couple of zones working the old XLobby way for a short test and all was well. I have the capability of 5 zones with it, so we'll see. Need more amp channels :) "Only" have 8.


I'd be interested in your views on this card. Do I gather that you have 5 stereo pair output channels on this? Does each pair show up as a separate soundcard? How many input channels (line in) channels do you get?

Rgds
rbziggy
 
Posts: 124
Joined: Mon Mar 21, 2005 11:49 pm
Location: UK

Postby samgreco on Sun Nov 20, 2005 2:56 pm

I'd be interested in your views on this card. Do I gather that you have 5 stereo pair output channels on this? Does each pair show up as a separate soundcard? How many input channels (line in) channels do you get?


So far I like it. There are 8 analog ins and 8 analog outs. Plus S/PDIF in and out. So 10x10 total. Sound quality is excellent. It is intended for recording use, so it has good converters and such.

I had first thought that if I could get some sort of virtual patchbay or matrix switcher, I could send any input to any set of outputs, even wave inputs. But I soon realized that everything will need to go through Winamp for volume control within XLobby. The Delta has it's own mixer, etc., but I don't know if that's the way to go. We'll see.

All I need is way more time :)
samgreco
 
Posts: 246
Joined: Tue Mar 25, 2003 1:04 am
Location: Villa Park, IL

Postby rbziggy on Sun Nov 20, 2005 11:50 pm

CiXel wrote:[
Well, after thinking about it some more, the sync issue would be non exisitant for this reason. 1 instace of Winamp would feed the output stacker plugin which could feed up to 64 instances of VAC.

If you have 4 zones try this idea.
Each zone 1-4 would output (using a output stacker plugin) to itself (Wavout or whatever) and also a Virtual Audio Cable line. So in this instance we'd ending up having for zone 1: Wavout 1 and VAC1, zone 2: Wavout 2 and VAC2. etc...

If say you wanted to listen to Zone 1 in Zone 2 you would just run the "url" in Zone 2's Winamp (created from and switching Jasper's line-in plugin) that picks the VAC1 device to listen to. If you also wanted to listen to Zone 1 in Zone 4, you would do that same, run the "url" on Zone 4's Winamp that selects VAC1 as the "line in" device. Now you would have 1,2, and 4 listening to the same "source" and 3 would be independant. There would be no synching of songs as Zone 1 winamp would be doing all the playing and Zones 2 & 4 just listening to the "line in".


I'm not sure I've got this right but is it possible that the 'listening in' winamp and it's output device adds another set of buffering. That is it buffers the listened to line in. In which case you would certainly not get synchronisation. :(

Worth a try if you can.

On this vein, I was trying to work out exactly what VAC could do here. perhaps if you use VAC as the router instead of output stacker???

e.g. winamp>VAC one line> VAC all soundcards.

Would this work?
rbziggy
 
Posts: 124
Joined: Mon Mar 21, 2005 11:49 pm
Location: UK

Postby rhinoman on Mon Nov 21, 2005 8:30 am

This line in plugin may well work in the same way as shoutcast, a master zone creating a feed. Whart we need is to be able to drop a zone out of the sync to create the feed zone.

I did some experimenting and even having compressed (a duplicate) of my ape collection to smaller 320 mp3, I still have an issue with a single zone dropping out of the sync.

I tried upping the compression codec from 128 to 320 on my shoutcast radio line in feed and it still stays 100% in sync for as long as I leave it running.

The noteable difference is that we are not reading multiple streams from the same bit of hard drive. We are on the right track here but I think we need a little help from Steve on this one.

Richard,

The problem you had with winamp forgetting the sttings with the stacker, did you adjust the winamp that xlobby opened or did you set it from the "zone group" before xlobby opened it. I used to find when setting my soundcard outputs that if xlobby opened it, no settings were remebered. It had to be done before xlobby got involved.
rhinoman
 
Posts: 416
Joined: Wed Jan 14, 2004 8:58 pm
Location: Herne Bay, UK

Postby CiXel on Mon Nov 21, 2005 9:23 pm

e.g. winamp>VAC one line> VAC all soundcards.

Would this work?


It does work, and quite well. If you do it that way however, you lose the title information on the "Slave" Winamps.

One alternate thing I did do was delay the Zone 1 output by 11ms, which brought that Master zone into perfect synch with the VAC listening zones.
In this way I was able to get the title info off the "Master" Zone 1 Winamp, and the other zone's have "Listening to Family Room" as their title. This does solve in sync audio for the entire house, however, it can only be perfectly synced with Zone 1 as the master, and anyother as slave.
This is actually pretty workable for me, as usually the only zone I'm trying to link up is my Zone 1 with some other or all zones, and I can deal with the 11ms delay on Zone 1 when it is used by itself.

This is by no means an elegant solution, but for the moment, it does in fact work to bring the whole house into sync globally from Zone 1, and each zone can still have independant volume controls.
CiXel
 
Posts: 177
Joined: Tue Feb 22, 2005 6:27 pm
Location: New York

Postby rbziggy on Mon Nov 21, 2005 10:40 pm

CiXel wrote:
e.g. winamp>VAC one line> VAC all soundcards.

Would this work?


It does work, and quite well. If you do it that way however, you lose the title information on the "Slave" Winamps.


But if the winamp instance in the above example is the 'all zone' instance configured in XL then would you not be able to see the title info etc directly for that (i.e multi) zone? I was suggesting no tiered linking of winamps in this case. Just looking for a similar solution to output stacker but without the problem I identified on startup configuration.

(Though I can see your example also gives the ability to switch each zone into the multiple distrib as required.)

============
On an associated topic...

I also have one other question here which I really don't properly understand the implications of. The winamp output is usually directed to the Direct Sound output. However, I think the VAC uses Wave output.

As I understand it Direct Sound is the 'best' and Wave is an older (pre Win 2k) technology that is inferior in sound quality terms but is retained on soundcards for backward compatibility. If we switch to using VAC are we stuck with an inferior quality output?

I could be way off track here because I don't really understand the detail of Windows sound processing at all!
rbziggy
 
Posts: 124
Joined: Mon Mar 21, 2005 11:49 pm
Location: UK

Postby rbziggy on Mon Nov 21, 2005 10:49 pm

rhinoman wrote:
Richard,

The problem you had with winamp forgetting the sttings with the stacker, did you adjust the winamp that xlobby opened or did you set it from the "zone group" before xlobby opened it. I used to find when setting my soundcard outputs that if xlobby opened it, no settings were remebered. It had to be done before xlobby got involved.


No. Afraid not. I originally did all the config and initial testing just on winamp without XL running. Just tried it again by shutting down XL and starting the multi-zone winamp instance 'manually'. Basically, seems to come down to there being only one config line for in the winamp.ini file.

It's actually worked fine and in bomb-proof fashion for the last 10 days or so because (when I'm not tinkering, XL runs continuously on the server). Having just closed XL to test it out, I'm going to have to reset those outputs again but in truth its pretty easy to redo in the multizone winamp instance once XL has been started. If there was someway of running a script in winamp after startup to do this...!

But I could be persuaded to switch to something like VAC if that worked as well without the startup prob.

Rgds
rbziggy
 
Posts: 124
Joined: Mon Mar 21, 2005 11:49 pm
Location: UK

Postby rhinoman on Tue Nov 22, 2005 12:11 am

Always ready to be corrected but.....

Direct sound allows the windows sounds to be mixed in with the music playing so is therefore lower quality than waveout which is more like source direct.

I think more depends on the soundcard and wether or not it will do 44.1 or upsamples to 48.
rhinoman
 
Posts: 416
Joined: Wed Jan 14, 2004 8:58 pm
Location: Herne Bay, UK

Postby CiXel on Tue Nov 22, 2005 6:15 pm

rhinoman wrote:Always ready to be corrected but.....

Direct sound allows the windows sounds to be mixed in with the music playing so is therefore lower quality than waveout which is more like source direct.

I think more depends on the soundcard and wether or not it will do 44.1 or upsamples to 48.


Well, Directsound as I'm aware, refers mainly to the way that the system inteacts with the soundcard at the driver level thereby offering a lower latency output. It does do some funny things timing wise when it mixes sounds together (in fact it actually remixes its internal output buffers whenever new sounds are started, or when volume, pan, or pitch is changed), however as a single source carrier, you shouldn't notice a degradation in sound quality, just a difference in latency.

There is a "fastwave" driver for Winamp which offers true wav out with a much lower latency, but for the lowest latency, use an ASIO compatible soundcard (Most of the newer ones are) and the ASIO output module. Extremely quick.
CiXel
 
Posts: 177
Joined: Tue Feb 22, 2005 6:27 pm
Location: New York

Postby samgreco on Sat Nov 26, 2005 8:33 pm

Just to keep this alive :)

I have been testing multizone the old way (using individual directsound outs) to see if I could figure out why/where/when it goes out of sync.

I am using my Delta 1010LT with 3 stereo zones enabled. I ran it for about 2 minutes before it started to lose sync. It kept doing that for about 3 times.

Then I decided to check buffering. I increased the buffers to:

Buffer Length = 2000 ms
Pre Buffer on Start = 1000 ms
Buffer ahead on track change = 1000 ms

It played perfectly in synch for almost 1 1/2 hours. Then I decided to enable web updates so that you all could see what I was listening to. It immediately went belly up. Synch went all to hell. I even had one zone playing the wrong song (right album though).

I disabled updates. Restarted XLobby. Hasn't played in synch since for more than 30 seconds. Go figure. I also had the wrong song on one zone again. Different zone this time. Again same album. Which is interesting, since I had about 12 albums loaded into the playlist, in random mode :? I have stopped and restarted play. Paused and restarted. No help.

Well, back to the drawing board. Time to play with output stacker, I guess.
samgreco
 
Posts: 246
Joined: Tue Mar 25, 2003 1:04 am
Location: Villa Park, IL

PreviousNext