-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf ein Tanzspiel,
und im Speziellen auf ein Verfahren zum Erzeugen von Tanzmustern
unter Benutzung eines Audiosignals.
-
In
der letzten Zeit ist ein Tanzspiel wie das DDR
TM (Dance
Dance Revolution) Spiel geläufig
unter den Jugendlichen. In diesem Tanzspiel tanzt ein Spieler zu
einer Hintergrundmusik durch Treten (oder mit dem Fuß stampfen
oder berühren)
von speziellen Punkten gemäß Tanzmustern,
die auf einer Anzeigefläche
der Spielekonsole oder Spielemaschine angezeigt werden. Die Spielemaschine
beinhaltet eine Tanzvorrichtung zur Benutzung in einem Spieleraum,
einem Personal Computer (PC) und eine CD (Compact Disk) Spielvorrichtung.
Im Allgemeinen werden die Tanzmuster angezeigt auf einem Bildschirm
als einem Pfeil nach oben (↑), Pfeil
nach unten (↓),
Pfeil nach links (←)
und Pfeil nach rechts (→).
Solche Tanzspielmaschinen sind offenbart in der koreanischen Patentveröffentlichung
Nr. 99-78623, betitelt "Dance
Game Apparatus and Step-on Base for Dance Game";
EP 0 823 270 A2 , betitelt "Video Dance Game
Apparatus"; und
EP 0 974 382 A1 ,
betitelt "Dance
Game Apparatus and Step-on Base for Dance Game".
-
Unterdessen
unterstützen
die konventionellen Tanzspielvorrichtungen nur eine begrenzte Anzahl
von Liedern, die zuvor in dem DDR-Paket registriert werden, und
jedes Lied, welches in dem DDR-Paket registriert wurde, hat seine
eindeutigen Tanzmuster, welche zuvor bestimmt wurden. Demzufolge
kann sich der Spieler lediglich an dem Tanzspiel durch Auswählen nur
der Lieder (oder Musik), welche in dem DDR-Paket registriert sind,
erfreuen.
-
Manchmal
jedoch möchte
der Spieler sich daran erfreuen, dass er zu seiner Lieblingsmusik
tanzt, welche nicht in dem DDR-Paket registriert ist. Der konventionelle
Tanzspielapparat kann jedoch nicht die Musik spielen, welche nicht
in dem DDR-Paket registriert ist. Obwohl nicht-registrierte Musik
wiedergegeben werden kann, kann der Tanzspielapparat keine Tanzmuster
erzeugen, welche zu der Musik passen. Deshalb kann der Spieler sich
nicht an dem Tanzen zu der Musik, welche nicht in dem DDR-Paket
registriert ist, erfreuen.
-
DE 197 51 290 beschreibt
eine Vorrichtung und ein Verfahren zum Transformieren von akustischen Signalen.
Um in Bildern enthaltene Objekte durch akustische Signale zu aktivieren,
werden diese akustischen Signale empfangen und bearbeitet. Das analoge
Eingangssignal wird abgetastet und danach eingeteilt in separate
Frequenzkomponenten, diese erhaltenen Frequenzkomponenten werden
mit einigen vorherbestimmten Frequenzmustern verglichen. Das Ergebnis
des Mustervergleichs wird zur Identifizierung eines Audioereignisses
benutzt, diese Audioereignisse werden benutzt, um die Aktivierung
der vorgenannten Objekte auszulösen
und/oder die Entwicklung und/oder Formgebung der angezeigten Grafik
auszulösen.
-
WO
94/22128 beschreibt ein Ton-zu-Licht-Grafiksystem. In diesem System
werden Audiosignale zum Kontrollieren eines Grafikbearbeitungsgeräts bearbeitet.
Das eingehende Audiosignal wird einer schnellen Fourier Transformationsanalyse
unterworfen, durch welche das Signal in die enthaltenen Frequenzen
aufgespalten wird. Die Information über den zeitlich veränderlichen
spektralen Inhalt der Bassfrequenzen des Audiosignals werden benutzt,
um optische Effekte zu beeinflussen. Die Bestimmung eines Taktes
der Musik wird durch die Analyse der Amplitudenfluktuation der Bassfrequenzen
durchgeführt.
Wenn ein Takt durch einen Scheitelwert in diesen Frequenzen festgestellt
wurde, wird ein optischer Effekt eingeleitet.
-
Es
ist deshalb die Aufgabe der vorliegenden Erfindung, ein Verfahren
zu liefern für
das automatische Erzeugen von Tanzmustern für Musik, welche von einem Benutzer
gewünscht
wird, und dadurch dem Benutzer zu erlauben sogar zu nicht registrierter
Musik zu tanzen.
-
Diese
Aufgabe ist gelöst
durch die unabhängigen
Ansprüche.
-
Bevorzugte
Ausführungsformen
werden in den abhängigen
Ansprüchen
beschrieben.
-
Um
die obige Aufgabe zu lösen,
wird ein Verfahren für
das automatische Erzeugen von Tanzmustern unter Benutzung eines
Audiosignals (Musik) angegeben. Das Verfahren beinhaltet das Gewinnen
von Leistungsmerkmalen eines Audiosignals eines jeden Bearbeitungsfensters
durch Überdecken
des Audiosignals mit dem Bearbeitungsfenster für die Analyse des Audiosignals
in regelmäßigen Abständen, und
Entnehmen des Bearbeitungsfensters, welches einen Teil anzeigt,
der ein starkes Taktleistungsmerkmal auf weist, als Taktschlagfensterkandidaten;
Auswählen
von Schlagfenstern entsprechend den Punkten, wo ein Taktschlagen durchgeführt werden
sollte, gemäß einer
vorherbestimmten Tanzmustererzeugungsoption aus den Taktschlagfensterkandidaten;
und Zuweisen von vorherbestimmten einzigartigen Taktschlagcodes
zu den bestimmten Taktschlagfenster in einer Folge von Tanzmustern,
basierend auf der Tanzmustererzeugungsoption, und Erzeugen von Taktschlagdaten
der Tanzmuster unter Benutzung der Taktschlagcodes und Zeitinformation,
welche ein Zeitintervall zwischen den Taktschlagfenstern anzeigt.
-
Vorzugsweise
beinhaltet die Tanzmustererzeugungsoption eine Gattungsoption der
Musik und eine Niveauoption der Tanzmuster, welche erzeugt werden
sollen. Des Weiteren beinhaltet die Tanzmustererzeugungsoption eine
Abtastfrequenzoption für
die Analyse des Audiosignals und eine Größenoption des Bearbeitungsfensters.
-
Vorzugsweise
beinhaltet die Niveauoption des Tanzmusters eine Zahl von gleichzeitig
erzeugten Tanzmustern, eine Anzahl von Tanzmustern, welche für ein Musikstück erzeugt
wurden und maximale und minimale Intervalle zwischen den Tanzmustern.
-
Vorzugsweise
zeigt die Zeitinformation einen Unterschied in der Anzahl der Bearbeitungsfenster
zwischen einem spezifischen Bearbeitungsfenster und seinem vorangegangenen
Bearbeitungsfenster.
-
Vorzugsweise
beinhaltet der Taktschlagfensterextraktionsschritt das Berechnen
einer durchschnittlichen Energie eines jeden Bearbeitungsfensters;
erstmaliges Ableiten der durchschnittlichen Energie und danach erneutes
Ableiten des ersten Differenzialwertes; und Entnehmen des Bearbeitungsfensters,
welche eine negative zweite Ableitung besitzt, als Taktschlagfensterkandidat.
-
Die
obige Aufgabe, Merkmale und Vorteile der vorliegenden Erfindung
werden deutlicher durch die folgende detaillierte Beschreibung,
in Verbindung mit den begleitenden Zeichnungen, in welchen:
-
1 ein
Blockdiagramm darstellt, welche eine Vorrichtung für das automatische
Erzeugen von Tanzmustern illustriert, angewendet auf eine Ausführungsform
der vorliegenden Erfindung;
-
2 ein
Flussdiagramm ist, welches ein Verfahren zum Verwalten von Tanzmustern
gemäß einer Ausführungsform
der vorliegenden Erfindung illustriert;
-
3 ein
Flussdiagramm ist, welches ein Verfahren für das automatische Erzeugen
von Tanzmustern gemäß einer
Ausführungsform
der vorliegenden Erfindung illustriert;
-
4A bis 4C Diagramme
sind, welche Bearbeitungsfenster illustrieren, welche für das Analysieren eines
digitalen Audiosignals benutzt werden gemäß einer Ausführungsform
der vorliegenden Erfindung; und
-
5 ein
Diagramm ist, welches ein Taktschlagfensterdatenformat illustriert
gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
Eine
bevorzugte Ausführungsform
der vorliegenden Erfindung wird hiernach beschrieben in Bezug auf die
beiliegenden Abbildungen. In der nachfolgenden Beschreibung werden
wohlbekannte Funktionen oder Konstruktionen nicht im Detail beschrieben,
da dieses die Erfindung durch unnötige Details verschleiern würde.
-
1 illustriert
eine Vorrichtung für
das automatische Erzeugen von Tanzmustern, angewendet auf eine Ausführungsform
der vorliegenden Erfindung. In Bezug auf 1, die automatische
Tanzmustererzeugungsvorrichtung beinhaltet eine Eingabeeinheit 10,
eine Steuereinheit oder Controller 12, eine Flash-Speichereinheit 14,
einen Audiospeicher 16, einen RAM (Random Access Memory) 18,
eine Anzeigevorrichtung 20 und einen Lautsprecher 22.
Beispielsweise kann solch eine automatische Tanzmustererzeugungsvorrichtung
realisiert sein unter Benutzung eines Personal Computers. Die Eingabeeinheit 10,
welche eine Maus und eine Tastatur beinhaltet, erzeugt ein Eingabesignal
gemäß einer
Tanzmustererzeugungsoption, ein Menüauswahlkommando und ein Ausführungskommando,
eingegeben durch den Benutzer und stellt das erzeugte Eingabesignal
dem Controller 12 zur Verfügung. Die Tanzmustererzeugungsoption
wird benutzt, wenn der Benutzer eine Option des Erzeugens eines
Tanzmusters bestimmt, und diese Tanzmustererzeugungsoption beinhaltet
eine Gattungsoption der Musik und eine Niveauoption des Tanzmusters.
Die Tanzmustererzeugungsoption kann ebenso eine Abtastfrequenz option
und eine Größenoption
des Bearbeitungsfensters beinhalten. Zum Beispiel ist die Gattungsoption
eingeteilt in "Zufällig", "Disco", "Jazz" und "Technomusik". Die Niveauoption
des Tanzmusters beinhaltet die Anzahl von gleichzeitig erzeugten
Tanzmustern, die gesamte Anzahl von Tanzmustern, welche für das Lied
erzeugt werden, und die maximale und minimale Intervalle zwischen
den Tanzmustern. Der Flash-Speicher 14 speichert ein Programm
für das
Erzeugen der Tanzmuster, passend zu der durch den Benutzer ausgewählten Musik
(oder Lied). In dem Audiospeicher 16 werden zuvor Audiodaten
von zahlreichen Audiodateien gespeichert, basierend auf diesen werden
die Tanzmuster erzeugt. Der Benutzer lädt Audiodaten der erwünschten
Audiodateien von dem Internet oder einem externen Gerät herunter,
und speichert zuvor die herunter geladenen Audiodaten in dem Audiospeicher 16.
Da das Verfahren des Herunterladens von Audiodateien aus dem Internet
wohlbekannt ist, wird eine detaillierte Beschreibung dieses Verfahrens
nicht gemacht. Der RAM 18 speichert erzeugte Daten temporär, während der
Controller 12 das Programm zum Erzeugen der Tanzmuster
ausführt.
Der Controller 12 zeigt Icons oder Ikonen und zahlreiche
Daten für
das Erzeugen der Tanzmuster auf der Anzeigevorrichtung 20 an.
Des Weiteren, nach dem Erhalt eines Tanzmustererzeugungskommandos
von der Eingabeeinheit 10, lädt der Controller 12 Tanzmustererzeugungsprogramm
aus dem Flash-Speicher 14 und erzeugt Tanzmuster, welche
zu dem Audiosignal der Musik, welche durch die Eingabeeinheit 10 ausgewählt wurde,
passen. Der Controller zeigt die erzeugten Tanzmuster auf der Anzeigevorrichtung 20 an
und gleichzeitig reproduziert die Audiodatei und gibt das reproduzierte
Audiosignal durch die Lautsprecher 22 aus.
-
In
Bezug auf 2 wird eine Beschreibung gemacht,
in Hinblick darauf, wie der Controller 12 die Tanzmuster
verwaltet. In Schritt 100 liest der Controller 12 eine
Audiodatei, ausgewählt
durch den Benutzer aus dem Audiospeicher 16, und lädt die gelesene
Audiodatei in den RAM 18. Zu dieser Zeit zeigt der Controller 12 eine
Icone für
das Erzeugen von Tanzmustern auf der Anzeigevorrichtung 20 an.
Wenn der Benutzer dieses Icon unter Benutzung der Maus der Eingabeeinheit 10 anklickt,
zeigt der Controller 12 ein Audiodateiauswahlmenü auf der
Anzeigevorrichtung 20 an. Danach, wenn der Benutzer eine
gewünschte
Audiodatei, welche auf der Anzeigevorrichtung 20 angezeigt
wird, unter Benutzung der Maus der Eingabeeinheit 10 anklickt
(oder auswählt),
liest der Controller 12 die durch den Benutzer ausgewählte Audiodatei
aus dem Audiospeicher 16 und lädt die gelesene Audiodatei
in den RAM 18. Danach zeigt der Controller 12 ein
Eingabemenü zum
Eingeben der Tanzmustererzeugungsoption auf der Anzeigevorrichtung 20 an.
-
Wenn
der Benutzer die Tanzmustererzeugungsoption eingibt und ein Ausführungskommando
(oder Ausführungsbefehl)
durch die Eingabeeinheit 10 eingibt, führt der Controller 12 die
Tanzmustererzeugungsoperation in Schritt 104 durch.
-
Eine
detaillierte Beschreibung der Tanzmustererzeugungsoption von Schritt 104 wird
in Bezug auf 3 gemacht. In den Schritten 200 bis 204 entnimmt
der Controller 12 Leistungsmerkmale (oder Information) des
Audiosignals für
jedes Bearbeitungsfenster durch Verschieben des Bearbeitungsfensters,
welches die digitalen Audiosignale der 4A überdeckt,
gelesen aus dem Audiospeicher 16, in regelmäßigen Intervallen und
entnimmt (oder bestimmt) Bearbeitungsfenster, welche einen Teil
anzeigen, der ein starkes Taktschlagleistungsmerkmal aufweist als
Taktschlagfensterkandidat. Für
das Bearbeitungsfenster ist es möglich,
ein Hamming-Fenster oder ein Hanning-Fenster zu benutzen, wie in 4B gezeigt, und ein rechteckiges Fenster,
wie in 4C gezeigt. Alternativ ist
es ebenso möglich,
das Hamming-Fenster oder das Hanning-Fenster so zu verschieben,
dass es die Fenster zu 50 % überlappt.
Das Hamming-Fenster ist repräsentiert
durch w(i)=0,54-0,46 cos(2πi/Nw-1), das Hanning-Fenster ist repräsentiert
durch w(i)=0,5-0,5 cos(2πi/Nw-1), und das rechteckige Fenster ist repräsentiert
durch w(i)=1. Hier ist 0≤i≤Nw-1,
Ts=1/fs, w(n) zeigt einen Gewichtungskoeffizienten
der Fenster an und Nw zeigt eine Größe der Fenster
an.
-
In
Schritt
200 berechnet der Controller
12 eine durchschnittliche
Energie aus einem durch das Multiplizieren des Audiosignals mit
dem Bearbeitungsfenster erhaltenen Signals. In Schritt
202 differenziert
der Controller
12 die durchschnittliche Energie erstmalig
und differenziert dann den ersten Differenzialwert zum zweiten Mal.
Danach, in Schritt
204, entnimmt der Controller
12 das
Bearbeitungsfenster, welches einen negativen zweiten Ableitungswert
besitzt, als einen Taktschlagfensterkandidat. Da Bearbeitungsfenster
mit einem negativen zweiten Ableitungswert einen Punkt mit der größten Energie
anzeigt, d.h. einen Punkt mit dem stärksten Takt, wo ein Taktschlagen,
wie z.B. mit dem Fuß stampfen
oder Berühren,
durchgeführt
werden sollte, werden diese Bearbeitungsfensterteile als Taktschlagfensterkandidaten
entnommen. Das Ergebnis der Schritte
200 bis
204 werden
in Tabelle 1 gezeigt, als ein Beispiel. In Tabelle 1 bezeichnet "CA" einen Kandidaten. Tabelle
1
-
Hiernach,
in Schritt
206, bestimmt der Controller
12 aus
den Taktschlagfensterkandidaten die Taktschlagfenster, welche den
Punkten entsprechen, bei denen das Taktschlagen durchgeführt werden
sollte, gemäß der Tanzmustererzeugungsoption.
In Schritt
208 weist der Controller
12 einzelne
Schlagmuster den ermittelten Taktschlagfenstern in der Reihenfolge
der Tanzmuster basierend auf der Tanzmustererzeugungsoption zu,
wie in Tabelle 2 gezeigt, und erzeugt Taktschlagdaten der Tanzmuster,
unter Benutzung der Taktschlagcodes zusammen mit Zeitinformation
zwischen den Taktschlagfenstern. Tabelle
2
-
Zwei
Zeitintervall-begrenzende Bedingungen werden benötigt zum Feststellen der Taktschlagfenster aus
den Taktschlagfensterkandidaten in Schritt 206. Betreffend
die erste Zeitintervall-begrenzende Bedingung, wenn es nur eine
sehr kurze Zeitdifferenz zwi schen den Taktschlagfenstern gibt, beispielsweise
zwischen den Fenstern #5 und #7 in Tabelle 1, kann der Benutzer
fühlen,
dass die Taktschläge
beinahe gleichzeitig gehört werden.
Demnach definiert der Controller 12 ein minimales Zeitintervall
zwischen den Taktschlagdaten als die erste Zeitintervall-begrenzende
Bedingung, wobei dieser einen von nebeneinander liegenden Taktschlagfensterkandidaten,
der den niedrigsten Wert besitzt, als ein Taktschlagfenster bestimmt.
-
Die
zweite Zeitintervall begrenzende Bedingung ist definiert, um zu
verhindern, dass Tanzmuster nicht für eine lange Zeit erzeugt werden.
Die zweite Bedingung definiert ein Zeitintervall, in welchem mindestens
ein Taktschlagfenster existieren sollte, d.h. der maximale zeitliche
Abstand zwischen den Taktschlagdaten.
-
5 illustriert
ein Taktschlagfensterdatenformat zum Speichern von Taktschlagdaten
der erzeugten Tanzmuster. Das Taktschlagfensterdatenformat beinhaltet
eine Header-Information
(oder Kopfzeileninformation) und n Taktschlagdaten BD1-BDn. Die
Header-Information
besteht aus einem Zwischen-Abtastungszeitintervall Ts, die Anzahl
Nw der Zahl von Abtastungen pro Fenster,
eine begrenzte Zeit Tmin für das minimale
Zeitintervall zwischen Taktschlagdaten, eine begrenzende Zeit Tmax für
das maximale Intervall zwischen den Taktschlagdaten, und eine Taktschlagdatennummer
NB. Die Taktschlagdaten BD beinhalten eine
Taktschlagfensternummerndifferenz DNBW (Difference Number of Beating
Window), welche anzeigt, einen Unterschied in der Zahl des Bearbeitungsfensters
zwischen einem speziellen Taktschlagfenster und seinem vorangehenden
Taktschlagfenster, und einem Taktschlagcode BC. Hier, die Zahl NDNBW von Bits, welche der Zeitinformation
DNBW zugewiesen sind, ist definiert durch Gleichung (1), siehe unten.
-
-
Nach
dem Erzeugen des Tanzmusters zeigt der Controller 12 in
Schritt 106 die erzeugten Tanzmuster auf der Anzeigevorrichtung 20 an,
während
die Audiodatei reproduziert wird und die reproduzierte Audiodatei aus
dem Lautsprecher 22 ausgegeben wird. Wenn der Benutzer
in Schritt 108 eine Taste für das Registrieren der erzeugten
Tanzmuster anklickt, unter Benutzung der Eingabeeinheit 10,
nachdem die angezeigten Tanzmuster überprüft wurden, speichert der Controller 12 die
Taktschlagdaten der Tanzmuster in dem Audiospeicher 16 in
dem Taktschlagfensterdatenformat der 5 in Zusammen hang
mit der Audiodatei. Jedoch, wenn der Benutzer nicht mit den Tanzmustern,
welche in der Anzeigevorrichtung 20 angezeigt werden, zufrieden
ist, kann dieser eine Taste für
das Zurückweisen
des Registrierens des erzeugten Tanzmusters unter Benutzung der
Eingabeeinheit 10 in Schritt 108 anklicken. Dann
kehrt der Controller 12 zu Schritt 102 zurück und erzeugt neue
Tanzmuster durch Ändern
der Tanzmustererzeugungsoption.
-
Der
Benutzer kann sich an dem Tanzspiel durch Herunterladen der erzeugten
Tanzmuster auf den Personal Computer, eine Spielvorrichtung oder
ein mobiles Telefon erfreuen.
-
In
dieser Art kann der Benutzer Tanzmuster erzeugen, auch für unregistrierte
Musik durch Benutzung der Audiosignale gemäß zahlreicher Optionen. Der
Benutzer kann Tanzmuster erzeugen, seiner bevorzugten Audiodateien,
wie z.B. MP3 (MPEG-1 Layer 3) Audiodateien und Wave©-Audiodateien
und sich an dem Tanzspiel erfreuen, während er seiner Lieblingsmusik
zuhört.
-
Auch
wenn die Ausführungsform
der vorliegenden Erfindung Tanzmuster erzeugt durch Laden von Audiodateien
in den Audiosprecher 16, ist es ebenso möglich, die
Tanzmuster zu erzeugen durch Empfangen eines Audiosignals eines
bestimmten Liedes auf einer Real-Time-Basis. In diesem Fall ist
es notwendig, einen Referenzintervall zu definieren, basierend auf
diesem wird das Audiosignal analysiert, um die Tanzmuster zu erzeugen.