146 lines
3.6 KiB
Markdown
146 lines
3.6 KiB
Markdown
# 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!
|
||
|