---

UltraStar.de - Karaoke


Anleitungen, um Songs selber zu machen und zu ändern

1. Die TXT-Datei

Header

Der Header (der Anfang) einer TXT-Datei MUSS die folgenden Felder enthalten:

#TITLE:
#ARTIST:
#MP3:
#BPM:
#GAP:

Beispielhafter minimaler Header:

#TITLE:Superstar (demo)
#ARTIST:Jamelia
#MP3:Jamelia - Superstar (Demo).mp3
#BPM:110
#GAP:50

Darüber hinaus KANN er noch folgende Felder enthalten:

#RELATIVE:yes
#VIDEO:
#VIDEOGAP:
#RESOLUTION:
#START:

Beispielhafter erweiterter Header:

#TITLE:Superstar (demo)
#ARTIST:Jamelia
#MP3:Jamelia - Superstar (Demo).mp3
#BPM:110
#GAP:50
#RELATIVE:yes
#VIDEO:Jamelia - Superstar (Demo).mpg
#VIDEOGAP:10
#RESOLUTION:80

Bedeutung der Felder

#TITLE:
Der Titel des Liedes. Dieser wird auch bei der Liedauswahl angezeigt, also könnte man in dem Beispiel nicht sehen, daß das Lied von Jamelia ist.

#ARTIST:
Der Interpret des Liedes.

#MP3:
Der Name der Mp3-Datei.

#BPM:
Geschwindigkeit des Liedes in Beats Per Minute. Damit meint man normalerweise die Anzahl der Viertel-Noten oder betonten Beats pro Minute.

#GAP:
Der Abstand des Textes vom Anfang des Liedes in Millisekunden.
Wann der Text tatsächlich beginnt, kann man folgendermaßen berechnen:

Startzeit = erster Zeitstempel / BPM / 4 * 60 Sekunden + GAP.
Im Beispiel also 129 / 110 / 4 * 60 Sekunden + 50 Millisekunden = 17,59 Sekunden + 0,005 Sekunden = 17,595 Sekunden.
Falls die Zeitstempel relativ sind, vereinfacht sich die Rechnungen zu:
Startzeit = GAP

#RELATIVE:
Gibt an, ob die Zeitstempel nach jeder Zeile wieder von 0 anfangen oder nicht ("yes" bedeutet sie beginnen wieder bei 0). Wenn diese Zeile fehlt, dann sind die Zeitstempel absolut. Relative Zeitstempel erleichtern die Arbeit an einer TXT-Datei erheblich, da man, wenn man eine Pause einfügen möchte, nicht alle nachfolgenden Zeitstempel anpassen muss, sondern nur die bis zum Ende der Zeile. Wenn man nun selbst von absoluten auf relative Zeitstempel umstellen möchte, bedeutet das eine Menge Handarbeit. Wer weiß, vielleicht gibt es dazu ja bald ein Tool...

#VIDEO:
Dateiname der Video-Datei. Im Moment sind hier nur MPEG-1 Dateien möglich. Der Sound des Videos wird übrigens nicht abgespielt.

#VIDEOGAP:
Wie GAP für die MP3-Datei nur diesmal eben für das Video.

#RESOLUTION:
Das weiß ich noch nicht. Ich würde mich aber freuen, wenn es mir jemand mitteilen würde :-).

#START:
Gibt an, ab welcher Sekunde das Lied gespielt wird. Das ist praktisch, wenn man an einem Lied arbeitet und sich Änderungen anhören/anschauen möchte und keine Lust hat das ganze Lied von Anfang an zu hören.
Außerdem kann man so z.B. ein langes Intro überspringen.

Ton- und Textdaten

Anschließend kommen die eigentlichen Ton- und Textdaten. Je nachdem, ob die Zeitstempel relativ oder absolut sind (siehe Feld #RELATIVE:) sieht es etwas anders aus:

Absolute Zeitstempel (hier also #RELATIVE:no):
Das Beispiel ist die TXT-Datei aus dem UltraStar-Paket.

: 129 2 15 Peop
: 131 1 15 le
: 132 3 15 al
: 135 1 15 ways
: 137 1 13 talk
: 139 1 15 a
: 141 2 10 bout
- 152
: 161 2 15 All
: 163 1 15 the
: 164 2 15 things
: 167 1 15 they're

Der erste Wert ist der Zeitstempel, der angibt, wann der Ton kommt. Der zweite Wert ist die Länge des Tons in Beats. Pausen entstehen, wenn der nachfolgende Ton nicht direkt beginnt. Im Beispiel also: 1 Beat Pause nach always, talk, a, things. Der dritte Wert gibt die Tonhöhe an, wobei 0 = C1 ist. Anschließend folgt die Silbe, die zum Ton gehört. Ob die nächste Silbe noch zum Wort gehört, erkennt UltraStar folgendermaßen: Falls hinter der Silbe kein Leerzeichen steht, gehört die nächste Silbe zum Wort dazu.

Die Zeile
- 152
gibt an, dass hier die nächste Zeile angezeigt werden soll. Es ist auch Folgendes möglich:
- 152 153
Dann gibt der erste Wert an, wann die vorige Zeile vom Bildschirm verschwindet, und der zweite, wann die nächste Zeile erscheint.

Nun das ganze Beispiel nochmal mit relativen Zeitstempeln (hier also #RELATIVE:yes und, damit es passt, #GAP:17595):

: 0 2 15 Peop
: 2 1 15 le
: 3 3 15 al
: 6 1 15 ways
: 8 1 13 talk
: 10 1 15 a
: 12 2 10 bout
- 23
: 9 2 15 All
: 11 1 15 the
: 12 2 15 things
: 15 1 15 they're

Wie man sieht, ändern sich nur die Zeitstempel.

Beendet wird eine TXT-Datei mit einer Zeile, die nur "E" enthält.

Noch eine kleine Anmerkung zu dem Beispiel. Ich hatte den Eindruck, dass der Text zu spät angezeigt wird. Ich vermute, dass der Text eher nach 17,0 Sekunden beginnen sollte.

Kommentare und Fragen

bitte an email