I just recently started thinking about playing sound effects/music over voice chat, and I came up with this Mac OS X-only solution; it's nastily complicated, but it's pretty powerful, so I thought I'd post. This may not be the best way to set this up--there are some other programs that I haven't played with yet that I suspect may simplify matters substantially, like JACK
, and SeqCon
--Edit-- As expected, JACK makes everything much simpler, no cables or specific equipment required. Just hook everything into JACK, route your microphone and sound effects program into AU Lab's inputs, route AU Lab's output to your voice chat program's inputs, and you're done. This solution should also work on other platforms, provided you can find a digital mixer program similar to AU Lab.
Programs / Equipment required:
-USB audio device with 1/8" input and line output (I'm using a Griffin iMic).
-1/8" stereo patch cable.
-A Mac with line in/out.
-Some sort of microphone with 1/8" output (which must be the same type of output as the USB audio adapter's input); this can be a non-USB headset.
-Apple's AU Lab program (comes free with Developer Tools--steep learning curve).
-Ventrilo or whatever voice chat software you prefer.
-Headset microphone cable --> iMic microphone input
-Headset headphone cable --> Mac headphone output
-iMic line out <--> Mac Line In via 1/8" stereo cable
-In AU Lab, start a new document using the iMic as your input/output sound device (sadly, AU Lab is limited to using the same device for input/output, hence the patch cable).
-Set voice chat software to use the Mac's Line In input.
-Add real-time effects like reverb and echo to your voice and any sound effects you play.
-Loop sound effects in the background, and set the volume and effects for each sound file individually (so you can have dripping water in a cave have reverb, but ominous music not).
-Play multiple sound effects at the same time.
-Plenty of AudioUnits effects plugins available on the internet.
-Sound effects are mixed together with your voice, so you can adjust the levels until you are audible to your players.
-No added software needed for your players.
-Doesn't allow you to apply effects to your players' voices. You could mimic this by setting up a separate computer with AU Lab, and having that computer log into the Vent server as a dummy user, apply effects to everything coming in over Vent, and then spit it back out over Vent (if you did that, I think you could just use SoundFlower
for input/output on the dummy computer, and avoid all the patch cable nonsense). If you had all your players mute everyone except the effects computer, they'd hear the effects you applied to the players' voices along with any background effects, so you could add reverb to everyone's voice and play dripping water in the background to mimic a cave, for instance. The main problem with this is that the player who is talking would hear themselves talking with a delay, which can get really annoying. You might be able to mitigate the problem if you had the effects computer output only the reverb (i.e. 100% wet mix in AU Lab), because then the person speaking would only hear their own reverb, although it would still be delayed.
This may have just been an pointless exercise in audio geekery, but hopefully someone will find it helpful.