jjb docs

OMSI DFI mit Sprachausgabe

Diese Dokumentation beschreibt die Einrichtung und Verwendung der Sprachausgabe-Funktion für digitale Fahrgastinformationsanzeigen (DFI) in OMSI.

1. Konfiguration im Editor

Im OMSI-Editor muss nach dem Platzieren des Objekts der Name des Soundverzeichnisses eingetragen werden:

  • Öffnen Sie dazu das Beschriftungsfenster.
  • Unter InformationSoundFolder tragen Sie den Namen des gewünschten Soundordners ein. Als Wert kann der Name Ihrer Karte, z. B. Grundorf, gewählt werden.
  • Das Objekt muss per Parent to an den Bus-Stop-Würfel gebunden werden, um die Abfahrten auslesen zu können.

2. Erstellen der Ansagen

Damit die DFI die nächsten Fahrten ansagen kann, müssen Sounddateien erstellt oder generiert und im jeweiligen Kartenordner abgelegt werden.

Dazu wird im Verzeichnis Sceneryobjects\jjb\displays\sound ein eigener Ordner angelegt.
Ein Beispielordner für die Karte Hohenkirchen ist bereits enthalten.

In diesem Ordner sind fünf Dateien notwendig:

Dateiname Beispieltext Erläuterung
Departure.wav Abfahrt in:
Destination.wav Richtung:
Line.wav Linie:
Minute.wav Minute. Wird für die Einzahl benötigt:
- Abfahrt in einer Minute.
Minutes.wav Minuten. Wird für die Mehrzahl benötigt:
- Abfahrt in zwei Minuten.

Zusätzliche Unterordner

Neben den Basisdateien sind vier weitere Unterordner erforderlich:

Ordnername Beispieldateien Erläuterung
Departures 1.wav, 2.wav, 15.wav, 43.wav, 56.wav, … Enthält Zahlen für die Ansage der Abfahrtszeit.
⚠️ 1.wav muss den Inhalt „einer“ und nicht „eins“ haben (Abfahrt in einer Minute).
Destinations Herrenhof.wav, Einkaufszentrum.wav, Wangenbach.wav, … Enthält die Zielansagen.
Lines 849.wav, 852.wav, 854.wav, … Enthält Liniennummern (Zahlen).
Phrases OutOfService.wav Wird abgespielt, wenn keine Abfahrten stattfinden oder die DFI nicht verbunden ist.

3. Konfiguration (Dis_constfile.txt)

Die Datei Sceneryobjects\jjb\displays\script\Dis_constfile.txt definiert unter anderem die Länge der Sounds. Folgende Werte können angepasst werden:

Name Standardwert Erläuterung
RowsCount 4 Anzahl der Zeilen, die vorgelesen werden. Sollte der DFI-Anzeige entsprechen.
SoundLengthLine 0.8 Länge von Line.wav (in Sekunden).
SoundLengthDestination 1.0 Länge von Destination.wav (in Sekunden).
SoundLengthDeparture 1.0 Länge von Departure.wav (in Sekunden).
SoundLengthMinutes 0.8 Länge von Minute.wav / Minutes.wav (in Sekunden).
SoundLengthPronunciationTime N/A Stückweise lineare Funktion: Berechnet aus Dateinamenlänge (x) die Soundlänge (y). Wird für Ziele und Liniennummern verwendet.

4. Einbau in eigene DFIs

Das Sprachausgabe-Skript kann leicht in eigene DFIs integriert werden.
Dazu müssen folgende Dateien in die eigene *.sco-Datei eingebunden werden:

  • Sceneryobjects\jjb\displays\sound\DFI.cfg
  • Sceneryobjects\jjb\displays\script\Dis.osc
  • Sceneryobjects\jjb\displays\script\Dis_varlist.txt
  • Sceneryobjects\jjb\displays\script\Dis_stringvarlist.txt
  • Sceneryobjects\jjb\displays\script\Dis_constfile.txt (ggf. Datei in den eigenen Ordner kopieren, um Werte anzupassen)

Weitere Schritte:

  1. In jedem Frame muss das Makro InformationSoundFrame aufgerufen werden:
(M.L.InformationSoundFrame)
  1. Das MouseEvent „press“ muss hinzugefügt werden, um die Ansage durch Knopfdruck auszulösen.
An unhandled error has occurred. Reload 🗙