[0001] Die Erfindung bezieht sich auf ein Verfahren zum Auffinden einer Tonfolge, wie ein
Musikstück oder eine Klingeltonfolge, in einer Tonfolgen-Referenzdatenbank, die Referenz-Tonfolgen
enthält, aufgrund einer wiedergegebenen Tonfolge.
[0002] Unter einer wiedergegebenen Tonfolge ist dabei beispielsweise eine von einer Person
mit ihrer Stimme wiedergegebene Melodie zu verstehen.
[0003] Es ist bereits bekannt, aus einer Audio-Datei, wie beispielsweise WAV und MIDI, den
zeitlichen Frequenzverlauf zu extrahieren. Auch sind bereits Verfahren erprobt worden,
welche eine Tonfolge ermitteln und ggf. in eine Notenschreibweise umwandeln.
[0004] Die Extraktion des Titels eines Musikstücks aus einer wiedergegebenen Tonfolge in
ein zugehöriges Musikstück in automatischer Weise ist jedoch bisher nicht möglich.
Vielmehr ist man in erster Linie auf das eigene Gedächtnis angewiesen, um aufgrund
einer wiedergegebenen Tonfolge herauszufinden, zu welchem Musikstück es gehört.
[0005] Ausgehend hiervon liegt der Erfindung die Aufgabe zugrunde, ein Verfahren zum Auffinden
einer Tonfolge bereit zu stellen, das automatisch aufgrund einer wiedergegebenen Tonfolge
eine gesuchte Referenz-Tonfolge liefern kann.
[0006] Diese Aufgabe wird gelöst durch ein Verfahren zum Auffinden einer Tonfolge, wie einem
Musikstück oder einer Klingeltonfolge, in einer Tonfolgen-Referenzdatenbank, die Referenz-Tonfolgen
enthält, aufgrund einer wiedergegebenen Tonfolge, mit den aufeinander folgenden Schritten:
a) Aufnehmen der wiedergegebenen Tonfolge,
b) Ermitteln eines zeitlichen Frequenzverlaufs der in Schritt a) aufgenommenen Tonfolge,
c) Ermitteln der Tonhöhen und/oder Tonlängen aus dem zeitlichen Frequenzverlauf,
d) Aufteilen der in Schritt c) gewonnenen Tonfolge in mehrere, unter vorbestimmten
Kriterien zusammenhängende Tonsequenzen,
e) Vergleichen der in Schritt d) gewonnenen Tonsequenzen mit Referenz-Tonsequenzen,
die auf einer Zerlegung der Referenz-Tonfolgen nach den Kriterien aus Schritt d) beruhen,
und Erfassen von Übereinstimmungen und
f) Ausgeben wenigstens der Referenz-Tonfolge mit den meisten Übereinstimmungen zwischen
Tonsequenzen und Referenz-Tonsequenzen.
[0007] Unter einer wiedergegebenen Tonfolge wird allgemein sowohl eine vollständige Tonfolge,
die einem Musikstück oder Klingelton insgesamt entsprechen kann, insbesondere aber
auch eine Tonfolge beliebiger Länge innerhalb eines Musikstücks oder eines Klingeltons
verstanden. Dabei dürfte der letztgenannte Fall in der Praxis der Hauptanwendungsfall
sein, wenn beispielsweise eine Person einen besonders charakteristischen Teil einer
Musikstück-Tonfolge summt oder pfeift, zu dem sie das Gesamt-Musikstück sucht.
[0008] Auf Seiten der Tonfolgen-Referenzdatenbank liegen Musikstücke als Tonfolgen in Form
von aufeinanderfolgenden Daten zu Tonhöhen und/oder Tonlängen vor. Zu diesem Zweck
können gängige Audio-Dateien hinsichtlich ihres zeitlichen Frequenzverlaufs software-unterstützt
analysiert werden. Hinsichtlich der aufgenommen, wiedergegebenen Tonfolge sind in
der Literatur zum Stand der Technik zum Ermitteln eines zeitlichen Frequenzverlaufs
beispielsweise einer gesummten Tonfolge Verfahren wie CEPSTRUM bzw. Autokorrelationsverfahren
bekannt.
[0009] Aus den jeweils gewonnenen zeitlichen Frequenzverläufen werden sowohl für die aufgenommenen
Tonfolgen als auch für die Referenz-Tonfolgen auf entsprechende Tonhöhen- und/oder
Tonlängen-Folgen geschlossen.
[0010] Von wesentlicher Bedeutung ist es, die im Schritt c) gewonnene Folge von Tonhöhen
und/oder Tonlängen in mehrere, unter vorbestimmten Kriterien zusammenhängende Tonsequenzen
aufzuteilen. Gleiches geschieht auch mit den Referenz-Tonfolgen, so dass in Schritt
e) ein Vergleich vorgenommen werden kann.
[0011] In einem abschließenden Verfahrensschritt wird wenigstens die Referenz-Tonfolge mit
den meisten Übereinstimmungen zwischen Tonsequenzen und Referenz-Tonsequenzen ausgegeben.
Selbstverständlich kann auch eine Liste derjenigen Referenz-Tonsequenzen ausgegeben
werden, welche die größten Übereinstimmungen zu den Tonsequenzen, die auf der aufgenommen
Tonfolge beruhen, aufweisen.
[0012] Obwohl es grundsätzlich möglich ist, entweder nur die Tonhöhen oder ausschließlich
die Tonlängen in Schritt c) zu ermitteln und als Grundlage für einen späteren Vergleich
in Schritt e) heranzuziehen, wird es als bevorzugt angesehen, sowohl die Tonhöhen
als auch die Tonlängen in die Vergleichsprozedur einfließen zu lassen.
[0013] Als in Schritt d) zu beachtende Kriterien können ein Auftreten von Pausen in der
wiedergegebenen Tonfolge oder auch die Berücksichtigung von Periodizitäten, wie Takten,
in der wiedergegebenen Tonfolge benutzt werden. Eine Pause in einer wiedergegebenen
Tonfolge bildet somit beispielsweise eine Grenze zwischen zwei Tonsequenzen. Sofern
es nicht eindeutig ist, ob eine Sequenztrennung vorzunehmen ist oder nicht, werden
bevorzugt sowohl die einzelnen Tonsequenzen als auch eine zusammengesetzte Tonsequenz
in dem Vergleichsschritt e) verwendet.
[0014] In den Vergleichsschritt e) kann auch eine Ähnlichkeitsliste einbezogen werden, die
Zuordnungen zwischen einander ähnlichen Referenz-Tonsequenzen enthält. Als einander
ähnlich können beispielsweise zwei Tonsequenzen angesehen werden, die sich bei einer
Folge von Tönen lediglich in einem Ton, der durch seine Tonhöhe und seine Tonlänge
gekennzeichnet ist, unterscheiden.
[0015] Das vorbeschriebene Verfahren zeichnet sich insbesondere durch eine günstige Geschwindigkeit
zum Auffinden von gewünschten Tonfolgen aus, da es grundsätzlich auf einem Vergleich
von Tonsequenzen basiert. Es kann sowohl im unmittelbaren Auffinden gewünschter Tonfolgen
als auch als Vorauswahlverfahren verwendet werden. Im Falle seiner Benutzung als Vorauswahlverfahren
kann es um nachfolgend beschriebene Verfahrensschritte ergänzt sein.
[0016] Dazu wird bevorzugt in einem Schritt g) der zeitliche Frequenzverlauf aus Schritt
b) mit zeitlichen Referenz-Frequenzverläufen aus einer Referenz-Frequenzverlaufs Datenbank
verglichen. Diese Datenbank kann mit der oben erwähnten Tonfolgen-Referenzdatenbank
verknüpft sein.
[0017] In dem Schritt g) kann der zeitliche Frequenzverlauf aus Schritt b) für den Vergleich
hinsichtlich der absoluten Frequenzwerte und/oder seiner Zeitachse systematisch modifiziert
sein. Wenn beispielsweise die wiedergegebene Tonfolge in einer unzutreffenden Oktave
vorliegt, kann die gesamte Tonfolge um einen konstanten Faktor hinsichtlich ihrer
Frequenzwerte auf einer Frequenzskala verschoben werden. Wenn die wiedergegebene Tonfolge
in unzutreffender Geschwindigkeit vorliegt, kann der gesamte Frequenzverlauf zeitlich
gestreckt oder verkürzt werden, d. h. jeder Frequenzwert wird von einem Zeitpunkt
t auf einen Zeitpunkt k x t verschoben.
[0018] Die Frequenzverläufe aufgrund der wiedergegebenen Tonfolgen können in Frequenzverlaufssequenzen
unterteilt sein, wobei die Kriterien den oben beschriebenen Kriterien zum Aufteilen
einer Tonfolge in Tonsequenzen entsprechen können. Dann können die einzelnen Frequenzverlaufssequenzen
nacheinander mit den Referenz-Frequenzverläufen verglichen werden.
[0019] Sofern eine zeitliche Auflösung der zeitlichen Frequenzverläufe nicht ausreichend
ist, um mit hinreichender Wahrscheinlichkeit eine gewünschte Tonfolge zu ermitteln,
kann sie erhöht werden. Im umgekehrten Fall, d. h. wenn sich empirisch herausstellt,
dass eine geringere zeitliche Auflösung ausreichend ist, kann sie auch vermindert
werden.
[0020] Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der Zeichnungen noch
näher erläutert. Es zeigen:
- Figur 1:
- einen Aufbau einer Tonfolgen-Referenzdatenbank,
- Figur 2:
- zeitliche Frequenzverläufe einer wiedergegebenen Tonfolge im Original und modifiziert
und
- Figur 3:
- zeitliche Frequenzverläufe einer wiedergegebenen Tonfolge und einer Referenz-Tonfolge.
[0021] Bei einem Verfahren zum Auffinden einer Tonfolge in einer Tonfolgen-Referenzdatenbank
wird in einem ersten Schritt eine wiedergegebene Tonfolge aufgenommen, d. h. eine
gewünschte Tonfolge wird von einer Schallquelle wiedergegeben, bei der es sich um
eine menschliche Stimme, aber auch um akustische Wiedergabegeräte jeder Art handeln
kann.
[0022] In einem nächsten Schritt wird aus der aufgenommenen, wiedergegebenen Tonfolge ein
zeitlicher Frequenzverlauf der Tonfolge ermittelt. Ein solcher zeitlicher Frequenzverlauf
wird in der Fachliteratur auch als "Pitch-Struktur" bezeichnet.
[0023] Es gehört zum Stand der Technik, analog aufgenommene Tonfolgen in Audio-Dateien,
wie eine WAV- oder MIDI-Datei, umzuwandeln. Außerdem sind Verfahren bekannt, aus solchen
Dateien die der Tonfolge zugehörigen zeitlichen Frequenzverläufe zu ermitteln. Bei
der Ermittlung des zeitlichen Frequenzverlaufs können zunächst beispielsweise mit
einer Periode von 0,5 Sekunden Abtastwerte für eine jeweils aktuelle Frequenz erfasst
werden. Zum Erfassen des zeitlichen Frequenzverlaufs sind in der Fachliteratur verschiedene
Verfahren beschrieben, von denen das CEPSTRUM-Verfahren und auf Autokorrelation beruhende
Verfahren besonders hervorzuheben sind.
[0024] In einem nächsten Schritt werden für die wiedergegebene Tonfolge aus ihrem zugehörigen
zeitlichen Frequenzverlauf die aufeinanderfolgenden Tonhöhen und Tonlängen ermittelt,
wobei eine Tonhöhe zusammen mit einer zugehörigen Tonlänge einen Ton im Sinne dieser
Beschreibung definieren. Hierbei ist darauf hinzuweisen, dass für den späteren Vergleich
mit Referenz-Tonfolgen bzw. -Tonsequenzen es auch ausreichend sein kann, entweder
nur die Tonhöhen oder nur die Tonlängen heranzuziehen.
[0025] Nach der Ermittlung der Tonhöhen und Tonlängen bei dem hier erläuterten, bevorzugten
Ausführungsbeispiel, wird die im vorhergehenden Verfahrensschritt gewonnene Folge
von Tönen unter vorbestimmten Kriterien in zusammenhängende Tonsequenzen unterteilt.
Solche zusammenhängenden Tonsequenzen können auch als "akustische Motive" bezeichnet
werden. Ein Aufteilungskriterium zum Gewinnen von Tonsequenzen aus Tonfolgen kann
das Auftreten von Pausen sein. Lassen sich Pausen zwischen zwei möglichen Tonsequenzen
nicht zuverlässig bestimmen, so wird sowohl die ungeteilte Tonsequenz als auch die
beiden geteilten Tonsequenzen ermittelt. Für jede gewonnene Tonsequenz werden sowohl
die Tonhöhen als auch die Tonlängen normiert und gespeichert.
[0026] Bevor nun Vergleiche mit Referenz-Tonfolgen bzw. -Sequenzen vorgenommen werden können,
sollten auf Seiten einer Tonfolgen-Referenzdatenbank folgende Merkmale erfüllt sein:
[0027] Der Aufbau der Tonfolgen-Referenzdatenbank wird anhand von Figur 1 erläutert. In
einem Referenz-Tonfolgen-Bereich 1 der Tonfolgen-Referenzdatenbank sind vollständige
Musikstücke oder Klingeltonfolgen als Referenz-Tonfolgen R1, R2, R3 jeweils einzeln
abgelegt. Sie liegen in Form von Tonhöhenfolgen, Tonlängenfolgen oder bevorzugt in
Form von aufeinanderfolgenden Tönen, die durch eine Tonhöhe und eine Tonlänge gekennzeichnet
sind, vor. In der Figur 1 sind der Einfachheit halber nur Tonhöhen innerhalb einer
Oktave, jedoch keine Tonlängen dargestellt.
[0028] Des weiteren enthält die Tonfolgen-Referenzdatenbank einen Lexikonbereich 2, in dem
Tonsequenzen #1, #2, #3 enthalten sind, die sich aus einer Aufteilung der Referenz-Tonfolgen
R1, R2, R3 unter vorbestimmten Kriterien ergeben. Bei diesen Kriterien handelt es
sich bevorzugt um dieselben, die auch zur Aufteilung der wiedergegebenen Tonfolgen
verwendet werden.
[0029] In dem Lexikonbereich sind somit sämtliche Tonsequenzen aus sämtlichen Gesamttonfolgen
abgelegt. Sofern es unklar ist, ob eine ermittelte Tonsequenz noch weiter unterteilbar
ist, liegt diese Tonsequenz sowohl unterteilt als auch vollständig in dem Lexikonbereich
vor.
[0030] Außerdem enthält die Tonfolgen-Referenzdatenbank einen Ähnlichkeitslisten-Bereich
3, der Zuordnungen zwischen Tonsequenzen #1, #2, #3 aus dem Lexikon-Bereich 2 im Hinblick
auf Ähnlichkeit enthält. Im in Figur 1 dargestellten Ausführungsbeispiel unterscheiden
sich die Lexikoneinträge #2 und #3 lediglich in einem Ton, so dass in dem Ähnlichkeitslisten-Bereich
für die Tonsequenz #2 auf die Tonsequenz #3 verwiesen wird und umgekehrt.
[0031] Weiterhin enthält die Tonfolgen-Referenzdatenbank auch einen Trefferlisten-Bereich
4, mit der Verweise zwischen den Tonsequenzen #1, #2, #3 aus dem Lexikon-Bereich 2
und den Referenz-Tonfolgen R1, R2, R3 enthält, wobei die Informationen aus dem Ähnlichkeitslisten-Bereich
3 einbezogen sind. Es ergibt sich von selbst, dass die Einbeziehung der Ähnlichkeitsliste
lediglich bevorzugtes Merkmal ist, jedoch nicht zwingend vorliegt.
[0032] Aufgrund des vorstehend dargelegten Aufbaus der Tonfolgen-Referenzdatenbank und der
Zerlegung der wiedergegebenen Tonfolge in Tonsequenzen kann nunmehr ein Vergleich
der Tonsequenzen, die einer wiedergegebenen Tonfolge zugeordnet sind, mit Tonsequenzen
in dem Lexikon-Bereich vorgenommen werden.
[0033] Nacheinander wird für jede wiedergegebene Tonsequenz festgestellt, ob sie in dem
Lexikon-Bereich 2 ihre Entsprechung findet. Liegt keine Entsprechung vor, wird, ggf.
mehrmals, auf die Ähnlichkeitsliste Bezug genommen.
[0034] Anhand der Trefferliste wird ermittelt, für welche Referenz-Tonfolge die meisten
Übereinstimmungen zwischen wiedergegebenen Tonsequenzen und Tonsequenzen #1, #2, #3
aus dem Lexikon gefunden werden. Die sich daraus ergebende Referenz-Tonfolge ist mit
höchster Wahrscheinlichkeit die gesuchte Tonfolge. Insgesamt kann sich eine Hitliste
von Referenz-Tonfolgen ergeben. Die Einträge dieser Hitliste können beispielsweise
der Person, die eine gesuchte Tonfolge wiedergegeben hat, vorgespielt werden, so dass
die letzte Festlegung der gewünschten Referenz-Tonfolge durch diese Person erfolgen
kann.
[0035] Das vorstehend erläuterte Verfahren eignet sich insbesondere bei großen Musikdatenbanken
und kann sowohl zum tatsächlichen Auffinden einer bestimmten Referenz-Tonfolge als
auch als
[0036] Vorstufe zu einem detaillierteren Verfahren eingesetzt werden. Beispielsweise kann
die sich ergebende Hitliste in einem nachgeschalteten Verfahren weiter analysiert
werden. Ein solches, nachgeschaltetes Verfahren wird nunmehr anhand der Figuren 2
und 3 erläutert.
[0037] Zur Durchführung des Verfahrens werden die zeitlichen Frequenzverläufe der oben erläuterten
Referenz-Tonfolgen herangezogen. Diese Frequenzverläufe können in einem weiteren Bereich
der Tonfolgen-Referenzdatenbank gespeichert sein. In ähnlicher Weise, wie oben erläutert,
werden von einer wiedergegebenen, beispielsweise gesummten oder gepfiffenen Tonfolge,
zeitliche Frequenzverläufe ermittelt, wobei zu berücksichtigen ist, dass in den meisten
Fällen lediglich ein Abschnitt einer Gesamttonfolge wiedergegeben wird.
[0038] Es erfolgt ein Vergleich eines zeitlichen Frequenzverlaufs, der einer wiedergegebenen
Tonfolge zugeordnet ist, mit einem Teil oder bevorzugt einem gesamten zeitlichen Frequenzverlauf
zu einer Referenz-Tonfolge.
[0039] In vielen Fällen wird die Geschwindigkeit der wiedergegebenen Tonfolge oder die Höhe
der Töne nicht mit derjenigen der passenden Referenz-Tonfolge übereinstimmen. Insofern
kann ein zeitlicher Frequenzverlauf, der einer wiedergegebenen Tonfolge zugeordnet
ist, systematisch modifiziert werden, was anhand der Figur 2 veranschaulicht ist.
Die Kurve K1 stellt den ursprünglich ermittelten zeitlichen Frequenzverlauf dar, während
bei den Kurven K2 und K3 jeweils der Frequenzwert erhöht, bzw. erniedrigt ist. Bei
der Kurve K4 wurde der Intensitätsverlauf hinsichtlich seiner Zeitachse mittels eines
konstanten Multiplikationsfaktors geändert.
[0040] Die Figur 3 zeigt nunmehr einen zeitlichen Frequenzverlauf einer Referenz-Tonfolge
(Kurve K5) und einen wiedergegebenen zeitlichen Frequenzverlauf (Kurve K6), der bereits,
wie anhand von Figur 2 erläutert, modifiziert ist.
[0041] Im Einzelnen kann die Tonhöhe [Hz] bzw. die Abspielgeschwindigkeit jeweils mit 2
x multipliziert sein, wobei X eine positive reelle Zahl ist.
[0042] Außerdem kann der Startpunkt der wiedergegebenen Tonfolge in bezug auf die Referenz-Tonfolge
innerhalb der Referenz-Tonfolge variiert werden.
[0043] Etwaige Übereinstimmungen werden z. B. mit Hilfe eines Fehler-Algorithmus ermittelt,
wobei insbesondere der Kleinste-Quadrate-Fehler bestimmt wird. Für jede Referenz-Tonfolge
wird ein jeweiliger Grad an Übereinstimmung mit der wiedergegebenen Tonfolge erfasst
und gespeichert. Ergeben sich aufgrund dieses Verfahrens zu viele im wesentlichen
gleichwertige Treffer, kann die Auflösung des zeitlichen Verlaufs vergrößert werden.
Der Person, welche die wiedergegebene Tonfolge als Referenz-Tonfolge sucht, kann in
aufsteigender Reihenfolge des Abstandes des Fehlerkriteriums jeweils eine betreffende
Referenz-Tonfolge vorgeschlagen oder auch vorgespielt werden.
[0044] In ähnlicher Weise, wie in Figur 3 dargestellt ist, kann anstelle des zeitlichen
Frequenzverlaufs, der einer gesamten, wiedergegebenen Tonfolge zugeordnet ist, auch
eine Frequenzverlaufssequenz aus dem zeitlichen Frequenzverlauf für den abschnittsweisen
Vergleich mit Referenz-Frequenzverläufen herangezogen werden. Für eine solche Aufteilung
können dieselben Kriterien verwendet werden, wie sie oben anhand der Aufteilung wiedergegebener
Tonfolgen in Tonfolgensequenzen erläutert sind. Die Aufteilung der zeitlichen Frequenzverläufe,
die einer gesamten wiedergegebenen Tonfolge zugeordnet sind, in Frequenzverlaufssequenzen
hat den Vorteil, dass der durchzuführende Vergleich, der dann nacheinander für bevorzugt
sämtliche Frequenzverlaufssequenzen vorgenommen wird, gegenüber unzutreffenden Geschwindigkeiten
bei der Wiedergabe der wiedergegebenen Tonfolge unempfindlicher ist.
1. Verfahren zum Auffinden einer Tonfolge, wie einem Musikstück oder einer Klingeltonfolge,
in einer Tonfolgen-Referenzdatenbank, die Referenz-Tonfolgen enthält, aufgrund einer
wiedergegebenen Tonfolge, mit den aufeinander folgenden Schritten:
a) Aufnehmen der wiedergegebenen Tonfolge,
b) Ermitteln eines zeitlichen Frequenzverlaufs der in Schritt a) aufgenommenen Tonfolge,
c) Ermitteln der Tonhöhen und/oder Tonlängen aus dem zeitlichen Frequenzverlauf,
d) Aufteilen der in Schritt c) gewonnenen Tonfolge in mehrere, unter vorbestimmten
Kriterien zusammenhängende Tonsequenzen,
e) Vergleichen der in Schritt d) gewonnenen Tonsequenzen mit Referenz-Tonsequenzen
(#1, #2, #3), die auf einer Zerlegung der Referenz-Tonfolgen (R1, R2,R3) nach den
Kriterien aus Schritt d) beruhen, und Erfassen von Übereinstimmungen und
f) Ausgeben wenigstens der Referenz-Tonfolge (R1, R2, R3) mit den meisten Übereinstimmungen
zwischen Tonsequenzen und Referenz-Tonsequenzen (#1, #2, #3).
2. Verfahren nach Anspruch 1,
bei dem in Schritt e) die Kriterien ein Auftreten von Pausen in der wiedergegebenen
Tonfolge umfassen.
3. Verfahren nach einem der Ansprüche 1 oder 2,
bei dem in Schritt e) die Kriterien Periodizitäten wie Takte in der wiedergegeben
Tonfolge umfassen.
4. Verfahren nach einem der Ansprüche 1 bis 3,
bei dem in Schritt e) in das Vergleichen eine Ähnlichkeits-Liste einbezogen wird,
die Zuordnungen zwischen einander ähnlichen Referenz-Tonsequenzen (#1, #2, #3) enthält.
5. Verfahren nach einem der Ansprüche 1 bis 4,
bei dem in einem Schritt g) der zeitliche Frequenzverlauf aus Schritt b) mit zeitlichen
Referenz-Frequenzverläufen aus einer Referenz-Frequenzverlaufs-Datenbank verglichen
wird.
6. Verfahren nach Anspruch 5,
bei dem in Schritt g) der zeitliche Frequenzverlauf aus Schritt b) für den Vergleich
hinsichtlich der absoluten Frequenzwerte und/oder seiner Zeitachse systematisch modifiziert
wird.
7. Verfahren nach einem der Ansprüche 5 oder 6,
bei dem die Frequenzverläufe in Frequenzverlaufssequenzen unterteilt sind.
8. Verfahren nach einem der Ansprüche 5 bis 7,
bei dem, abhängig von dem Vergleichsergebnis in Schritt g), die zeitliche Auflösung
für die Frequenzverläufe verändert wird.