Ultrastar Duett


Wer kennt das nicht, da übernimmt man von seinen Original Singstar DVDs so schöne Lieder wie „Ein Traum Wird war“ und muss sich dann entscheiden ob man jetzt Aladin oder Jasmin singen will…

Doch nun gibt es Abhilfe… Unter http://forum.ultra-star.de/viewtopic.php?f=70&t=8121 findet Ihr eine Ultrastar Version, die den Duett Modus unterstützt. Jedoch liegen leider die Quellsongs nicht im passenden Duett Format vor. Doch auch dafür gibt es abhilfe. Schaut man sich nämlich mal die eigentlichen Duett files an, so entsprechen diese normalen Ultrastar files (die .txt Dateien in den song Ordnern), in denen jedoch beide Stimmen liegen. Und zwar sind die Dateien folgendermaßen aufgebaut:

#head

P1

//noten Player 1

P2

//noten Player2

E

dies lässt sich nutzen um einfach die Lieder zusammenzufügen. Schaut man sich jedoch die Dateien aus obigem beispiel mal genauer an, findet man bei Aladin folgendes:

#BPM:240
#GAP:8062,5
: 0 8 66 Flieg

und bei Jasmin folgendes:

#BPM:240
#GAP:51437,5
: 0 2 66 In

wenn man sich nun den dateiaufbau anguckt, wie er auf http://dhost.info/ultrastar/guide_file_format.html beschrieben ist, stellt man schnell fest, das wir um das ganze zusammenzufügen (da wir die Gaps ja nicht kombinieren können), zum einen Jasmin in die Datei von Aladin kopieren müssen, zum anderen aber auch auf die Positionen von Jasmin die differenz der Gaps beider addieren müssen. Nun sind leider die Notenpositionen in einer anderen Einheit wie die Gaps, also müssen wir das ganze umrechnen. „Stellt“ man die Formel Startzeit = (erster Zeitstempel / (BPM * 4)) * 60 Sekunden + GAP ein kleines bischen frei um, so kommt man auf offset, der bei Jasmin addiert werden muss = (Gapdifferenz*BPM*4)/(60*1000). Da das ziemlich viele Zahlen sind auf die man nun diesen Offset drauf addieren muss habe ich gestern nacht mal auf die Schnell ein Ultra hässliches Programm geschrieben: us_duett ich gebe euch auch den Quellcode, damit ihr es entweder schön machen könnt oder aber auch um eine etwas komfortablere Eingabe erweitern könnt: us_duett_src (Java, total schlampig, unleserlich, nicht kommentiert und absolut nicht vorzeigbar!!!) Ich hoffe ihr blickt dabeidurch. Letztendlich sollte dann die Datei von Aladin folgendermaßen aussehen:

[…]

#BPM:240
#GAP:8062,5
P2
: 0 8 66 Flieg

[…]

P1
: 694 2 66 In
: 698 6 67  dei

[…]

E

 

Ich freue mich über jegliches Feedback oder kommentare

, , ,

  1. Bisher keine Kommentare.
(wird nicht veröffentlicht)