Как работает популярное приложение Shazam
Просто из любопытства, потому что я всегда удивлялся этому. Как работает приложение Shazam? Я знаю, как его использовать, я говорю с точки зрения программирования. Как приложение слушает какую-либо часть песни и затем дает вам результаты? Очевидно, что он получает информацию о своей песне из базы данных, но нет никакого способа, которым кто-либо мог бы ввести каждую песню, известную человеку в этой базе данных. Кроме того, как Shazam не постоянно обновляется все время? Новые песни постоянно выпускаются, но у Shazam уже были запрограммированы будущие песни. Это просто ошеломляет меня, и я просто хотел бы знать, как именно все это работает. Я знаю, что это не вопрос помощи, но кто-то может уточнить? Спасибо!
2 ответа
Они не много говорят о ссылке, размещенной на сайте.
Алгоритм основан на волнах Фурье, что позволяет выразить математическую функцию в виде линейной суммы гармонических функций. Это преобразование позволяет отображать время на частоту, что является именно тем, что вам нужно для создания распознавания голоса.
Мне трудно поверить, что у Шазаама есть патент на преобразование Фурье. Но если вы попытаетесь построить "2-й Shazaam", вы, вероятно, потерпите неудачу, так как они уже захватили весь рынок...
Shazam начинается только с преобразований Фурье (что неудивительно, поскольку практически вся обработка звука работает таким образом).
Вы можете прочитать оригинальную статью Эйвери Вана, если хотите. Он является изобретателем алгоритма Shazam. Мне кажется, что это лучше всего объяснить как метод ближайшего соседа, поэтому мы включили его в качестве примера в главу 9 "Методы интеллектуального анализа данных, 3-е издание".
Вас может заинтересовать то, что мы должны там сказать (http://www.amazon.com/Data-Mining-Techniques-Relationship-Management/dp/0470650931/ref=pd_sim_b_5).