mirror of
https://github.com/yusufipk/dikte.git
synced 2026-09-11 10:56:10 +00:00
Ship full-resolution WebP screenshots, drop em dashes everywhere
The screenshots were downscaled to 430 px wide, which made the UI text blurry. Restore them at native 1292 px as lossless WebP, which is also half the size of the original PNGs (72 KB against 155 KB for the largest). Rewrite every em dash in prose, comments, docstrings and interface strings as ordinary punctuation.
This commit is contained in:
+20
-20
@@ -4,19 +4,19 @@
|
||||
OpenRouter'daki bir model transkripti temizler (ıı'lar, tekrarlar, eksik
|
||||
noktalama), sonuç panoya kopyalanır ve o an yazdığın pencereye yapıştırılır.
|
||||
|
||||
KDE Plasma 6 / Wayland için yazıldı. Sistem paketleri dışında bağımlılığı yok —
|
||||
KDE Plasma 6 / Wayland için yazıldı. Sistem paketleri dışında bağımlılığı yok:
|
||||
sadece Python standart kütüphanesi ve PyQt6.
|
||||
|
||||
*[English README](README.md)*
|
||||
|
||||
<p align="center">
|
||||
<img src="docs/settings-general.png" width="820" alt="Dikte ayarları — Genel">
|
||||
<img src="docs/settings-general.webp" width="820" alt="Dikte ayarları, Genel sekmesi">
|
||||
</p>
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| <img src="docs/settings-api.png" width="410" alt="API ve modeller"> | <img src="docs/settings-cleanup.png" width="410" alt="Temizleme kuralları"> |
|
||||
| <img src="docs/settings-audio-file.png" width="410" alt="Ses dosyası"> | <img src="docs/settings-history.png" width="410" alt="Geçmiş"> |
|
||||
| <img src="docs/settings-api.webp" width="410" alt="API ve modeller"> | <img src="docs/settings-cleanup.webp" width="410" alt="Temizleme kuralları"> |
|
||||
| <img src="docs/settings-audio-file.webp" width="410" alt="Ses dosyası"> | <img src="docs/settings-history.webp" width="410" alt="Geçmiş"> |
|
||||
|
||||
## Kurulum
|
||||
|
||||
@@ -34,9 +34,9 @@ systemctl --user enable --now ydotool # otomatik yapıştırma için
|
||||
|
||||
Ayarlar penceresinde iki anahtar istenir:
|
||||
|
||||
- **OpenAI** — sesi yazıya çevirir (`gpt-4o-transcribe`). Boş bırakırsan
|
||||
- **OpenAI**: sesi yazıya çevirir (`gpt-4o-transcribe`). Boş bırakırsan
|
||||
`OPENAI_API_KEY` ortam değişkeni kullanılır.
|
||||
- **OpenRouter** — transkripti temizler (varsayılan
|
||||
- **OpenRouter**: transkripti temizler (varsayılan
|
||||
`google/gemini-3.5-flash-lite`, listedeki her model çalışır). Boşsa
|
||||
`OPENROUTER_API_KEY` kullanılır. Temizlemeyi tamamen kapatabilirsin; o zaman
|
||||
ham transkript yapıştırılır.
|
||||
@@ -57,19 +57,19 @@ odak almaz, yani yazdığın pencereden çıkmazsın.
|
||||
|
||||
## Sessizlik API'ye gitmez
|
||||
|
||||
Sessize yakın bir ses verildiğinde transkripsiyon modeli boş dize döndürmez —
|
||||
Sessize yakın bir ses verildiğinde transkripsiyon modeli boş dize döndürmez,
|
||||
bir cümle uydurur. Whisper bunun ünlü örneği: iki saniyelik sessizliğe
|
||||
"Altyazı M.K." ya da "Thanks for watching" der. Yanlışlıkla basılan bir
|
||||
`Ctrl+Space` yoksa sana hem bir API çağrısına mal olur hem de hiç söylemediğin
|
||||
bir cümleyi yapıştırır.
|
||||
|
||||
Dikte çağrıyı harcamadan önce kontrol eder ve bu kontrol mutlak değil göreli
|
||||
yapılır — mikrofon kazancı makineden makineye o kadar değişir ki sabit bir eşik
|
||||
bir şey ifade etmez. Şunlardan biri bile geçerliyse kayıt atılır:
|
||||
yapılır, çünkü mikrofon kazancı makineden makineye o kadar değişir ki sabit bir
|
||||
eşik bir şey ifade etmez. Şunlardan biri bile geçerliyse kayıt atılır:
|
||||
|
||||
- kaydın gürültülü ucu mutlak tabanın altındaysa (varsayılan −55 dBFS);
|
||||
- kaydın gürültülü ucu mutlak tabanın altındaysa (varsayılan -55 dBFS);
|
||||
- **o kaydın kendi** gürültü tabanının 10 dB üstüne en az 0,3 saniye çıkan bir
|
||||
şey yoksa — ne kadar yüksek olursa olsun sabit fan ya da cızırtıyı eleyen de
|
||||
şey yoksa; ne kadar yüksek olursa olsun sabit fan ya da cızırtıyı eleyen de
|
||||
budur;
|
||||
- seviye taban civarında hiç hareket etmediyse.
|
||||
|
||||
@@ -77,7 +77,7 @@ Yine de bir şey sızarsa, ikinci bir filtre modellerin sığındığı kalıp c
|
||||
yakalar; ama yalnızca altı saniyeden kısa kayıtlarda, ki gerçekten söylenmiş
|
||||
bir "izlediğiniz için teşekkürler" elenmesin.
|
||||
|
||||
Gösterge ölçtüğü seviyeyi de yazar (`Ses algılanmadı (−56 dB)`); mikrofonun
|
||||
Gösterge ölçtüğü seviyeyi de yazar (`Ses algılanmadı (-56 dB)`); mikrofonun
|
||||
alışılmadık ölçüde kısık ya da gürültülüyse eşiği buna bakarak ayarlarsın.
|
||||
|
||||
## Dosyadan transkript
|
||||
@@ -85,9 +85,9 @@ alışılmadık ölçüde kısık ya da gürültülüyse eşiği buna bakarak ay
|
||||
Ayarlar → **Ses dosyası** sekmesi, herhangi bir ses ya da video dosyasını aynı
|
||||
modellerden geçirir. İki seçenek var, ikisi de hatırlanır:
|
||||
|
||||
- **Zaman damgası ekle** — her bölümün başına `[dd:ss]` koyar. Bunun için bölüm
|
||||
- **Zaman damgası ekle**: her bölümün başına `[dd:ss]` koyar. Bunun için bölüm
|
||||
zamanı döndüren tek model olan `whisper-1` kullanılır.
|
||||
- **Sonrasında temizleme modelinden geçir** — canlı diktedeki temizlemenin
|
||||
- **Sonrasında temizleme modelinden geçir**: canlı diktedeki temizlemenin
|
||||
aynısı, üstüne modele damgalara dokunmamasını söyleyen bir kural eklenir.
|
||||
|
||||
Uzun dosyalar ffmpeg ile 16 kHz mono'ya çevrilip onar dakikalık parçalara
|
||||
@@ -100,7 +100,7 @@ KWin, `kglobalshortcutsrc` dosyasını yalnızca açılışta okur. `install.sh`
|
||||
kısayolu doğru yere yazar ama **oturumu yeniden açana kadar tetiklenmez.**
|
||||
İki seçenek:
|
||||
|
||||
1. Oturumu kapat-aç — temiz çözüm. Tuşu KWin yuttuğu için diğer uygulamalara
|
||||
1. Oturumu kapat-aç. Temiz çözüm bu: tuşu KWin yuttuğu için diğer uygulamalara
|
||||
sızmaz.
|
||||
2. Ayarlar → Kısayol → **Yerleşik dinleyici**'yi aç. `/dev/input` üzerinden
|
||||
kombinasyonu kendisi yakalar, anında çalışır. Tek farkı: tuşu yutmaz, yani
|
||||
@@ -113,17 +113,17 @@ Yerleşik dinleyici `input` grubunda olmayı gerektirir:
|
||||
|
||||
## Ayarlar
|
||||
|
||||
`~/.config/dikte/config.json` içinde, izinler 600 — API anahtarları orada durur.
|
||||
`~/.config/dikte/config.json` içinde, izinler 600, çünkü API anahtarları orada durur.
|
||||
|
||||
| Ayar | Açıklama |
|
||||
| --- | --- |
|
||||
| Arayüz dili | Türkçe, İngilizce ya da sistem diline uy |
|
||||
| Mikrofon | Belirli bir kaynak seç, ya da varsayılanı kullan |
|
||||
| Konuşma dili | Transkripsiyona dil ipucu verir; otomatik algılama da olur |
|
||||
| Yapıştırma tuşu | `ctrl+v` / `ctrl+shift+v` / `shift+insert` — terminaller genelde ikincisini ister |
|
||||
| Yapıştırma tuşu | `ctrl+v` / `ctrl+shift+v` / `shift+insert`. Terminaller genelde ikincisini ister |
|
||||
| Panoyu geri koy | Yapıştırdıktan sonra eski pano içeriğini iade eder |
|
||||
| Sessiz kayıtları atla | Konuşma içermeyen kayıtları API'ye gitmeden eler — yukarıya bak |
|
||||
| Temizleme kuralları | Temizleme modeline verilen sistem talimatı — ne kadar müdahale edeceğini burada belirlersin |
|
||||
| Sessiz kayıtları atla | Konuşma içermeyen kayıtları API'ye gitmeden eler, yukarıya bak |
|
||||
| Temizleme kuralları | Temizleme modeline verilen sistem talimatı. Ne kadar müdahale edeceğini burada belirlersin |
|
||||
| Transkripsiyon ipucu | Sık geçen özel isim ve terimler, doğru yazılsınlar diye |
|
||||
| Ses kayıtlarını sakla | WAV'lar `~/.local/share/dikte/recordings` altında kalır |
|
||||
|
||||
@@ -157,4 +157,4 @@ i18n.py metin tablosu
|
||||
|
||||
## Lisans
|
||||
|
||||
GPL-3.0 — [LICENSE](LICENSE) dosyasına bak.
|
||||
GPL-3.0, [LICENSE](LICENSE) dosyasına bak.
|
||||
|
||||
Reference in New Issue
Block a user