Сравнение аудио Java - PullRequest
       2

Сравнение аудио Java

0 голосов
/ 08 марта 2011

Я создаю Android-приложение для музыкантов, потому что я в группе и вижу, что мне нужно что-то в этом роде, но я не смог найти то, что могло бы делать то, что я хотел, и мне было интересно, как кто-то сможет принять участиес микрофона.Превратите этот вход в файл и сравните его со всеми предварительно записанными звуковыми файлами в базе данных, чтобы определить ноты или аккорды, которые воспроизводятся.У меня нет проблем с получением входных данных, но я поставлен в тупик, как можно сравнить один звуковой файл с другим по частоте или что-то в этом роде.Я до сих пор не смог найти ответ, который действительно мог бы использовать для решения этой проблемы, а также я не смог найти библиотеку Java, которая обрабатывает сравнение звука.Я знаю, что это чрезвычайно сложная задача, но я также знаю, что это можно сделать, и хотел бы попробовать.Если бы кто-то мог дать совет, ссылку на библиотеку, которая могла бы сделать такую ​​вещь, или даже если кто-то уже сделал это и мог показать мне, как именно это сделать, я был бы чрезвычайно благодарен.Спасибо за ваше время, и любые отзывы приветствуются!

Ответы [ 2 ]

2 голосов
/ 12 сентября 2012

Я рекомендую вам проверить API music-g, выпущенный Google.Это библиотека с открытым исходным кодом, написанная на Java, которую вы можете интегрировать с приложением Android.Это обеспечивает метрики звукового сходства.

http://code.google.com/p/musicg/

1 голос
/ 08 марта 2011

Хотя я не думаю, что мы можем закрыть как дубликат (поскольку это не так, технически), пожалуйста, сделайте поиск перед публикацией.То, что вы спрашиваете, относится не только к вашей платформе, но и к типам алгоритмов, которые вам нужно реализовать.

Из моего поста здесь: Как я могу в реальном времени обнаруживать высоту тона в .Net?

См. Эти ссылки: http://cnx.org/content/m11714/latest/

http://www.gamedev.net/community/forums/topic.asp?topic_id=506592&whichpage=1

Кажется, что строка 48 в Spectrum.cpp в исходном коде Audacity близкак тому, что вы хотите.Они также ссылаются на документ IEEE Толонена и Карьялайнена.

По сути, вам нужно начать с некоторого БПФ, но это гораздо сложнее.Я думаю, вы обнаружите, что почти невозможность этой задачи (особенно для всей группы, нечеткого источника входного аудиосигнала и т. Д.) Сделает этот проект не стоящим.Психоакустика, особенно с искаженными гитарами, сделает это очень трудным.

Есть тонны действительно твердых сообщений на эту тему здесь: https://stackoverflow.com/search?q=pitch+detection

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...