Toplantı ve dikte uygulaması — Windows 11 + macOS (Avalonia, Whisper, yerel/bulut LLM)
C#
1
17 commits
updated Jul 28, 2026
Toplantılarınızı ve diktelerinizi bilgisayarınızda yazıya döken masaüstü uygulaması. Türkçe için ayarlandı, Windows 11 ve macOS'ta aynı kod tabanıyla çalışır.
Toplantı kaydı. Mikrofonunuzu ve bilgisayarınızdan çıkan sesi (Meet, Zoom, Teams — fark etmez) aynı anda dinler, konuşulanları canlı olarak ekrana yazar. Kayıt biterken kimin ne söylediğini ayırır, isterseniz temiz bir transkript ve yapılandırılmış bir toplantı özeti üretir.
Dikte. Kısayola basın, konuşun, susun. Metin düzeltilip o an odakta olan uygulamaya yazılır — e-postaya, Word'e, sohbet kutusuna. Panoya da kopyalanır.
Kendi bilgisayarınızda. Konuşma tanıma yereldeki Whisper ile yapılır; internet gerekmez. Yapay zekâ desteği isterseniz sağlayıcıyı siz seçersiniz, dilerseniz o da yerel modelle çalışır. Hiçbir şey varsayılan olarak dışarı gönderilmez — ayrıntı için Gizlilik bölümü.
| 🎙 Çift kanal kayıt | Mikrofon + sistem sesi ayrı hatlarda; "Ben" ve karşı taraf ayrı etiketlenir |
| 🗣 Konuşmacı ayrıştırma | Kayıt bitince kimin konuştuğu ayrılır, konuşmacılara isim verebilirsiniz |
| ✍️ Dikte | Konuştuğunuz metin herhangi bir uygulamaya yazılır; sessizlikte otomatik durur |
| 📖 Türkçe sözlük | 583 terimlik telaffuz sözlüğü ("en eyt en" → n8n); kendi terimlerinizi ekleyebilirsiniz |
| 🤖 Not üretimi | Temiz transkript ve özet (Kararlar / Aksiyon Maddeleri / Açık Sorular); istediğiniz kadar sürüm |
| ⚡ Canlı düzeltme | Kayıt sürerken satırlar bağlama göre kendini düzeltir (bulut sağlayıcıyla) |
| 🔊 Ses kaydı ve oynatma | Oturum sese kaydedilir; bir satıra ya da bir kelimeye tıklayınca ses o ana gider |
| 📅 Ajanda | Takvim akışınızdaki toplantıyı tek tıkla kaydetmeye başlar |
| 🪟 Mini araç | Her zaman üstte duran küçük pencere: dikteyi başlat, süreyi ve ses seviyesini gör |
| 🛟 Veri güvenliği | Her açılışta veritabanı yedeği; çökme sonrası yarım kalan kayıt kurtarılır |
flowchart LR
A[Mikrofon] --> C
B[Sistem sesi] --> C
C[Ses eşiği + parçalama] --> D[Whisper<br/>yerel]
D --> E[Sözlük · sızıntı süzgeci<br/>paragraf birleştirme]
E --> F[(SQLite)]
E -.isteğe bağlı.-> G[Canlı düzeltme<br/>bulut LLM]
F --> H[Konuşmacı ayrıştırma<br/>yerel]
F --> I[Temiz transkript<br/>ve özet]
F --> J[Dikte → odaktaki uygulama]
Konuşma tanıma tamamen yerel çalışır. Kesikli çizgiyle gösterilen adımlar yalnızca siz bir sağlayıcı seçip anahtar girdiğinizde devreye girer.
git clone https://github.com/adilmustafayilmaz/WhisperNotesX.git
cd WhisperNotesX
.\scripts\setup-windows.ps1
Script gerekenleri tek tek kontrol eder, yalnızca eksik olanı kurar, sonra derleyip testleri
koşar. Hiçbir şey kurmadan sadece rapor almak için .\scripts\setup-windows.ps1 -CheckOnly.
Elle kurmak isterseniz gerekenler:
| Gereksinim | Neden | Kurulum |
|---|---|---|
| .NET 8 SDK (veya üzeri) | Uygulama net8.0 hedefler | winget install Microsoft.DotNet.SDK.8 |
| VC++ 2015-2022 x64 Redistributable | Whisper ve LLM yerel kütüphaneleri MSVC ile derlendi | winget install Microsoft.VCRedist.2015+.x64 |
| ~4 GB boş disk | Konuşma tanıma modeli için | — |
Sonra:
dotnet run --project WhisperNotesX
Ekran kartı: uygun bir GPU varsa konuşma tanıma Vulkan üzerinden GPU'da çalışır, yoksa kendiliğinden CPU'ya düşer. Ayar gerekmez. Hangisinin çalıştığını durum çubuğu yazar ("Model hazır · GPU (Vulkan)"). GTX 1060'ta ölçülen fark: 30 sn ses 31 sn → 9 sn.
Ayrıntılı kurulum, doğrulama adımları ve sorun giderme: docs/WINDOWS_SETUP.md
git clone https://github.com/adilmustafayilmaz/WhisperNotesX.git
cd WhisperNotesX
./scripts/run.sh # ya da: dotnet run --project WhisperNotesX
İzinler ve ek adımlar:
brew install blackhole-2ch
Ardından Audio MIDI Setup'ta hoparlörünüz + BlackHole ile bir çoklu çıkış aygıtı oluşturup
sistem çıkışını ona alın. Kurmazsanız toplantılar yalnızca mikrofonu kaydeder.
(Windows'ta bu adım gerekmez.)Model seçenekleri (Ayarlar → Konuşma Tanıma):
| Model | Boyut | Ne zaman |
|---|---|---|
ggml-large-v3 | ~2,9 GB | Varsayılan. Türkçede en yüksek doğruluk |
ggml-large-v3-turbo | ~574 MB | Hızlı başlangıç, biraz daha düşük doğruluk |
ggml-small | ~488 MB | Zayıf donanım |
ggml-base | ~148 MB | Sadece deneme |
| Kısayol | İşlev |
|---|---|
Ctrl+Shift+R (mac: ⌘⇧R) | Toplantı kaydını başlat / durdur |
Ctrl+Shift+D (mac: ⌘⇧D) | Dikteyi başlat / durdur |
Ctrl+Alt+K | Yapay zekâ üretimini durdur |
Kaydı başlatın; satırlar konuşuldukça ekrana düşer. Karşı tarafın sesi ayrı hatta yakalanır, aynı sözün iki hatta birden yazılmasını engelleyen bir süzgeç vardır. Kayıt bitince konuşmacılar ayrılır; bir konuşmacı çipine sağ tıklayıp isim verebilirsiniz — bu isim özetlere de yansır.
Kayda Devam Et ile eski bir toplantıya ekleme yapabilirsiniz; yeni satırlar zaman çizelgesinde öncekilerin ardına eklenir, ses de birleştirilir.
Üretim çubuğunda üç düğme var: Temiz Transkript, Özet (Orijinal), Özet (Temiz). Her üretim yeni bir sürüm olarak saklanır — eskiyi kaybetmeden yeniden üretebilir, sürümler arasında geçiş yapabilir, beğenmediğinizi silebilirsiniz. Uzun toplantılarda özet parça parça çıkarılıp birleştirilir, böylece toplantının ortası kaybolmaz.
Çıktı .md olarak dışa aktarılabilir; ses dosyası da ayrıca kaydedilebilir.
Ctrl+Shift+D → konuşun → tekrar Ctrl+Shift+D (ya da sessizlikte otomatik durur, varsayılan 8 sn).
Metin isteğe bağlı olarak yapay zekâ ile düzeltilir, sonra odaktaki uygulamaya yazılır ve panoya
kopyalanır. Model saçmalarsa düzeltilmiş metin değil ham metin yazılır — bir makullük süzgeci
bunu denetler.
Ayarlar → Ajanda'ya takviminizin ICS adresini yapıştırın (Google Takvim: takvim ayarları →
"Gizli adres iCal biçiminde"; Outlook: yayınlanmış takvim bağlantısı). Yaklaşan toplantılar
listelenir, yanındaki düğme kaydı doğrudan o toplantının adıyla başlatır. Özetteki aksiyon
maddelerini .ics görev dosyası olarak dışa aktarabilirsiniz.
Not üretimi ve dikte cilası için dört seçenek var. Ayarlar → Yapay Zekâ'dan seçilir.
| Sağlayıcı | Nasıl çalışır | Ne zaman tercih edilir |
|---|---|---|
| Yerel (Qwen 2.5 3B) | İlk kullanımda ~2 GB model iner, tamamen çevrimdışı | Veri bilgisayardan çıkmasın isteniyorsa |
| Claude | API anahtarı gerekir | En iyi Türkçe özet |
| Gemini | API anahtarı gerekir | Ücretsiz kotayla denemek için |
| Qwen (Alibaba Cloud) | API anahtarı gerekir | Alternatif bulut seçeneği |
Anahtarlar hiçbir zaman dosyaya yazılmaz: Windows'ta Credential Manager, macOS'ta Keychain kullanılır. Bir bulut çağrısı başarısız olursa uygulama tek tıkla yerel modele düşmeyi önerir.
Kayıt sırasında canlı düzeltme yalnızca bulut sağlayıcılarla çalışır (yerel model bu hıza yetişemez).
Bilgisayarınızdan ne çıkar, ne zaman çıkar:
| Veri | Nereye | Ne zaman |
|---|---|---|
| Ses kaydı | Hiçbir yere | Varsayılan olarak ses hiç yüklenmez |
| Transkript metni | Seçtiğiniz LLM sağlayıcısına | Yalnız not üretimi ya da canlı düzeltme çalışırken |
| Ses kaydı (isteğe bağlı) | ElevenLabs | Yalnız "Bulut son geçişi" açıksa ve anahtar girilmişse |
| Takvim isteği | Yapıştırdığınız ICS adresine | Ajanda sekmesi açıkken |
| Model indirmeleri | Hugging Face / GitHub | İlk kullanımda, sadece indirme |
"Bulut son geçişi" varsayılan olarak kapalıdır ve iki koşul birden sağlanmadan çalışmaz: ayarın açık olması ve işletim sistemi anahtar deposunda kayıtlı bir anahtar bulunması. Yerel modeli seçerseniz hiçbir metin de dışarı çıkmaz.
| Windows | macOS | |
|---|---|---|
| Veritabanı | %LocalAppData%\WhisperNotesX\whispernotes.db | ~/Library/Application Support/WhisperNotesX/whispernotes.db |
| Ses kayıtları | …\WhisperNotesX\Recordings | …/WhisperNotesX/Recordings |
| Modeller | …\WhisperNotesX\models | …/WhisperNotesX/models |
| Yedekler | …\WhisperNotesX\Backups | …/WhisperNotesX/Backups |
Uygulama her açılışta veritabanının damgalı bir kopyasını alır (son 10 kopya saklanır) ve şema değişikliklerini yalnızca ekleyerek uygular — tablo silme veya yeniden kurma yoktur. Kayıt sırasında çökme olursa yarım kalan ses bir sonraki açılışta toparlanır.
dotnet build WhisperNotesX/WhisperNotesX.csproj # proje yolu: .slnx eski SDK'larda okunmaz
dotnet test WhisperNotesX.Core.Tests/WhisperNotesX.Core.Tests.csproj
dotnet run --project WhisperNotesX
WhisperNotesX/ Avalonia arayüzü — pencereler, view model'ler, servisler
WhisperNotesX.Core/ platformdan bağımsız çekirdek
Audio/ yakalama arabirimi, halka tampon, ses eşiği, WAV yazma/karıştırma
Stt/ Whisper sarmalayıcı, sözlük, satır birleştirme, bulut geçişi
Diarization/ konuşmacı ayrıştırma (sherpa-onnx)
Llm/ Claude / Gemini / Qwen / yerel arka uçlar, istemler, canlı düzeltme
Calendar/ ICS takvim köprüsü
Data/ EF Core SQLite, ayarlar, şema koruması
WhisperNotesX.Core.Tests/ xUnit — 59 test
Platforma özgü kod tek yerde toplanır: AudioDeviceFactory (Windows WASAPI / macOS PortAudio),
Secrets/ (Credential Manager / Keychain). Arayüz katmanında platform koşulu yoktur.
Her push'ta GitHub Actions windows-latest ve macos-14 üzerinde derleyip testleri koşar.
Katkı göndermeden önce ikisinin de yeşil olduğundan emin olun. Projeye özgü kurallar
(veri silmeme, yalnızca ekleyen şema değişikliği, ölçülmüş eşiklere dokunmama) için
CLAUDE.md dosyasına bakın.
Kullanılan başlıca bileşenler: Avalonia, Whisper.net (whisper.cpp), LLamaSharp (llama.cpp), sherpa-onnx, SharpHook, NAudio, PortAudioSharp2.
MIT — bkz. LICENSE.
WhisperNotes X is a desktop meeting-transcription and dictation app for Windows 11 and macOS, built on .NET 8 + Avalonia. It captures the microphone and system audio simultaneously, transcribes locally with Whisper (tuned for Turkish), separates speakers with sherpa-onnx, and can generate a cleaned transcript and a structured summary through a local model (Qwen 2.5 3B) or a cloud provider (Claude, Gemini, Qwen). Dictation mode types the recognized text into whatever app has focus.
Speech recognition is fully local and nothing is uploaded by default; cloud features are opt-in and
require a key stored in the OS credential store. Windows setup is automated by
scripts/setup-windows.ps1; see docs/WINDOWS_SETUP.md. The UI is Turkish only.
Toplantı ve dikte uygulaması — Windows 11 + macOS (Avalonia, Whisper, yerel/bulut LLM)
C#
1
17 commits
updated Jul 28, 2026
Toplantılarınızı ve diktelerinizi bilgisayarınızda yazıya döken masaüstü uygulaması. Türkçe için ayarlandı, Windows 11 ve macOS'ta aynı kod tabanıyla çalışır.
Toplantı kaydı. Mikrofonunuzu ve bilgisayarınızdan çıkan sesi (Meet, Zoom, Teams — fark etmez) aynı anda dinler, konuşulanları canlı olarak ekrana yazar. Kayıt biterken kimin ne söylediğini ayırır, isterseniz temiz bir transkript ve yapılandırılmış bir toplantı özeti üretir.
Dikte. Kısayola basın, konuşun, susun. Metin düzeltilip o an odakta olan uygulamaya yazılır — e-postaya, Word'e, sohbet kutusuna. Panoya da kopyalanır.
Kendi bilgisayarınızda. Konuşma tanıma yereldeki Whisper ile yapılır; internet gerekmez. Yapay zekâ desteği isterseniz sağlayıcıyı siz seçersiniz, dilerseniz o da yerel modelle çalışır. Hiçbir şey varsayılan olarak dışarı gönderilmez — ayrıntı için Gizlilik bölümü.
| 🎙 Çift kanal kayıt | Mikrofon + sistem sesi ayrı hatlarda; "Ben" ve karşı taraf ayrı etiketlenir |
| 🗣 Konuşmacı ayrıştırma | Kayıt bitince kimin konuştuğu ayrılır, konuşmacılara isim verebilirsiniz |
| ✍️ Dikte | Konuştuğunuz metin herhangi bir uygulamaya yazılır; sessizlikte otomatik durur |
| 📖 Türkçe sözlük | 583 terimlik telaffuz sözlüğü ("en eyt en" → n8n); kendi terimlerinizi ekleyebilirsiniz |
| 🤖 Not üretimi | Temiz transkript ve özet (Kararlar / Aksiyon Maddeleri / Açık Sorular); istediğiniz kadar sürüm |
| ⚡ Canlı düzeltme | Kayıt sürerken satırlar bağlama göre kendini düzeltir (bulut sağlayıcıyla) |
| 🔊 Ses kaydı ve oynatma | Oturum sese kaydedilir; bir satıra ya da bir kelimeye tıklayınca ses o ana gider |
| 📅 Ajanda | Takvim akışınızdaki toplantıyı tek tıkla kaydetmeye başlar |
| 🪟 Mini araç | Her zaman üstte duran küçük pencere: dikteyi başlat, süreyi ve ses seviyesini gör |
| 🛟 Veri güvenliği | Her açılışta veritabanı yedeği; çökme sonrası yarım kalan kayıt kurtarılır |
flowchart LR
A[Mikrofon] --> C
B[Sistem sesi] --> C
C[Ses eşiği + parçalama] --> D[Whisper<br/>yerel]
D --> E[Sözlük · sızıntı süzgeci<br/>paragraf birleştirme]
E --> F[(SQLite)]
E -.isteğe bağlı.-> G[Canlı düzeltme<br/>bulut LLM]
F --> H[Konuşmacı ayrıştırma<br/>yerel]
F --> I[Temiz transkript<br/>ve özet]
F --> J[Dikte → odaktaki uygulama]
Konuşma tanıma tamamen yerel çalışır. Kesikli çizgiyle gösterilen adımlar yalnızca siz bir sağlayıcı seçip anahtar girdiğinizde devreye girer.
git clone https://github.com/adilmustafayilmaz/WhisperNotesX.git
cd WhisperNotesX
.\scripts\setup-windows.ps1
Script gerekenleri tek tek kontrol eder, yalnızca eksik olanı kurar, sonra derleyip testleri
koşar. Hiçbir şey kurmadan sadece rapor almak için .\scripts\setup-windows.ps1 -CheckOnly.
Elle kurmak isterseniz gerekenler:
| Gereksinim | Neden | Kurulum |
|---|---|---|
| .NET 8 SDK (veya üzeri) | Uygulama net8.0 hedefler | winget install Microsoft.DotNet.SDK.8 |
| VC++ 2015-2022 x64 Redistributable | Whisper ve LLM yerel kütüphaneleri MSVC ile derlendi | winget install Microsoft.VCRedist.2015+.x64 |
| ~4 GB boş disk | Konuşma tanıma modeli için | — |
Sonra:
dotnet run --project WhisperNotesX
Ekran kartı: uygun bir GPU varsa konuşma tanıma Vulkan üzerinden GPU'da çalışır, yoksa kendiliğinden CPU'ya düşer. Ayar gerekmez. Hangisinin çalıştığını durum çubuğu yazar ("Model hazır · GPU (Vulkan)"). GTX 1060'ta ölçülen fark: 30 sn ses 31 sn → 9 sn.
Ayrıntılı kurulum, doğrulama adımları ve sorun giderme: docs/WINDOWS_SETUP.md
git clone https://github.com/adilmustafayilmaz/WhisperNotesX.git
cd WhisperNotesX
./scripts/run.sh # ya da: dotnet run --project WhisperNotesX
İzinler ve ek adımlar:
brew install blackhole-2ch
Ardından Audio MIDI Setup'ta hoparlörünüz + BlackHole ile bir çoklu çıkış aygıtı oluşturup
sistem çıkışını ona alın. Kurmazsanız toplantılar yalnızca mikrofonu kaydeder.
(Windows'ta bu adım gerekmez.)Model seçenekleri (Ayarlar → Konuşma Tanıma):
| Model | Boyut | Ne zaman |
|---|---|---|
ggml-large-v3 | ~2,9 GB | Varsayılan. Türkçede en yüksek doğruluk |
ggml-large-v3-turbo | ~574 MB | Hızlı başlangıç, biraz daha düşük doğruluk |
ggml-small | ~488 MB | Zayıf donanım |
ggml-base | ~148 MB | Sadece deneme |
| Kısayol | İşlev |
|---|---|
Ctrl+Shift+R (mac: ⌘⇧R) | Toplantı kaydını başlat / durdur |
Ctrl+Shift+D (mac: ⌘⇧D) | Dikteyi başlat / durdur |
Ctrl+Alt+K | Yapay zekâ üretimini durdur |
Kaydı başlatın; satırlar konuşuldukça ekrana düşer. Karşı tarafın sesi ayrı hatta yakalanır, aynı sözün iki hatta birden yazılmasını engelleyen bir süzgeç vardır. Kayıt bitince konuşmacılar ayrılır; bir konuşmacı çipine sağ tıklayıp isim verebilirsiniz — bu isim özetlere de yansır.
Kayda Devam Et ile eski bir toplantıya ekleme yapabilirsiniz; yeni satırlar zaman çizelgesinde öncekilerin ardına eklenir, ses de birleştirilir.
Üretim çubuğunda üç düğme var: Temiz Transkript, Özet (Orijinal), Özet (Temiz). Her üretim yeni bir sürüm olarak saklanır — eskiyi kaybetmeden yeniden üretebilir, sürümler arasında geçiş yapabilir, beğenmediğinizi silebilirsiniz. Uzun toplantılarda özet parça parça çıkarılıp birleştirilir, böylece toplantının ortası kaybolmaz.
Çıktı .md olarak dışa aktarılabilir; ses dosyası da ayrıca kaydedilebilir.
Ctrl+Shift+D → konuşun → tekrar Ctrl+Shift+D (ya da sessizlikte otomatik durur, varsayılan 8 sn).
Metin isteğe bağlı olarak yapay zekâ ile düzeltilir, sonra odaktaki uygulamaya yazılır ve panoya
kopyalanır. Model saçmalarsa düzeltilmiş metin değil ham metin yazılır — bir makullük süzgeci
bunu denetler.
Ayarlar → Ajanda'ya takviminizin ICS adresini yapıştırın (Google Takvim: takvim ayarları →
"Gizli adres iCal biçiminde"; Outlook: yayınlanmış takvim bağlantısı). Yaklaşan toplantılar
listelenir, yanındaki düğme kaydı doğrudan o toplantının adıyla başlatır. Özetteki aksiyon
maddelerini .ics görev dosyası olarak dışa aktarabilirsiniz.
Not üretimi ve dikte cilası için dört seçenek var. Ayarlar → Yapay Zekâ'dan seçilir.
| Sağlayıcı | Nasıl çalışır | Ne zaman tercih edilir |
|---|---|---|
| Yerel (Qwen 2.5 3B) | İlk kullanımda ~2 GB model iner, tamamen çevrimdışı | Veri bilgisayardan çıkmasın isteniyorsa |
| Claude | API anahtarı gerekir | En iyi Türkçe özet |
| Gemini | API anahtarı gerekir | Ücretsiz kotayla denemek için |
| Qwen (Alibaba Cloud) | API anahtarı gerekir | Alternatif bulut seçeneği |
Anahtarlar hiçbir zaman dosyaya yazılmaz: Windows'ta Credential Manager, macOS'ta Keychain kullanılır. Bir bulut çağrısı başarısız olursa uygulama tek tıkla yerel modele düşmeyi önerir.
Kayıt sırasında canlı düzeltme yalnızca bulut sağlayıcılarla çalışır (yerel model bu hıza yetişemez).
Bilgisayarınızdan ne çıkar, ne zaman çıkar:
| Veri | Nereye | Ne zaman |
|---|---|---|
| Ses kaydı | Hiçbir yere | Varsayılan olarak ses hiç yüklenmez |
| Transkript metni | Seçtiğiniz LLM sağlayıcısına | Yalnız not üretimi ya da canlı düzeltme çalışırken |
| Ses kaydı (isteğe bağlı) | ElevenLabs | Yalnız "Bulut son geçişi" açıksa ve anahtar girilmişse |
| Takvim isteği | Yapıştırdığınız ICS adresine | Ajanda sekmesi açıkken |
| Model indirmeleri | Hugging Face / GitHub | İlk kullanımda, sadece indirme |
"Bulut son geçişi" varsayılan olarak kapalıdır ve iki koşul birden sağlanmadan çalışmaz: ayarın açık olması ve işletim sistemi anahtar deposunda kayıtlı bir anahtar bulunması. Yerel modeli seçerseniz hiçbir metin de dışarı çıkmaz.
| Windows | macOS | |
|---|---|---|
| Veritabanı | %LocalAppData%\WhisperNotesX\whispernotes.db | ~/Library/Application Support/WhisperNotesX/whispernotes.db |
| Ses kayıtları | …\WhisperNotesX\Recordings | …/WhisperNotesX/Recordings |
| Modeller | …\WhisperNotesX\models | …/WhisperNotesX/models |
| Yedekler | …\WhisperNotesX\Backups | …/WhisperNotesX/Backups |
Uygulama her açılışta veritabanının damgalı bir kopyasını alır (son 10 kopya saklanır) ve şema değişikliklerini yalnızca ekleyerek uygular — tablo silme veya yeniden kurma yoktur. Kayıt sırasında çökme olursa yarım kalan ses bir sonraki açılışta toparlanır.
dotnet build WhisperNotesX/WhisperNotesX.csproj # proje yolu: .slnx eski SDK'larda okunmaz
dotnet test WhisperNotesX.Core.Tests/WhisperNotesX.Core.Tests.csproj
dotnet run --project WhisperNotesX
WhisperNotesX/ Avalonia arayüzü — pencereler, view model'ler, servisler
WhisperNotesX.Core/ platformdan bağımsız çekirdek
Audio/ yakalama arabirimi, halka tampon, ses eşiği, WAV yazma/karıştırma
Stt/ Whisper sarmalayıcı, sözlük, satır birleştirme, bulut geçişi
Diarization/ konuşmacı ayrıştırma (sherpa-onnx)
Llm/ Claude / Gemini / Qwen / yerel arka uçlar, istemler, canlı düzeltme
Calendar/ ICS takvim köprüsü
Data/ EF Core SQLite, ayarlar, şema koruması
WhisperNotesX.Core.Tests/ xUnit — 59 test
Platforma özgü kod tek yerde toplanır: AudioDeviceFactory (Windows WASAPI / macOS PortAudio),
Secrets/ (Credential Manager / Keychain). Arayüz katmanında platform koşulu yoktur.
Her push'ta GitHub Actions windows-latest ve macos-14 üzerinde derleyip testleri koşar.
Katkı göndermeden önce ikisinin de yeşil olduğundan emin olun. Projeye özgü kurallar
(veri silmeme, yalnızca ekleyen şema değişikliği, ölçülmüş eşiklere dokunmama) için
CLAUDE.md dosyasına bakın.
Kullanılan başlıca bileşenler: Avalonia, Whisper.net (whisper.cpp), LLamaSharp (llama.cpp), sherpa-onnx, SharpHook, NAudio, PortAudioSharp2.
MIT — bkz. LICENSE.
WhisperNotes X is a desktop meeting-transcription and dictation app for Windows 11 and macOS, built on .NET 8 + Avalonia. It captures the microphone and system audio simultaneously, transcribes locally with Whisper (tuned for Turkish), separates speakers with sherpa-onnx, and can generate a cleaned transcript and a structured summary through a local model (Qwen 2.5 3B) or a cloud provider (Claude, Gemini, Qwen). Dictation mode types the recognized text into whatever app has focus.
Speech recognition is fully local and nothing is uploaded by default; cloud features are opt-in and
require a key stored in the OS credential store. Windows setup is automated by
scripts/setup-windows.ps1; see docs/WINDOWS_SETUP.md. The UI is Turkish only.