Tutorial: Mix Music and Voice on Ustream April 8, 2010

Note: This article is now over five years old. I have no idea if any of this is remotely correct, so follow at your own risk. 


A lot of artists I follow are now streaming video of their artwork creation via Ustream. It’s a fascinating and educational vehicle for not only fans, but other artists looking to hone their craft. I’ve already learned so much from watching how others approach various challenges. There’s even the new Artcast Network site that serves to aggregate streaming artists under one roof.

I’ve started to do a few Ustream sessions myself, and have found them simultaneously a lot of fun and supremely terrifying. Maybe it’s just my built-in artist neurosis, but I’ve often “chickened out” of doing a streaming session. Usually it’s just the fear that others are watching what I still don’t believe to be anything great. But we’ll save my mental hangups for another post 🙂

One of the biggest hurdles to Ustreaming is the technical setup, as evidenced just last night with Legend of Bill artist David Reddick having to bail on an artcast due to technical difficulties. At some point I may post a really in-depth tutorial on getting started with Ustream, but for now, I’m going to focus on this one aspect.

As a Ustreamer and artist with not much of a following (yet), there are periods where I’m all alone with nobody watching or in the chatroom. That’s not necessarily a bad thing, as it gives me some time to relax, but it does get a bit boring. I normally have to have music or something playing while I work. I’d tried several things to try to play music over my stream and still have my voice audible when I speak. Nothing seemed to work right. One night I tried to just play the music over my external speakers and created a weird echo loop that I was sure would rip a hole in the fabric of space-time. Luckily, it did not, but it was more than a little annoying to the viewers.

So the other night I decided to really dig in and try to figure this thing out. What follows is my solution that worked for me, but I’m sure there are many others. Feel free to pass any other good tips along.

First, I have to say, unfortunately for now, this is a Mac-only tip. I don’t use a PC and with Windows complexities, I would not even try to guess at a comparable solution.

Next, here are the tools you’ll need to have:

  1. Ustream Producer: This is the new-ish desktop software that Ustream has released. At some point I’ll amend this tutorial to include Ustream’s Flash-based tool, in conjunction with Camtwist. Right now I just want to reduce the number of moving parts.
  2. Audio Hijack Pro: This is the amazing software from Rogue Amoeba that lets you capture and record from ANY audio source on your computer. Unfortunately, this is a $32 app, but worth every penny. There’s a free trial, but it starts to add static after 10 minutes of “hijacking”. It’d still be good for determining if this setup will work for you.
  3. Soundflower: This is a little piece of software that allows applications to send audio to other applications. This’ll make more sense further on.
  4. Input source: This would typically be a USB microphone or headset
  5. Music source: For purposes of this tutorial, we’ll use iTunes

First, get everything installed and running. It’s beyond the scope of this tutorial to explain how to do all that, but if you’re already Ustreaming, chances are you’ll figure it out.

Next, fire up Ustream Producer, Audio Hijack Pro, Soundflower and your music source (ie, iTunes). Tip: it may not be obvious that Soundflower is “running”, but you should see the little flower icon in your upper menu bar:

Make sure your microphone is set up correctly by going to System Preferences -> Sound and making sure the input device (2) is set to your microphone. In my case, it’s “unknown USB audio device” (stupid cheap headset). And test the levels of your input by tapping the mic and watching the meter (3).

Now open Audio Hijack Pro. In the lower left corner (1), click the plus sign to add a new audio source for hijacking. Name it Ustream. In its input tab, make the Input Device (3) your microphone, and for Output Device(4), select Soundflower (2ch). Note that Soundflower will only be a selectable option if Soundflower is already running.

Now click on the Effects tab. Right click within any of the blocks labelled ‘click here to insert effect’ and select: 4FX Effect -> Application Mixer. This will place the mixer controls in one of the open effects blocks.

Now, click the Editor button on the effect controller(1) and the Application Mixer will pop open. In this dialog, click ‘select’ to pick the source of your music, in this case it’s iTunes. The Crossfade slider(3) controls the mix between your source (your microphone) and the Application (iTunes). In most cases you’ll want your mic to be louder so people can hear you. In the position in the diagram, the music volume is lowered in favor of the microphone volume. You’ll probably need to play with this to suit your own preferences. Your viewers will be able to give you feedback on what works best.

Now, start playing a track from iTunes and click the Hijack button(4). This effectively starts capturing the audio from iTunes. But wait, we just lost our music! Not to worry, just check the ‘Monitor Output’ box(5) and you’ll be able to hear the audio through your headset again. Feel free to close the ‘Application Mixer’ popup.

Now, click the main ‘Hijack’ button at the top of the Audio Hijack Pro window. You should see your audio meters start to move.

To summarize, what we’re doing here is using Audio Hijack Pro to capture BOTH your microphone audio and your music source in a way that you can mix them together. We’re outputting the merged Hijacked audio to the Soundflower virtual device, which we’ll be using as our audio source in Ustream Producer.

On to the next steps!

Open Ustream Producer. It’s beyond the scope of this tutorial to go too deep into setting up your video sources, etc. In my case, I have two video sources, my built-in camera and my desktop. To set up Ustream Producer to use your Hijacked audio stream, click Live Input(1) and choose Soundflower(2ch) as your audio source. Next, click on the Sound button(2) and select Live Input Microphone. At this point, your video sources should say Soundflower below them(3).

At this point, you should see your audio levels in Ustream Producer moving. Tap your microphone or clear your throat and you should see your microphone levels as well.

And that’s it! Hopefully these instructions all worked for you, but let me know if there are any problems with these steps. Also, for some reason I occasionally hear myself echo back to me a little bit, but my viewers don’t seem to notice. If anyone has any insight into why that might happen, shoot me a note or leave a comment.

Thanks, and let me know if this tutorial has been helpful to you.