first commit
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# Voicext - Local AI Transcription (Voice-to-SRT) Implementation Plan
|
||||
|
||||
Voicext, Premiere Pro ve diğer kurgu programları için hızlı, yerel (offline) ve yüksek kaliteli SRT dosyaları üreten bir masaüstü uygulamasıdır. `whisper.cpp` motorunu kullanarak RTX GPU gücünden yararlanır ve "al gülüm ver gülüm" sadeliğinde bir iş akışı sunar.
|
||||
|
||||
## 🎯 Proje Hedefleri
|
||||
- **Gizlilik:** Tamamen yerel çalışma (İnternet gerekmez).
|
||||
- **Kullanılabilirlik:** Tek tıkla MP3 -> SRT dönüşümü.
|
||||
- **Estetik:** Modern, karanlık tema, premium tasarım.
|
||||
|
||||
## 🏗️ Mimari ve Teknoloji Yığını
|
||||
|
||||
### Çekirdek (Core)
|
||||
- **Framework:** Electron.js (Vite ile optimize edilmiş).
|
||||
- **Processing:** `whisper.cpp` (C++ tabanlı yerel inferans).
|
||||
- **Audio Engine:** `FFmpeg` (16kHz Mono WAV dönüşümü için).
|
||||
- **Hardware Acceleration:**
|
||||
- **GPU:** CUDA/cuBLAS (NVIDIA kullanıcıları için).
|
||||
- **CPU:** AVX/AVX2/AVX-512 optimizasyonu (GPU olmayan sistemler için otomatik fallback).
|
||||
|
||||
### Arayüz (Frontend)
|
||||
- **UI:** React + Vanilla CSS (Custom premium components).
|
||||
- **Animations:** Framer Motion (Akıcı geçişler).
|
||||
- **State:** Zustand (Hafif ve hızlı durum yönetimi).
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Uygulama Fazları
|
||||
|
||||
### Faz 1: Altyapı ve Binary Yönetimi
|
||||
Uygulamanın kalbi olan binary dosyalarının hazırlanması.
|
||||
- [ ] `whisper.cpp`'nin Windows CUDA desteğiyle derlenmesi.
|
||||
- [ ] `ffmpeg` static binary'lerinin projeye dahil edilmesi.
|
||||
- [ ] Model yönetimi: Uygulama içinden `tiny`, `base`, `small`, `medium`, `large` modellerinin indirilmesi ve yönetilmesi.
|
||||
|
||||
### Faz 2: İş Akışı (The "Al Gülüm Ver Gülüm" Engine)
|
||||
1. **Input:** Kullanıcı MP3/WAV/M4A dosyasını sürükler.
|
||||
2. **Pre-processing:** FFmpeg ile `16kHz, mono, 16-bit PCM WAV` formatına anlık dönüşüm.
|
||||
3. **Inference:** `whisper.exe -m model.bin -f input.wav -osrt -l tr` komutunun child_process ile çalıştırılması.
|
||||
4. **Output:** `.srt` dosyasının otomatik olarak orijinal dosyanın yanına veya seçilen klasöre kaydedilmesi.
|
||||
|
||||
### Faz 3: Kullanıcı Deneyimi ve Arayüz (Premium UX)
|
||||
- **Glassmorphic Dashboard:** Sürükle-bırak alanı için neon efektli modern bir "Drop Zone".
|
||||
- **Real-time Progress:** Whisper'ın stdout çıktısını parse ederek canlı ilerleme çubuğu ve "transcription streaming" (ekrana dökülen kelimeler).
|
||||
- **SRT Preview:** Oluşturulan SRT dosyasını uygulama içinde önizleme ve basit zamanlama düzeltmeleri yapma imkanı.
|
||||
- **One-Click Export:** "Export for Premiere" butonu ile standartlara en uygun SRT formatını dışa aktarma.
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Teknik Detaylar (Hack Önerileri)
|
||||
|
||||
### Hibrit Donanım Desteği (Auto-Detection)
|
||||
Uygulama her sistemde çalışabilmesi için donanımı otomatik algılayacak:
|
||||
- **NVIDIA Sistemler:** `whisper-cuda.exe` ile maksimum hız.
|
||||
- **Diğer Sistemler:** `whisper-cpu.exe` ile optimize edilmiş işlemci kullanımı.
|
||||
- **Dinamik Seçim:** Ayarlar kısmında kullanıcıya "CPU vs GPU" seçme imkanı sunulacak.
|
||||
|
||||
### SRT Optimizasyonu
|
||||
Premiere Pro'da altyazıların çok uzun olmaması için whisper.cpp'nin segmentasyon ayarları optimize edilecek:
|
||||
- `--max-len`: Satır başına maksimum karakter (Örn: 42).
|
||||
- `--max-context`: Daha iyi bağlam için önceki metni hatırlama.
|
||||
|
||||
---
|
||||
|
||||
## 📅 Yol Haritası (Milestones)
|
||||
1. **MVP:** Dosya seç -> Dönüştür -> SRT al (Görsel odak yok).
|
||||
2. **Design Update:** Premium UI elementlerinin ve animasyonların eklenmesi.
|
||||
3. **Advanced Features:** Çoklu dil seçimi, GPU/CPU anahtarı, SRT editörü.
|
||||
|
||||
## ❓ Açık Sorular
|
||||
- Uygulama ilk açıldığında `base` modelini (yaklaşık 140MB) paket içine gömmeli miyiz yoksa ilk açılışta mı indirtmeliyiz?
|
||||
- Birden fazla dosyayı aynı anda işleme (Batch Processing) özelliği ilk aşamada gerekli mi?
|
||||
|
||||
## 🧪 Doğrulama Planı
|
||||
- Farklı MP3 kalitelerinde (128kbps, 320kbps) FFmpeg dönüşüm testi.
|
||||
- Uzun videolarda (1 saat+) bellek kullanımı ve GPU sıcaklık takibi.
|
||||
- Üretilen SRT'nin Premiere Pro ve VLC'de karakter kodlaması (UTF-8) kontrolü.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 205 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.3 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.9 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.6 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.6 MiB |
Reference in New Issue
Block a user