Сравнение двух форм звуковых файлов - PullRequest
4 голосов
/ 12 октября 2011

Я - разработчик VC ++ и в настоящее время нуждаюсь в помощи при сравнении двух аудиофайлов.Допустим, у меня есть два волновых файла, и один из них создается с использованием другого с некоторыми изменениями, такими как снижение громкости и т. Д.

Теперь я должен сравнить эти файлы и посмотреть, является ли измененный почти копиейоригинальный означает, что при создании измененного мое приложение по незнанию не исказило файл.

Процентное значение было бы лучше указать, насколько эти файлы различны.Я попытался взять FFT обоих файлов, а затем вычислить разницу в дБ (например, 10 * log10 (ft1 / ft2)) и усреднить результат.я получил результирующее число, но я не уверен, что означает это число.

Заранее благодарен за любую помощь.

1 Ответ

0 голосов
/ 12 октября 2011

Число, которое вы получаете, на самом деле ничего не значит, кроме того, насколько похожи спектры.Существует так много способов изменения аудиофайла и так много способов их сравнения, что невозможно дать общий ответ.Если вы точно знаете, какие изменения сделаны, вы можете сделать разумную работу.Например, если вы знаете, что единственная модификация состоит в том, что объем был изменен с постоянным коэффициентом, тогда, если вы возьмете в квадрате величину FFT и нормализуете ее (то есть измените масштаб так, чтобы пик был 1,0), тогда это будет идентично дляоригинальные и модифицированные сигналы.Вы можете вычислить сумму разностей двух величин БПФ, но это просто число, и вы не можете преобразовать его в процент любым значимым способом (что это значит, если я говорю, что два звука отличаются на 30%?)

Так что я бы отступил немного назад и решил бы проблему, которую вы на самом деле пытаетесь решить.

...