Surround Sound Decoder
A very simple two transistor surround sound decoder or vocal remover preamplifier based on two combined common collector and common emitter Class A audio amplifiers. This method of surround sound decoding simply isolates the out-of-phase audio in a stereo mix.
Source code and technical details: https://github.com/DaGooseYT/ss-decoder
Official video: https://youtu.be/4wfMt4YOYYA
Background:
This design was actually discovered by accident in an attempt to create a Class AB amplifier from scratch. I thought this circuit would be useful in future applications as it only uses two generic NPN transistors along with some passive components, unlike the op-amp circuit alternatives.
Objectives:
This design needed to invert at least one channel in a stereo stream and then combine the stereo channels so that the center channel is eliminated. This process is called phase cancellation. The center channel is represented in both the left and right channels which means if one channel is inverted and then combined with the other channel, both channels are [assumed] equal in amplitude but opposite in phase which will cancel the center and only the out-of-phase musical content will be present.
Since vocals in a traditional stereo mix are panned to the center, it is safe to call this design a kareoke or vocal remover circuit. You could also call this circuit a surround sound decoder as early means of decoding surround sound audio used similar methods.
Challenges:
While this design is a low cost and low power solution, it doesn't have much gain. The two transistors are configured with unity gain and so the effective gain of the entire application will mostly depend on the gain capabilities of the main amplifier.
This design is also not protected from electromagnetic interference. It can pick up digital noise from cellular devices such as cell phone. To mitigate this, two 1KΩ resistors can be placed between the inputs and AGND. Regardless, this design is also subject to power supply noise.
Other notes:
This circuit has also been used in DaGoose Box and early revisions of SMT-PBTS.