2013-12-12 59 views
0

抬起头,我是很新的音频所以请原谅=)麦克风专用信号激活interupt

我试图解释的音频信号转换为AVR(其经典myAVR MK2板)。现在通常,中断信号总是某种开关。所以如果我按下这个开关,进入那个中间点。

我的目标是通过麦克风将音频信号解释到电路板中,让电路板对此作出反应。我的第一个问题是,在发送麦克风信号时,是否必须将其通过A/D转换器,因为从技术上讲,它是一个非线性信号?

我的第二个也是更复杂的问题是,我会如何解释音频信号进来?

例如,如果我尖叫“绿色”,那么应该停止程序正在做的事情,应该调用中断程序,并且绿色LED应该亮起。现在,麦克风始终处于预备状态......我如何进行控制,以便只有在绿灯亮起时才发送中断信号。我不希望他经常进出interupts只是因为有人发出一些噪音...

我是否需要将“绿色”保存为位组合,并将输入信号与保存的位进行比较.. 。 要么 ??

+0

语音识别很困难,在AVR上做这件事很难,但有人用[uSpeech]管理它(http://arjo129.github.io/uSpeech/) – Bojangles

+0

无限制的语音识别很难;你在处理数以万计的单词和整个句子。这个特定的情况(命令识别)要容易得多。仍然投票结束,因为这太宽泛了。它缺少对音频,模拟/数字信号,数字音频处理,模式识别以及最终嵌入式开发的基本理解。对不起,这是你需要阅读的5本书。 – MSalters

回答

1

某些答案:

...do i have to put it through the A/D Converter, since technically it is an anolag signal ? 

是,当暴露于模拟信号的数字芯片可以炒。
请注意,在信号准确之前,启动ADC之后可能会延迟一段时间。

how would i actually interpret the audio signal coming in? 

基本上你有数字值进入一个频率。您需要存储这些值然后进行分析。您必须交换内存容量/使用的准确性。您采用的样品越多,您的数据和结果就越好;但是这占据更多的记忆。

您还需要滤除信号和分层声音中的噪音。

研究FFT可能会带来一些好处。

你应该使用“模糊逻辑”进行比较,因为在现实世界中,没有什么是确切的;例如你的语音信号可能是+/- 30计数,仍然是“正确的”。

+0

对不起,更多的样本不一定会改善结果。噪声滤波不再需要(这是使用噪声敏感模式的原始模式识别算法的问题)。傅立叶变换可能不够强大,小波变换效果更好。 – MSalters

+0

哟感谢兄弟。我猜其他人也是对的,我错过了太多的基本知识甚至开始这一点。然而,你给了我一个基本的基础(这是我所期待的)谢谢@Thomas和其他人:) :) –