Lippensynchronität

Der Untergrund lebt...
Antworten
gardener
Indy-Wannabe
Indy-Wannabe
Wohnort: Düsseldorf
Kontaktdaten:

Lippensynchronität

31.08.2004, 09:28
Mal angenommen, Ihr würdet Euer Adventure mit einer Sprachausgabe versehen. Wie würdet Ihr die Dialoge lippensynchron zur Animation bekommen? Oder ist das für ein Hobby-Adventure zu anspruchsvoll?

Ich selber bastele an einem solchen Algorithmus, aber ich weiss nicht ob ein einfacher MundAuf/Mundzu-Rhytmus ausreichend ist. Ich habe mal probiert, die dazugehörigen Sätze nach Lauten zu untersuchen und eine entsprechende Animation zu benutzen. Aber das ist mir dann doch zu aufwändig. Ich reduziere mich nun auf insgesamt 6 Animationsphasen: 2 verschiedene für geschlossenen Mund und 4 für einen offenen Mund. Aus diesen Phasen wähle ich mir einfach eine zufällig aus und das sieht dann in Bewegung gar nicht so schlecht aus. Wie denkt Ihr darüber, wie macht das AGS oder Visionaire?

Ein anderes Problem ist die Textgeschwindigkeit. Zusätzlich zur Sprachausgabe gebe ich den gelaberten Text auf dem Bildschirm aus, zum Mitlesen. Einem gesprochenenen Text kann man aber meistens schneller folgen als dem Gelesenen, sodass die Bildschirmtexte zu kurz zum Mitlesen angezeigt werden. Manche Dialoge erstrecken sich über mehrere Sätze, sodass der Spieler bisher nicht den kompletten Text auf einmal sieht. In Profi-Adventures wie Syberia werden zB. jeweils 3 Zeilen angezeigt und dann langsam gescrollt. Das ist mir aber zu aufwändig und zu 98% überflüssig. Den Bildschirmfont einfach sehr klein zu machen, wie es einige Adventures realisieren, ist auch keine brauchbare Lösung.

Habt Ihr eine Meinung dazu?

Jonas
Gralsjäger
Gralsjäger
AC-Job: Adventure Corner Staff

31.08.2004, 13:03
Mit Sprachausgabe habe ich mich noch gar nicht gedanklich befasst.
Ich denke es ist wirklich etwas zu viel verlangt von einem Fanadventure, den gesprochenen Text lippensynchron auszugeben. Außerdem, das behaupte ich jetzt einfach mal, schafft dies kein Algorithmus volkommen zufriedenstellend.

Zu deinem Problem mit den Dialogen über mehrere Sätze: spontan würden mir zwei Lösungsmöglichkeiten einfallen.

1.) Du schreibst dir heraus, wann (zb. in ms nach dem Beginn der Sound-Datei) ein neuer Satz beginnt, und zeigst dem entsprechend den Text an. Bei sehr langen Sätzen könntest du ja auch in der Mitte einen Umbruch vornehmen. Das ist natürlich sehr aufwendig.
2.) Du packst jeden gesprochenen Satz in eine extra Datei. Da du deine Engine selbst programmierst, sollte es kein Problem darstellen, einzelne Dialogteile mit mehreren gesprochenen Sätzen in ein bestimmtes Dateiformat zu bringen, aus dem du am Anfang Anzahl (und evtl. Dauer) der inbegriffenen Sätze herausliest. Dann könntest du entweder den Text komplett synchron zur Sprachausgabe wiedergeben, oder aber nach jedem gesprochenen Satz auf einen Mausklick des Spielers warten, oder gleich dem Spieler die Möglichkeit geben, dieses Verhalten in den Optionen einzustellen.

Agent Calavera
Adventuregott
Adventuregott
Wohnort: Nuevo Marrow

31.08.2004, 13:13
Also Ich kenn das nur so, dass einfach eine Blabla-animation da ist, die sich natürlich nicht auf mund-auf, mund-zu beschränkt sondern immer hin und hergeht zwischen vielleicht 5 bildern und dann so zufallsmßigf... 1 textdatei gleich 1 satz, wenn eine luft wird die animatio einfach abgespielt wen nicht nicht oO das fllt eigendlich garnicht auf, wer achtet schon genau daraf wann der mund nun wie gebildet war! wenn man einen englischen film mit deutscher sprachausgabe versieht fällt das ja auch nicht auf..
Stake a Lizard by the throat

Jonas
Gralsjäger
Gralsjäger
AC-Job: Adventure Corner Staff

31.08.2004, 13:28
Original von Agent Calavera
wenn man einen englischen film mit deutscher sprachausgabe versieht fällt das ja auch nicht auf..
wobei die Sprecher auch auf Lippensynchronität achten...

gardener
Indy-Wannabe
Indy-Wannabe
Wohnort: Düsseldorf
Kontaktdaten:

31.08.2004, 13:46
Original von Jonas
...2.) Du packst jeden gesprochenen Satz in eine extra Datei....
Das habe ich auch vorgehabt, aber leider kann man nicht jeden Satz 'für sich stehen lassen'. Ich meine damit, dass manche Satzfolgen stimmlich voneinander abhängig sind und nicht gestückelt werden können. Auch für die Atmosphäre wäre ein kurzes Anhalten/Abwarten zwischen den Sätzen ziemlich schlecht. Ich glaube, da muss ich noch ein wenig experimentieren. Jedenfalls werde ich nicht jeden Take in MilliSekunden einteilen, um lippensynchron zu werden. Bei ca.800 Takes wird mir das zuviel.

Agent Calavera
Adventuregott
Adventuregott
Wohnort: Nuevo Marrow

31.08.2004, 14:07
Ich seh das auch icht so tragiscxh, bei vielen spielen fllt einem manchmal ach auf dass die lippen nicht das machen was die spracher verlangt, aber wirkich stören tut das nicht.. wenn zum beispiel tony tough pantagruel ruft, dann bewegen sich seine lippen als würde er grad nen zungenbrecher aufsagen.. ist doch egal oO
Zuletzt geändert von Agent Calavera am 31.08.2004, 14:07, insgesamt 1-mal geändert.
Stake a Lizard by the throat

Benutzeravatar
Subb
Schwertmeister
Schwertmeister
Wohnort: Kapstadt
Kontaktdaten:

31.08.2004, 21:13
Ich benutze in Visionaire eine eher einfache Methode: Eine Sprechanimation hat bei mir ungefähr 5-10 Sprites, die in definierter Reihenfolge im Loop abgespielt wird, solange der Text auf dem Bildschirm zu sehen ist. Alternativ könnte ich die Sprites auch im Zufallsmodus abspielen, allerdings kommen da meistens nicht so schöne Abläufe heraus.
Definierte Reihenfolgen wirken auf Dauer zwar etwas eintönig (aber dafür flüssig) aber ich denke, das reicht vollkommen aus.
Eine Synchronisierung haben wir bis jetzt nicht geplant, deshalb kann ich dazu wenig sagen. Lippensynchron würden wir das aber mit Sicherheit nicht machen, auch weil das in Visionaire (noch) nicht umsetzbar wäre.

Und wegen den Texten glaub ich gar nicht mal, dass man gesprochenem Text schneller folgen kann als gelesenem. Ich würde eher das Gegenteil sagen. Jedenfalls ist das bei mir meistens so, dass ich mit dem Lesen immer schneller fertig bin als der Sprecher.

@Gardener
Wieso benutzt du bei den Dialogen nicht eine Kombination aus beiden Möglichkeiten, wie Jonas beschrieben hat?
Sprechtexte, die man gut stückeln kann, teilst du in mehrere Dateien, und bei Passagen, die du aufgrund des Leseflusses lieber zusammenhängend lassen willst, stückelst du die Textausgabe.
Außerdem ist der Lesefluss natürlich eine Sache der Engine, wie lückenlos er aufeinanderfolgende Voice-Files abspielen kann. Normalerweise dürfte das doch kein großes Problem sein, denn auch beim normalen Sprechen lässt man doch kurze Atempausen zwischen den Sätzen.
Sherman Bragbone - A Cupful of Trouble
http://www.sherman-toothrot.de

gardener
Indy-Wannabe
Indy-Wannabe
Wohnort: Düsseldorf
Kontaktdaten:

31.08.2004, 21:21
Original von Subb
Normalerweise dürfte das doch kein großes Problem sein, denn auch beim normalen Sprechen lässt man doch kurze Atempausen zwischen den Sätzen.
Das stimmt, aber der Lautstärke-Pegel geht in den Atempausen nicht auf Null, wie bei einer Stückelung. Natürlich ist das die praktikabelste Lösung, vielleicht mache ich das so, ich weiss noch nicht. Ich suche ja noch nach Möglichkeiten, die ich noch nicht beachtet habe.

Benutzeravatar
Subb
Schwertmeister
Schwertmeister
Wohnort: Kapstadt
Kontaktdaten:

31.08.2004, 21:28
Wie lange braucht deine Engine denn, um von einer Datei zu nächsten zu springen? Vielleicht ist das nochmal ein Ansatzpunkt, dass du diese Pause versucht gegen Null zu bringen.
Ich habe da jetzt wirklich nicht viel Ahnung von, aber vielleicht kannst du die Engine so programmieren, dass die nächste Datei immer schon in den Speicher geladen wird, so dass sie dann ohne Unterbrechung angehängt wird.
Sherman Bragbone - A Cupful of Trouble
http://www.sherman-toothrot.de

gardener
Indy-Wannabe
Indy-Wannabe
Wohnort: Düsseldorf
Kontaktdaten:

31.08.2004, 21:55
Ich kann die Teile sogar 'leicht überlappend' gleichzeitig abspielen, aber ob das Sinn macht? Programmieren kann man alles, aber das Konzept muss durchdacht sein. Und da suche ich nach einer Lösung, sodass ich nicht unbedingt jede Sprachdatei aufwendig skripten muss.

Benutzeravatar
Bigking
Rätselmeister
Rätselmeister
AC-Job: Staff a.D.

31.08.2004, 22:38
Ich kann natürlich nur für mich sprechen, aber Lippensynchronität in Adventures ist mir absolut unwichtig. Ich habe nämlich immer Untertitel an auch bei einer schönen Synchro und lese immer gleichzeitig alles mit. Die Mundbewegungen schau ich mir also eh nicht an da ich ja auf die untertitel achte.
In Zwischensequenzen sieht die sache natürlich anders aus aber während des Spielablaufs hat mich das noch nie gestört ausser die sprechanimation sieht total spastisch (mit dieser emerkung wollte ich keinesfalls unsere behinderten mitbürger beleidigen, dies ist eher als umgangsprachliches beispiel zu sehen ;) )

Agent Calavera
Adventuregott
Adventuregott
Wohnort: Nuevo Marrow

01.09.2004, 13:12
ööööhm, yoyo, ich stmme bigking voll zu... machs einfach so, dass du den wengsten aufwand hast, und die fehler die dan drin sind stören nicht wirklich jemanden...
Stake a Lizard by the throat

gardener
Indy-Wannabe
Indy-Wannabe
Wohnort: Düsseldorf
Kontaktdaten:

01.09.2004, 13:19
Ok, mach ich. Aber nicht später meckern, klar ?!

Benutzeravatar
Bigking
Rätselmeister
Rätselmeister
AC-Job: Staff a.D.

02.09.2004, 15:56
sir, yes sir ! :)

HintKeeper
Gralsjäger
Gralsjäger

03.09.2004, 04:46
Ok, gardener, ich mach dir einen Vorschlag, wer später meckert darf mir mal gepflegt an die Füße fassen und dass will niemand glaub mir, die Strafe ist schlimmer als 5 Stunden Daily-Talk und 5 Stunden Gerichtsshow zusammen :D
Bild
Für weitere Zitate/Zitatähnliche Aussprüche per PM bin ich dankbar :)

Antworten