Reshoot every tab, and put the local models first
The settings window has four tabs it did not have when these were taken: Agent, Meeting, Minutes and Shortcuts. Replace the four screenshots with seven, at the same size and lossless as before. History goes without a replacement rather than showing an old tab bar beside the new ones. Running here is what the program does by default, and it was buried in a paragraph under Install. Make it the first thing the feature list says, and cut that paragraph back so the two do not repeat each other.
@@ -17,7 +17,8 @@ just the Python standard library and PyQt6.
|
|||||||
| | |
|
| | |
|
||||||
|---|---|
|
|---|---|
|
||||||
| <img src="docs/settings-api.webp" width="410" alt="API and models"> | <img src="docs/settings-cleanup.webp" width="410" alt="Cleanup rules"> |
|
| <img src="docs/settings-api.webp" width="410" alt="API and models"> | <img src="docs/settings-cleanup.webp" width="410" alt="Cleanup rules"> |
|
||||||
| <img src="docs/settings-audio-file.webp" width="410" alt="Audio file"> | <img src="docs/settings-history.webp" width="410" alt="History"> |
|
| <img src="docs/settings-agent.webp" width="410" alt="Agent"> | <img src="docs/settings-meeting.webp" width="410" alt="Meeting"> |
|
||||||
|
| <img src="docs/settings-audio-file.webp" width="410" alt="Audio file"> | <img src="docs/settings-shortcuts.webp" width="410" alt="Shortcuts"> |
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
@@ -42,16 +43,14 @@ puts all of that back, keeping the keys you chose; `./uninstall.sh` takes it awa
|
|||||||
again and leaves your settings and dictations alone unless you pass `--purge`.
|
again and leaves your settings and dictations alone unless you pass `--purge`.
|
||||||
|
|
||||||
Speech to text and cleanup each pick a provider in the settings window, and both
|
Speech to text and cleanup each pick a provider in the settings window, and both
|
||||||
can run here, on whisper.cpp and llama.cpp: the program and the model are
|
run here by default, on models of your own. The cloud is the other option:
|
||||||
downloaded from that window, checksummed, so nothing has to be installed first
|
speech to text on **OpenAI**, **Groq** or **OpenRouter** (`gpt-4o-transcribe`),
|
||||||
and nothing leaves the machine. Otherwise speech to text runs on **OpenAI**,
|
cleanup on OpenRouter (`google/gemini-3.5-flash-lite`) or, when either is
|
||||||
**Groq** or **OpenRouter** (`gpt-4o-transcribe` by default) and cleanup on
|
installed, on Claude Code or Codex. The keys fall back to `OPENAI_API_KEY`,
|
||||||
OpenRouter (`google/gemini-3.5-flash-lite`) or, when either is installed, on
|
`GROQ_API_KEY` and `OPENROUTER_API_KEY`, and are stored in
|
||||||
Claude Code or Codex. The keys fall back to `OPENAI_API_KEY`, `GROQ_API_KEY` and
|
`~/.config/dikte/config.json`, mode 600. Cleanup can be switched off, in which
|
||||||
`OPENROUTER_API_KEY`, and are
|
case the raw transcript is pasted, and a thinking model's effort can be set next
|
||||||
stored in `~/.config/dikte/config.json`, mode 600. Cleanup can be switched off,
|
to it.
|
||||||
in which case the raw transcript is pasted, and a thinking model's effort can be
|
|
||||||
set next to it.
|
|
||||||
|
|
||||||
## Using it
|
## Using it
|
||||||
|
|
||||||
@@ -81,6 +80,12 @@ running.
|
|||||||
|
|
||||||
## What it does
|
## What it does
|
||||||
|
|
||||||
|
- **It all runs on this machine by default.** Speech to text on whisper.cpp and
|
||||||
|
cleanup on llama.cpp, neither installed beforehand: the settings window fetches
|
||||||
|
the program and the model, verifies the sha256 and refuses a download published
|
||||||
|
without one, then keeps a server alive while you dictate. The graphics card is
|
||||||
|
reached through CUDA, ROCm or Vulkan where the build allows. No key, no
|
||||||
|
account, nothing leaving the machine.
|
||||||
- **Silence never reaches the API.** Handed near-silence, a transcription model
|
- **Silence never reaches the API.** Handed near-silence, a transcription model
|
||||||
invents a sentence instead of returning nothing ("Thanks for watching", or in
|
invents a sentence instead of returning nothing ("Thanks for watching", or in
|
||||||
Turkish "Altyazı M.K."). A recording is dropped when nothing rose 10 dB above
|
Turkish "Altyazı M.K."). A recording is dropped when nothing rose 10 dB above
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ sadece Python standart kütüphanesi ve PyQt6.
|
|||||||
| | |
|
| | |
|
||||||
|---|---|
|
|---|---|
|
||||||
| <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-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ş"> |
|
| <img src="docs/settings-agent.webp" width="410" alt="Ajan"> | <img src="docs/settings-meeting.webp" width="410" alt="Toplantı"> |
|
||||||
|
| <img src="docs/settings-audio-file.webp" width="410" alt="Ses dosyası"> | <img src="docs/settings-shortcuts.webp" width="410" alt="Kısayollar"> |
|
||||||
|
|
||||||
## Kurulum
|
## Kurulum
|
||||||
|
|
||||||
@@ -42,11 +43,9 @@ son sürümü çeker ve bunları senin seçtiğin tuşlarla yerine koyar;
|
|||||||
diktelerine dokunmaz.
|
diktelerine dokunmaz.
|
||||||
|
|
||||||
Sesi yazıya çevirme ve temizleme, ayarlar penceresinde ayrı ayrı sağlayıcı
|
Sesi yazıya çevirme ve temizleme, ayarlar penceresinde ayrı ayrı sağlayıcı
|
||||||
seçer; ikisi de burada çalışabilir, whisper.cpp ve llama.cpp üzerinde: program da
|
seçer; ikisi de varsayılan olarak burada, kendi modellerinle çalışır. Bulutu
|
||||||
model de o pencereden, sha256 doğrulamasıyla indirilir, yani önceden hiçbir şey
|
seçersen sesi yazıya çevirme **OpenAI**, **Groq** ya da **OpenRouter**'da
|
||||||
kurman gerekmez ve makineden hiçbir şey çıkmaz. Bulutu seçersen sesi yazıya
|
(varsayılan `gpt-4o-transcribe`), temizleme OpenRouter'da
|
||||||
çevirme **OpenAI**, **Groq** ya da **OpenRouter**'da (varsayılan
|
|
||||||
`gpt-4o-transcribe`), temizleme OpenRouter'da
|
|
||||||
(`google/gemini-3.5-flash-lite`) ya da kuruluysa Claude Code veya Codex'te
|
(`google/gemini-3.5-flash-lite`) ya da kuruluysa Claude Code veya Codex'te
|
||||||
çalışır. Anahtarları boş bırakırsan `OPENAI_API_KEY`, `GROQ_API_KEY` ve
|
çalışır. Anahtarları boş bırakırsan `OPENAI_API_KEY`, `GROQ_API_KEY` ve
|
||||||
`OPENROUTER_API_KEY` kullanılır; anahtarlar `~/.config/dikte/config.json`
|
`OPENROUTER_API_KEY` kullanılır; anahtarlar `~/.config/dikte/config.json`
|
||||||
@@ -81,6 +80,12 @@ olmasını ister.
|
|||||||
|
|
||||||
## Neler yapıyor
|
## Neler yapıyor
|
||||||
|
|
||||||
|
- **Her şey varsayılan olarak bu makinede çalışır.** Sesi yazıya çevirme
|
||||||
|
whisper.cpp, temizleme llama.cpp üzerinde; ikisini de önceden kurman gerekmez:
|
||||||
|
ayarlar penceresi programı ve modeli indirir, sha256'sını doğrular,
|
||||||
|
checksum'suz yayınlanmış bir indirmeyi reddeder, sen dikte ettikçe sunucuyu
|
||||||
|
ayakta tutar. Derleme destekliyorsa ekran kartına CUDA, ROCm ya da Vulkan
|
||||||
|
üzerinden ulaşılır. Anahtar yok, hesap yok, makineden çıkan bir şey yok.
|
||||||
- **Sessizlik API'ye gitmez.** Sessize yakın bir ses verildiğinde model boş dize
|
- **Sessizlik API'ye gitmez.** Sessize yakın bir ses verildiğinde model boş dize
|
||||||
döndürmez, bir cümle uydurur ("Altyazı M.K.", "Thanks for watching"). *O
|
döndürmez, bir cümle uydurur ("Altyazı M.K.", "Thanks for watching"). *O
|
||||||
kaydın kendi* gürültü tabanının 10 dB üstüne en az 0,3 saniye çıkan bir şey
|
kaydın kendi* gürültü tabanının 10 dB üstüne en az 0,3 saniye çıkan bir şey
|
||||||
|
|||||||
|
After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 58 KiB |