# Projektstruktur & README ## 📁 Empfohlene Ordnerstruktur (Best Practice) ```text bg1ee-tts/ ├── README.md ├── docs/ │ ├── architecture.md │ ├── extraction-guide.md │ ├── tools-installation.md │ └── lua-hook-spec.md ├── data/ │ ├── raw/ │ │ ├── tlk/ │ │ │ ├── dialog_de.tlk │ │ │ └── dialog_en.tlk │ │ └── dlg/ │ ├── processed/ │ │ └── dialogs.json │ └── mappings/ │ └── npc_map.json ├── scripts/ │ ├── extract_tlk.py │ ├── parse_dlg.py │ ├── build_database.py │ └── selftest.py ├── tts-service/ │ ├── app/ │ │ ├── main.py │ │ ├── engines/ │ │ ├── cache/ │ │ └── playback/ │ ├── tests/ │ └── requirements.txt ├── lua-hook/ │ ├── bg1ee_tts_hook/ │ │ ├── dialog.lua │ │ └── mod.ini │ └── build_instructions.md ├── audio/ │ ├── de/ │ └── en/ └── tools/ ├── NearInfinity.jar └── weidu/ ``` --- # 📘 README.md ## 🎯 BG1EE Dual‑Language TTS Projekt Dieses Repository enthält die vollständige Infrastruktur, um **Baldur's Gate Enhanced Edition (Steam)** automatisch in **Deutsch** und **Englisch** zu vertonen – live während des Spielens, mit Umschaltung per Hotkey. Ziel: Dialog erscheint im Spiel → ID wird abgefangen → TTS erzeugt Audio → Audio wird abgespielt. --- ## 🚀 Features * Extraktion aller BG1EE‑Texte (DE & EN) * Parser für TLK + DLG Dateien → JSON‑Datenbank * TTS‑Backend mit mehreren Engines (Melo, Kokoro, F5‑TTS, Piper) * Live‑Integration via Lua‑Dialoghook * Plattformunabhängig (Linux: Entwicklung / Windows: Spielen) --- ## 🧩 Voraussetzungen Du benötigst: * **Baldur's Gate: Enhanced Edition (Steam)** * **Java 17+** (für Near Infinity) * **Python 3.10+** * **FastAPI** * Optional: GPU‑TTS Engines --- ## 🔧 Installation externer Tools ### Near Infinity (TLK + DLG Viewer/Exporter) Download: [https://github.com/Argent77/NearInfinity](https://github.com/Argent77/NearInfinity) ``` wget https://github.com/Argent77/NearInfinity/releases/latest/download/NearInfinity.jar ``` ### WeiDU (Modding Toolkit) Download: [https://github.com/WeiDUorg/weidu](https://github.com/WeiDUorg/weidu) --- ## 📥 BG1EE Dateien finden (Steam) Linux‑Pfad: ``` ~/.steam/steam/steamapps/common/Baldur's Gate Enhanced Edition/data/ ``` Windows‑Pfad: ``` C:\Program Files (x86)\Steam\steamapps\common\Baldur's Gate Enhanced Edition\data ``` Relevante Dateien: * `lang/de_DE/dialog.tlk` * `lang/en_US/dialog.tlk` * `dialog.bif` * sämtliche `.dlg` Dateien --- ## 🏗️ Projektaufbau 1. **TLK & DLG exportieren** (Near Infinity) 2. **Parser ausführen** → erzeugt `dialogs.json` 3. **TTS‑Service starten** (`uvicorn app.main:app`) 4. **Lua‑Hook als Mod installieren** 5. Spiel starten → Vertonung läuft automatisch --- ## 📚 Dokumentation * [docs/architecture.md](docs/architecture.md) * [docs/extraction-guide.md](docs/extraction-guide.md) * [docs/tools-installation.md](docs/tools-installation.md) * [lua-hook-spec.md](docs/lua-hook-spec.md) --- ## 📜 Rechtliches Dieses Projekt enthält **keine Originalspieldateien**. Alle Extraktionen müssen lokal auf einem legal erworbenen BGEE‑Spiel erfolgen. Siehe: * Baldur's Gate EE Copyright © Beamdog * [https://store.steampowered.com/app/228280](https://store.steampowered.com/app/228280) Quellenverlinkungen enthalten nur **offizielle** Hersteller‑Seiten. --- ## 🤝 Mitwirken PRs, Issues und Erweiterungen willkommen. Dies ist ein technisches Forschungs‑ und Hobbyprojekt. --- Fertig!