-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft Audiobearbeitungen und insbesondere eine Technologie zur Suche von Musiktiteln auf der Grundlage eines Musikrhythmus (tempo-based music search).
-
HINTERGRUND
-
Mit der Entwicklung der Unterhaltungs-Informationstechnologie haben Verbraucher immer mehr das Bedürfnis, qualitativ hochwertige, sehr schnelle und zugängliche Informationen zu beschaffen. Auf dem Gebiet der Suche nach Musiktiteln wurden in den letzten Jahren aufgrund von Einschränkungen bei herkömmlichen auf Texten beruhende Suchmethoden eine Vielzahl von auf Melodien beruhende Musiksuchmaschinen entwickelt, beispielsweise Shazam von Apple Inc., SoundHound von Google Inc. und Midomi von Melodis Inc.
-
Bei auf Melodien beruhenden Musiktitelsuchmaschinen kann ein Benutzer musikbezogene Informationen, die der Melodie am ehesten entsprechen, durch das Summen eines musikbezogenen Segments in eine Audioeingabeeinheit suchen. Während des Suchvorgangs kann ein Benutzer ein passendes Lied in einer Datenbank finden, indem er ein Lied lediglich summt, anstatt mit dem Lied verbundene Textdaten wie beispielsweise einen Komponisten, einen Sänger oder den Namen eines Liedes einzugeben. Im Vergleich zu herkömmlichen auf Texten beruhenden Suchmethoden sorgt die auf Melodien beruhende Musiksuchtechnologie für eine bessere Benutzererfahrung. Wenn man beispielsweise beim Radiohören oder auf der Straße ein bevorzugtes Lied hört, jedoch keine Ahnung hat, wie dieses heißt, ist es möglich, das Lied mit Hilfe der auf Melodien beruhenden Musiktitelsuchtechnologie aufzufinden, solange man sich an die Melodie erinnern kann.
-
Die Genauigkeit einer auf Melodien beruhenden Musiktitelsuchtechnologie hängt jedoch weitgehend von der Intonation des Summens eines Benutzers ab und kann folglich kaum von einem Benutzer, der kein Gespür für Melodie hat oder nicht intonieren kann, oder von einem Benutzer, der unter einer Sprachstörung (Paragammacismus) leidet, angewandt werden. Außerdem kann eine auf Melodien beruhende Musiktitelsuchtechnologie nicht angewandt werden, wenn eine Suche mittels Summen in einer lauten Umgebung durchgeführt wird. Beispielsweise ist das Ergebnis einer Suche mittels Summen in Umgebungen mit lauten Hintergrundgeräuschen, zum Beispiel in U-Bahnen, Bussen und Cafés einerseits aufgrund von lauten Geräuschen nicht hochgenau, und andererseits findet ein Benutzer, der Menschen in seiner. Umgebung nicht stören möchte, es möglicherweise auch unangenehm, laut zu summen.
-
Daher besteht ein Bedarf an einer Technologie, die Musiktitel ohne erforderliche Kenntnis von deren Melodie schnell und genau suchen kann.
-
KURZDARSTELLUNG
-
Eine Aufgabe der vorliegenden Erfindung besteht in dem schnellen und genauen Auffinden von Musiktiteln oder einem bzw. mehreren musikalischen Segmenten, die ohne erforderliche Kenntnis einer Melodie gesucht werden können.
-
Zu diesem Zweck stellt die vorliegende Erfindung ein Verfahren und eine Vorrichtung zum Suchen auf der Grundlage des Rhythmus von Musiktiteln bereit, das einen Rhythmusskalensatz (tempo scale set) für zu suchende Musiktitel erhält, indem ein von einem Benutzer eingegebener musikalischer Rhythmus (z. B. durch eine Reihe von Tippvorgängen auf ein Berührungseingabegerät durch einen Benutzer) ermittelt und verarbeitet wird, anschließend einen Rhythmuswortsatz (tempo word set) auf der Grundlage des Rhythmusskalensatzes erzeugt und schließlich den erstellten Rhythmuswortsatz zum Auffinden von zu suchenden Musiktiteln oder einem bzw. mehreren musikalischen Segmenten verwendet.
-
Unter einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Suchen von Musiktiteln bereitgestellt. Das Verfahren weist auf: Erzeugen eines Rhythmusskalensatzes auf der Grundlage einer empfangenen Anfrage, wobei die Anfrage eine Vielzahl von Anfragewerten aufweist, die einen Rhythmus von zu suchenden Musiktiteln definieren; Erstellen eines Rhythmuswortsatzes auf der Grundlage des erstellten Rhythmusskalensatzes, wobei jedes Rhythmuswort im Rhythmuswortsatz mindestens eine Rhythmusskala im Rhythmusskalensatz enthält; und Auffinden von zu suchenden Musiktiteln unter Verwendung des erstellten Rhythmuswortsatzes.
-
Unter einem anderen Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Suchen von Musiktiteln bereitgestellt. Die Vorrichtung weist auf: eine Rhythmusskalensatz-Erzeugungseinheit (tempo scale set generating unit), die so konfiguriert ist, dass sie einen Rhythmusskalensatz auf der Grundlage einer empfangenen Anfrage erzeugt, wobei die Anfrage eine Vielzahl von Anfragewerten aufweist, die einen Rhythmus von zu suchenden Musiktiteln definieren; eine Rhythmuswortsatz-Erstellungseinheit (tempo word set constructing unit), die so konfiguriert ist, dass sie einen Rhythmuswortsatz auf der Grundlage des von der Rhythmusskalensatz-Erzeugungseinheit erzeugten Rhythmusskalensatzes erstellt, wobei jedes Rhythmuswort im Rhythmuswortsatz mindestens eine Rhythmusskala im Rhythmusskalensatz enthält; und eine Musiktitelauffindungseinheit (music positioning unit), die so konfiguriert ist, dass sie zu suchende Musik unter Verwendung des von der Rhythmuswortsatz-Erstellungseinheit erstellten Rhythmuswortsatzes auffindet.
-
Mit dem Musiktitelsuchverfahren und der Vorrichtung der vorliegenden Erfindung ist es möglich, erwartete Musiktitel zu suchen oder ein bzw. mehrere erwartete musikalische Segmente lediglich auf der Grundlage eines musikalischen Rhythmus aufzufinden, ohne dass eine musikalische Melodie eingegeben werden muss.
-
Milder Musiktitelsuchverfahren und der Vorrichtung der vorliegenden Erfindung ist es außerdem möglich, eine schnelle und genaue Musiktitelsuche durchzuführen.
-
Mit dem Musiktitelsuchverfahren und der Vorrichtung der vorliegenden Erfindung ist es außerdem möglich, eine genaue fehlertolerante Suche in Verbindung mit solchen Faktoren wie dem Musiktitel selbst, der Vorliebe eines Benutzers und einem Protokolldatensatz bereitzustellen.
-
KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Durch die ausführlichere Beschreibung einiger Ausführungsformen der vorliegenden Offenbarung in den beigefügten Zeichnungen werden die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Offenbarung offensichtlicher, wobei das gleiche Bezugszeichen im Allgemeinen die gleichen Komponenten in den Ausführungsformen der vorliegenden Offenbarung bezeichnet.
-
1 zeigt ein beispielhaftes Computersystem 100, das zum Implementieren der Ausführungsformen der vorliegenden Erfindung verwendet werden kann;
-
2 ist ein Ablaufplan, der ein auf dem Rhythmus beruhendes Musiksuchverfahren 200 gemäß den Ausführungsformen der vorliegenden Erfindung veranschaulicht.
-
Die 3A und 3B veranschaulichen ein Beispiel eines musikalischen Segments und eine eingegebene Anfrage nach dem Segment.
-
4 ist ein Ablaufplan, der einen Rhythmuswortsatz-Erstellungsprozess 400 gemäß den Ausführungsformen der vorliegenden Erfindung veranschaulicht.
-
5 ist ein Ablaufplan, der eine fehlertolerante Rhythmuswort-Erzeugungsverarbeitung 500 gemäß den Ausführungsformen der vorliegenden Erfindung veranschaulicht.
-
6 zeigt ein funktionelles Blockschaubild einer Musiksuchvorrichtung 600 gemäß den Ausführungsformen der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Einige bevorzugte Ausführungsformen werden unter Bezugnahme auf die beigefügten Zeichnungen ausführlicher beschrieben, in denen die bevorzugten Ausführungsformen der vorliegenden Offenbarung veranschaulicht wurden. Die vorliegende Offenbarung kann jedoch auf verschiedene Arten implementiert werden und ist daher nicht so auszulegen, dass sie auf die hierin beschriebenen Ausführungsformen eingeschränkt ist. Vielmehr werden diese Ausführungsformen zum gründlichen und vollständigen Verständnis der vorliegenden Offenbarung bereitgestellt und vermitteln Fachleuten vollständig den Schutzumfang der vorliegenden Offenbarung.
-
1 zeigt ein beispielhaftes Computersystem 100, das zum Implementieren der Ausführungsformen der vorliegenden Erfindung verwendet werden kann. Wie in 1 gezeigt wird, kann das Computersystem 100 enthalten: eine CPU (Zentraleinheit) 101, einen RAM (Direktzugriffsspeicher) 102, einen ROM (Nur-Lese-Speicher) 103, einen Systembus 104, eine Festplattenlaufwerk-Steuereinheit 105, eine Tastatursteuereinheit 106, eine serielle Schnittstellen-Steuereinheit 107, eine parallele Schnittstellen-Steuereinheit 108, eine Anzeigesteuereinheit 109, ein Festplattenlaufwerk 110, eine Tastatur 111, serielle Peripheriegeräte 112, parallele Peripheriegeräte 113 und eine Anzeige 114. Von den obigen Einheiten sind die CPU 101, der RAM 102, der ROM 103, die Festplattenlaufwerk-Steuereinheit 105, die Tastatursteuereinheit 106, die serielle Schnittstellen-Steuereinheit 107, die parallele Schnittstellen-Steuereinheit 108 und die Anzeigesteuereinheit 109 mit dem Systembus 104 verbunden. Das Festplattenlaufwerk 110 ist mit der Festplattenlaufwerk-Steuereinheit 105 verbunden. Die Tastatur 111 ist mit der Tastatursteuereinheit 106 verbunden. Die seriellen Peripheriegeräte 112 sind mit der seriellen Schnittstellensteuereinheit 107 verbunden. Die parallelen Peripheriegeräte 113 sind mit der parallelen Schnittstellen-Steuereinheit 108 verbunden. Und die Anzeige 114 ist mit der Anzeigesteuereinheit 109 verbunden. Es versteht sich von selbst, dass die Struktur, wie sie in 1 gezeigt wird, lediglich als Beispiel dienen soll und keine Einschränkung der vorliegenden Erfindung darstellt. In einigen Fällen können aufgrund von spezifischen Situationen Einheiten zu dem Computersystem 100 hinzugefügt oder aus diesem entfernt werden.
-
Wie für Fachleute klar ist, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer kompletten Hardware-Ausführungsform, einer kompletten Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte kombiniert, die hierin im Allgemeinen als „Schaltung”, „Modul” oder „System” bezeichnet werden. Außerdem können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien mit einem darin enthaltenen computerlesbaren Programmcode verkörpert ist.
-
Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann zum Beispiel, jedoch ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, ein Infrarot- oder Halbleitersystem, eine Vorrichtung oder Einheit oder eine beliebige geeignete Kombination aus den vorgenannten sein. Zu spezifischeren Beispielen (eine nicht erschöpfende Liste) für das computerlesbare Speichermedium würden die folgenden gehören: eine elektrische Verbindung mit einem oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Kompaktdisk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination aus den vorgenannten. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium ein beliebiges physisches Medium sein, das ein Programm zur Verwendung durch ein oder in Verbindung mit einem Befehlsausführungssystem, einer Vorrichtung oder einer Einheit enthalten oder speichern kann.
-
Zu einem computerlesbaren Signalmedium kann ein weitergeleitetes Datensignal mit einem darin enthaltenen computerlesbaren Programmcode, beispielsweise in einem Basisband oder als Teil einer Trägerwelle, gehören. Ein solches weitergeleitetes Signal kann in einer Vielfalt von Formen vorliegen, unter anderem, jedoch ohne darauf beschränkt zu sein, elektromagnetisch, optisch oder in einer beliebigen geeigneten Kombination davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch ein oder in Verbindung mit einem Befehlsausführungssystem, einer Vorrichtung oder einer Einheit übertragen, weiterleiten oder transportieren kann.
-
Ein in einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, unter anderem, jedoch ohne darauf beschränkt zu sein, drahtlos, drahtgebunden, über ein Lichtwellenleiterkabel, HF usw. oder eine beliebige geeignete Kombination aus den vorgenannten.
-
Ein Computerprogrammcode zum Ausführen von Arbeitsgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, unter anderem, jedoch ohne darauf beschränkt zu sein, Java, Smalltalk, C++ oder dergleichen, und in herkömmlichen prozeduralen Programmiersprachen, beispielsweise der Programmiersprache „C” oder ähnlichen Programmiersprachen, geschrieben sein. Der Programmcode kann vollständig im Computer des Benutzers, teilweise im Computer des Benutzers und teilweise in einem entfernt angeordneten Computer oder vollständig im entfernt angeordneten Computer oder Server ausgeführt werden. Im letzteren Szenario kann der entfernt angeordnete Computer durch einen beliebigen Typ von Netzwerk mit dem Computer des Benutzers verbunden sein, unter anderem durch ein lokales Netz (LAN), ein überregionales Netz (WAN), oder die Verbindung kann mit einem externen Computer (beispielsweise durch das Internet unter Verwendung eines Internet-Dienstanbieters) eingerichtet werden.
-
Im Folgenden werden Aspekte der vorliegenden Erfindung unter Bezugnahme auf die Ablaufplandarstellungen und/oder die Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich von selbst, dass jeder Block der Abelaufplandarstellungen und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern durch Computerprogrammbefehle implementiert werden können. Diese Computerprogrammbefehle können einer Verarbeitung eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über die Verarbeitung des Computers oder der anderen Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Implementieren der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Vorgänge erzeugen.
-
Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten steuern kann, so dass diese auf eine bestimmte Weise funktionieren, so dass die im computerlesbaren Medium gespeicherten Befehle einen hergestellten Gegenstand erzeugen, der Befehle enthält, die die Funktion/den Vorgang implementieren, die/der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben ist.
-
Die Computerprogrammbefehle können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um das Ausführen einer Reise von Verarbeitungsschritten im Computer, in der anderen programmierbaren Datenverarbeitungsvorrichtung oder den anderen Einheiten zu veranlassen, um einen computerimplementierten Prozess zu erzeugen, so dass die Befehle, die im Computer oder in der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Prozesse zum Implementieren der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Vorgänge bereitstellen.
-
Um schneller und genauer Musiktitel zu suchen oder ein oder mehrere musikalische Segmente aufzufinden, ohne dass eine musikalische Melodie benötigt wird, stellen das Verfahren und die Vorrichtung zum auf dem Rhythmus beruhenden Suchen in der vorliegenden Erfindung, wie oben erwähnt wird, einen Rhythmusskalensatz für zu suchende Musiktitel bereit, indem sie eine von einem Benutzer eingegebene musikalische Rhythmusanfrage erkennen, anschließend ausgehend vom Rhythmusskalensatz einen Rhythmuswortsatz erstellen und schließlich den erstellten Rhythmuswortsatz zum Auffinden von zu suchender Musiktitel oder einem oder mehreren zu suchenden musikalischen Segmenten verwenden.
-
Die Ausführungsformen der vorliegenden Erfindung werden insbesondere unter Bezugnahme auf die 2 bis 6 beschrieben. 2 ist ein Ablaufplan, der ein auf dem Rhythmus beruhendes Musiksuchverfahren 200 gemäß den Ausführungsformen der vorliegenden Erfindung veranschaulicht. Als Erstes kann ein Benutzer im Schritt 210 eine auf dem Rhythmus beruhende Anfrage eingeben. Wie hierin verwendet, ist „Anfrage” als eine Impulsfolge definiert, die den Rhythmus von einem zu suchenden Musiktitel oder einem oder mehreren Segmenten davon beschreiben kann, beispielsweise eine Zeitimpulsfolge. Eine Anfrage kann eine Vielfalt von Anfragewerten aufweisen, die einem zu suchenden Impuls entsprechen. Falls eine Anfrage beispielsweise eine Zeitimpulsfolge ist, entsprechen die Anfragewerte Zeitabständen von Anfrageimpulsen.
-
3A veranschaulicht Notenlinien eines musikalischen Segments, wohingegen 3B eine eingegebene Zeitimpulsfolge zum Suchen des musikalischen Segments, wie es in 3A gezeigt wird, veranschaulicht, wobei die horizontale Achse die Zeit und die Längsachse die Impulsintensität darstellt. Die erfassten Zeitabstände sind der Reihe nach die folgenden: (0.2, 0.19, 0.2, 0.21, 0.6, 0.19, 0.2, 0.2, 0.1, 0.09, 0.1, 0.09). Es sei darauf hingewiesen, dass es nicht um absolute Werte von Anfragewerten jedes Anfrageimpulses in einer Anfrage geht, da sich das auf dem Rhythmus beruhende Suchverfahren auf ein Verhältnis von Anfragewerten zwischen verschiedenen Anfrageimpulsen konzentriert.
-
In einer Ausführungsform kann ein Benutzer eine Anfrage durch Antippen von Eingabeeinheiten, wie beispielsweise einer Berührungseingabeeinheit, einer Tastatur, einem Tastenfeld, einem Mikrofon oder dergleichen, eingeben. Beispielsweise kann ein Benutzer eine Anfrage durch Antippen eines festgelegten Bereichs auf einem berührungsempfindlichen Bildschirm entsprechend dem Rhythmus eines zu suchenden Musiktitels eingeben. Offensichtlich sind die Arten des Eingebens einer Anfrage durch einen Benutzer nicht auf Antippen beschränkt. In Ausführungsform kann einer anderen ein Benutzer einen Winkelbewegungssensor (angular motion sensor), beispielsweise ein Gyroskop oder einen. Beschleunigungssensor, entsprechend einem Rhythmus schütteln, um eine Anfrage einzugeben.
-
Nach dem Empfang einer eingegebenen Anfrage wird der Grundlage der empfangenen Anfrage ein Rhythmusskalensatz erzeugt (Schritt 210 von 2). Wie hierin verwendet, kann der Begriff „Rhythmusskala” einen beliebigen Wert oder ein beliebiges Symbol bezeichnen, der bzw. das aus einer Anfrage entnommen wurde, um einen Musikrhythmus darzustellen. Im Allgemeinen werden die Rhythmusskalen so gewählt, dass sie Werte aufweisen, die eine anschließende Musiktitelsuchverarbeitung ermöglichen. Daher werden die Rhythmusskalen aus einer Anfrage entnommen, um ein Speichern und Suchen von Musiktiteln zu ermöglichen.
-
In einer Ausführungsform kann jeder Anfragewert in der empfangenen Anfrage auf eine Rhythmusskala abgebildet werden, die einer Note entspricht. Eine Note kann eine Länge eines Tons beschreiben. Wie hierin verwendet, kann die Note die sieben häufigsten Notenwerte auf dem Gebiet der Musik umfassen, d. h. eine ganze Note, eine Halbenote, eine Viertelnote, eine Achtelnote, eine Sechzehntelnote, eine Zweiunddreißigstelnote und eine Vierundsechzigstelnote. Jeder Note kann ein bestimmter Wert zugewiesen werden. Beispielsweise werden die oben erwähnten sieben Notenwerte jeweils durch positive ganze Zahlen von 1 bis 7 dargestellt. In diesem Fall ist ein Rhythmusskalensatz ein Satz, der aus positiven ganzen Zahlen von 1 bis 7 besteht. Fachleute werden verstehen, dass es durchaus möglich ist, außer ganzen Zahlen andere Werte oder Symbole zu verwenden, um den sieben Notenwerten entsprechende Rhythmusskalen darzustellen.
-
in einer anderen Ausführungsform kann eine Rhythmusskala durch ein Verhältnis von benachbarten Anfragewerten erstellt werden. Beispielsweise wird für jeden Anfragewert in der empfangenen Anfrage mit Ausnahme eines ersten Anfragewertes die Rhythmusskala als ein Verhältnis des Anfragewertes zu einem entsprechenden früheren Wert in der Anfrage berechnet. Vor dem Berechnen einer Rhythmusskala kann ein Anfragewert vorzugsweise abgerundet werden, beispielsweise durch Verwenden eines Rundungsverfahrens. Wird beispielsweise von der Anfrage von 3B (0.2, 0.19, 0.2, 0.21, 0.6, 0.19, 0.2, 0.1, 0.09, 0.1, 0.09) ausgegangen, kann ihr Rhythmusskalensatz entsprechend einer Berechnungsmethode des Verhältnisses berechnet werden als (1, 1, 1, 3, 1/3, 1, 1, 1/2, 1, 1, 1).
-
Als Nächstes wird im Schritt 230 von 2 auf der Grundlage des erzeugten Rhythmusskalensatzes ein Rhythmuswortsatz erstellt. Wie hierin verwendet kann der Begriff „Rhythmuswort” eine Anordnung bezeichnen, die aus einer festgelegten Anzahl von Rhythmusskalen besteht. Eine Musiktitelsuche in Rhythmuswort-Einheiten kann die Leistungsfähigkeit der Suche erheblich verbessern und die Suchdauer eines Benutzers deutlich verkürzen und folglich für eine bessere Benutzererfahrung sorgen.
-
4 veranschaulicht ausführlicher eine spezifische Implementierungsverarbeitung 400 des Schritts 230, bei der eine Vielzahl von gestaffelt angeordneten Rhythmuswörtern mit einem vorab festgelegten Schritt aus dem Rhythmusskalensatz erzeugt werden. Im Schritt 410 wird eine Länge L eines Rhythmuswortes so festgelegt, dass die Länge L eins Anzahl von im Rhythmuswort enthaltenen Rhythmusskalen anzeigt. Es ist zu beachten, dass die Länge eines Rhythmuswortes für verschiedene Musiktitel oder musikalische Segmente unterschiedlich sein kann. Außerdem können spezifische Merkmale von Musiktiteln oder dem musikalischen Segment selbst beim Einstellen der Länge eines Rhythmuswortes berücksichtigt werden. Beispielsweise können in einem Musiktitel oder einem musikalischen Segment enthaltene Pausennoten berücksichtigt werden.
-
Als Nächstes geht die Verarbeitung 400 weiter zum Schritt 430, in dem eine Vielzahl von Rhythmuswörtern mit der im Schritt 410 festgelegten Länge mit einem vorab festgelegten Schritt in der Reihenfolge von Rhythmusskalen im Rhythmusskalensatz erzeugt werden, so dass die Anzahl von fortlaufenden identischen Rhythmusskalen in zwei benachbarten Rhythmuswörtern gleich der Länge eines Rhythmuswortes minus dem vorab festgelegten Schritt ist.
-
Beispielsweise wird ein aus der Anfrage von
3B erfasster Rhythmusskalensatz (1, 1, 1, 3, 1/3, 1, 1, 1/2, 1, 1, 1) betrachtet und angenommen, dass die Länge L eines Rhythmuswortes auf 5 festgelegt wird, wobei der Schritt zwischen Rhythmuswörtern 1 ist. Es können sieben Rhythmuswörter erhalten werden, die mit Hilfe von Tabelle 1 folgendermaßen dargestellt werden: Tabelle 1 Beispiele von Rhythmuswörtern mit einer Länge von 5 und einem Schritt von 1
Rhythmusskalensatz | 1 | 1 | 1 | 3 | 1/3 | 1 | 1 | 1/2 | 1 | 1 | 1 |
Rhythmuswort W1 | 1 | 1 | 1 | 3 | 1/3 | | | | | | |
Rhythmuswort W2 | | 1 | 1 | 3 | 1/3 | 1 | | | | | |
Rhythmuswort W3 | | | 1 | 3 | 1/3 | 1 | 1 | | | | |
Rhythmuswort W4 | | | | 3 | 1/3 | 1 | 1 | 1/2 | | | |
Rhythmuswort W5 | | | | | 1/3 | 1 | 1 | 1/2 | 1 | | |
Rhythmuswort W6 | | | | | | 1 | 1 | 1/2 | 1 | 1 | |
Rhythmuswort W7 | | | | | | | 1 | 1/2 | 1 | 1 | 1 |
-
Es versteht sich von selbst, dass die obige Tabelle alle sieben Rhythmuswörter W1 bis W7 auf fortlaufende und gestaffelte Weise zeigt, um eine Veranschaulichung von fortlaufenden identischen Rhythmusskalen zwischen benachbarten Rhythmuswörtern zu ermöglichen. In der Tat hat jedes der sieben Rhythmuswörter W1 bis W7 in der Tabelle 1 eine Länge L von 5, d. h., W1 ist (1, 1, 1, 3, 1/3), W2 ist (1, 1, 3, 1/3, 1)... und so weiter.
-
Obwohl die Erzeugung von Rhythmuswörtern oben am Beispiel einer Länge L = 5 und einem vorab festgelegten Schritt = 1 beschrieben wurde, werden Fachleute verstehen, dass es absolut möglich ist, entsprechend der Speicherkapazität einer Datenbank und der Suchgeschwindigkeit eine Länge und einen vorab festgelegten Schritt mit anderen Werten zu wählen. Je länger ein Rhythmuswort ist, desto größer wird offensichtlich die Speicherkapazität einer Datenbank sein, die zum Speichern von Rhythmuswörtern einer Musikstichprobe erforderlich ist, desto geringer wird jedoch die Suchdauer sein.
-
Zusätzlich kann die Erstellungsverarbeitung eines Rhythmuswortsatzes in einer Ausführungsform der vorliegenden Erfindung zur Verbesserung der Erkennungsrate außerdem mit einem fehlertoleranten Mechanismus ausgestattet werden. Wie im Schritt 450 von 4 gezeigt wird, weist die Rhythmuswortsatz-Erstellungsverarbeitung 400 außerdem das Erzeugen eines fehlertoleranten Rhythmuswortes für jedes der im Schritt 430 erzeugten Rhythmuswörter auf. Die im Schritt 450 erzeugten fehlertoleranten Rhythmuswörter und die im Schritt 430 erzeugten Rhythmuswörter bilden zusammen einen Rhythmuswortsatz.
-
5 veranschaulicht ausführlicher eine spezifische Implementierungsverarbeitung 500 des Schritts 450. Als Erstes werden im Schritt 510 für jede in dem im Schritt 430 erzeugten Rhythmuswort enthaltene Rhythmusskala ein oder mehrere fehlertolerante Rhythmusskalen erzeugt. In einer Ausführungsform werden alle Rhythmusskalen im Rhythmusskalensatz in einer Rangfolge angeordnet. Anschließend wird für jede im Rhythmuswort enthaltene Rhythmusskala eine festgelegte Anzahl von Rhythmusskalen, die vorangehend und/oder nachfolgend angeordnet sind, als fehlertolerante Rhythmusskalen der Rhythmusskala festgelegt.
-
Im Falle des Erzeugens eines Rhythmusskalensatzes durch Abbilden eines Anfragewertes auf eine Note im Schritt 210 werden die Rhythmusskalen beispielsweise entsprechend einer Notenlänge in einer Rangfolge angeordnet. Wird beispielsweise eine einer Achtelnote entsprechende Rhythmusskala betrachtet, handelt es sich bei den vorangehend bzw. nachfolgend angeordneten Rhythmusskalen um Rhythmusskalen, die einer Viertelnote bzw. einer Sechzehntelnote entsprechen. Folglich können eine Viertelnote und eine Sechzehntelnote als fehlertolerante Rhythmusskalen der Rhythmusskala ausgewählt werden. Fachleute können eine geeignete Anzahl von fehlertoleranten Rhythmusskalen wählen, wie sie auf der Grundlage der Anforderungen an eine Erkennungsrate und Einschränkungen bezüglich der zum Speichern der fehlertoleranten Rhythmuswörter erforderlichen Speicherkapazität benötigt wird.
-
Nachdem die fehlertoleranten Rhythmusskalen ermittelt wurden, werden im Schritt 530 eine oder mehrere in einem Rhythmuswort enthaltene Rhythmusskalen ausgewählt und die ausgewählte(n) Rhythmusskala(en) im Schritt 550 durch entsprechende fehlertolerante Rhythmusskalen ersetzt, um fehlertolerante Rhythmuswörter zu erzeugen.
-
Am Beispiel des Rhythmuswortes W4 (3, 1/3, 1, 1, 1/2) in Tabelle 1 werden die oben genannten Schritte
510 bis
550 beschrieben. Als Erstes wird ein dem Rhythmuswort entsprechender Rhythmusskalensatz (1, 1, 1, 3, 1/3, 1, 1, 1/2, 1, 1, 1) in einer Rangfolge angeordnet, so dass als Ergebnis eine Rangfolge von 3 → 1 → 1/2 → 1/3 erhalten wird. Angenommen, eine vorhergehende und (gegebenenfalls) eine nächste Rhythmusskala von jeder Rhythmusskala wird als deren fehlertolerante Rhythmusskala ausgewählt. Beispielsweise gehören 1 und 1/3 zu den fehlertoleranten Rhythmusskalen von 1/2. Die in Tabelle 2 gezeigten fehlertoleranten Rhythmusskalen C1 bis C8 können erhalten werden, indem jede im Rhythmuswort W4 enthaltene Rhythmusskala durch entsprechende fehlertolerante Rhythmusskalen ersetzt wird. Tabelle 2 Beispiele für fehlertolerante Rhythmuswörter
W4 | 3 | 1/3 | 1 | 1 | 1/2 |
C1 | 1 | 1/3 | 1 | 1 | 1/2 |
C2 | 3 | 1/2 | 1 | 1 | 1/2 |
C3 | 3 | 1/3 | 3 | 1 | 1/2 |
C4 | 3 | 1/3 | 1/2 | 1 | 1/2 |
C5 | 3 | 1/3 | 1 | 3 | 1/2 |
C6 | 3 | 1/3 | 1 | 1/2 | 1/2 |
C7 | 3 | 1/3 | 1 | 1 | 1 |
C8 | 3 | 1/3 | 1 | 1 | 1/3 |
-
In anderen Ausführungsformen können die fehlertoleranten Rhythmuswörter auch auf der Grundlage einer Benutzervorliebe, eines fehlertoleranten Protokolldatensatzes oder des prognostizierten Ergebnisses einer Wahrscheinlichkeitsstichprobe erzeugt werden. Wenn ein Benutzer beim Tippen zum Eingeben einer Anfrage nach einem Lied beispielsweise regelmäßig eine oder mehrere Noten falsch tippt, zu viele oder zu wenige tippt, kann eine solche Benutzervorliebe als fehlertolerantes Rhythmuswort speziell für den Benutzer aufgezeichnet werden. Wenn das Verfahren der vorliegenden Erfindung beispielsweise online angewandt wird, ist es außerdem möglich, einen Lerner so zu konfigurieren, dass ein geeigneter Bereich von fehlertoleranten Rhythmuswörtern prognostiziert wird, indem Anfragestichproben von mehreren Benutzern trainiert werden. Fachleute werden außerdem verstehen, dass zusätzlich zu dem oben genannten fehlertoleranten Mechanismus die vorhandene Vielzahl von fehlertoleranten Suchalgorithmen mit der vorliegenden Erfindung kombiniert werden können.
-
Unter erneuter Bezugnahme auf 2 geht das Verfahren 200 nach dem Ermitteln eines Rhythmuswortsatzes im Schritt 230 weiter zum Schritt 250. Im Schritt 250 kann ein zu suchender Musiktitel, beispielsweise anhand eines in 3A gezeigten Segments, unter Verwendung des erstellten Rhythmuswortsatzes aufgefunden werden. Zum Zweck des oben genannten Auffindens in einer Datenbank, die Rhythmuswörter von Musiktiteln enthält, ist es möglich, die vorhandene Vielzahl von Suchalgorithmen zu verwenden.
-
Das Musiktitelsuchverfahren der vorliegenden Erfindung kann mit den vorhandenen Anwendungsprogrammen zur Musikwiedergabe oder Anwendungsprogrammen zur Multimediaverwaltung kombiniert werden. In einer Implementierung können Rhythmuswörter in Musiktiteln oder ihrem charakteristischsten Segment in Musiktitelmetadaten enthalten sein, um ein Suchen und Auffinden zu ermöglichen. Ein Benutzer kann das oben genannte Musiktitelsuchverfahren 200 verwenden, um einen gewünschten Musiktitel in einer Datenbank zu suchen und ein bestimmtes Musiktitelsegment schnell aufzufinden. In einer anderen Implementierung kann ein Benutzer eine bestimmte Anfrage, die auf ein oder mehrere bestimmte Musikstücke gerichtet ist, individuell anpassen.
-
6 zeigt ein funktionelles Blockschaubild einer Musiktitelsuchvorrichtung 600 gemäß den Ausführungsformen der vorliegenden Erfindung. Die Funktionsmodule der Musiktitelsuchvorrichtung 600 können in Hardware, Software oder einer Kombination aus Hardware und Software implementiert werden, die den Grundgedanken dieser Erfindung realisiert. Fachleute können verstehen, dass die in 6 gezeigten Funktionsmodule kombiniert oder in Teilmodule unterteilt werden können, um den Grundgedanken dieser Erfindung zu realisieren. Folglich kann die Beschreibung hierin jede mögliche Kombination, Unterteilung oder weitere Definition von hierin beschriebenen Funktionsmodulen unterstützen.
-
Die Musiktitelsuchvorrichtung 600 weist eine Rhythmusskalensatz-Erzeugungseinheit 610, eine Rhythmuswortsatz-Erstellungseinheit 650 und eine Musiktitelauffindungseinheit auf. Die Rhythmusskalensatz-Erzeugungseinheit 610 ist so konfiguriert, dass sie auf der Grundlage einer empfangenen Anfrage einen Rhythmusskalensatz erzeugt, wobei die Anfrage eine Vielzahl von Anfragewerten aufweist, die einen Rhythmus eines zu suchendenden Musiktitels definieren. In einer Ausführungsform entspricht die Anfrage einer Reihe von Tippvorgängen eines Benutzers auf Eingabeeinheiten wie beispielsweise eine Berührungseingabeeinheit, eine Tastatur, ein Tastenfeld und ein Mikrofon. In einer anderen Ausführungsform entspricht die Anfrage einer Reihe von Schüttelvorgängen, die von einem Benutzer durch Verwenden eines Winkelbewegungssensors, beispielsweise eines Gyroskops oder eines Beschleunigungssensors, gemäß einem entsprechenden Rhythmus ausgeführt werden.
-
In einer Ausführungsform kann die Rhythmusskalensatz-Erzeugungseinheit 610 eine Notenrhythmusskalen-Erzeugungseinheit 612 (note tempo scale generating unit) enthalten. Die Notenrhythmusskalen-Erzeugungseinheit 612 ist so konfiguriert, dass sie jeden Anfragewert der empfangenen Anfrage auf eine einem Notenwert entsprechende Rhythmusskala abbildet. Alternativ kann die Rhythmusskalensatz-Erzeugungseinheit 610 in einer anderen Ausführungsform eine Verhältnisrhythmusskalen-Erzeugungseinheit (ratio tempo scale generating unit) 614 aufweisen. Die Verhältnisrhythmusskalen-Erzeugungseinheit 614 ist so konfiguriert, dass sie für jeden Anfragewert in der empfangenen Anfrage mit Ausnahme des ersten Anfragewertes ein Verhältnis des Anfragewertes zu einem entsprechenden vorhergehenden Anfragewert als eine Rhythmusskala des Anfragewertes berechnet.
-
Die Rhythmuswortsatz-Erstellungseinheit 650 ist so konfiguriert, dass sie auf der Grundlage des von der Rhythmusskalensatz-Erzeugungseinheit 610 erzeugten Rhythmusskalensatz einen Rhythmuswortsatz erstellt, wobei jedes Rhythmuswort im Rhythmuswortsatz mindestens eine Rhythmusskala im Rhythmusskalensatz enthält. In einer Ausführungsform kann die Rhythmuswortsatz-Erstellungseinheit 650 eine Rhythmuswortlängen-Festlegungseinheit (tempo ward length setting unit) 660 und eine Rhythmuswort-Erzeugungseinheit (tempo ward generating unit) 670 aufweisen. Die Rhythmuswortlängen-Festlegungseinheit 660 ist so konfiguriert, dass sie eine Länge eines Rhythmuswortes festlegt, wobei die Länge die Anzahl von im Rhythmuswort enthaltenen Rhythmusskalen anzeigt. Die Rhythmuswort-Festlegungseinheit 670 ist so konfiguriert, dass sie eine Vielzahl von Rhythmuswörtern mit der von der Rhythmuswortlängen-Festlegungseinheit 660 festgelegten Länge mit einem vorab festgelegten Schritt in der Reihenfolge von Rhythmusskalen im Rhythmusskalensatz erzeugt, wobei die Anzahl von fortlaufenden identischen Rhythmusskalen in zwei benachbarten Rhythmuswörtern gleich der Länge eines Rhythmuswortes minus dem vorab festgelegten Schritt ist.
-
In einer Ausführungsform weist die Rhythmuswortsatz-Erstellungseinheit 650 außerdem eine Einheit 680 zum Erzeugen fehlertoleranter Rhythmuswörter auf, die so konfiguriert ist, dass sie für jedes der Rhythmuswörter ein fehlertolerantes Rhythmuswort erzeugt. In einer Implementierung können die fehlertoleranten Rhythmuswörter auf der Grundlage einer Benutzervorliebe, eines fehlertoleranten Protokolldatensatzes oder des prognostizierten Ergebnisses einer Wahrscheinlichkeitsstichprobe erzeugt werden.
-
In einer Ausführungsform kann die Einheit 680 zum Erzeugen fehlertoleranter Rhythmuswörter außerdem aufweisen: eine erste fehlertolerante Teileinheit (fault-tolerant subunit) 682, die so konfiguriert ist, dass sie eine oder mehrere in einem entsprechenden Rhythmuswort enthaltene Rhythmusskalen auswählt; und eine zweite fehlertolerante Teileinheit 683, die so konfiguriert ist, dass sie die von der ersten fehlertoleranten Teileinheit 682 ausgewählten Rhythmusskalen im entsprechenden Rhythmuswort durch entsprechende fehlertolerante Rhythmusskalen ersetzt, um ein fehlertolerantes Rhythmuswort zu erzeugen.
-
In einer Ausführungsform kann die Einheit 680 zum Erzeugen fehlertoleranter Rhythmuswörter außerdem aufweisen: eine Rhythmusskalen-Rangordnungseinheit (tempo scale ranking unit) 684, die so konfiguriert ist, dass sie alle Rhythmusskalen im Rhythmusskalensatz in einer Rangfolge anordnet; und eine Einheit 685 zum Ermitteln fehlertoleranter Rhythmusskalen (fault-tolerant tempo scale determining unit), die so konfiguriert ist, dass sie für jede im entsprechenden Rhythmuswort enthaltene Rhythmusskala eine festgelegte Anzahl von Rhythmusskalen, die vorangehend oder nachfolgend angeordnet sind, als fehlertolerante Rhythmusskalen der Rhythmusskala ermittelt.
-
Die Musiktitelauffindungseinheit 690 ist so konfiguriert, dass sie zu suchende Musiktitel unter Verwendung des von der Rhythmuswortsatz-Erstellungseinheit 650 erstellten Rhythmuswortsatzes auffindet.
-
Die Musiktitelsuchvorrichtung 600, wie sie in 6 gezeigt wird, kann in elektronischen Einheiten verwendet werden, beispielsweise in einem Desktop-Computer, einem Tablet-Computer, einem Laptop-Computer, einem Personal Digital Assistant, einem Multimedia-Player, einem Smartphone und einer Spielkonsole, die eine Eingabeeinheit aufweisen, welche in der Lage ist, eine Anfrage zum Definieren des Rhythmus eines Musiktitels oder von einem oder mehreren Segmenten von diesem zu empfangen. Zu der Eingabeeinheit können Einheiten wie eine Berührungseingabeeinheit, eine Tastatur, ein Tastenfeld, ein Mikrofon, ein Gyroskop, ein Beschleunigungssensor oder dergleichen gehören.
-
Mit dem Musiktitelsuchverfahren und der Vorrichtung der vorliegenden Erfindung ist es möglich, erwartete Musiktitel zu suchen oder ein oder mehrere erwartete musikalische Segmente lediglich auf der Grundlage des Rhythmus eines Musiktitels aufzufinden, ohne dass eine Musikmelodie eingegeben werden muss.
-
Mit dem Musiktitelsuchverfahren und der Vorrichtung der vorliegenden Erfindung ist es außerdem möglich, eine schnelle und genaue Musiktitelsuche auszuführen.
-
Mit dem Musiktitelsuchverfahren und der Vorrichtung der vorliegenden Erfindung ist es außerdem möglich, eine geeignete fehlertolerante Suche in Kombination mit Faktoren wie dem Musiktitel selbst, einer Benutzervorliebe und eines Protokolldatensatzes bereitzustellen.
-
Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und Arbeitsweise von möglichen Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Codeteil darstellen, der einen oder mehrere ausführbare Befehle zum Implementieren der angegebenen logischen Funktion(en) aufweist. Außerdem sei darauf hingewiesen, dass in einigen alternativen Implementierungen die im Block angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. Beispielsweise können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der beteiligten Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Außerdem sei darauf hingewiesen, dass jeder Block der Blockschaubilder und/oder Ablaufplandarstellungen und Kombinationen von Blöcken in den Blockschaubildern und/oder Ablaufplandarstellungen von speziellen auf Hardware beruhenden Systemen oder Kombinationen von spezieller Hardware und Computerbefehlen, die die angegebenen Funktionen oder Vorgänge ausführen, implementiert werden können.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung dienen zur Veranschaulichung, sollen jedoch nicht erschöpfend sein oder die offenbarten Ausführungsformen einschränken. Für Fachleute sind viele Modifikationen und Änderungen offensichtlich, ohne vom Schutzumfang und Gedanken der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um den Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt erhältlichen Technologien bestmöglich zu erläutern oder um anderen Fachleuten ein Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.