Cakewalk didn’t really need to implement custom profile support for SONAR 8 under Vista. You don’t really need to make use of it. But when I found out Cakewalk’s CTO had a profile he liked, I had to share it with fellow tweakers. Adjustments under the hood: photo (CC) Stefan Sonntag.

Earlier this fall, we got an inside look at the various Vista optimizations in Cakewalk’s SONAR 8. It was all fairly technical stuff, but odds are you may have been puzzled by a mention of support for custom “MMCSS task profiles.” Don’t worry – the correct response here is, indeed, “say WHA?” These refer to specialized task profiles, or configurations by which Vista determines how to prioritize access to the CPU. It’s not strictly necessary for end users to ever have to touch these. You can theoretically squeeze some additional performance and reliability out of your system by using them with SONAR 8, but that would require knowing how to do so.

Well, you’re in luck. I convinced Noel Borthwick, CTO at Cakewalk, to share his personal MMCSS profile with CDM. This will only work in SONAR 8 for the moment, as far as I know, until another host implements the same feature. Now, don’t get me wrong — it’s not necessary to use this tweak with SONAR 8 and Vista; I’ve been testing SONAR without it with no issue. This is just “because you can.” Here’s how to use it:

From the manual:

The Multimedia Class Scheduler Service (MMCSS) provides Windows multimedia programs, including SONAR, with prioritized access to CPU resources for time-sensitive processing.

By default, SONAR uses the MMCSS task profile named Pro Audio. If desired, you can instruct SONAR to use a custom MMCSS task profile.

To use a custom MMCSS task profile in SONAR

1. Determine the name of the MMCSS task profile that you want to use. MMCSS task profiles are listed in the Windows registry under HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfileTasks. Ensure that the registry entry exists for the profile you want to use.

2. If you have added any new profiles, reboot your computer to allow the MMCSS service to see the new profiles.

3. On SONAR’s Options menu, select Audio and then click the Advanced tab.

4. Under Configuration Settings, click Edit Config File. The AUD.ini file opens in the default Windows text editor.

5. In AUD.ini, locate the entry called MMCSSTaskKey and set it to the the desired profile name. For example:

MMCSSTaskKey=Pro Audio

6. Save AUD.ini and close the Windows text editor.

7. Click Reload Config Settings to reload the current audio configuration settings from AUD.ini.

SONAR will now use the new task profile for MMCSS.

And here’s the actual file:

Cakewalk Audio.regbak

As usual, use at your own risk. It’s unwise to make Registry modifications without first backing up your Registry, just in case something goes wrong.

Side note: if you other technical types at other software developers of all the attention we’re giving Noel at Cakewalk, it’s because he plies me with large amounts of alcohol when I’m in Boston. Kidding. Seriously, it’s because Noel has put a lot of time into sharing this stuff. We’re up for bringing any discussion to CDM, so get in touch. If I owned a car and didn’t live in Manhattan, I’d want to know how to work on the engine. I think it’s just as important to know what’s going on under the hood of software. Talk to your PR reps if you have to.

Previously on CDM:

Optimizing for Vista: Inside the Mechanics of SONAR 8 with Cakewalk Engineering

SONAR 8 Preview: Instrument Tracks, Beatscape Instrument, Transient Shaper, Enhanced Performance, Other Goodies

Previous post

Gestures, Mobile Music, and the “Low Floor” for Novices: ZooZBeat on iPhone, Nokia

Next post

Stribe, DIY LED Touch Interface, Slims Down to Compact $79.99 Kit

  • Thank you!

    Sonar 6.2 and above purportedly MMCSS(!) so i look forward to trying this with Sonar 7.

    Interesting thread at cakewalk forums:

  • Well, I think SONAR 8 is required to support *custom* profiles; that is, those previous versions of SONAR will use MMCSS but with their default profile.

    That said, the forum thread is interesting. I'll be honest; I'm still wrapping my head around this.

  • Pingback: Create Digital Music » Obsessive Windows 7 Under-the-Hood Guide for Music; Can You Finally Dump XP?()

  • Pingback: Create Digital Music » The Most Out of Windows 7: Choosing and Optimizing Windows for Music()

  • I'm digging the grave perhaps but it's still not clear whether MCSS is of any benefit for the application when using ASIO drivers (the application callback is called in the ASIO thread context, owned by the driver, the app engine thread in this case is just doing some watchdog'ing)

    Of course the application could force a new profile on the driver thread, but then how would you know that what you're doing is better than what the driver developer did? (if he did anything, as unfortunately there seems to be AFAIK no way to query the current profile assigned to a thread)

    For legacy (MME and DirectSound) modes as well as DirectKS and possibly the new Vista/7 API, which Sonar support, it's different and surely beneficial.

  • By the way the linked file contains "404 — File not found."… :p