Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

serr

macrumors 6502
Original poster
Mar 8, 2010
257
29
Unintuitive settings needed in newer versions of OSX. Sanity check welcome!

A little background:
For professional audio work, I use standard practices as far as interface connections, clocking, etc go. Everything is perfect and I have wildly overpowered machines for my needs.

I also use one of my machines and interfaces for home theater needs and this is where I decided to play a little fast and loose with the rules for convenience. It's just me in my listening room and no live audience, so occasional faux pas aren't a big deal and usually don't happen anyway.

The home theater setup:
The speaker array is a small top 5.1 setup (5 mains that do highs/mids only with speaker management required to split out the bass content from the mains and route it to the Lfe combined with the original Lfe channel).
I do the speaker management digitally using a DAW app as a "plugin". Soundflower (a virtual audio device) is installed. Aggregate device of my interface (Apogee Rosetta800 192k) + Soundflower. OS audio routed to Soundflower (on channels 1-6). DAW app (Reaper) connected to aggregate device picks up the input from the Soundflower channels, does the speaker management, and routes the final output to the Apogee.

Works like a charm. I can even leave the system set to 5.1 in Audio MIDI Setup and all channel formats (2.0, 4.0, 4.1, 5.0, 5.1) come out the correct speakers. Channels that are supposed to be silent stay that way (I mention this because some buggy media player apps will put weird mono folddowns into unused channels sometimes. Like 4.0 having a mono FL + FR mix in the Center channel when it's supposed to be digital zero.)

I've had the clock master set to the Apogee. This is the "fast and loose" part. It's really only proper to connect multiple devices with word clock for 100% stable operation. Obviously you can't connect word clock to a virtual audio device! (Or the built-in audio interface integrated into the logic board.) So I just let it clock over the data connection (firewire). It losses sync just once every blue moon. All good.

This was my setup running in 10.6.8 for the longest time. (And I see myself going back to 10.6.8 here and there likely indefinitely with the direction newer OSX builds are going!)

I'm shaking this down in a 10.9.5 install. (Plan is to keep 10.6.8 as rusty but trusty, 10.9 for "modern-ish" DAW work needed for a handful of newer plugins, and then 10.13 for an "experimental" system and to feel like I'm keeping up with stuff and things.)

Let's cut to the chase...
Something changed in core audio. And 10.9 is supposed to be bug free with this whereas there are allegedly bugs in newer versions.
What I can get to work is setting the clock master to Soundflower and ticking the resample box for the Apogee. Clocking from the Apogee works for maybe an hour and then the Soundflower connection drifts and the system must be reinitialized. Clocking from the Apogee with Soundflower resampled flat out doesn't work. But clocking from Soundflower (the virtual device so... clocking the built-in interface is what that ends up meaning) with the Apogee resampled is rock solid.

That's completely counter intuitive! What's going on here?

I can say that there is no problem with the audio. I haven't recorded streams yet to verify 100% 1:1 samples so there may be a sample dropout here and there. But no audible artifacts with 24 bit 96k 5.1 program. I am aware that the Apogee has a feature to chase and clean up jittery incoming clock signal, so I imagine this is what has my back here!

Just wondering if anyone else has run into this and has any insight to what's going on behind the scenes. Or if I'm missing a control panel setting and just ended up with 2 wrongs making a right in this scenario.

To recap:
Two devices (one virtual) clocked "fast and loose" over a firewire data connection.
Software is not able to chase hardware but hardware is able to chase software.
I expected the opposite!
 
I suppose the simple explanation might be that I was doing it wrong in the past but something was being forgiving.

Two rounds of running Songbird on shuffle play for 24 hours with the surround library and not a chirp of an error can't be an accident. So alright. If you use a virtual device in an aggregate with a hardware interface, the virtual device must be clock master!

Does that sound right?
Was I running with incorrect settings in the past (with 10.6.8) or did something change in core audio?

And yes, I know running multiple devices at HD sample rates without a word clock connection is not technically correct to do! But then we have these virtual device apps and the feature set to aggregate them and clock from wherever...

If someone has a nuts and bolts explanation to share that would be welcome! :)
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.