Communitygithub.com

Türkçe Altyazı

Türkçe video oder Audiodateien mit wortgenauen Untertiteln versehen – lokal mit Whisper Transkript, korrekter türkischer Großschreibung (İSTANBUL, nicht ISTANBUL; IŞIK, İŞTE), Korrektur häufiger ASR-Fehler, Vorschlägen zum Entfernen von Füllwörtern/Pausen, Zeilenumbruch für Reels und Ausgabe als SRT + gestyltes ASS + gebranntes MP4.

Was ist Türkçe Altyazı?

Dieses Skill wandelt jede türkischsprachige Video- oder Audiodatei in professionelle, wortgenaue Untertitel um. Es erzeugt `.srt` (Untertiteltext), `.ass` (gestylte Untertitel mit Position, Farbe und Animation) und ein `.mp4` mit eingebrannten Untertiteln. Der gesamte Prozess läuft lokal auf dem Rechner des Users – kein Hochladen, kein Konto, keine kostenpflichtigen APIs. Das Skill basiert auf `faster-whisper` oder `whisper.cpp` für die Transkription, korrigiert typische türkische Groß-/Kleinschreibungsfehler (z. B. `ı` ↔ `i`, `I` ↔ `İ`) sowie häufige ASR-Fehler („herşey“ → „her şey“, „50%“ → „%50“) und entfernt automatisch erfundene Whisper-Signaturen wie „Altyazı M.K.“. Es unterstützt drei freie Stile: „temiz“ (sauber, zweizeilig), „kalin-vurgu“ (fett mit hervorgehobenen Zahlen/Eigennamen) und „karaoke“ (gesungenes Wort grün, Rest blass). Zusätzlich bietet es eine ausführliche Korrekturübersicht und Vorschläge zum Kürzen von Füllwörtern („şey“, „yani“) sowie von Pausen über 0,6 s. Es eignet sich besonders für YouTube-Reels, kurze Erklärvideos, Präsentationen oder jede andere türkischsprachige Produktion, bei der korrekte Rechtschreibung und ansprechende Untertitel wichtig sind.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/redirhan/turkce-altyazi/tree/main

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Türkçe Altyazı Hattı

Video/ses girer → kelime zamanlı Türkçe altyazı çıkar: .srt + stilli .ass + altyazısı yakılmış .mp4

  • düzeltme raporu + kırpma önerileri. Her şey kullanıcının bilgisayarında çalışır.

Kurallar (değişmez)

  • Yerel kal. Hiçbir şeyi yayınlama, yükleme, hesaba girme; ücretli API çağırma. Model indirme (whisper modeli) yalnız kullanıcı onaylarsa.
  • Tarayıcı açma. Bu iş için tarayıcı gerekmez; Chrome/Chromium hiç başlatma.
  • Kaynağı ezme. Çıktılar ayrı klasöre gider (varsayılan altyazi_cikti/); kaynak video değişmez. trim --uygula da yeni dosya yazar.
  • Ekranda yalnız söylenen. Altyazı transkripttir; içerik uydurma, "düzeltme" bahanesiyle cümle değiştirme. Yalnız yazım/büyük harf/ASR hatası düzeltilir ve hepsi raporda listelenir.
  • Türkçe büyük harf her yerde tr_upper. Python str.upper(), JS toUpperCase() ya da CSS text-transform: uppercase (lang="tr" olmadan) Türkçeyi bozar: istanbul → ISTANBUL, ilk → ILK.
  • drawtext kullanma. Yakma, ffmpeg'in ass filtresiyle (libass) ya da yoksa PIL yedeğiyle yapılır.

Akış

S=~/.claude/skills/turkce-altyazi/scripts ve Pillow+numpy kurulu bir Python (PY, README'deki venv).

  1. Kontrol: $PY $S/altyazi.py doctor → eksik varsa kullanıcıya tek satırla söyle (ffmpeg, Pillow, transkript motoru). Transkript motoru yoksa kullanıcı SRT verebilir (--srt).
  2. Hepsi bir arada:
    $PY $S/altyazi.py run VIDEO.mp4 --stil kalin-vurgu --cikti altyazi_cikti/
    # --stil temiz | kalin-vurgu | karaoke | hepsi
    # --vurgu "İstanbul,%50"      kalın-vurgu stilinde sarı yapılacak kelimeler (yoksa sayılar + özel adlar)
    # --oneriler-uygula           "öneri" düzeyindeki düzeltmeleri de uygula (ör. Şeyh -> Şey)
    # --srt elimdeki.srt          transkript yerine hazır SRT
    # --kelimeler x.words.json    önceki transkripti yeniden kullan (hızlı yeniden stil)
    # --yakma-yok                 yalnız SRT/ASS/JSON
    # --motor pil|ass             yakma motorunu zorla (varsayılan: libass varsa ass)
    # --y 0.67                    altyazı yüksekliği (9:16'da 0,67 = çene altı, güvenli alan içinde)
    
  3. Raporu oku ve kullanıcıya özetle (<ad>.rapor.txt): kaç düzeltme yapıldı, hangi öneriler onay bekliyor, kırpma önerileri (dolgu "şey/yani/ııı", tekrar, 0,6 s üstü duraklama), kontrol bulguları (güvenli alan, hızlı okuma, çakışma, Türkçe büyük harf).
  4. Gözle bak. <ad>.<stil>.onizleme.jpg (çıktıdan 3 kare) dosyasını aç ve kontrol et: Türkçe harfler doğru mu, altyazı yüzü/özneyi kapatıyor mu, alt açıklama satırına ya da sağdaki ikonlara giriyor mu. Konuşan kafada altyazı yüzü kapatıyorsa --y ile aşağı al (en fazla ~0,74).
  5. Kırpma isterse: $PY $S/altyazi.py trim VIDEO.mp4 --kelimeler <ad>.words.json --uygula (--guven orta ile söylem dolguları da kesilir) → <ad>.kirpilmis.mp4 + kaydırılmış kelime zamanları; sonra run <ad>.kirpilmis.mp4 --kelimeler <ad>.kirpilmis.words.json.

Alt komutlar

Komutİş
doctorkurulum + Türkçe glif + tr_upper testi
transcribe INwords.json (faster-whisper ya da whisper.cpp, kelime zamanı onarımlı)
fix WORDSTürkçe büyük harf + ASR düzeltmeleri, rapor
trim IN --kelimeler Wdolgu/duraklama önerileri; --uygula ile kes
build WORDS --stil SSRT + ASS + JSON (HyperFrames/Remotion için konumlu)
burn IN --kelimeler Wyakılmış MP4
run INhepsi
still --kelimeler W --zaman 3.2tek kare önizleme PNG
demoörnek videoyu üretip altyazılar

Türkçe kurallar (kodda uygulananlar)

  • tr_upper / tr_lower / tr_title: i↔İ, ı↔I; başlıkta "ve, ile, de/da, ki, mi" küçük; TL, YouTube, iPhone gibi yazılışlar korunur (data/koru.txt).
  • ASR onarımı: Istanbul → İstanbul, ISKELESIYDI → İSKELESİYDİ (ünlü uyumuyla, emin değilse dokunmaz), Işık/Irak/Isparta korunur (data/noktasiz_i.txt), ayrık ek birleşir (İzmir + 'e), 50% → %50, cümle ortasında yanlış büyük harf (Sabah → sabah), küçük yazılmış il/ülke adı (izmir → İzmir), yazım (data/asr_duzeltme.tsv: herşey, birşey, tabi ki, malesef, yada...), whisper uydurmaları ("Altyazı M.K.", "İzlediğiniz için teşekkürler", "Abone olmayı unutmayın") silinir.
  • Satır bölme: en fazla 2 satır, genişlik güvenli alanda; "ve/ile/bir/yüzde" satır ya da hücre sonunda kalmaz; "de/da, ki, mi, gibi, kadar, için" satır başına düşmez; sayı ile birimi ayrılmaz; alt satır üstten kısa olmaz.
  • Zamanlama: hücre kelime zamanıyla açılır; 0,3 s duraklamada/cümle sonunda yeni hücre; 0,35 s'den kısa hücre yanıp sönmez; 0,25 s'ye kadar boşlukta ekranda kalır; saniyede 20 karakter üstü uyarı.

Stiller

temiz (cümle düzeni, 2 satır, yumuşak gölge) · kalin-vurgu (büyük harf, 1-3 kelime, sayı ve özel ad sarı, küçük "pop") · karaoke (satır ekranda, söylenen kelime yeşil, sıradakiler soluk). Fontlar: Montserrat (OFL, pakette). Daha fazla stil içeren bir Pro paketi ileride ayrıca gelebilir; bu üç stil ücretsiz ve MIT lisanslı kalır.

Sorun giderme

  • doctor "libass yok" diyorsa sorun değil: PIL motoru aynı düzeni çizer.
  • Kelime zamanları kaymışsa: whisper.cpp cümle başlarını erken koyabilir; hat bunu sesteki konuşma bölgelerine göre onarır. Yine kötü ise --asr faster-whisper --model medium dene.
  • Altyazı yanlış yerdeyse --y; yazı çok büyük/küçükse stilin size değeri scripts/styles.py.

Verwandte Skills