В первую очередь, я очень новичок в аудио, поэтому, пожалуйста, потерпите меня =)
Я пытаюсь интерпретировать аудио сигналы в AVR (это классическая плата myAVR MK2). Теперь обычно сигнал прерывания всегда является своего рода переключателем. Так что, если я нажму этот swich, перейдите в этот интервал.
Моя цель — интерпретировать аудиосигналы через микрофон в плату и заставить плату реагировать на это. Мой первый вопрос заключается в том, что при отправке сигнала с микрофона нужно ли вводить его через аналого-цифровой преобразователь, поскольку технически это сигнал с задержкой ??
Мой второй и более сложный вопрос: как бы я на самом деле интерпретировал поступающий аудиосигнал?
Например, если я кричу «ЗЕЛЕНЫЙ», то, что бы программа ни делала, должно быть остановлено, должно быть вызвано прерывание и загорелся зеленый светодиод. Теперь микрофон всегда включен … как мне управлять, чтобы, только если было сказано ЗЕЛЕНЫЙ, посылается сигнал прерывания. Я не хочу, чтобы он постоянно входил и выходил из интерпутов только потому, что кто-то шумел …
Должен ли я сохранить «ЗЕЛЕНЫЙ» как битовую комбинацию где-нибудь и сравнить входящий сигнал с сохраненными битами … или ??
Некоторые ответы:
...do i have to put it through the A/D Converter, since technically it is an anolag signal ?
Да, цифровые чипы могут жариться при воздействии аналоговых сигналов.
Помните, что после запуска АЦП может возникнуть задержка до того, как сигналы будут точными.
how would i actually interpret the audio signal coming in?
В основном у вас есть цифровые значения, поступающие с частотой. Вам нужно будет сохранить эти значения, а затем проанализировать их. Вы должны поменять емкость / использование памяти на точность. Чем больше образцов вы берете, тем лучше ваши данные и результаты; но это занимает больше памяти.
Вам также необходимо отфильтровать шум от сигнала и от многослойных звуков.
Вы можете получить некоторые преимущества от исследования БПФ.
Вы должны сравнивать, используя «нечеткую логику», потому что в реальном мире нет ничего точного; например, ваш голосовой сигнал может иметь значение +/- 30 и при этом быть «правильным».
Других решений пока нет …