Wat is een audiovingerafdruk?

Een audiovingerafdruk is een compacte digitale samenvatting van een audiosignaal — een korte reeks getallen die de akoestische kenmerken van een opname vastlegt op een manier die robuust is tegen veelvoorkomende vervormingen zoals coderingswijzigingen, toonhoogteverschuivingen en achtergrondgeluid. In tegenstelling tot een cryptografische hash is een audiovingerafdruk ontworpen om opnames van hetzelfde nummer te matchen, zelfs wanneer ze uit verschillende bronnen, bitsnelheden of lichte bewerkingen afkomstig zijn.

Het meest gebruikte algoritme is Chromaprint, dat de open AcoustID-database ondersteunt. Chromaprint converteert audio naar een reeks chroma-features — representaties van de energie bij elke muzikale toonklasse — en comprimeert die vervolgens tot een korte base64-string. Deze vingerafdruk kan naar de AcoustID-service worden verzonden om het onderliggende nummer te identificeren en metagegevens uit MusicBrainz op te halen.

Hulpprogrammabeschrijving

Dit hulpprogramma berekent de Chromaprint-audiovingerafdruk van een geüpload audiobestand rechtstreeks in uw browser. Het vraagt vervolgens optioneel de openbare AcoustID-database op om het nummer te identificeren en metagegevens zoals titel, artiest en MusicBrainz-ID terug te geven — allemaal zonder uw bestand naar een server te uploaden.

Functies

  • Lokale verwerking: Audiodecodering en vingerafdrukberekening worden volledig in de browser uitgevoerd met behulp van een WebAssembly-build van Chromaprint — uw audiobestand verlaat uw apparaat nooit
  • Brede formaatondersteuning: Werkt met MP3, WAV, FLAC, OGG, M4A en elk formaat dat de Web Audio API van uw browser kan decoderen
  • AcoustID-opzoeken: Verzendt de vingerafdruk optioneel naar de openbare AcoustID-API om het nummer te identificeren en metagegevens van artiest/titel/MusicBrainz op te halen
  • Technische details: Geeft samplefrequentie, kanaaltellingen en geanalyseerde duur weer naast de vingerafdrukstring
  • Kopieerbaare vingerafdruk: Kopieer de onbewerkte Chromaprint-vingerafdrukstring voor gebruik in externe hulpprogramma's zoals fpcalc

Hoe het werkt

  1. Het geüploade bestand wordt door de Web Audio API van de browser gedecodeerd in onbewerkte PCM-samples.
  2. Tot 120 seconden audio wordt in de Chromaprint WASM-module gevoerd, die chroma-features berekent en deze in een vingerafdrukstring comprimeert.
  3. Als u op Opzoeken op AcoustID klikt, worden de vingerafdruk en duur naar de openbare AcoustID-API verzonden, die overeenkomende opnames uit de MusicBrainz-database retourneert, gerangschikt op betrouwbaarheidsscore.

Ondersteunde formaten

Elk audioformaat dat wordt ondersteund door de Web Audio API van uw browser, wat doorgaans het volgende omvat:

  • MP3 (.mp3)
  • WAV (.wav)
  • FLAC (.flac)
  • OGG Vorbis (.ogg)
  • AAC / M4A (.m4a, .aac)
  • Opus (.opus)

Beperkingen

  • Alleen de eerste 120 seconden audio worden geanalyseerd (voldoende voor betrouwbare identificatie).
  • AcoustID-identificatie vereist dat het nummer in de MusicBrainz-database aanwezig is; zeldzame, niet-uitgebrachte of sterk gemixt nummers retourneren mogelijk geen resultaten.
  • Zeer korte clips (minder dan ongeveer 10 seconden) kunnen vingerafdrukken met lage betrouwbaarheid opleveren.