OMSI DFI mit Sprachausgabe Dokumentation

Konfiguration auf eigener Karte

Im OMSI-Editor muss nach dem Platzieren der Name des Soundverzeichnisses eingegeben werden. Dazu wird das Beschriftungsfenster geöffnet und unter „InformationSoundFolder“ der Name des Ordners eingetragen. Als Name kann z.B. „Grundorf“ gewählt werden.

Erstellen der Ansagen

Damit die DFI nun auch die nächsten Fahrten ansagen kann, müssen Sounddateien erstellt oder generiert und in den jeweiligen Kartenordner eingefügt werden. Dazu muss im Verzeichnis „Sceneryobjects\jjb\displays\sound“ ein eigener Ordner angelegt werden. Ein Beispielordner für die Karte „Hohenkirchen“ wird bereits mitgeliefert. In diesem Ordner werden fünf Dateien benötigt:

Dateiname Beispieltext Erläuterung
Departure.wav Abfahrt in:  
Destination.wav Richtung:  
Line.wav Linie:  
Minute.wav Minute.

Beim Vorlesen der Abfahrtszeit werden zwei Formen des Wortes „Minute“ benötigt, da:

  • Abfahrt in einer Minute.
  • Abfahrt in zwei Minuten.
Minutes.wav Minuten.

Zusätzlich werden vier Unterordner mit weiteren Sounddateien benötigt:

Dateiname Beispieldateien Erläuterung
Departures 1.wav, 2.wav, 15.wav, 43.wav, 56.wav, ...

In diesem Ordner befinden sich die Dateien, die für die Ausgabe der Abfahrtszeit benötigt werden. Es handelt sich dabei um Zahlen. Dabei ist zu beachten, dass die Datei 1.wav den Inhalt „einer“ und nicht „eins“ enthalten muss, da:

  • Abfahrt in einer Minute.
Destinations Herrenhof, Einkaufszentrum.wav, Wangenbach, Gothastr..wav, ... Der Ordner enthält die Ziele.
Lines 849.wav, 852.wav, 854.wav, ... Der Ordner enthält die Liniennummer, also grundsätzlich Zahlen.
Phrases OutOfService.wav Dieser Ordner sollte derzeit nur eine Datei enthalten, die abgespielt wird, wenn keine Abfahrten stattfinden oder die DFI nicht richtig angeschlossen ist.

Konfiguration

Die Konstantendatei „Sceneryobjects\jjb\displays\script\Dis_constfile.txt“ wird verwendet, um u. a. die Länge der Sounds zu definieren. Die folgenden Werte können geändert werden:

Name Standardwert Erläuterung
RowsCount 4 Dies ist die Anzahl der Zeilen, die das Skript vorlesen soll. Dieser Wert sollte bestenfalls mit der Anzahl der Zeilen der DFI übereinstimmen.
SoundLengthLine 0.8 Länge des Sounds „Line.wav“ in Sekunden.
SoundLengthDestination 1 Länge des Sounds „Destination.wav“ in Sekunden.
SoundLengthDeparture 1 Länge des Sounds „Departure.wav“ in Sekunden.
SoundLengthMinutes 0.8 Länge des Sounds „Minute.wav“/„Minutes.wav“ in Sekunden.
SoundLengthPronunciationTime - Dies ist eine stückweise lineare Funktion, die aus der Länge des Dateinamens (x-Wert) die Länge des Tons (y-Wert) berechnet. Sie wird für die Berechnung der Soundlänge von Zielen und Liniennummern verwendet.

Einbau in eigene DFIs

Das Sprachausgabe-Skript kann sehr einfach in eigene DFIs integriert werden. Dazu müssen die Dateien „Sceneryobjects\jjb\displays\script\Dis.osc“, „Sceneryobjects\jjb\displays\script\Dis_varlist.txt“, „Sceneryobjects\jjb\displays\script\Dis_stringvarlist.txt“ und „Sceneryobjects\jjb\displays\script\Dis_constfile.txt“ in die eigene *.sco-Datei eingebunden werden. Zusätzlich muss in jedem Frame das Makro „InformationSoundFrame“ mit (M.L.InformationSoundFrame) aufgerufen werden. Zuletzt muss noch das MouseEvent „press“ hinzugefügt werden, welches die Ansage auslöst, wenn z.B. der Taster gedrückt wird.