File size

File size

File size

This is Larry Osterman's long-kept secret. The audio stack in Windows Vista has been completely rewritten so we can have cool things like per-app audio control. Anyway, Steve Ball talks to us about what the team has been working on and gives us some demos
and introduces us to the team, including Larry.

I have a question though. Do third party applications appear in the volume control window ( like WMP)? I mean, if you download RealPlayer (annoying today, since it controls the system volume), does it appear in the list?

I'm sure I guessed per-application volume control, I might have posted it here or on Larry's blog.

Looks very cool.

Quick Question: if I have an application, I set it on mute, then I exit the application, restart, reload the application will the OS remember my mute setting? I am just thinking about stopping flash animation in my browser from making ANY sounds.

Interesting stuff! I wonder if per-application sound driver works the same way as DirectSound where an app is given a virtual buffer to stuff sound data in. But there is still a system-level driver that mixes all the application-level buffers for the sound
card.

I have a question though. Do third party applications appear in the volume control window ( like WMP)? I mean, if you download RealPlayer (annoying today, since it controls the system volume), does it appear in the list?

That behaviour has been unbelievably irritating to me, hopefully they'll stop applications from controlling the master volume in that way.

One potential issue that I see is that an application will have its volume control and Windows will also have its own separate volume control associated with that application which could potentially make things even more confusing unless the two are linked
together bidirectionally. I don't know if you could force an application to change its internal volume level when adjusting it from the windows volume control.

Another thing i'd like to see is improved microphone callibration so you don't have to fiddle with the mic and line in levels manually, and perhaps support for changing audio ports between input and output. Hopefully they bring in all the features that are
now included in the numerous crappy sound card control panels that come with the hardware into Windows itself so I can do away with those altogether.

I have a question though. Do third party applications appear in the volume control window ( like WMP)? I mean, if you download RealPlayer (annoying today, since it controls the system volume), does it appear in the list?

Of course - otherwise it wouldn't work right.

And real player will no longer control the system volume, we redirect that to be per-application.

Interesting stuff! I wonder if per-application sound driver works the same way as DirectSound where an app is given a virtual buffer to stuff sound data in. But there is still a system-level driver that mixes all the application-level buffers for the sound
card.

It's all in user mode, and somewhat more complicated than that, but extremely roughly, that's what's going on.

I'm sure I guessed per-application volume control, I might have posted it here or on Larry's blog.

Looks very cool.

Quick Question: if I have an application, I set it on mute, then I exit the application, restart, reload the application will the OS remember my mute setting? I am just thinking about stopping flash animation in my browser from making ANY sounds.

I think you did as well. And for your question, the answer is "Of course - we persist all volume controls across process restarts"

We've spent a lot of time ensuring that stuff works like you want it to work.

Having said that, stopping flash isn't in the cards, unless you plan on stopping all audio from IE

This is because we can't differentiate audio played by the flash ActiveX control and audio played by the Quicktime ActiveX control. The mechanisms exist to make this work, but it requires changing the application.

One potential issue that I see is that an application will have its volume control and Windows will also have its own separate volume control associated with that application which could potentially make things even more confusing unless the two
are linked together bidirectionally. I don't know if you could force an application to change its internal volume level when adjusting it from the windows volume control.

Another thing i'd like to see is improved microphone callibration so you don't have to fiddle with the mic and line in levels manually, and perhaps support for changing audio ports between input and output. Hopefully they bring in all the features that are
now included in the numerous crappy sound card control panels that come with the hardware into Windows itself so I can do away with those altogether.

Improved Mic callibration is a part of what we're doing. And suppoting the audio port remapping you're describing is actually a feature of the HDAudio support (it requires new audio hardware to enable that support).

Also, you may not have seen it in the UI, but we've put a great deal of effort into ensuring that the relationship between the various app volumes and the system volume is transparent and seamless.

And yes, you can force the apps volume control to change from inside Windows.

This works because every apps volume runs through the audio engine and the policy agent in the engine accesses the same volume control the app does.

Having said that, if the app's volume slider is implemented on a DirectX secondary buffer, then we can't control that volume slider - because the volume attenuation occurs before it hits the global audio engine. We may be able to do something about it, but
no promises.

Very cool. But kinda glanced over the API stuff. I see a need to raise the bar for audio for the .Net developer. Say I want to create a ~simple DJ app that has at least two mp3/wma streams. So I need to be able to manage and mix the two streams, have
cue points, some kinda event callbacks to update the audio graph with fine detail. Simple way to enum and select ouput devices and input devices, etc. So simple Load() and Play() on a Media player control does not really cut it anymore. Is the API going
to be "at least" this rich for us for .Net? Thanks much.--William Stacey [MVP]

Very cool. But kinda glanced over the API stuff. I see a need to raise the bar for audio for the .Net developer. Say I want to create a ~simple DJ app that has at least two mp3/wma streams. So I need to be able to manage and mix the two streams, have
cue points, some kinda event callbacks to update the audio graph with fine detail. Simple way to enum and select ouput devices and input devices, etc. So simple Load() and Play() on a Media player control does not really cut it anymore. Is the API going
to be "at least" this rich for us for .Net? Thanks much.--William Stacey [MVP]

Good question, unfortunately the stuff we're doing is unmanaged.

I believe you can do what you want with dshow, but our stuff is way lower than that.

1. per-app metering: coming for RTM2. all apps currently playing audio: show up in App mixer 3. slider interactions: up to the app to manage4. mic controls: ideally, user never needs them! we're working on this.

And this is only part of the story. The old 'Sounds and Audio Devices' CPL is also being re-written from the ground up. You'll see this in B2, and perhaps again here on Ch9 when we're ready to show off the rest of our Audio UX work.

In addition, we did a review w/ JimAll and MFreed a few weeks ago, and we are going to be going back to vertical sliders (vs. the horizontal sliders shown in this early B2 build.)

I did feel bad after Robert left becasue I realized we only mentioned the names of a small fraction of the people who have contributed to our User Mode Audio (audio engine), Universal Audio Architecture (class driver), Device Topology (allows device management
via 'endpoints' like actual speakers and microphones), and 'Flat Volume Control' over the past four years.

Sorry, I thought of another question... This question is admittedly unfair (because it has little or nothing to do with the audio stack) -- I have a 'mute' button on my keyboard, the default action for Explorer (without a driver installed) is to mute the
system audio, will it be possible to change this to mute the "in focus" audio stream though the use of something like TweakUI?

And, if I have three applications loaded, all with windows, am I correct in assuming at only those that use the audio sub-system are listed at the time in the volume control? Interestingly however it is setup it is a royal pain, if you don't list everything
that means you can't preempt things like Internet Explorer that fire sounds depending on the content, and if you *do* list everything it is a cluttered interface. In either case I'm writing a UI bug report for the beta 2

Very cool. But kinda glanced over the API stuff. I see a need to raise the bar for audio for the .Net developer. Say I want to create a ~simple DJ app that has at least two mp3/wma streams. So I need to be able to manage and mix the two streams, have
cue points, some kinda event callbacks to update the audio graph with fine detail. Simple way to enum and select ouput devices and input devices, etc. So simple Load() and Play() on a Media player control does not really cut it anymore. Is the API going
to be "at least" this rich for us for .Net? Thanks much.

Wouldn't you want to use Managed DSound in this case, anyway?

--edit: Not to rain on anyone's parade, but why was that WAVE stuff required for audio? I've yet to see an audio application glitch, outside scenarios like a hardware driver or failure temporarily locking up my system. If an audio application was shitty playback
code, no system side code will fix it.

staceyw wrote:Very cool. But kinda glanced over the API stuff. I see a need to raise the bar for audio for the .Net developer. Say I want to create a ~simple DJ app that has at least two mp3/wma streams. So I need to be able to
manage and mix the two streams, have cue points, some kinda event callbacks to update the audio graph with fine detail. Simple way to enum and select ouput devices and input devices, etc. So simple Load() and Play() on a Media player control does not really
cut it anymore. Is the API going to be "at least" this rich for us for .Net? Thanks much.

Wouldn't you want to use Managed DSound in this case, anyway?

--edit: Not to rain on anyone's parade, but why was that WAVE stuff required for audio? I've yet to see an audio application glitch, outside scenarios like a hardware driver or failure temporarily locking up my system. If an audio application was shitty playback
code, no system side code will fix it.

It's actually a good question. Here's a partial answer: On my machine at home, I've
NEVER had the startup sound not glitch. There are things that can cause audio to glitch - disk I/O's, long DPC's, memory pressure, etc.

Sorry, I thought of another question... This question is admittedly unfair (because it has little or nothing to do with the audio stack) -- I have a 'mute' button on my keyboard, the default action for Explorer (without a driver installed) is to mute the
system audio, will it be possible to change this to mute the "in focus" audio stream though the use of something like TweakUI?

And, if I have three applications loaded, all with windows, am I correct in assuming at only those that use the audio sub-system are listed at the time in the volume control? Interestingly however it is setup it is a royal pain, if you don't list everything
that means you can't preempt things like Internet Explorer that fire sounds depending on the content, and if you *do* list everything it is a cluttered interface. In either case I'm writing a UI bug report for the beta 2

Manip, believe it or not, we've got some of that covered. Not the mute button (although it's an interesting idea), but the multple app issue.

An app remains in the slider for a period of time (30 seconds, I believe) after the app has finished playing audio, to allow the user to interact with the volume control even if it's not playing. Even if the app's exited, we STILL keep it in the volume control
for that period of time.

I like how the system tray customiser ("Notification Area") in Windows XP works; you can fiddle with everything that is open and running but there is a list of all history below... Maybe you could add a obscure button that shows a history of the last 1 day
and allows you to push it onto the volume control list for 30 seconds?

Sorry, I thought of another question... This question is admittedly unfair (because it has little or nothing to do with the audio stack) -- I have a 'mute' button on my keyboard, the default action for Explorer (without a driver installed) is to mute the
system audio, will it be possible to change this to mute the "in focus" audio stream though the use of something like TweakUI?

Great questions - all fair. We've considered the idea of 'audio focus' but find that it is simply too subjective for us to assume we know what that is at any given time. This is one reason we built the per app mixer WITH a single, always pinned "Windows Sounds"
slider through which we route all system and app registered sound events so that users can set their mix preferences (in real time) between apps and all other notificiations and system sounds.

Regarding a request for a powertoy to customize mute (and or other vol behaviors): not a bad idea, and since Larry is also likely reading this, we'll discuss and consider what some useful powertoy settings might be, and see what Raymond thinks.

There is more subtle complexity in this UX than most people realize at first glance, especially when you consider multi-device scenarios, even simple ones like speakers + headset (not to mention all of the multi-streaming scenarios made possible by our new
audio class driver. We're still studying these multi-device scenarios, and frankly, I expect some churn during B2 as we get usability feedback from many people who will certainly have many diverse wishes, intentions and scenarios than we have anticipated
thus far. That said, this default UX is designed and optimized with one primary scenario in mind: let me adjust the relative mix of only those apps that are
currently playing audio.

And, if I have three applications loaded, all with windows, am I correct in assuming at only those that use the audio sub-system are listed at the time in the volume control? Interestingly however it is setup it is a royal pain, if you don't list everything
that means you can't preempt things like Internet Explorer that fire sounds depending on the content, and if you *do* list everything it is a cluttered interface. In either case I'm writing a UI bug report for the beta 2

Really, how many apps do you ever run which wll be simultaneously playing audio? Our guess is that average will be ONE at a time. Maybe two at most if you are listening to music while playing a game. Maybe three at most if you then browse to a website with
an embedded OCX or media playback. Then, maybe four if you accept a VOIP call while doing all of the above - and in this case, we've deisgned the system so that users should never have to adjust a volume control when initiating or accepting a 'communications'
audio event while an 'entertainment' audio stream is playing. Also, remember, do not include PlaySound events from those registered with mmsys -- all of those will 'pour' through the pinned Windows slider.

That said, we may have missed some real scenarios that you know about, and if so, we'd love to hear about them. That is one of the primary reasons we're going public with this UX now rather than springing it on all users w/o some extended feedback and usability.

In the evening and even at night I use my computer to play music till certain time (like radios sleep function). Then the computer will be shut down so I can take it with me to work/university in the morning. And it is extremely important for me to have
the sound muted when I start the computer there (I shouldn't disturb others with sounds). So I wrote an application that works almost like any other timed shutdown programs with an option to mute sound before shutting the computer down. The program is freely
available on the web and has proven to be very popular in Estonia .

Now can I use the same kind of functionality in Vista? And will it be difficult to port this application to Vista or will it work without modifications? I guess modifications will be nessecary as otherwise the program would mute just itself.

Since the audio guys are monitoring the thread right now, I was wondering if KS runs in usermode, too, now. Just asking because I'm trying to figure out why DSound based playback glitches like hell under stress while KS based playback does just fine.

All I want is easy playback of music through loudspeakers/hifi equipment, while making it easy to redirect every other sound except the music come through headphones. For example I could be playing music file, and watching channel 9 video interview. I'd
like the interview video come through headphones in this case. Or it could be a voip call. Of course this needs to be easy to change so if I am watching a movie I want that to use loudspeakers and not the headphones.

All I want is easy playback of music through loudspeakers/hifi equipment, while making it easy to redirect every other sound except the music come through headphones. For example I could be playing music file, and watching channel 9 video interview. I'd
like the interview video come through headphones in this case. Or it could be a voip call. Of course this needs to be easy to change so if I am watching a movie I want that to use loudspeakers and not the headphones.

It turns out that this is a scenario we've considered. It turns out that it's somewhat harder than you'd think, we've made some significant steps towards this for Vista, but it requires that applications opt-in to the functionality (it's unfortunate, but there
are limits to how smart we can make the system, some of what you're asking for is a determination of user intent).

For example, how do you express that audio from videos rendered through the WMP OCX should go to the headphones, while audio from WMP should be rendered through the desktop speakers
without involving the application in the discussion?

Since the audio guys are monitoring the thread right now, I was wondering if KS runs in usermode, too, now. Just asking because I'm trying to figure out why DSound based playback glitches like hell under stress while KS based playback does just fine.

Tom, KS is all kernel mode.

The Glitch Resiliance that Steve mentioned isn't in the Beta1 bits, which may be part of what you're seeing. I believe that those pieces made the PDC build, however.

For example, how do you express that audio from videos rendered through the WMP OCX should go to the headphones, while audio from WMP should be rendered through the desktop speakers
without involving the application in the discussion?

Well if both sets of audio are sending input to the OS sound system, can't you create a UI that lets the user determine which physical device the output should be sent to? Is it possible for the sound system to determine which process/application is sending
sound, enumerate them for the user, and allow the user to redirect the sound to a different output? Almost like hardware mixing with a "multi-track" system?

You still have to involve the application in the discussion (unless you were able to create application classifiers and assign the output on a per "class" basis) but the choice still ends up being made by the meatware.

And just tell me that you're gonna keep Media Player 6.4 (or at least give us a LESS BLOATED alternative to the Windows Media Player). Keep in mind that I'm writing this as a Microsoft Windows Digital Media MVP.

A couple of weeks ago I was stumbling with the sound mixer because I wanted to limit my mIRC sound notifications and balance out my tv tuner volume. I was trying to do all this with the master volume control. I could never get it at the right volume and I
had to constantly adjust the master volume per each app.

Then I thought, "Wouldn't it be cool if I could adjust the volume per each application?"

Now I'm very much surprised that this desire became a reality. Thank you Larry!

You know, being able to remotely control the volume per app would be cool too. (I'm not sure if you've already decided to do this as I have not exactly watched the whole video.)

androidi wrote:All I want is easy playback of music through loudspeakers/hifi equipment, while making it easy to redirect every other sound except the music come through headphones. For example I could be playing music file, and watching
channel 9 video interview. I'd like the interview video come through headphones in this case. Or it could be a voip call. Of course this needs to be easy to change so if I am watching a movie I want that to use loudspeakers and not the headphones.

It turns out that this is a scenario we've considered. It turns out that it's somewhat harder than you'd think, we've made some significant steps towards this for Vista, but it requires that applications opt-in to the functionality (it's unfortunate, but there
are limits to how smart we can make the system, some of what you're asking for is a determination of user intent).

For example, how do you express that audio from videos rendered through the WMP OCX should go to the headphones, while audio from WMP should be rendered through the desktop speakers
without involving the application in the discussion?

The per app volume control GUI could simply have additional setting that controls the preferred output for the process (which may either play sounds itself or through embedded WMP).

So there would not be any "WMP OCX output setting", just WMP stand-alone, IE, voip app, etc preference. The global default preference for all applications could be user changeable as well, so if I at some point want everything through headphones, I just change
this one setting, which changes all "defaults" to the new default. If you have per-app volume control, surely you can detect which process is playing the audio and control what output the audio goes? I did not quite catch what the problem you imply is...

Today many computers have several audio outputs. On my machine I have my 5.1 audio, and one sound card out going to the kitchen and bluetooth headset. Is there any simple possibility to control the outputs from the different programs to different cards in
vista? I control it via the programs or change default sound device today.

Very cool. But kinda glanced over the API stuff. I see a need to raise the bar for audio for the .Net developer. Say I want to create a ~simple DJ app that has at least two mp3/wma streams. So I need to be able to manage and mix the two streams, have
cue points, some kinda event callbacks to update the audio graph with fine detail. Simple way to enum and select ouput devices and input devices, etc. So simple Load() and Play() on a Media player control does not really cut it anymore. Is the API going
to be "at least" this rich for us for .Net? Thanks much.

Hi Stacy,

I totally agree with you about the .Net situation. The limited DirectShow wrapper in .Net doesn't give you the flexibility you need as you're aware. Of course this is all available in the real world DirectShow (unmanaged), so the problem is not with low level
services but rather with the .Net wrapper. I'm not expecting to see any of this change for the Vista version of .Net, most Audio developers stay in unmanaged space so that they can have the tightest control possible over latency. Note that your example is
possible by using the unmanged version of DirectShow via COM Interop, Media Foundation should have something similar.

Im really impressed with the improvements made to the sound control. It makes it so much easier for the older generation of people using Windows, as well as quicker to access and change the GUI is great as well.

My company is an Internet Radio provider. We use an HTMLView in the Windows Media Player, and we have visual elements refreshing all of the time. One pet-peeve that our listeners have is that when each element is refreshed, the "start navigation" sound is
played. When Vista is released, would it be possible to have the "start navigation" sound turned off when the Windows Media Player is in use, or have it turned off by default?

A lot of the features you talk about for Vista are already available in Open Sound System for UNIX. See the screen shot of our virtual mixer panel
http://www.opensound.com/gifs/virtmix.gif which currently shows XMMS (Winamp clone for X-Windows) running on one of the virtual mixer channels. We also have a RIAA-Curve equalizer and Fidelity Enhancer
(aka SRS WoW or DFX) and other features that are system-wide so that any app can use it. A full explanation of our Virtual Mixer (which BTW is kernel based) is at
http://www.opensound.com/virtmix.html

These features were available back in 2001. We also work on a number of Windows related technologies at 4Front - like VSTs/WMP Plugins/DirectX stuff and so we're looking forward to doing some stuff when Vista comes out.

One of the odd things we're looking into from a research project here is to be able to run a Unix audio app via Windows services for UNIX facilities.....we'd love to talk to someone about melding Open Sound System with Windows Services for Unix.

Great video and replies, and it looks like many of my "but what about..." questions are already answered. So I'll just have to make a request instead. What are the chances of getting audio setting snapshots? By this, I mean that I can have a couple
of different snapshots where particular settings are tweaked, and I can jump back and forth between them.

Let's say that I'm on my work machine. Sometimes I'm listening to music as I'm coding, and that's ALL that I want to hear-- nothing else. Sometimes I'm listening to a #9 video, and I wouldn't mind hearing various small notifications (IM, email, etc.).
Sometimes I just want notifications, but I'm browsing noisey websites (and thus want to turn off browser audio). It would be nice to have snapshots of these different settings that I can select at a glance, rather than tweak a bunch of different settings
(and miss many that hadn't run in the last 30 seconds) if I want to go between different "modes".

My questions are these:Will there be a system wide audio control with equalizer and such?

A "night mode" for watching movies and listening to music at night without disturbing the neighbours

The reason for question 1 is that sometimes your listening equipment is not up to par, and you want to compensate for this by using eq. Not all programs have the same possibilities here, hence a system wide control of this would be much better.

What are the chances of getting audio setting snapshots? By this, I mean that I can have a couple of different snapshots where particular settings are tweaked, and I can jump back and forth between them.

I agree, this would be a nice feature to have. It's very similar actually to the Power Schemes used for laptop and tablets. You can set the different settings such as turning off the monitor and hard drives or going to Stand-by. I'd very much like to see this
feature added!

Well i have a quick one, and this migth be easy to answer.I remember in the past MS has profiles for speaker sets, but that never actullay worked right.So I wonder it is possible ofr MS to set profiles to different speaker set so it can put limits to each channel to avoid music when playing to loud distord?

Your patent application for a "Flat Volume Control" seems to be of questionable novelty. Hardware digitial mixers have been doing this for years. E.g. Roland's VM series does Fader Groups which may manage an arbitrary number of channels, including mute
and volume. So your approach seems like a specialization of a general technique which is widely used.

Also, it seems some of your worry on UI has to do with not so with it users forgetting to turn up the volume on their external speakers. You (Steve) showed an example of your laptop which has a "potentiometer". Problem with a potentiometer is their physical
manifestation is stateful. Why not mandate stateless volume control devices like a V-Pot so that your software has complete control. For the masses that don't know what a V-pot is (virtual potentiometer) you can see an example here:
Mackie V-Pot (note V-Pots have been around a long time, so Mackie did not invent them - though they seem to suggest so on this web page)

Yes I realize that you would have to create a new remote interface between audio cards and remote amplifier/speakers but I think that would be of added value and something that *is* patentable. <ducking> If you all were worth your salaries </ducking> you
could even try masking this information in a wide-band low volume signal on top of the audio channel so that existing audio connectors wouldn't have to be redesigned and the signals would be imperceptible by any human. Caveat, I would actually be surprised
if this technology hasn't been invented yet.

Lastly, quick question, what's going on with DirectX DirectSound/DirectMusic? Are they going to be intergrated into WAVE? <edit> and how soon? </edit>

Are there going to be new featuers in Vista that would allow me to pipe audio out of one application directly into another .. sort of like virtual patch cables from the "output" of one app to the "input" of another audio app.

Many audio production and recording applications use ReWire to accomplish this - each application has to be ReWire aware and the applications act as ReWire hosts or ReWire clients or both. Will the OS support something like this natively?

Steve Ball is a great. You can hear the years of experience he has. I like when he talks from a general user perspective. I also agree when he says that MS should be carefull using PR-Speak ('glitch-free'). Steve and Larry talk about things everybody as
a user has experienced (incl. Bluescreens, Hang-ups, etc), so "per-app-volume" is a huge step that adds to the user-xp(erience).

It must have been hard to convince the kernel-team to give audio the low-level-priority-access they need for high-quality audio. Not only pro-audio-customers will be excited.

Just catching up to these threads and questions... It's been a busy time in Building 50 lately. So... "why is there an OSX box stapled to the wall in the hall outside my office ?" What a strange question? Is it not obvious?
Here's one answer (among many): inspiration and motivation.

Let's face it: many things that Apple has done recently have been beautiful and well-executed. Certain products, like certain people, have an intangible charisma which, in itself, can be a source of energy and inspiration. This cannot be
captured in a spec - it is something that is transmitted via direct experience. Hanging this box is not about copying features or parroting an existing set of functions (as vulgar "Redmond, start you copiers" banners have proclaimed in the past)
although, those are easy assumptions.

Whether you love or hate Microsoft, the fact is that, there are hundreds (if not thousands) of innovations, insights, and brilliant ideas, designs, and products born within Microsoft people and teams every year, a fraction of which make it (often without
high-falutin' theatrical press events or magic shows) into the huge line-up of MS products. If find it rather naive to assume that engineers or artists who are educated in technology or arts should intentionally avoid exploring the products and aspirations
of the opposite brain or competitors or explore areas that appear to be outside of that which we like or dislike to avoid 'noise' or 'pollution' or influence or ideas that challenge our own sense of value. Okay, that sentence was a mess. Let me try that
again.

I want to experience and be influenced by and inspired by all that is beautiful, graceful, elegant and excellent in the world - including people and/or products who one might assume are our 'enemies' or competitors. Even the idea of 'enemies'
is sooo 'chair-throwingly' 90s and out of tune with what is required for long-term, sustainable success. The world is a huge place, and the quantity and quality of opportunities are only increasing as we continue to mature as a world society of
billions and billions of network-conected, media-based people. Is there anyone alive who is not inspired by the absolute magic in the possibility of a 50" plasma HD home theatre connecting them to every person, meeting, genius, book, lecture, concert,
film, song, class, thought or media event that has ever occurred or is occurring right now? Okay, there may be a few monks who prefer to practice their meditation or run symmetrical scales on their guitar in the corner rather than jack-in to these streams. We're
surrounded today by so many mundane miracles that we've become numb to the incredible options we have at our fingertips as we sit at these hypnotizing screens.

While, 'getting there first' may have some buzz, biz, and brand value, it's only a small fraction of what really matters. Who reading this believes that there is no one at Apple who runs or owns a Windows machine, smartphone, xbox, or whose
lives are never ever touched by any MS product? More importantly, don't you want us (in Redmond) to learn from obvious examples of excellent product design? Of course, we all have to be extremely careful about IP. But those concerns are orthogonal to the
idea that inspiration is, itself, a virus worth passing to your friends and neighbors.

* * * So, coming back to the first question: "why is there an OSX box stapled to the wall in the hall outside my office ?" Here's one more shorter answer: last year, I went to the Apple store and bought a G5 with my own money. I use a Mac at home for
my own music work. I've been recording music on Apple machines since 1992. I also work in parallel on music on Windows machines. I live in both worlds. Until late 2001, there was not sufficient will (read: defensible business justification) within MS to
address Windows audio and video performance, quality, fidelity, latency. We are now in a different landscape.

In my self-acknowledged, kool-aid driven view, it is the beginning of new era for Windows Audio and Video. Perhaps more precisely, it is also the beginning of a new era for Windows users (consumers, prosumers, and pros) who wish to work and
play with audio and video in their daily lives. Certainly, we also still have a long, long way to go. Perhaps, not as long as we think if you believe Ray Kurzweil. But what a great time to be alive and working in this medium.

I don't see how this is an operating system "problem" that needs to be resolved by a specialized design team. Why not just put a volume control in every application? A new mail sound isn't a "system notification," it's a sound that is played by Outlook.
Just put a volume control in Outlook. It seems like all the extra sliders and the syncronization, the meters and etc. would be more confusing to a user than a simple individual volume control slider.

He said that they were hoping to win the approval of the pro audio industry. As someone with experience in the field, I can say that I won't be completely satisfied until I can attain complete control over each application's audio, as in, like a sound
board. I want to be able to mix, equalize, and channel every apps audio. Hi's, Lo's, Mid's, Surround fading, master EQ, even monitor channel output would make me one happy camper.

a) is not practical - does not work for legacy apps, and certainly would never be done in a 'discoverable' way in all apps that make sound

b) would be confusing because app volume controls are not standardized - where do users look for slider and mute control in 10,000 different apps that make sound?

c) does not actually solve the real problem this UI solves: quick mixing of levels between apps that are currently playing sound
-- this design enables two simple problem solving scenarios in one, easy to find, always-on place in the Windows desktop: set 'Windows Sounds' level relative to the other app that is playing audio, and 'set App A level compared to App B' level.

* * *

We occaisionally hear about users who claim to regularly use more than two or three apps at a time that are all simultaneously playing audio. This UI is not designed for fringe cases where users are playing audio consistently from more than 2 or 3 apps at
once (ex. someone who needs a professional mixing console.)

This UI is meant to be a quick means of solving common 'desktop' volume problems in real time without requiring apps to 'opt in' or do anything -- Vista does the heavy lifting to make it easy for even novices to quickly customize the relative level settings
between apps.

* to be able to output to my both soundcards at the same time ( thinking about playing same music for different rooms connected to speakers and HIFI amplifier )

* use a per display based sound config so if I move wmp on my video projector it outputs on the hifi amp and if wmp is on my lcd screen, the sounds pops out of desktop speakers.

* Control of surround (PRO LOGIC 2, AC3) so I can get the center chan on center when I'm using spdif output with my audigy 2 zs (no ac3 live encoding) or the nforce live ac3 encoding. Though I'm not sure it's windows dependant.

Steve, it's really exciting to me that you and the team at Microsoft are so committed to making Windows work better for those of us making music. (I don't like to say "pro audio", necessarily, because the weekend musician also wants reliable, plug-and-play,
low-latency audio performance.)

I'm still unclear on many things, however.

1. Will we be able to use WDM drivers on Vista and give up ASIO, or will we still need ASIO drivers for music work?

2. Will that require new drivers? What happens to our existing drivers?

5. Will plug-and-play finally work right for MIDI and audio devices, or will we still experience the bugs we have in XP, where XP "forgets" USB MIDI keyboards and audio interfaces, runs into an arbitrary limit on the number of available devices in the Registry
because of legacy support, etc.? (I'm not saying that very well, but I think you know what I'm talking about.)

To be honest, the last point for me has been the deal-killing annoyance of XP. Once you install ASIO drivers, at least, XP does work for music production, but having to constantly reinstall drivers every time I plug in a USB MIDI keyboard gets pretty frustrating.

I should add, if you're unable to answer those questions, here's another way of putting it:

What should we go try to test / break / abuse in Vista beta 2? I've got a machine all ready to find bugs. What *should* we be able to try at this point, and what would your team like to know from Windows-based digital musicians?

In Vista, is there a way to programmatically or through the registry set the sound device for playback . In XP, you could set the SoundMapper registry setting “Playback” key to the name of the device you wanted the program to use as long as you set it before
program startup. Once the program started, you could set the “Playback” key to a different device and have all the other applications use that device. This helps keep sound secluded for recording audio calls and things of that nature.

The only caveat is that you couldn’t use the mmsys.cpl to reset the device otherwise the program would default back to the device you set it back to once the program stopped outputting audio.

Does anyone know if there is a registry key or a programmatic way (as long as it doesn't reset all other applications to that device) in Vista that will do the same thing as in XP?

I actually stumbled upon this video whilest searching for a solution to my nightmare that is the volume in media center.

Nice to hear that things are moving along in the volume control arena, however, I cant for the life of me get the right volume to work in media center. Everything in windows is turned to low, however the volume remains loud in media center, and mutes as soon
as the level goes below '6'. No idea how to fix this... tried two different sound cards and the last 3 beta releases, same issue.

Using the volume slider in media player works perfectly however. Very wierd, I am not sure where to set the volume at an application level, or if the volume in media center controls the speaker volume. Anyway, nice to get an insiders view from the devs on what
lies in the future, keep up the good work...

now im going to spend the next few hours playing with every volume slider I can find....

Nice to hear the kernel mixer has been completely rewritten. It was a real headache trying to run a voip application against it.

As a voice-engineer responsible for the voice-engine within popular voip products like voipbuster and other Finerea related voip products I would like to know the following:

What API should I use to finally match the microphone and speakersignals correctly, having the lowest latency and minimized drift of those signals?

As for now it's a real "pain in the ..." to match speakersignals with microphone signals. The way we did it with the wavein/out api and a lot of "measurement" code around it, does not work under vista. It seems the DMA size used has been increased instead of
lowered???

Please help me out on taking the right direction as not to waste a lot of time trying to figure out which way to go. For this type of pc-based applications you must have a certain API or framework in mind which we should use. We think we have one of the best
Echo cancelation voice-engines with an unbeatable double talk performance in desktop speaker/microphone environments in the market today and would like to keep it that way!

I am sure these guys are no longer watching these posts, but we shall see.

My question is this;

In Windows XP we had a "WAVE and SW Synth" control. How are they controlled now?

I use FRAPS to create video of games and have found it to fail dramaticlly since it will not record the sound. I have tried using Audacity and the Vista sound recorder, nothing! I am going to submit this and see if the bug boys hear me.

So if nobody is supposed to know this has changed, unless something goes wrong, then I have to say; something is wrong. Right now I'm watching this video, while evaluating vista, arguably my weak point might be my beta creative xi-fi drivers. Regardless,
the audio is very choppy. The last time I experienced this issue was on my IBM T23 laptop while listening to music through Winamp. Then, it was related to the processor having to deal with continually having to process the audio stream and do other tasks at
the same time (A 1ghz PIII processor can only handle so much). At the time the reason I supposed this was the culprit was because playback quality would decrease when CPU usage went up. For the most part I remedied the situation by increasing the directsound
buffer in Winamp.

Fast forward six years and I find myself in the same situation, I feel like I'm on my T23 again. Stuttering audio is coming out of my PC. My experience with the previous situation was what gave me the idea that I might have a problem with the buffer in this
situation as well. I hope my processor is not the problem as I have an Opteron 170. I also have 2gb of pc400 dual channel ram. So what is the problem? Creative and the beta drivers? Possibly. Or could it be the fact that processes that were once hardware based
are now being handled by software? If anything I see this as a step backwards. Sure individual volume control is a great idea, but my system is now stuttering and running into what I believe are buffer issues as a result.

I'm also led to believe this is a buffer based issue because under the advanced tab in 'Speakers Properties,' when I change the default format of the sample rate to anything above 16bit DVD Quality, I get a serious impact on the quality of the sound, in Winamp.
It sounds exactly like the stuttering I ran into years before. Also, when I change the default format while Winamp is playing, I run into this:

Error creating the DirectSound buffer.Error code: 88780096

When I do the same thing in Windows Media Player, I get this:

An audio device was disconnected or reconfigured. Verify that the audio device is connected, and then try to play the item again.

An interesting thing, however, is that WMP is not affected by the stuttering issue when I select any setting in the Studio Quality range. I love WMP 11, it is awesome in XP. But for some reason, in Vista, it does not want to recognize 99% of the music I have
in my monitored folders. I have to drag the folder into the player for it to recognize all my music. This defeats the purpose of the monitored folder, but thats another issue. I prefer to use Winamp.

I suppose my final question is, if the original audio stack in Windows was so bad, that they required a rewrite, why remove directsound capability, when it was working so smoothly in XP and previous iterations of Windows? Why move something that was hardware-based
off of the hardware that was intended for that very purpose? My CPU was not meant to directly process sound, that is what my sound card is for (right?). I know OpenAL (owned by Creative) is out there (it's doing its thing on my PC right now) but its capabilities
are far behind anything Creative's EAX was capable of. Again, why take a step backwards (in some respects) by only supporting OpenAL? If anything it's like going from WindowsXP to Windows 3.1, in terms of the features and level of support both by the original
manufacturer but more importantly, the community at large. More games and media players support directsound and EAX as opposed to OpenAL. I do not have any concrete numbers on the fact, but I would be very surprised if the case is otherwise. Yet in solving
one problem, which is rather cool and laudable; another, much larger one, has been created. If given the option, I think users should be able to choose between the new software sound layer and the older directsound method. To my understanding, the new software
layer is intended to address problems not related to game sound quality and music player output using directsound, right? To be honest I do not care about how loud my system notifications are in relationship to other sounds on my computer. I want my hardware
to do what I bought it to do, and right now that is not the case.

N.B. Here's what happened in order for me to finish writing this post:I paused the video while it was minimized on my taskbar, as the WMP toolbar, so I could finish writing the rest of the first and second paragraph. I was ~18:36 into the video when I decided to start it up again. After a few minutes of what I would consider
normal buffering, the video started to play...without audio. At the time I also had winamp open, so I tried to play the song I was listening to before I started the video... no dice. Winamp refused to output sound. What happened next was what I can only describe
as a "genuine windows experience." Firefox, probably through my use of the Foxytunes plugin, froze. By this time I realized that I had no sound comming out of my PC. I closed WMP, Winamp, and Firefox (I took a screen shot of what I had been writing). Upon
trying to close Firefox, after it was busy for a few minutes, I received this error (I like the new error dialogs by the way):

Like it says it was waiting on Winamp, but Winamp was not playing music and neither was WMP so I closed them. Long story short I got sound back by clicking the 'Configure' button on the 'Sound' control panel and testing the stereo setup. On the plus side I
didn't have to restart, but then again, how many end users will be that deductive to try all these steps in figuring out why their computer will not make any noise? I'm going to make this post and finish watching the video. If anything is further explained,
I'll update my post as necessary.

Edit:

Spell checked and finished the video. Apparently I was only aroun 12mins into the movie. I like these video it makes the whole OS creation process seem more personable. Instead of "only supporting" I should correct myself in saying only allowing OpenAL and
ASIO direct access to the hardware layer. On that note though, I cannot remember the last time my sound card caused my computer to crash as the result of kernel mode access. This is part of a larger initiative (right?), removing things from the kernel that
do not need access to the kernel? I'm thinking about the antivirus companies here.

Thinking about per-app volume control (volume mixer) I doubt many of my peers will ever notice it. They just want their programs to work. If fidelity is such a strong belief, then why are S/PDIF and YPbPr disabled when "premium content" is played? That does
not sound like much of a commitment to consumers who have invested in those technologies. But thats entirely another can of worms. Right now I'm using Winamp and its glitchy. I'm not happy. I'm concerned.

Edit 2:

24 hours to let it stew and think it over. I suppose it's a Xi-Fi problem, but more specifically it seems like it's a directsound plugin issue with Winamp. Still, when listening to music, CPU usage is higher than in XP, I suppose that's my main concern, as
well as the overall change. I guess I'll get used to it but I really wish the change was seamless as opposed to me being able to notice a difference. Audiodg.exe is main source of my concern. I suppose this is the software doing its job? Usage decreases when
I stay at standard quality as opposed to going into studio quality, but again... I guess I'm just trying to get my mind around it and I really wish there were drivers that were available now (I know, I know) that would make it work just the way it did in XP.
And that's where I bark up Creative's tree (wish me luck on that one...). I'm also slightly anxious about all the content protection I've read thats been built into Vista. I want the same functionality, with an increase in quality, without having to replace
perfectly good hardware because it does not handle encrypted signals. I guess I ask too much. Kudos to all your work, it is good, but right now I'm concerned because there are some big questions looming on the horizon about content protection and the costs
and quality issues associated therein.

One thing I am noticing right away with this new controls system is that I can't turn off the microphone playback. This is annoying since I really don't need or want to hear myself in my headphones as I chat VOIP or on Teamspeak. This may just be a problem
with the X-Fi beta drivers, but as I recall the disable playback was in the Windows mixers. Then again maybe I'm missing it.

While in theory I think the individual application volume settings are a neat idea, so far nothing works with them and it is just an exercise in frustration at this point. I'll reserve final judgment on the new audio for a few more weeks or months, but right
now I'm looking forward to the patch that gives me an option to disable it.

EDIT - Found the mute button for mike playback under the Levels tab under Speaker Properties.

I am using the program Ventrilo and i cannot use a microphone to talk, in a short question how do i use a microphone with ventrilo in windows vista. I can hear in this program but i cant talk.. please help im getting frustrated

iSofter Audio Recorder Vista is the first and 100% Windows Vista (32 or 64) compatible Recorder Software,Which include Recorder, Editor and Player function.It makes a complete recording studio of your computer.

You can record voice from micro phone, internet streaming audio, or music played by Winamp, Windows Media Player, Quick Time, Real Player, Flash, games, etc.It has HD quality recording capability Support 24bit,32bit recording.

Features:1. Powerful Recorder functions:iSofter Audio Recorder Vista can record any signal played through your sound card as Mp3, Wma, Ogg or Wav files.2. CD quality recording:With its powerful sound engine it can recordings with CD quality.3. Audio File Editing:iSofter Audio Recorder Vista can edit audio files as you desire by cutting, copying, pasting, trimming segments employing various DSP effects.4. Sound Data Active Recording Mode:Integrate the intelligent silent detector to skip silent passagest.5. Easy-to-use user-friendly interface:Most functions can be called up with a simple mouse click or menu selection. You can conveniently make skins for All Sound Recorder XP through our color scheme system.

Remove this comment

Remove this thread

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums, or
Contact Us and let us know.