Go Down

Topic: Arduino Sound / Audio on standard RCA plugs (Read 4303 times) previous topic - next topic

RET80

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.

UnoDueTre

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.

UnoDueTre

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.

RET80

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.

UnoDueTre

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

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?

Quote
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.)

RET80

#6
Dec 19, 2013, 12:10 am Last Edit: Dec 19, 2013, 12:17 am by RET80 Reason: 1

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?

Quote
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?

UnoDueTre

#7
Dec 19, 2013, 01:25 am Last Edit: Dec 19, 2013, 01:35 am by UnoDueTre Reason: 1
Try this:
(I assume your Arduino is a 5V one and not 3.3V)


Go Up