На ваш вопрос сложно ответить. Вы спрашиваете, существует ли программное приложение, которое выполняет эту функцию? Вы спрашиваете, как вы могли бы создать программное обеспечение для этого?
Ясно, что вы изучили проблему, чтобы понять, что звук будет отличаться в разных реальных условиях, что делает обнаружение более сложным.
Вы, вероятно, знакомы с такими приложениями, как Shazam, которые могут распознавать музыку через микрофоны мобильных телефонов. Я нахожу удивительным, насколько хорошо он может распознавать песни, несмотря на шумную среду, искаженное или сжатое / ограниченное аудио и другие артефакты. Очевидно, есть некоторые алгоритмы, которые используются для устранения этих недостатков звука.
Есть вопросы (или мысли), которые должен задать любой, кто пытается ответить на ваш вопрос:
- Каковы ваши требования к точности? Другими словами, должно ли приложение уметь обрабатывать дополнительный шум или другие вещи, которые в противном случае мешают легкой идентификации?
- Вы знакомы с обработкой звука, такой как та, которую конечный пользователь может иметь с SoundForge или Audacity? Если вы знакомы с тем, как компьютеры хранят и обрабатывают аудио, вам будет легче оценить качество или производительность существующего программного обеспечения или, по крайней мере, получить преимущество в создании собственного программного обеспечения.
- Какой микрофон используется? Советы могут отличаться в зависимости от качества и расположения микрофона. В этом отношении, звуковой излучатель также может быть важен. Это будет мобильный телефон? Еще одно электронное устройство? С какого расстояния? Излучатель всегда будет одним и тем же устройством или будет отличаться? Знание этих вещей поможет немного сосредоточиться на том, нужно ли вам простое или сложное решение.
- Вы упоминаете эффект Доплера в своем вопросе, который поднимает вопрос о том, на каких скоростях может двигаться детектор или излучатель. Другими словами, сколько доплеровский сдвиг , как ожидается, и какие ограничения должны приложение следует ожидать , чтобы исправить его?
- Вы упоминаете, что издаваемый звук может быть предварительно записан или "в реальном времени", что предполагает, что человек может издавать звуки с помощью клавиш или кнопок какого-либо рода. (Это похоже на то, как тоны DTMF работают в телефонных системах, упомянутых ниже.) Это также подразумевает, что продолжительность тонов и промежутков в звуке может варьироваться.
- Если вы собираетесь писать свое собственное программное обеспечение, вам, вероятно, придется разбить этот проект на небольшие этапы и определить конкретные, в которых вы не уверены. Конкретные вопросы по программированию можно задать на StackOverflow.com. Но определенно избегайте спрашивать обо всем проекте сразу!
Существует множество программных приложений и электронных устройств, которые могут обнаруживать тоны, такие как тоны DTMF (из телефонных систем), вы можете исследовать это как место для начала (на основе монофонических тонов в вашем примере аудио).
Я надеюсь, что некоторые из вышеперечисленных пунктов помогут немного сосредоточиться и, возможно, побудят вас отредактировать свой вопрос, чтобы предоставить более подробную информацию. Целые книги были написаны на тему распознавания звука цифровыми системами. Удачи с вашим проектом.