Что нужно знать и уметь для реализации такого алгоритма?
По алгоритмам ровно ничего, создать свой сервис для распознавания музыки - это сверхакадемический уровень (или уровень серьезного сеньора, которого оторвут с руками и возьмут на работу в youtube после того как его уведут из shazam).
Какие технологии применяются?
Для обычного разработчика применяются навыки работы с API любых сервисов, к которым можно получить доступ через авторизацию, и в которые в режиме запрос-ответ дадут искомые данные.
1. Изучаете API условного Shazam-a, куда будете отправлять образцы звуковых данных.
2. Изучаете API музыкальных библиотек, куда будете отправлять результат ответа от Shazam, чтобы получить недостающие данные.