AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Grundsätzliche Funktionsweise von Musikerkennungssoftware
Thema durchsuchen
Ansicht
Themen-Optionen

Grundsätzliche Funktionsweise von Musikerkennungssoftware

Ein Thema von Schneider-Huetter · begonnen am 12. Jun 2005 · letzter Beitrag vom 9. Aug 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#1

Grundsätzliche Funktionsweise von Musikerkennungssoftware

  Alt 12. Jun 2005, 14:08
Hallo zusammen,
ich interessiere mich für die grundsätzliche Funktionsweise von Musikerkennungssoftware.
Seit längerem gibt es ja schon Dienste, die einem den Titel/Interpreten eines gerade laufenden Musikstücks per SMS auf's Handy schicken.
So weit ich weiß wird hierbei für jedes Musikstück mittels FFT ein "Fingerabdruck" erstellt. Bei der Aufnahme mit dem Handy wird nun auch eine FFT durchgeführt und das aktuelle Frequenzspektrum mit den Spektren in den Fingerabdrücken verglichen.
So weit so gut, aber wie ist es möglich diese Fingerabdrücke so schnell zu durchsuchen? Ich denke mal, dass das Signal vom Handy mindestens alle 10ms transformiert werden muss um eine sichere Erkennung zu ermöglichen. Also müssten auch alle 10ms sämtliche Fingerabdrücke durchsucht werden, wenn man eine Sammlung von mehreren 10.000 Abdrücken ( a ca. 20 kB ) hat könnte das schon sehr zeitkritisch werden, oder?
Gruß Schneider-Huetter
  Mit Zitat antworten Zitat
Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#2

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 13. Jun 2005, 08:53
Keine DSP-Freaks unter den DPlern
Gruß Schneider-Huetter
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 13. Jun 2005, 10:29
Fingerabdruecke sind wahrscheinlich MD5-Pruefsummen oder aehnliches.
Man bekommt also einen String, der gesucht werden muss. Was da moeglich ist zeigt Google.

In deinem Modell bekommt man alle 10 ms einen laengeren String. Das heisst aber keineswegs das die Suche von vorne beginnen muss.
Es bedeutet nur das das erste Ergebnis der Suche nach dem ersten Paket der Suche nach dem zweiten Paket innerhalb 10 ms verfuettert werden muss.

Vermutlich ist es aber viel einfacher und es wird eine Mindestzeit festgelegt, die ausreichend lang ist das Stueck mit grosser Wahrscheinlichkeit eindeutig zu erkennen.
  Mit Zitat antworten Zitat
Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#4

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 13. Jun 2005, 14:21
Zitat:
Fingerabdruecke sind wahrscheinlich MD5-Pruefsummen oder aehnliches
Wenn das so wäre müsste man ja immer das ganze Stück aufnehmen, um auf die gleiche Prüfsumme zu kommen , oder?
Im Idealfall sollte es jedoch möglich sein, dass der Titel erkannt wird wenn nur einen Bruchteil der Spektren des Stücks übereinstimmen (bzw. ähnlich sind), damit man nach spätestens ca. 10s ein Ergebnis erhält.
Gruß Schneider-Huetter
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 13. Jun 2005, 14:44
Warum eigentlich bedienst du nicht der Google-Suche? "Musikstuecke erkennen" bringt z. B. dies http://www.fraunhofer.de/fhg/company...Preis_2004.jsp
Mit dem Stichwort "AudioID" kommt man dann weiter.
  Mit Zitat antworten Zitat
Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#6

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 13. Jun 2005, 14:53
Auf der Seite war ich schon, wie ein solcher Fingerabdruck genau aufgebaut ist wird hier jedoch auch nicht verraten

Zitat:
Um Musik - oder auch jedes andere Tonsignal - zu identifizieren, wird ein kompakter und einzigartiger Datensatz extrahiert, die so genannte Signatur. Sie besteht aus signalnahen Eigenschaften der jeweiligen Audiodatei (spektrale Flachheit).
Ist halt doch etwas allgemein gehalten.
Gruß Schneider-Huetter
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#7

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 13. Jun 2005, 15:00
Kann es nicht vielleicht auch sein, dass das eine Art kostenpflichtige Information ist?

MfG

Tonic1024
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#8

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 13. Jun 2005, 15:08
Das ist ja genau der Grund warum ich hier danach frage
Gruß Schneider-Huetter
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#9

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 14. Jun 2005, 06:51
MD5 oder ähnliche Hash-Algorithmen werden wohl sehr untauglich für so eine Aufgabe sein, da sie eben nur exakt "bitgenaue" Sounds finden können. Diese Algos. sind absolut ungeeignet eben auch weil sie für ganz andere Aufgaben konstruiert wurden.

Ich würde erstmal darüber nachdenken wie man zwei Sounds vergleichen kann. Zur Zeit fällt mir dafür nur eine FFT ein. Das Problem mit FFT's ist die Normalisierung der Sounds, d.h. damit die FFT's funktionieren müssen die Sounds in ihrer zeitlichen Samplelänge alle gleich normiert wurden sein. Schön, aber diese virtuelle Normierung bringt nun die Frage hoch, welche? Soundabschnitte man per FFT auswerten sollte. Diese Methode wäre wohl die allereinfachste Form und wird wohl nicht so gut funktionieren können. Vergleichbar mit den Soundvergleichern der vorletzten Generation die ebenfalls absolute Fehlaussagen gemacht hatten, sprich ein Lied von Heino konnte schon mal als Technobeat erkannt werden. Die neueren Vergleicher arbeiten auch mit FFT's aber mit vielen zeitlich geshifteten FFT's. Über deren Ausgabe wird wiederum eine FFT gemacht und so hat man dann im grunde genommen das Frequenzspektrum vom zeitlichen Inhalt eines Liedes erzeugt, speich man hat zb. den Beat=Melodie des Liedes in ein Spektrum umgewandelt.

Nun fehlt noch der intelligente Vergleich der Ähnlichkeit, NICHT Gleichheit, der einzelnen Lied-Spektren. Denn Gleichheit wirst du nur erreichen können wenn die beiden Spektren vom exakt gleichen Input stammen. Aber exakt dies wird niemals der Fall sein. Also brauchst du eine Ähnlichkeitssuche und die Spektren aller Sounds in deiner Datenbank sollten nach diesem Kriterium sortiert sein. Die Suche in dieser Datenbank ist dann eine einfache binäre Suche die partitiell die einzelnen Spektren vergleicht und so während der Suche sich dem immer ähnlicherem Spektrum annähern wird.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#10

Re: Grundsätzliche Funktionsweise von Musikerkennungssoftwar

  Alt 14. Jun 2005, 08:39
Zitat von www.fraunhofer.de:
Doch wie kann das Verfahren aus mehreren Millionen Liedern in Sekundenschnelle den gesuchten Song finden? Zunächst erstellt das Programm einen akustischen Fingerabdruck von jedem Musikstück. Dieser wird zusammen mit dem Titel und Interpreten in einer Datenbank abgelegt. »Sucht man nun ein bestimmtes Lied, wird einfach nach seinem Fingerabdruck gefahndet«, erläutert Jürgen Herre vom IIS. Um den digitalen Fingerabdruck abzunehmen, unterteilt das Programm die Musik zum Beispiel in 16 Frequenzbänder und berechnet jeweils die »spektrale Flachheit«. Dieses Maß beschreibt, wie regelmäßig oder zufällig sich das Signal in diesem Frequenzband verhält. Einem Flötenton, der sehr gleichmäßig ist, wird ein Wert nahe 0 und dem stark vibrierenden Sound eines Schlagzeugs ein Wert nahe 1 zugeordnet. Die spektrale Flachheit ist für einen Musiktitel so charakteristisch wie die Muster eines menschlichen Fingerabdrucks.
Ausführlicher hab ich es nirgendwo gefunden...
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz