Я хотел бы написать небольшое приложение в VB.NET, которое обнаружит крик ребенка. Как я начну с такого приложения?
Развлекательный ребенок с VB.NET
Ответ 1
Моя мысль: если вы можете получить доступ к необработанным данным микрофона:
- В среднем установите и удалите все шумы вне стандартного отклонения (это избавится от большинства фоновых шумов)
- Нормализовать набор данных
- Фокусировка на более высоких тонах
- Настройте программное обеспечение для регистрации события на громких тонах в диапазоне частот
В зависимости от количества усилий, которые вы хотите бросить в это: вы можете использовать байесовские или нейронные сети, чтобы определить, был ли звук ребенком или нет. Это сделало бы программу немного более сложной, однако она попыталась бы успокоить упомянутого ребенка, когда ребенок не захочет быть.
Ответ 2
Системы обработки звука обычно используют очень много математики для обработки данных и вывода информации из необработанных потоков. VB.NET, возможно, не самая лучшая платформа, когда дело доходит до использования математики и API ввода, которые обеспечивают высокое качество результатов и производительности.
Обработка сигналов значительно сложнее, чем просто применение алгоритмов в надежде на то, что приложение работает. Вам действительно нужно планировать, что вы хотите делать, как действовать и что самое главное, как проверить свои результаты, чтобы проверить полезность программы.
Получение ввода от микрофона довольно просто. Анализ сырого wav можно сделать простым, если вы можете определить ключевые характеристики крика младенцев. Рекордные дети плачут. Что общего? Это изменение высоты, продолжительности? Как только вы узнаете, что общего, затем найдите алгоритм, который может идентифицировать это изменение в серии изменяющихся значений. Есть много алгоритмов, которые могут найти диапазон изменений в серии чисел.