This instructable uses the guts from a busted USB headset, and a little amplifier board, to make a pretty nice sounding USB stereo amplifier for unpowered speakers (Nowadays there are a lot of nice stereo speakers to be had at garage sales). To my ears, this sounds WAY better than most computer sound systems, and ended up costing me less than $25.
I built this into a little cookie tin and added a volume knob and a pilot light, but these are optional.
It helps to have a little bit of soldering experience. The amplifier board is already built, but soldering wires onto the headset PCB can be tricky if it's really tiny. The one I used wasn't horribly small, but newer ones may be harder to work on.
Step 1: The USB Headset Dongle
Most USB headsets have a "dongle" where the electronics live. The USB cable goes in one end (the top in this picture), and the analog audio lines go out the other (bottom in the picture).
To find the right connections, you have two options:
1) Cut the cable to the headphones and find the right and left audio output wires. An oscilloscope helps here.
2) Carefully crack open the dongle and find the connections on the circuit board. If your lucky, the pads will be labeled. My board said "R, L, and G", but I checked them anyway.
You want to make sure you don't have the microphone line because that's an input and not an output.
You may have to trace out the board with an oscilloscope to find the outputs. Also, for this step I like to send out a sine wave because it's easy to see on an o'scope. What I did is plug the USB end into a PC and run Audacity (a free audio editing program), which lets you output sinewaves. Audacity has Windows, Mac, and Linux versions.
In my headset, the wires to the headphone were too fine to solder, so I removed them and used a different cable. You'll need a 2 conductor wire with a shield if you replace the audio signal wires.
Step 2: Amplifier Board
Now that you have a USB "DAC" ready, we need an audio amp. There are many low cost 10 watt or so amps on eBay or elsewhere. I chose a Sure Electronics 15W/channel board that can be had for less than $12. Search eBay for "TA2024 15W Stereo Mini T-Amp"
These amps have a loyal internet following, and if you want to go further and add some "golden ear" modifications, check out the DIY Audio Forum: http://www.diyaudio.com/index.php
You will also need a 12 Volt, 2 Amp power supply to power the board. I used a surplus wall adapter, but any clean 12V 2A supply will work.
Step 3: Diagram
Here's a block diagram of the hookup. It's pretty basic. As I mentioned before, you can add a volume knob and several circuit enhancements using info on the DIY Audio forum.
Step 4: Wrap Up
Here's the final hookup. Some additional points:
1) The speaker output "-" termnials are NOT the same a GND. They can't be connected to GND nor to each other. That means this amplifier board cannot be used for headphones, which usually have a common ground for right and left speakers. if you buy the same board I used, it will come with warnings about this.
2) I had some noise and had to change the plastic box shown holding the dongle to a metal one. I also connected this case to GND on the dongle PCB. If starting over, it would probably be best to put the dongle inside the amplifier box. That would also make a neater set up, but would require a longer USB cable and bit more soldering.
3) Sound quality - I'm not a "golden ear", but I know Hi-Fi pretty well and am aware of the typical issues that ruin sound. From what I can hear, the DACs in these headsets are pretty good, even in the cheap ones. The reason the headsets sound poor (Hi-Fi wise) is more due to the transducers than the electronics. When you grab the signal and give it to a decent amp and speakers, you far exceed what computer speakers can do.
4) On any reasonably late model Mac or Windows (I don't know Linux, but probably that too) you can plug in the USB plug from any headset and it should be instantly recognized as a USB audio device. You don't have to install any drivers or other software. You may however have to go into your computer audio or "Sound" settings (in "System Preferences" on Mac, or "Control Panel" on Windows) and select the "USB audio" output (or similarly named) device from a menu. On my no-name headset, it showed up as "Unknown USB Audio Device".
Have fun and don't throw out those busted USB headsets!!!