YAML Grundlagen

YAML ist ein einfaches, menschenlesbares Datenformat. Hier sind die wichtigsten Regeln für die Bearbeitung:

Syntax-Regeln

  • Kommentare: Zeilen, die mit # beginnen, sind Kommentare
  • Key-Value Paare: Format ist key: value (Doppelpunkt + Leerzeichen)
  • Anführungszeichen: Normalerweise nicht nötig - schreibe einfach wort: ersetzung
  • Groß-/Kleinschreibung: Das Plugin ist case-insensitive - BEISPIELWORT im Text wird auch durch beispielwort: lalala ersetzt
  • Einrückung: Technisch gesehen sollten nur Leerzeichen verwendet werden, aber moderne Editoren wie Notepad++ konvertieren Tabs automatisch
# Richtig ✓
khorinis: Korriniss
game: Gäim

# Falsch ✗
khorinis:Korriniss  # Kein Leerzeichen nach Doppelpunkt
game : Gäim         # Leerzeichen vor Doppelpunkt

Häufige Fehler vermeiden

⚠️ Fehlerhafte YAML-Dateien können dazu führen, dass das Plugin nicht korrekt funktioniert!

  • Doppelpunkt immer mit Leerzeichen danach (key: value nicht key:value)
  • Kein Leerzeichen vor dem Doppelpunkt
  • Datei als UTF-8 speichern
  • Bei Problemen: Notepad++ oder VS Code verwenden (konvertieren Tabs automatisch)

Wort-Ersetzungen

Die Wort-Ersetzungen ermöglichen es dir, die Aussprache bestimmter Wörter zu korrigieren oder anzupassen. Dies ist besonders nützlich für Eigennamen, Orte oder Begriffe, die von der TTS-Engine falsch ausgesprochen werden.

⚠️ Wichtiger Hinweis für zukünftige Updates:

Aktuell wird eine Replacements-Datei für alle Sprachen verwendet. In einem zukünftigen Update werden die Replacements sprachspezifisch sein, um Fehler in anderen Sprachen zu vermeiden.

Zukünftige Dateinamen:

  • Union_RealTime_TTS_Replacements_de.yaml (Deutsch)
  • Union_RealTime_TTS_Replacements_en.yaml (Englisch)
  • Union_RealTime_TTS_Replacements_po.yaml (Polnisch)
  • usw. für weitere Sprachen

Datei: Union_RealTime_TTS_Replacements.yaml

In dieser Datei definierst du Ersetzungsregeln im Format Original: Ersetzung.

# Beispiel Wort-Ersetzungen
# Format: Original: Ersetzung

# Ortsnamen
khorinis: Koriniss
hafenstraße: Hafenstrasse

# Charakternamen
diego: dijego

# Gothic-Begriffe
erz: Erts
paladine: Paladiene
orks: Orks

# Englische Begriffe (phonetisch)
cool: kuhl
nice: neis
game: Gäim
loot: luut

# Slang/Dialekt
joah: Yo
joa: Yo
ey: ay
buddy: Badiy

Anwendungsfälle

  • Aussprache-Korrektur: Eigennamen oder Fantasiebegriffe phonetisch anpassen
  • Dialekt glätten: Umgangssprache in Hochdeutsch umwandeln
  • Abkürzungen: Abkürzungen ausschreiben für bessere Verständlichkeit

Voice-ID Mapping

Mit der Voice-ID Mapping Funktion kannst du jedem NPC eine spezifische Stimme zuweisen. Dies verhindert, dass alle NPCs gleich klingen und sorgt für mehr Abwechslung.

Datei: Union_RealTime_TTS_Voice_Mapping.yaml

In dieser Datei werden NPC Voice-IDs bestimmten Stimmen zugeordnet. Das Plugin unterstützt 21 verschiedene deutsche Basisstimmen, die auf 123 IDs gemappt werden (mit Wiederholungen für Variation).

# Beispiel Voice Mapping
# Format: voice_id: "model_name"

voice_mapping:
  1: "de_DE-ID01"
  3: "de_DE-ID03"
  4: "de_DE-ID04"
  5: "de_DE-ID05"
  
  # Spezielle Stimme (Jase)
  16: "de_DE-Jase"
  
  # Weitere IDs bis 123
  100: "de_DE-ID04"
  101: "de_DE-ID05"

Verfügbare Stimmen

Das Plugin nutzt folgende deutsche Stimmen:

  • Basis-Stimmen: de_DE-ID01 bis de_DE-ID19
  • Spezielle Stimmen: de_DE-jorgenson_altherren (Fallback), de_DE-Jase (ID16)
  • Mapping: Die 21 Basisstimmen werden auf 123 IDs verteilt und wiederholen sich

💡 Die Stimmen werden automatisch rotiert, damit nicht alle NPCs gleich klingen. Die genaue Zuordnung findest du in der Union_RealTime_TTS_Voice_Mapping.yaml.

Praktische Beispiele

Beispiel 1: Komplettes Voice Mapping für eine Mod

# Voice Mapping für eine Custom-Mod
# Hauptcharaktere
voice_mapping:
  1: "de_DE-ID01"      # Held
  2: "de_DE-ID03"      # Begleiter
  3: "de_DE-Jase"      # Wichtiger NPC (spezielle Stimme)

  # Stadtwache Khorinis
  10: "de_DE-ID05"
  11: "de_DE-ID06"
  12: "de_DE-ID07"
  13: "de_DE-ID08"

  # Händler
  20: "de_DE-ID10"
  21: "de_DE-ID11"
  22: "de_DE-ID12"
  
  # Alte Charaktere
  30: "de_DE-jorgenson_altherren"
  31: "de_DE-jorgenson_altherren"

Beispiel 2: Umfangreiche Wort-Ersetzungen

# Aussprache-Optimierungen für Gothic
# Ortsnamen
khorinis: Koriniss
hafenstraße: Hafenstrasse

# NPCs
diego: dijego

# Gothic-Begriffe
erz: Erts
orks: Orks
paladine: Paladiene

# Englische Gaming-Begriffe
cool: kuhl
nice: neis
game: Gäim
loot: luut
noob: Nuub
noobs: Nuubs

# Dialekt/Umgangssprache
joah: Yo
joa: Yo
ey: ay
buddy: Badiy

Beispiel 3: Spezielle Charaktere

# Besondere Charaktere mit passenden Stimmen
voice_mapping:
  # Alte/Weise Charaktere
  50: "de_DE-jorgenson_altherren"
  51: "de_DE-jorgenson_altherren"

  # Verschiedene Charaktertypen
  60: "de_DE-ID01"
  61: "de_DE-ID03"
  62: "de_DE-ID04"
  
  # Spezielle wichtige NPCs
  70: "de_DE-Jase"
  
  # Weitere Variation
  80: "de_DE-ID10"
  81: "de_DE-ID11"
  82: "de_DE-ID12"

Tipps & Tricks

🎯 Tipp 1: Systematisch vorgehen

Erstelle zuerst eine Liste aller wichtigen NPCs und ordne dann passende Stimmen zu.

🔊 Tipp 2: Stimmen testen

Teste verschiedene Stimmen im Spiel, um die beste Kombination zu finden.

📝 Tipp 3: Backup erstellen

Erstelle vor größeren Änderungen immer eine Sicherungskopie deiner YAML-Dateien.

🔄 Tipp 4: Iterativ arbeiten

Füge Ersetzungen nach und nach hinzu, wenn dir Aussprachefehler auffallen.