Вы должны определить пиковую частоту и длительность (возможно, минимальную мощность за эту длительность для частоты ( RMS - простейшая мера)
Это должно быть достаточно легко измерить.чтобы сделать вещи еще более умными (но, вероятно, совершенно ненужными для этой простой задачи сопоставления), вы можете утверждать о несуществовании других пиков в окне звукового сигнала.
Обновление
Для сравненияполный аудио фрагмент, вы захотите использовать алгоритм свертки . Я предлагаю использовать готовую библиотечную реализацию вместо того, чтобы развернуть свою собственную.
Наиболее распространенные алгоритмы быстрой свертки используюталгоритмы быстрого преобразования Фурье (БПФ) с помощью теоремы о круговой свертке. В частности, круговая свертка двух последовательностей конечной длины определяется путем взятия БПФ каждой последовательности, умножения по точкам и последующего выполнения обратного БПФ.затем эффективно реализуются вg этот метод в сочетании с нулевым расширением и / или отбрасыванием части выходных данных.Другие алгоритмы быстрой свертки, такие как алгоритм Шёнхаге-Штрассена, используют быстрые преобразования Фурье в других кольцах.
Википедия перечисляет http://freeverb3.sourceforge.net в качестве кандидата с открытым кодом
Редактировать Добавлена ссылка на страницу учебника API: http://freeverb3.sourceforge.net/tutorial_lib.shtml
Дополнительные ресурсы:
http://en.wikipedia.org/wiki/Finite_impulse_response
http://dspguru.com/dsp/faqs/fir
Существующиепакеты с соответствующими инструментами в Debian:
[brutefir - a software convolution engine][3]
jconvolver - Convolution reverb Engine for JACK
libzita-convolver2 - C++ library implementing a real-time convolution matrix
teem-apps - Tools to process and visualize scientific data and images - command line tools
teem-doc - Tools to process and visualize scientific data and images - documentation
libteem1 - Tools to process and visualize scientific data and images - runtime
yorick-yeti - utility plugin for the Yorick language