What can be done with audio input and output?

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've been thinking about trying to add some audio input and output to my robot. For output I was thinking I'd just use a piezo speaker. I understand those are very low current and just need a PWM signal, so they are a good fit for me.

But what about input? What can be done with reading in from a microphone and interpreting that data? I was thinking I'd either do this on an AVR (ATMEGA168) or ARM (AT91SAM7X256).

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,
A cheap piezo speaker generally has a fundamental center frequency, the roll ofs on either side are very steep making it useful as a buzzer , which if this is all you need it will be ok.

It sounds like on the input side you are looking to do voice recognition, there are some chips you can interface to such as the HM2007 which requires SRAM and can be trained to understand up to 40 words (at least so it says, ever tried to recall names from a mobile by voice recognition and how well that works ). This can be controlled by the AVR.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Someone (I believe that it was svofski) was doing something with simple voice recognition. Unfortunately I think that it was in the Off Topic forum, so it might have been culled out.

Regards,
Steve A.

The Board helps those that help themselves.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think that AVRs are simply too slow to handle audio processing
of this sort :(

You can control an AVR using a simple audio code like morse though.
The AVR can easily decode something like morse code...use a chip like the
LM567 tone decoder....use component values that set its audio bandwidth
wide and you could send commands by whistling...set it narrow and send
codes using a small audio beeper you could easily build :)

Using CW instead of english to control your bot means it will be a long
way from an R2D2...but it at least is do-able using only an AVR as processor
and the code is very simple to decode morse.

The atmega168 would be perfect for such a setup...the 168 is my fav chip
by the way :)

A slow interrupt that hits only 20-50 times a second is fine for slow morse decode...just see if the LM567 is detecting the tone or not each time the interrupt hits....this is all the input you need for detecting morse...once you have this data it's a simple matter to recognize the pattern of each morse character...and the space between dits and dahs, between characters, between words. And , of course, outputing morse characters to a small speaker is a very simple matter.