Arduino Sound / Audio on standard RCA plugs

I noticed that if I use the sound functionality on the Arduino, only Piezo buzzers work, right now I've been developing a console and I have video output working, but not audio. Every time I use the standard audio functions with the Arduino IDE, once I've hooked it up to a NTSC / PAL TV monitor, all I hear is a light 'popping' noise of the pins going high, but no sound.

I'm using just the standard RCA style plugs to connect to one channel of audio (mono). What am I doing wrong?

While I'm on that subject, I'd love to have more than one channel of sound (possibly just 4 channels of audio mixed together) how possible is that?

Or better yet, if I use a PWM pin, couldn't I adjust the frequency of sound?

I'm using an Mega ADK, so I have a lot of IO available.

As regards your "popping" sound, that is due to DC or very fast transitions in the audio. (assuming of course there actually is audio being generated).

The best way to get rid of the "pop" is to AC couple the audio and secondly always try to ramp the level instead of abruptly going from one level to another. Investigate the use of a filter (with a short time delay) to smooth out the pwm.

One also often hears "pops" when playing an audio clip in a loop if any sounds at the end or start of the clip have short loud passages followed by very low one or vice versa.

Getting more than one sound channel may be do-able depending on exactly what kind of sounds you are after, I'm not too sure.

Compare the two short wav audio clips I have attached.
Play each one in a loop then look at the clips in a program like Audacity or Cool Edit to see exactly why the one has a “pop” in it.

Hello_with_pop.wav (16 KB)

Hello_no_pop.wav (18.5 KB)

I'm sorry, I should clarify, all I am getting is a pop sound, and no other audio, but if I put it to a piezo buzzer, I'll get some kind of output

So I'm trying to figure out why I am getting no sound generation coming to the television set.

Haa, OK, how is the buzzer connected? From the pin to ground or to supply?

If you have an "audio" signal out of the Arduino, a line-level "RCA" input should work. The 0-5V signal is actually quite "hot" and might over-drive (distort) a line-input. It wouldn't hurt to put a capacitor in series with the output. That will block the DC component, giving you an AC signal that goes (approximately) -2.5V to +2.5V. It's possible that the DC is fouling-up the monitor's internal circuitry. A pot/volume control wouldn't hurt either.

Is that a piezo buzzer or a piezo transducer? A buzzer produces it's own sound when power is applied. A transducer is like a speaker, and you have to send it an audio signal.

Have you tried another source to make sure the monitor is producing sound? Are you sure that RCA jack is an input?

While I'm on that subject, I'd love to have more than one channel of sound (possibly just 4 channels of audio mixed together) how possible is that?

From different sources? The Arduino plus 3 other sources? For that, you'll need a mixer. You can build a passive mixer with resistors (or pots) but you'll get signal loss as you add more inputs. You can buy a small mixer, or you can build one. A "summing amplifier" is easy to build with an op-amp. (Audio mixers are built with summing amplifiers.)

DVDdoug: If you have an "audio" signal out of the Arduino, a line-level "RCA" input should work. The 0-5V signal is actually quite "hot" and might over-drive (distort) a line-input. It wouldn't hurt to put a capacitor in series with the output. That will block the DC component, giving you an AC signal that goes (approximately) -2.5V to +2.5V. It's possible that the DC is fouling-up the monitor's internal circuitry. A pot/volume control wouldn't hurt either.

Is that a piezo buzzer or a piezo transducer? A buzzer produces it's own sound when power is applied. A transducer is like a speaker, and you have to send it an audio signal.

Have you tried another source to make sure the monitor is producing sound? Are you sure that RCA jack is an input?

While I'm on that subject, I'd love to have more than one channel of sound (possibly just 4 channels of audio mixed together) how possible is that?

From different sources? The Arduino plus 3 other sources? For that, you'll need a mixer. You can build a passive mixer with resistors (or pots) but you'll get signal loss as you add more inputs. You can buy a small mixer, or you can build one. A "summing amplifier" is easy to build with an op-amp. (Audio mixers are built with summing amplifiers.)

Thank you for the information. I didn't know what the voltage range for a TV set is. As for a piezo, its just a normal one. I have tried plugging external speakers to it and the results were the same as the TV set - no audio.

So you say, a solution would be to hook up capacitors in series? what not a resistor to limit the voltage? or a DAC?

And as for multiple channels, I actually don't want to turn this device into a mixer. Think of a gameboy or old Nintendo where it had about 8 channels worth of sound. I'd like to turn 4 pins (4 channels) on the board, with just 4 resistors (non-pot) if that works.

And in regards to all of these resistors and caps that have been mentioned, what kind of uF and ohmage would you recommend?

Try this:
(I assume your Arduino is a 5V one and not 3.3V)

BuzzerToLineOut.jpg