Think of the PC speaker as a device attached between +Vcc (usually 5V but it can be 3V) and a switch that grounds it periodically (the chipset output). Now if you make a programmable small value resistor and attach it between +Vcc and the speaker wire that was previously connected to +Vcc you have volume control. The resistor can be a PNP/PNP current mirror for example, controlled by a microprocessor. That should work nicely (excepting for the P=R*I^2 law which you must turn into a log law to satisfy human requirements for volume control - for example using a lookup table). Maximum expected current is 0.6A which is in range for almost all simple low power transistors. hope this helps, Peter -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist