# 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 ``` wget https://github.com/Argent77/NearInfinity/releases/latest/download/NearInfinity.jar ``` ### WeiDU (Modding Toolkit) Download: 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 Quellenverlinkungen enthalten nur **offizielle** Hersteller‑Seiten. --- ## 🤝 Mitwirken PRs, Issues und Erweiterungen willkommen. Dies ist ein technisches Forschungs‑ und Hobbyprojekt. --- Fertig!