3D toplanti oynatici: orijinal + Turkce dublaj, zaman cizelgesi

- Three.js 3D oda, 7 kisi (6 oturan + ayakta kayinvalide)
- Orijinal/Turkce ses gecisi, konusmaci vurgusu, cift-dil altyazi
- 299 blok Turkce dublaj (7 ElevenLabs sesi, cinsiyet/yas uyumlu)
- nginx + Dockerfile (Coolify deploy)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
yilsem
2026-07-04 04:26:09 +03:00
co-authored by Claude Opus 4.8
commit 5037c7114f
12 changed files with 1463 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
# 3D Toplantı Oynatıcı — Plan ve Kullanım
Dolandırıcılık uzlaşma görüşmesinin (09:0031:13) **3D odada, zaman çizelgeli, orijinal ⇄ Türkçe geçişli** interaktif web sayfası.
## Nasıl açılır
En kolay: `web` klasöründeki **`index.html`** dosyasına çift tıkla (tarayıcıda açılır — internet gerekmez, her şey yerel).
> Not: Bazı tarayıcılar `file://` ile ses/otomatik oynatmayı kısıtlarsa, `web` klasöründe küçük bir yerel sunucu çalıştır:
> `python -m http.server 8765` → tarayıcıda `http://127.0.0.1:8765/index.html`
## Özellikler
| Özellik | Nasıl |
|---|---|
| Sahneyi döndür / yakınlaş | Fareyle sürükle · tekerlek |
| Bir kişiye atla | O kişiye **çift tıkla** (ilk sözüne gider) |
| Orijinal ⇄ Türkçe ses | Sağ üstteki **geçiş düğmesi** |
| Zaman çizelgesinde gezin | Alttaki renkli şeride **tıkla/sürükle** |
| Önceki/sonraki konuşma | ⏮ ⏭ düğmeleri |
| Oynat / dur | ▶ düğmesi veya **boşluk** tuşu |
| 5 sn ileri/geri | **← →** ok tuşları |
| Aktif konuşmacı | 3D'de **halka + altyazı** (isim, orijinal, Türkçe) |
Altyazı hem **orijinal dili** (Cebuano/Bisaya + Tagalog + İngilizce) hem **Türkçe** karşılığını gösterir; kayıt saati (09:0031:13) üstte.
## Oturma düzeni (diyagrama birebir)
6 kişi oturuyor, **Kayınvalide ayakta**. Renkler taraf/grubu gösterir:
| Rol | Ses (ElevenLabs) | Cinsiyet/Yaş | Renk |
|---|---|---|---|
| Kaan | Eric | erkek / yetişkin | 🔵 mavi (Kaan tarafı) |
| Marissa (eş) | Matilda | kadın / yetişkin | 🔵 mavi |
| Uzlaşmacı (U) | Chris | erkek / yetişkin | 🔴 koyu kırmızı |
| Lider Uzlaşmacı (L.U) | George | erkek / olgun | 🔴 koyu kırmızı |
| Yaşlı adam (V) | **Bill** | erkek / **yaşlı** | 🟡 sarı |
| Dolandırıcı (D-) | **Callum** (kurnaz) | erkek / yetişkin | 🟡 sarı |
| Kayınvalide (ayakta) | Lily | kadın / olgun | ⚪ gri |
Seslendirme, karakterlerin **gerçek cinsiyet ve yaşına** göre seçildi (yaşlı adam → yaşlı erkek sesi Bill; dolandırıcı → kurnaz "husky" ses Callum).
## Dosya yapısı (`web/`)
- `index.html` — sayfa (Three.js 3D sahne + oynatıcı)
- `data.js` — zaman çizelgesi verisi: roller, orijinal metin, **Türkçe metin**, önem, üst-binme; ayrıca Türkçe dublaj zaman haritası (`TL_tr`)
- `toplanti_orijinal.mp3` — orijinal ses (22:16)
- `toplanti_turkce.mp3`**Türkçe dublaj** (7 sesle seslendirildi)
- `three.min.js`, `OrbitControls.js` — 3D motoru (çevrimdışı)
- `tts/` — tekil seslendirme klipleri + 7 ses örneği (`ornek_*.mp3`)
## Doğruluk katmanları (yapılan kontroller)
1. **Orijinal ses doğrulama** — ElevenLabs (rol etiketli) + **Gemini** (bağımsız 2. motor) aynı sesi ayrı ayrı yazdı; iki motorun anlaştığı yerler yüksek güvenli işaretlendi.
2. **Orijinal dil doğrulama** — 6 parça karşılaştırıldı; rakam/tutar (40k, 20k, 400, 900 balas…) iki motorda da tutarlı. Gemini'nin sistematik "scam→come" hataları tespit edildi → ElevenLabs esas alındı.
3. **Türkçe çeviri doğrulama** — 6 ajanla blok blok denetlendi; **14 çeviri düzeltmesi** uygulandı (ör. Blok 99 "Mm." yanlış kopya → "Hı hı"; Blok 20 "fayans hariç" → "fayans dahil" ters anlam düzeltildi).
4. **Seslendirme** — cinsiyet/yaş/persona workflow ile onaylandı, ElevenLabs multilingual_v2 ile üretildi.
## Bilinen sınırlar / sonraki adımlar
- **Chunk 1 (09:0013:00)** Gemini tarafında pazarlığın bir kısmını kaçırmıştı; base metin ElevenLabs'ten alındığı için sayfa eksiksiz, ama o aralık tek-motor doğrulamalı.
- Cebuano/Bisaya bazı bozuk (garbled) kısımlar her iki motorda da tahminî; kritik olanlar `[belirsiz]`/düşük-güven olarak işaretli.
- İstenirse: dublaja karakterler arası kısa boşluk/nefes, duygu (emotion) ayarı, veya SpeechGen (bakiye yüklendiğinde) alternatif sesleri eklenebilir.