In praise of Canz3D, crossfeed for MacOSX
Mar 7, 2008 at 1:07 PM Thread Starter Post #1 of 42


New Head-Fier
Feb 18, 2008
Canz3D Homepage

I recently obtained my first significant set of headphones, Ultrasone Pro 750s. I selected these specifically for music production, mixing and pre-mastering in a hobbyist/enthusiast capacity. Due to my present living situation, closed headphones are my only option.

Mixing and mastering in headphones has long been considered impossible. But I thought that I did my homework, and that the 750s would overcome the historical limitations. Instead, I've proven to myself that producing and mixing a song entirely within these 750s results and a track which does not translate to speakers at all. I was sad. I thought I was going to have to spend more money on "better" headphones, and get a "better" DAC, etc.

But then I did some more research and stumbled upon this article from Sound on Sound, Mixing On Headphones.

So, with the right approach, getting it right in the cans can result in an even better speaker experience — it's just a matter of adapting and learning to rely on your 'phones. While it's certainly tricky to replace loudspeakers completely during the mixing process, it's quite possible to do about 90 percent of your mixing on headphones.

This gave me hope. Anecdotally, the author was so impressed with his Senn 650s that he was determined to use them for mixing, resulting in the article.

But then I got to this section about 3/4 of the way down the page: Simulating The Loudspeaker Experience With Crossfeed Plug-ins, and became excited. Initial testing of the Canz3D Audio Unit plugin blew me away. I've since installed it into my listening signal path, and present here a method by which you may too, without spending more than the $10 activation code for Canz3D.

There are many ways to insert Canz3D into your signal path. The method I use here is overly complicated. A far simpler method is to use Audio Hijack Pro or Wiretap Studio. I use JackOSX instead because I already make use of it in my music production, it's free, and I have no particular use for Audio Hijack Pro or Wiretap Studio.

How to insert Canz3D into your signal path
  1. Download and install JackOSX
  2. Download and install Canz3D
  3. Make a container for Canz3D with AU Lab
  4. Route audio to the JackRouter
  5. Route audio to AU Lab
Download and install JackOSX
Download JackOSX and install it. You'll need to create a special device on an Intel Mac. There are instructions on how to do this in the documentation, but it's simple. Open "Audio MIDI", in the menu select Audio->Open Aggregate Devices Editor. Then click the +, name it whatever you want, and make sure the input and output are checked. Select that device for JackOSX to use. Click Start on the JackPilot window and the JackRouter audio device will make itself available to applications.


Download and install Canz3D
Download Canz3D and install it according to the instructions. Just copy the Canz3D.component to $(HOME)/Library/Audio/Plug-Ins/Components and you're good to go. $(HOME) is your home directory like /Users/Snarfblaster or whatever.

Make a container for Canz3D with AU Lab
AU Lab comes with the Leopard developer tools. You can install it from your Leopard DVD or download it from here. You may already have it installed.

Launch /Developer/Applications/Audio/AU and create a new document. Click Next on the output configuration page. Click the + Add Input button on the input configuration page and click Next. Select the JackRouter as the audio device and click Done.


Turn the output channel strip's output to -0.1db, if you will have input that rides up against 0db. In the output channel strip, click the drop-down under Effects and select Midnight Walrus -> Canz3D. The default preset is great, but I turned the master down by about 7db. Feel free to tweak this in any other way you wish, but in my experience, -6 to -7 db needs to come from somewhere to prevent overage of its final output.

Save this AU Lab document, then in the Document Settings page of the preferences set it to automatically open this configuration when AU Lab starts.



Route audio to the JackRouter
Now select JackRouter as the output device for the audio applications you wish to pipe through Canz3D. For most applications, this is not a configurable option. In order to get these applications like iTunes to send their audio to JackRouter, we have to change the default output device. Do this by opening the /Applications/Utilities/Audio MIDI and select JackRouter as the default output device.

Route audio to AU Lab
By default, JackRouter is very polite and acts as a pass-though. Any audio that comes into JackRouter automatically is sent to the System. By making use of the JackPilot's Connection Manager, we can create different signal paths. In this case, we'll take the audio from iTunes and route it to AU Lab.

With iTunes and AU Lab running, click the "Routing" button on a running JackPilot. Click iTunes on the send ports side, and system will light up in red on the receive ports side. This means that the iTunes coming into JackRouter is going right out to the system. While you still have iTunes selected in the send ports side, double-click system on the receive ports side to disconnect iTunes from system. While iTunes is still selected on the send ports side, double-click AU Lab on the receive ports side to connect iTunes to AU Lab's input.

You should now hear iTunes through Canz3D. Be sure to toggle the bypass "B" button on the AU Lab channel strip next to the Canz3D effect in order to A/B the sound.

Like I said, this is more complicated than it needs to be, but I already make use of JackOSX so it fits into my workflow.

For music production I've inserted Canz3D into my listening path, but not into the recording path. It's too early to tell whether it will be effective as a mixing tool, but it certainly makes the casual listening experience far more enjoyable for me.

Canz3D may be evaluated for free, and merely mutes itself after 3 minutes without a registration code. You can just toggle the bypass on it to wake it up until you decide to buy it.

I hope this has been useful. Canz3D has been mentioned in passing over the years in various threads, but I felt it deserved its own thread.
Mar 12, 2008 at 6:16 PM Post #3 of 42
Hey it's very exciting to hear Canz3D has been updated. I assumed it was a lost wonder app. Sat static for years. Have reference it a few times and used it with Audio Hijack Pro as a real-time VST plugin (which is another quite simple option as you mentioned). For those that took part in the MacHeist promo this year you have a copy of WireTap. Canz3D is the best software crossfeed of any platform I've heard. For those that think software solutions are overdone, Canz3D is not (as it's so tweakable).

Thanks for the detailed instructions primitiveworker. May I make a suggestion that this gets moved to the computer audio forum?
Oct 21, 2008 at 5:20 PM Post #4 of 42
Wow, I just tried this, and it can sound amazing, particularly with older recordings. With some newer recordings it can reduce the width of the soundstage, but it almost always seems to increase its depth.
Nov 8, 2008 at 12:56 AM Post #5 of 42
First off, thank you very much, primitiveworker, for working up these very helpful instructions.

I do seem to have it working properly as I hear changes in the sound as I fiddle with the presets. I'm wondering, though, why this plugin seems to dull the sound. I lose some clarity, stereo separation, and it seems some treble crispiness.

Is this just a side effect of doing crossfeed?

Also, why would I want echoes? Isn't the reason we put up room treatments in a speaker setup to minimize wall echoes?

Anyway, I had high hopes, but I'm not immediately impressed with the change in sound. (I've only been playing with it for a short while so far.)

Oh, also, I don't seem to have any muting effect every 3 minutes. It just keeps playing. (?!)
Nov 8, 2008 at 4:32 AM Post #6 of 42
Very nice write-up. Itunes is, unfortunately, not showing up in the routing window. I just threw it in as an effect in Audio Hijack Pro - very interesting. There's also a quite nice equaliser as a plug-in for Core Audio that is handy for figuring out what's going on with EQ, as it's much finer-grained than the iTunes one.
Nov 11, 2008 at 12:42 AM Post #7 of 42
So I was playing with this again today and realized that the reason I lost so much as I was describing was because I was comparing straight to the hw device to through canz3d with the gain set low.
brainy me...

What I definitely lose, of course, is my stereo separation. While I can see it being useful in some situations, it does seem to take away a bit of the magic headphones bring. In fact, because the channels are mixed and I'm hearing echoes and whatever else, it seems I've lost some micro details.

It's fun to experiment with in any event.

Oh, and it does mute as expected... I think toggling the bypass resets the 3 minute timer, though, so I didn't notice it at first.
Nov 11, 2008 at 2:22 AM Post #8 of 42
One thing I've noticed with most virtualization plug-ins is that older 2-track recordings can sound amazing, however, newer multi-track recordings not so much.
Mar 1, 2009 at 11:20 AM Post #9 of 42
Itunes does not show up in "send ports" in Jack. Any solutions or reason why this may be happening?
Mar 2, 2009 at 5:00 PM Post #10 of 42
bump. I can't find the solution anywhere.... how can I make itunes show up as a port in the routing part of jackpilot?


Apr 28, 2009 at 7:06 PM Post #11 of 42
Great, working for me. I was confused for a while becuase, for whatever reason, I didn't have to do the Aggregate Audio section - I have a MacBook Air which is Intel based, so who knows.

Right now I'm just running this straight to headphones, but I have a Pico w/ DAC on order - will I still be able to use this with the external DAC? I'm thinking no, but figured I'd ask.
Apr 28, 2009 at 9:36 PM Post #12 of 42
@stolix, you sure can. The Pico (w/DAC) will be an audio output device just like any other..

Users who are viewing this thread