Hoe bestaat het in Jip en Janneke taal dat je een telefoon bij een liedje houdt, en dat deze het voor je opzoekt/kan vinden?

Mijn zoon laat me net iets zien wat hij op zijn mobiel heeft gedownload. Liedje opgezocht op youtube, stukje laten spelen, en zijn telefoon geeft aan wat voor liedje dit is. Ik sla er haast steil van achterover hoe snel dit soort dingen tegenwoordig allemaal gaan en kunnen. Hoe is dit mogelijk?

Toegevoegd na 1 minuut:
Liedje dus afgespeeld op mijn laptop en hij zijn tefeoon er bij gehouden.

Weet jij het antwoord?

/2500

Het beste antwoord

Het antwoord van MufMuf is in basis goed, maar ik wilde nog graag het volgende toevoegen: Om in de database (die ergens op een server staat, bereikbaar over internet) te kunnen zoeken wordt niet de hele opname die de telefoon heeft gemaakt opgestuurd. Dat zou ook teveel gegevensverkeer veroorzaken, en het zou ook het zoeken een stuk moeilijker maken. De telefoon analyseert de opname namelijk eerst, om het simpel te houden zou je je kunnen voorstellen dat de opname in kleine stukje wordt gehakt (bv van 1 seconde lang), en dat van elk stukje gekeken wordt welke toonhoogtes erin voorkomen. Dat kun je dus in een paar getallen vatten, en de opeenvolgende getallen van de stukjes worden naar de server gestuurd. In de server zitten de karakteristieke getallen van duizenden liedjes opgeslagen, die zijn vooraf ooit een keer berekend. Nu is het dus een relatief eenvoudige zoekactie om die getalletjes terug te vinden en de gegevens van het gevonden liedje naar de telefoon te sturen.

Met een microfoontje in de telefoon (die zit er standaard in, anders kan je er al niet mee bellen) kan de telefoon het liedje horen. Vervolgens gaat de applicatie het vergelijken met duizenden nummers in de database en het antwoord dat daaruit komt krijgt je zoon op zijn beeldscherm te zien.

Deze programma's maken gebruik van technieken uit de wereld van de patroonherkenning. Het is lastig in een paar woorden uit te leggen, maar je zou het je als volgt kunnen voorstellen: van alle liedjes die in de database van de makers van het programma zitten, wordt een soort handtekening of vingerafdruk gemaakt. Als je een telefoon met het programma erop een liedje laat horen, wordt ook daarvan zo'n handtekening gegenereerd. Die handtekening wordt dan vergeleken met alle handtekeningen in de database. Het liedje dat bij de meest gelijkende handtekening hoort, zal dan waarschijnlijk het liedje zijn dat je aan de telefoon liet horen. De truc zit hem natuurlijk in het bedenken van een slimme techniek om die handtekeningen te bepalen en ze met elkaar te laten vergelijken. Hier gaat een hele wereld aan onderzoek achter schuil. Zie ook de bron.

Bronnen:
http://nl.wikipedia.org/wiki/Patroonherkenning

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100