Онлайн сравнение двух аудио файлов

Поэтому я надеялся сравнить два аудиофайла, один у меня на телефоне Android, а другой - тот же, который я хочу записать через микрофон.

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

Потратив целый день, пытаясь заставить мой телефон на Android записать wav-файл, который совместим с библиотекой musicg, и не смог разобраться во всех примерах, которые я видел здесь, о простой записи пригодного wav-файла. Я надеялся, что может быть какой-то онлайн API или ресурс, который я мог бы просто загрузить два аудио файла и получить значение, основанное на сходстве?

Я пробовал поискать в Google, но я только сравнивал музыку артиста и надеялся, что кто-то здесь узнает что-то большее?

(Пожалуйста, обратите внимание, что, к сожалению, у меня не останется времени на то, сколько мне понадобится, чтобы на самом деле понять какие-либо методы БПФ или что-нибудь для реализации моей собственной)

1 ответ

Решение

В одном из моих проектов я тоже искал в Google библиотеки для сравнения звука, но Динт ничего не нашел, и, к счастью, я нашел ту же библиотеку musicg и использовал ее в своем проекте.

Но это дает хорошие результаты для твердых звуков, таких как дверной звонок, гудок, сирены и т. Д., И для сравнения голоса не даст ожидаемых результатов.

Для файлов длинного размера требуется много времени, но для моего проекта эта библиотека была подходящей, поэтому я использовал ее. Вот пример кода для сравнения двух волновых файлов.

// create a wave object
Wave wave = new Wave(path1);
Wave wave1 = new Wave(path2);
FingerprintSimilarity fingerprintSimilarity = wave.getFingerprintSimilarity(wave1);
float score = fingerprintSimilarity.getScore();
float similarity = fingerprintSimilarity.getSimilarity();
Log.d("Similar sound :", "Score : " + score + "\n  Similarity : "+ similarity);

Ссылка1 Ссылка2

надеюсь это будет полезно.

Другие вопросы по тегам