How can I mix audio from separate devices and output to one device? I have a USB audio interface which I use for recording. When I use some recording app (like Audacity), I can select the USB interface from a drop down menu, which will tell Audacity to use that device for audio input.

Sometimes I want to record from that device, and also add voice-over using my computer's internal microphone. I cannot record from more than one device simultaneously using Audacity (as far as I know), so I'm looking for a program to mix the inputs first.

I have the Soundflower driver installed, so all I need is a program where I can select both my USB interface and my internal microphone for input, and select the Soundflower device for output. That way, I can select the Soundflower device as input in Audacity to record the pre-mixed audio.

Is there such a program, and am I on the right track (no pun intended)?
I have a similar need when recording Skype calls. My setup is somewhat different, but the fundamentals should work for your setup. Best of all, you can do it without buying any specialized applications. Rogue Amoeba has a great application called Line In that will allow you to pipe your system's inputs to whatever outputs you are available, including Soundflower. 


Go to System Preferences -> Sound: 


Select internal mic as your input if that's what you want to use as your second device. Your output is probably headphones if you're recording. Select that.

Start Soundflower. 


Click the menu bar icon. Select Audio Setup from the bottom of the popup menu 

This will bring up the Audio MIDI setup application. From here, you'll create an "Aggregate Device," which is accomplished by clicking the + icon in the lower-lefthand corner. 


I've attached a screenshot so you can see how what the Aggregate Device I've setup here looks like. Your USB input should show up in this menu - add it as an input, along with your internal mic. Don't sweat the output part (that's in the next step).
Please note that the settings in this screenshot are not meant to be representative of how you should configure this on your machine, and are just for a visual cue. 


Start Line In: 


Set your input as the Aggregate Device you created, and pass that as output to Soundflower (2 Ch). When you're recording, you can select "pass thru," which will allow you to monitor the audio. Nice.
 

Finally, fire up Audacity, and make sure Soundflower is selected as the input. This should create a chain that ultimately pipes your inputs into Audacity. 


I hope this helps, and good luck!