Jeżeli masz dużo mocy i miejsca na bazy danych, to to nie jest aż takie trudne:
1. Musisz mieć sample wszystkiego, co chcesz rozpoznać - wraz z licencją (ale tę dają dość tanio albo nawet dopłacają, bo to reklama - jak widzisz, sama usługa jest bezpłatna, nie licząc danych które musisz przesłać)
2. każdy utwór jest przetwarzany i w rezultacie otrzymuje się coś na kształt "podpisu", albo wzorca, unikalnego dla każdego utworu, który umożliwia dopasowanie - tu jest cały know-how, ale temat został rozpracowany lata temu (polecam bazy prac naukowych), brakowało tylko odpowiednio taniej siły obliczeniowej i wydajnych baz danych
i teraz:
3. Wysyłasz zsamplowany kawałek na serwer
4. Z tego kawałka tworzony jest analogiczny podpis jak w p.2
5. Rozpoczyna się szukanie - jak uda się dopasować coś, to następuje głębsze porównanie i jak pasuje, to wynik jest wysyłany
Wiadomo, że szczegółów jest tu znaczeni więcej, ale pkt.1 jest największym ograniczeniem. Ale jak widać to działa. Ciekawe, czy Google też wykorzystują do zbierania próbek.