In Windows 10 you can write a universal audio driver that will work across many types of hardware. This topic discusses the benefits of this approach as well as the differences between platforms. In addition to the Universal Windows drivers for audio, Windows continues to support previous audio driver technologies, such as WDM.
IHVs can develop a Universal Windows driver that works on all devices (desktops, laptops, tablets, phones). This can reduce development time and cost for initial development and later code maintenance.
APIValidator Tool: You can use the ApiValidator.exe tool to verify that the APIs your driver calls are valid for a Universal Windows driver. This tool is part of the Windows Driver Kit (WDK) for Windows 10, and runs automatically if you are using Visual Studio 2015. For more information, see Validating Universal Windows Drivers.
Load the universal audio sysvad sample to use as starting point for your universal audio driver. Alternatively, start with the empty WDM driver template and add in code from the universal sysvad sample as needed for your audio driver.
Starting with Windows 10, the driver programming interfaces are part of OneCoreUAP-based editions of Windows. By using that common set, you can write a Universal Windows driver. Those drivers will run on both Windows 10 for desktop editions and Windows 10 Mobile, and other Windows 10 versions.
Use the ApiValidator.exe tool to verify that the DDIs that your driver calls are valid for a Universal Windows driver. This tool is part of the Windows Driver Kit (WDK) for Windows 10, and runs automatically if you are using Visual Studio 2015. For more information, see Validating Universal Windows Drivers.
A separate extension INF file is used to customize each base driver component for a particular system. Customizations include tuning parameters and other system-specific settings. For more information, seeUsing an Extension INF File.
To programmatically launch a UWP Hardware Support App, based on a driver event (for example, when a new audio device is connected), use the Windows Shell APIs. The Windows 10 Shell APIs support a method for launching UWP UI based on resource activation, or directly via IApplicationActivationManager. You can find more details on automated launching for UWP applications in Automate launching Windows 10 UWP apps.
The Audio Modules API/DDI is designed to standardize the communication transport (but not the protocol) for commands passed between a UWP application or user-mode service to a kernel driver module or DSP processing block. Audio Modules requires a driver implementing the correct DDI to support module enumeration and communication. The commands are passed as binary and interpretation/definition is left up to the creator.
A Windows Service is not strictly required for management of user-mode components like APOs. However, if your design includes an RPC server to facilitate UWP APO communication, we recommend implementing that functionality in a Windows Service that then controls the APO running in the audio engine.
On the target computer, open Control Panel and navigate to Hardware and Sound > Manage audio devices. In the Sound dialog box, select the speaker icon labeled as Microsoft Virtual Audio Device (WDM) - Sysvad Sample, then select Set Default, but do not select OK. This will keep the Sound dialog box open.
Locate an MP3 or other audio file on the target computer and double-click to play it. Then in the Sound dialog box, verify that there is activity in the volume level indicator associated with the Microsoft Virtual Audio Device (WDM) - Sysvad Sample driver.
Version 1.0a of the Universal Audio Architecture (UAA) High Definition Audio class driver for Microsoft Windows has been released. This release supports the High Definition Audio and Modem implementations that are known to Microsoft as of August 1, 2004. This is the second version of this driver.Version 1.0a of the UAA High Definition Audio class driver does not work on High Definition Audio implementations that were disclosed to Microsoft after August 1, 2004. You must uninstall version 1.0 of the UAA High Definition Audio class driver before you install version 1.0a. For more information about version 1.0 of the UAA High Definition Audio class driver, click the following article number to view the article in the Microsoft Knowledge Base:
Users of audio interfaces like the Studio 1824c will find an easy monitor mixer that can be launched from Universal Control. Even better, more advanced interfaces like the Revelator USB microphone offer full input processing, reverb, loopback, and more, all from this flexible application.
The Realtek High Definition Audio Driver is installed on Windows computers that come with Realtek audio cards. The bug was reported to the vendor on July 10, 2019, and it received a patch on December 13, 2019.
Realtek fixed the issue in the HD Audio driver package ver.8857 or newer, while driver versions earlier than 8855 that were built using the old version of the Microsoft development tool (VS2005) are still vulnerable to attacks.
If exploited, the vulnerability tracked as CVE-2019-19705 allows attackers to load and execute malicious payloads within the context of a Realtek-Semiconductor signed process on machines running an unpatched version of the HD Audio driver.
That last point can't be emphasized enough. The first-generation Apollos had class-leading specs for conversion, and for me, the "silver-face" Apollo was one of the best-sounding interfaces I have owned in my studio. Some may wish to challenge me to an ear-off, but, man, the original Apollo consistently beat my Metric Halo 2882+ DSP Expanded, and older interfaces like the RME Fireface 800 just couldn't come close. And those were both stellar interfaces in their own right! It wasn't until I tested the Apogee Ensemble Thunderbolt 2 [Tape Op #105] that I felt another interface had topped the original Apollo (within the scope of a similar price range). But in the ever-escalating audio interface arms race, UA has upped the game once again with the next-gen conversion on the new Apollo range. The Apollo 8p sounds great - as in, really, really, holy-crap-I-can-hear-the-difference great. I compared my original silver-face Apollo and the new Apollo 8p by recording the same sources (in this instance, acoustic guitar, string bass, and a snare drum) using the same mics and cabling, directly into each interface's Unison mic preamps at 96 kHz, and was pleasantly surprised; to my ears, the sources captured with the Apollo 8p seemed more accurate and more "dimensional," for lack of a better descriptor. Tracks recorded with the Apollo 8p seemed to have more reality to them, with a finer sense of clarity in the top end and especially in the crucial low-mids.
Later, I was able to use the Apollo 8p alone to track a full band during a video shoot I was doing for Lee Bob & The Truth, a great San Francisco Bay Area soul and roots-rock band. First, I loved the principle and potential of being able to track "wet" with eight Unison-powered mics through an assortment of UAD-2 plug-ins [Tape Op #76,#83], like the Studer A800 [#85] and LA-2A emulations. The band wanted an honest recording of the shoot (to be used as the bed for the final assembled video), and we went through a few rehearsals before capturing about five takes. As I was the one-man production unit that day, I needed to be able to bounce between two camera setups and focus on my shots - I couldn't wear my audio engineer hat the entire time. While we had plenty of prep (and gain-staging) going on in the rehearsals, while rolling, I didn't have time to constantly monitor the session for any problems or hiccups. However, the layout of the Apollo 8p front panel is clean and easy-to-read, even from across the room, so it was easy to quickly check levels or see peaks at a glance. The Apollo 8p performed flawlessly and yielded surprisingly stunning results. The Neve 1073 and API models for the Unison preamps are excellent, and really turn this box into something irresistible. With the original Apollo, I never felt truly comfortable taking the unit alone to mobile sessions. It was always accompanied by at least one or two racks of outboard mic preamps. After this session, I felt completely confident in the Apollo 8p as a standalone solution for full-band tracking to a laptop. (Plus, if more than eight mic channels are needed, combining up to four Apollos is as easy as plugging in Thunderbolt cables - maxing out at 32 Unison mic preamps!)
I discovered many nice touches within Console 2.0. The Apollo preamp circuitry can be bypassed on each of the line inputs, ostensibly for the "purest" signal path to the converters - really handy if you are patching external outboard gear to the line inputs. Also, the Flex Driver feature is a huge time-saver and a beautiful solution to the long-standing problem of switching between audio applications while using the same interface. Flex Driver allows you to create custom I/O maps, remapping any Apollo input or output to any Core Audio input or output, and also rename any I/O coming from Apollo - all at the Core Audio driver level! If you want your Apollo I/O to show up consistently as "Apollo 1" or "Neve > 1176" or "Uncle Gary's Blumlein Pair" or whatever, no matter which DAW is in front of your face, Console makes it happen. The new Gain Stage Mode allows you to control different stages within a particular plug-in from the single front-panel preamp knob. For instance, in the Neve 1073 plug-in, you can instantly switch from the "red knob" to the fader level (output) control - nice, although it'd be great to see a similar mode for tactile control of other plug-in parameters as well. Right- clicking on any button or section within Console yields a treasure trove of helpful shortcuts and useful features. For instance, all fader and pan values for any input (basically, your entire monitor mix) can be copied simultaneously to any send mix bus. Instant headphone mix templates! Finally, when I added my first-gen Apollo via an additional Thunderbolt cable to the spare port on the back of the Apollo 8p, it appeared immediately in Console, color-coded and segmented for easy identification. Note that you can combine and cascade up to four Apollo Thunderbolt interfaces. In my testing, multi-Apollo recording and mixing is as seamless as you might expect - from a setup and control perspective within Console, it just felt like I had a Super Apollo. (UA, you can re-use the term "Super Apollo" for a low licensing fee. Just talk to Larry.) 2b1af7f3a8