Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a PC application that runs on Windows 7 platform that is designed to play sound to up to 10 different MP3's to up to 10 separate sound cards (ie. 10 different inputs playing to 10 different output channels - all at same time). This software was actually designed to play translations of a lecture to foreign students.

The problem we have is the hardware implementation. Obviously, you can't fit 10 sound cards into standard pc, so we have been using external usb sound cards attached to the back of the pc via usb hubs, then headphones are plugged into the external sound card. This all works.. but there are issues / problems. They are:

  • We end up with a mass of complicated / confusing cabling behind the pc (usb in pc -> usb hub , each hub then connecting to usb sound cards (via a cable), then headphones). This tangle causes problems
  • The mini usb sound cards can be unreliable, and we get failures
  • If a usb is accidentally unplugged, Windows loses track of which channel goes where.

The good thing about the above architecture is that it is very inexpensive (usb sound cards are less than $20 each).

So, my questions are:

  • Can anyone think of a better architecture to deliver 10 channels to 10 sets of headphones?

  • Could we somehow extend the number of pci slots on the pc perhaps, and run 10 proper sound cards?

share|improve this question
Not sure on reliability but have you thought of running Wireless headphones to help decrease the amount of cords? – L84 Aug 13 '11 at 23:29
Thanks. Yes thought of that.. but this also adds complexity (batteries, 10 different radio frequencies, transmitter for each)... still doesn't solve / alleviate the tangle / complexity of having 10 external sound cards & all of the wiring). Thanks for the idea though. – user39013 Aug 13 '11 at 23:34
I find this question interesting and doing a bit of looking. Came across this article (not sure it can help but thought i would share) - – L84 Aug 13 '11 at 23:42
Thanks will read that. – user39013 Aug 14 '11 at 0:04

PCI Sound cards usually have 6 channels, and sometimes 8 channels of audio they can deliver. This means that if you can alter your application to play MP3s to specific channels on a soundcard rather than just the soundcard, you could probably do it with just two PCI cards rather than 10.

Of course, this doesn't help with cord complexity, and possibly may even make it slightly harder, as there's less room to label a 3.5mm port on a soundcard rather than a USB device. It does however mean that if a cord is accidentally disconnected, it should just need to be plugged back in, and it will keep playing the audio, as compared to a USB cord being accidentally removed, where the entire device will be removed and possibly not get put back in the same place, on a driver level as well as physical.

share|improve this answer
Thank you for your answer. This would be perfect, I don't think labelling would be a large problem. – user39013 Aug 14 '11 at 9:06
Thank you for your answer.. I had no idea that this was possible. This would be perfect. I wonder how one addresses these channels in software ? Perhaps via API supplied by card manufacturer ? I imagine the card only appears as a single device... currently our code talks routes each sound channel to a sound card device.. now it would need to route to a channel of a single device instead. This would be excellent if we can achieve this.. thank you very much again. – user39013 Aug 14 '11 at 9:12
I doubt you'd need (or even be able to get) a specific API from the manufacturer. The regular windows API should be able to handle it. After all, many games are written that use positional audio for sound effects, and at their base, it's just playing audio to specific channels at different volumes, which means you must be able to address specific channels in a standard programmatic way. – camster342 Aug 14 '11 at 11:48
Thanks for that... it is very helpful. Bazza. – user39013 Aug 15 '11 at 5:44
Would it be feasible to plug in a set of headphones (with mono adapter) to each output ? Or would that be too bigger power drain for the audio card - I assume it would ?? And therefore I would need to feed into some sort of headphone amplifier (eg.…) ? – user39013 Aug 15 '11 at 6:19

This is quite a specialist area - we have used M-Audio products for similar needs - for example:

enter image description here

share|improve this answer
Excellent. Thank you.. I will look at the m-audio cards. Bazza. – user39013 Aug 15 '11 at 5:44

If you wanted to go more upscale you could use a Dante Virtual Sound Card to put audio out of the PC over Ethernet and fan it out using a device like the Whirlwind ES4R Digital Snake with a Dante card to receive the audio. This would give you one (Ethernet) cable out of the PC to 16 analog outputs.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .