Look out, PCs: you’re getting the audio engine from the Xbox 360. That’s the message from Microsoft, which abandoned the old DirectSound APIs in Windows Vista. They’ve got a new audio system called XAudio2 ready and waiting, however, and it looks good — though it also begs the question, why didn’t Microsoft ship it with Windows Vista out of the gate? (Instead, Microsoft actually suggested users turn to the OpenAL open audio architecture, and now appears to be getting XAudio2 ready for Vista SP1.)

Geek alert: the rest of this post may be interesting only to developers…

XAudio2 does look more ambitious than many other audio architectures in that it includes programmable DSP effects baked right in, plus some nice mixing and spatialization features. This stuff is largely aimed at gaming, but it could yield some interesting music applications, as well:

  • Multi-channel and surround-sound support with full per-channel volume and mapping control.
  • Programmable, cross-platform DSP effects framework.
  • Per-voice filtering, arbitrary submixing, and multi-rate processing.
  • Multicore optimized, non-blocking API design.
  • Pluggable and generalized 3D spatialization support, with a full-featured implementation provided by the independent X3DAudio math library.

“Cross-platform”, though, in Microsoft fashion, should actually mean Xbox 360 + Windows Vista.

For more:

Microsoft Announces DirectX 10.1 Preview, Betas New Audio Tech [ExtremeTech]

Meanwhile, the state of true cross-platform engines is not so fantastic. OpenAL, a multi-platform, open source 3D audio library, comes closest and appears actively updated, though your mileage will vary depending on platform. DSP and many other features have to be provided on your own. Sun, meanwhile, has left the Java platform a mess; the dusty, rusty Java Media Frameworks hasn’t gotten an update since 2003, the open source Java efforts are stumbling on multimedia support because so much of what’s required is proprietary, and no one seems to know what’s happening next.

  • Adrian Anders

    Would be nice if they came up with a universal low-latency audio/mid standard which offered modular audio patching between apps. Like Jack only built into Windows OS.

    What they give us are broken compatibility and drivers designed soley for non-media professional users.

    Microsoft needs to wake up and realize that the areas in which they are losing the largest market share to Apple relate to the needs of Media Professionals.

    Turning Windows into a DRM-laced Entertainment/Gaming platform may seem to be the most profitable in the short run, but I think they're going to lose out on a big chunk of the computer market to Apple and eventually Linux.

    They should really split Windows into at least 2 product lines. One would be aimed at gaming/media-center apps, and the other would be aimed at offices/pro-media users. The office/pro-media line would be stripped down to the bone in terms of bloat, have very few DRM restrictions (but wouldn't support next-gen disc formats as a trade-off), and better audio-routing, disk access performance, etc.

    Let's face it, the needs of the average Media Center user differ greatly from that of a pro-audio user. One OS does not fit all.

    ATA

  • http://www.createdigitalmusic.com Peter Kirn

    Yep, that would be nice. Let's review, in fact:

    DirectSound had a number of features which were in fact of use to pro audio. Now it's gone. I'm not sure what XAudio2 will offer, but frankly, the history with DirectSound may make developers less likely to want to do a whole lot with it.

    DirectSound under XP was indeed not low-latency. The current default API under Vista appears to have *higher* latency, not lower, despite Microsoft's claims to the contrary.

    And the DRM in fact seems to be a big deal, in terms of audio performance and driver compatibility. So I'm totally with you, Adrian.

    Incidentally, you can get what you're describing in Vista Business, which lacks Media Center. But I think you still get the DRM gunk (and Windows Media Player's various bloat, of course) — and a higher-performance audio engine in Business would rock.

    That said, pro audio developers ARE generally able to bypass anything that would steal performance, particularly if you're willing to use ASIO drivers. That doesn't mean Vista has made drivers particularly easy to deal with. But maybe it's more accurate to say that we still need a default audio driver system that has decent performance as an alternative to ASIO.

  • http://www.block4.com Malte Steiner

    >>That said, pro audio developers ARE generally able to bypass anything that

    Its always great if there is no need to bypass anything, developing is time consuming enough. Vista seems to be an antioperating system, it doesnt work for the user.

  • http://www.createdigitalmusic.com Peter Kirn

    Well, that's the idea of Core Audio and Core MIDI on Mac, certainly, to give the developers that leg up. But I would say, though, for *anything* for which real-time performance is important, developers have to do extra work on any platform, not just Windows.

  • Adrian Anders

    Of course if we're comparing Win to Mac on the OS alone, Macs are the clear choice for digital audio… But the reality is that Win PCs have way more in the way of compatibility with legacy software, greater selection/alternatives (great for those of us who hate a particular copy protection method), lower prices, way more fringe/cutting edge plug-ins, and most importantly enough freeware to have almost a complete high-end studio inside your PC por nada!

    My hope is that over time either Windows OS gets better for Pro Audio, or Mac OS starts to offer the same software benefits that Windows users have when it comes to price, compatibility, and choice. I wish that I could take the strengths of both platforms to create the ultimate OS that has a ton of cheap/free software, as well as rock-solid stability, flexibility, and performance.

    ATA

  • http://www.createdigitalmusic.com Peter Kirn

    I wouldn't put it in quite such black and white terms, in that there's still more choice than you'd ever need on Mac, and Windows can perform well once you get a stable configuration put together. But I think you hit it on the head — running Windows is about running software and choosing hardware. The platform is supposed to support that; that's the whole point of the OS. So when it falls short, that's disappointing.

  • http://myspace.com/themsyterioush the mysterious H

    wait, what the hell ever happened to waveRT? The thing the Cakewalk dude was talking about. How it was basically going to be an ASIO sytle double buffering system with the added ability to write directly to the memory section that the audio card DMA's from?

  • http://www.createdigitalmusic.com Peter Kirn

    WaveRT is all those things. You're likely to hear more about it as the remaining hardware support for Vista fills in and adoption rates increase. But there are still some caveats:

    * You need a WaveRT-compliant card, and there are fewer of these than ASIO

    * You need dedicated drivers

    * WaveRT doesn't do anything at the moment for USB (any of the flavors) or FireWire

    * Vista still has some kinks elsewhere to get worked out

    And Adrian here is talking about some more cutting-edge features like inter-app audio and MIDI that are still lacking out of the box. Both Mac and Windows have some room for improvement, room you can fill to some extent with add-ons (JACK or Soundflower for interapp audio on Mac, MIDI-Yoke for interapp MIDI on Windows). But it'd be great to see this stuff built in.

    This wasn't quite what I meant to get into with this post — XAudio2 is *intended* for "consumer" audio and gaming, not music production. But it does underline the sort of flux audio on Vista in general is in at the moment. And XAudio2 is still relevant to people doing oddball things like building game engines for music making, etc. — we come back to the same issues of needing more robust platforms for music development. You have this enormous amount of horsepower in computers; it's silly not to be able to take better advantage of it.

    I will revisit all the Vista stuff soon, so keep asking questions, and I'll make sure to cover them in detail (given there's every chance to get something wrong or leave something out talking just in comments)!

  • Kyran

    The reason I'm so reluctant to upgrading to vista is that it the operating itself is a whole lot heavier than XP.

    My pc is now running rather smooth, but if I'd like to run vista on it, I'd have to get some extra ram, otherwise, vista will be running chunky.

    Now I wonder why I should upgrade to it, because all processing power used up by the OS can't be used by my DAW software. It doesn't really make sense to upgrade to vista for any computational intensive application.

  • Pingback: XAudio 2 Beta: New Cross-Platform Audio API, DirectSound replacement for Vista

  • http://www.createdigitalmusic.com Peter Kirn

    @Kyran: The difference between Vista and XP is not that great in terms of CPU load on any current machine (i.e., any machine that's really capable of running Vista). I've got an AMD 3800+ X2 here, which is a fairly cheap CPU. I don't notice any difference in CPU load in apps like SONAR and Live. In fact, presumably due to some of the under-the-hood optimizations, some have reported slightly less CPU load on Vista. It's certainly not going to be a deal-breaker upgrading.

    What you're more likely to notice is hassles with driver compatibility and some much more subtle stability issues that aren't yet worked out.

    Here's what I would suggest:

    Go ahead and get that extra RAM. (Don't know what you're running now, but more RAM is ALWAYS a good idea.)

    Skip the Vista upgrade for now — not for the reasons you suggest, but because your system IS running well now, and you can spend that money on RAM instead! (Up to the point you can handle, anyway … for more RAM for running loads of samples, then you might think about Vista x64, etc.)

  • Alex

    And what does this all mean? Vista will never be suitable for professional audio? So..after XP

    get old, then all pc users have to buy Macs? This is ridiculous and will never happen! I think that Microsoft cares very much about professionals too and will make suitable drivers for pro audio. Xaudio might be the drivers of the future. There is a fact though, Microsoft evolves based on its mistakes. So there will be some time until we can use Vista or any other new Microsoft OS for pro audio…

  • http://www.milezero.org Thomas

    Alex, many people are already using Vista for pro audio. What they're bitching about (and it's a valid point) is that there's no built-in pro-level support.

    If ASIO were some kind of unmitigated disaster, I'd probably be upset too. But drivers are starting to catch up, even for slowpokes like M-Audio, and frankly I prefer the Windows method to JACK.

  • http://www.createdigitalmusic.com Peter Kirn

    @Alex:

    Vista will be suitable for professional audio once existing driver kinks / compatibility / OS kinks get worked out. It's suitable now for some systems; so is XP. There are people using Vista now. There are also people with huge headaches on Vista now. From my own vantage point, I think once you add up the issues and advantages, I still prefer XP; I don't necessarily expect that to last past SP1 (I sure HOPE it doesn't), but it's worth adding that up.

    PC users have to buy Macs — PC users don't have to do anything. There are some compelling reasons to buy Macs, though, now as always. I regularly hear about people switching. But that doesn't mean lots of people aren't remaining on Windows and happy with it (XP and Vista alike).

    Microsoft cares about professionals: well, jury is out there. I think Windows music developers care about the pro audio market. On good days, Microsoft listens to them. On bad days, they have other priorities; that's true of most larger computer industry companies because music production is not that large a market, and we'd be fooling ourselves to think otherwise. I also think it's a matter of fact, not opinion, that Apple has devoted greater resources proportionally to building the OS for production. That doesn't mean Microsoft hasn't put in some effort (particularly on Vista), and it doesn't mean you have to use a Mac, or that you might not actually prefer Windows. It DOES mean that assuming Microsoft will fix things on its own is a big mistake. They have to hear from us.

    XAudio is not the drivers of the future; this is the consumer side, not the pro audio side. On Mac, that's a non-issue because you have one audio system; for now, at least, there remains a split on Windows for very practical reasons. XAudio doesn't yet do the things we need as far as latency and feature set. It's still interesting, though, or I wouldn't have mentioned it here. And, in fact, the Mac really lacks all of these Direct[Stuff] tools that make Windows a great game development platform. It's been in transition with Vista, but certainly for games Windows is the place to be, and by extension any game-based music applications.

    Microsoft evolves based on its mistakes? Well, we hope so. There are truly brilliant people at Microsoft, some of the best developers on Earth. There are also lots of (naturally) conflicting priorities. Microsoft is really, really, really big. So big, in fact, that I don't think "Microsoft" does anything. People in Microsoft are sometimes able to steer projects in the right direction. There are also people in the company who steer it in directions we don't like. That's really not a criticism of them; it's the nature of large companies, and the nature of technology.

  • http://jackit.sf.net/ Paul Davis

    Thomas – what "Windows method" compared to what aspect of JACK?

  • Adrian Anders

    Wow Peter, I couldn't have said it better myself :D

  • Pingback: music » Blog Archive » Microsoft Readies DirectSound Replacement: XAudio2

  • http://www.meratvforum.org T.v Serials

    The only managed DLLs on the Xbox are the DLLs provided by XNA Game Studio Express. Any other Xbox development has to be done with the XDK, which is only available under NDA with Microsoft. And to get to sign that NDA, you pretty much need to have relations with some publisher that is already working on Xbox games.