- 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>
58 lines
3.9 KiB
Markdown
58 lines
3.9 KiB
Markdown
# 3D Toplantı Oynatıcı — Plan ve Kullanım
|
||
|
||
Dolandırıcılık uzlaşma görüşmesinin (09:00–31: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:00–31: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:00–13: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.
|