Record greeting card audio

Here's one of those noob questions. There's this birthday card I got for my birthday. It has circuit that plays a song upon pressing a button. The circuit outputs the audio to a simple plastic speaker. I'd like to know if there's a way to save the audio output to a file using my Arduino. To be clear, I'm not talking about a reverse engineering nor reprograming the circuit, just saving the audio output to file.

The point of this experiment is to replicate the sound output, not simply record the audio which, as few have pointed out, can be done simply with a smartphone. I'd like to apply the same solution to record the audio output from other such toy like devices.

Many thanks!

A microphone wouldn't work? PC or cell phone...

1 Like

Audacity, running on a laptop, can record from the microphone.

1 Like

Not really an Arduino question...

You can record it acoustically with a smart phone or with the microphone built-into a laptop... :wink: It might be a good idea to do that NOW before the battery dies (if the battery is not replaceable).

If you have a desktop computer with a regular soundcard you can tap-into the speaker connections and connect to the line-input on the soundcard. (The microphone input on a laptop is too sensitive.)

If you know the song or if you can figure-out the notes you can look-up the notes to re-create it on the computer or on the Arduino.

You can get a USB audio interface with line-inputs but It's probably not worth the cost for joke. (Don't buy a regular "USB soundcard" because they are like laptops with only mic-in and headphone-out.)

That would be unusual. Usually it's a piezo transducer. An 8-Ohm speaker takes more power, it's bigger & heavier because it has a magnet and voice coil, and it's more expensive.

P.S.
Usually those cards are playing "tones" like the Arduino tone() function. Each note just takes one byte (plus maybe another for duration) instead of the kilobytes or megabytes that it takes for audio. And with "simple tones" you don't need a DAC.

1 Like

Well, of course I could record it with a smartphone or the like, but the sound quality coming out of the speaker isn't great. My aim is to replicate the sound as it comes out of the circuit. I did manage to wire the output to an ADC pin in my Arduino and read the values in a loop, I thought I might be able to somehow translate the on and off signals to some form of audio file. I realize now that the voltage is changing as well, so that won't work.

The speaker is (or at least looks identical) to this Thin Plastic Speaker w/Wires - 8 ohm 0.25W : ID 1891 : $1.75 : Adafruit Industries, Unique & fun DIY electronics and kits. You have a point that it might be too much effort for the joke, but I'd be interesting in finding a method to do the same thing with other such toys, plus, isn't Arduino as much about experimenting than it is to find practical solutions? :slight_smile: . Thanks to all for your suggestions.

Maybe you can play it to one of these music recognition apps, like Shazam? It may point you to a high quality version of the song.

I'm guessing you haven't taken apart as many throwaway sound making greeting cards as I have. :expressionless:

a7

I'm curious about this. Do many greeting cards actually have magnet/coil speakers?

Sample of one person reporting here: many cards opened up (curiousity plus being ultra cheap)…

It is not unusual to find a thin PM 8 ohm 0.25 mW transducer in there.

Maybe my correspondents are sending me higher end sound making cards. :expressionless:

a7

Plenty of images on the web show speakers in talking cards.

This one is supposedly from Hallmark:
Capture

Here’s my card

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.