I'm trying to build a very simple headphone amplifier for my bass guitar. The bass has a built-in amplifier, meaning that unity-gain is sufficient for my amplifier, I essentially only need a voltage buffer.

To this end, I've used an LM358 (because that's what I had laying around) and a BC547 / BC557 push-pull output stage. Supply voltage is 9V which is overkill, since my signal is no more than 2 Vpp.

The problem is, that the output signal that I'm hearing is quite distorted. I can hear the clean signal but there are some undesired high-frequency components as well. Using an oscilloscope I was able to verify that the distortion is not due to clipping. However, I don't have a function generator, so I can't test if the culprit is cross-over distortion (shouldn't be though, since I've added biasing) or if there's some parasitic oscillation going on.

Anybody see a problem with the circuit right away?

simulate this circuit – Schematic created using CircuitLab

Thanks

Edit: I've been able to get a hold of a function generator. Here's a new scope screen capture (10kHz sinusoidal input) which seems to show some funny business around the zero-crossing. Blue = input, purple = output

• There's a chance that it's oscillating due to phase shift between the transistors adn the output. There's also the fact that even on a bass, you'll have terrible crossover distortion. Edit your question with scope pictures, please -- it'll help us figure out the problem. If you have a 2-channel scope, post input vs. output while plucking the highest string -- it should settle out to nearly sinusiodal after a bit, before the note dies away completely. – TimWescott Apr 29 at 23:13
• Oh -- and as pictured, you're biasing RL with about 4.5V. That'll do odd things, for sure. You should have a DC blocking cap just to the left of RL. – TimWescott Apr 29 at 23:14
• Why do you have large capacitor directly to ground on the output? That will make it oscillate. – Kevin White Apr 29 at 23:24
• @TimWescott: I've added the output coupling cap to the schematic, I used one when testing the circuit, so that's not it. About the crossover distortion: Shouldn't the op amp's feedback loop take care of that, as it will keep the output equal to the input? Though I guess that would also depend on the op amp's slew rate? I'll add the oscilloscope plots when I get a chance. – Mathis Apr 29 at 23:39
• The TI data sheet for the LM358 lists the slew rate as $\frac{0.3\mathrm{V}}{\mu s}$. At crossover, the output needs to transition by about $1.2\mathrm{V}$ between the time that one transistor turns off and the other turns on. During that time, there'll be a flat spot. That's not much, but I suspect it'd be audible. I also suspect that there'll be some "bounce" as the op-amp catches up to the transistors working again. – TimWescott Apr 29 at 23:57