whisper-windows-mcp 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/LICENSE +20 -1
  2. package/LICENSE-COMMERCIAL.md +58 -0
  3. package/PRIVACY.es.md +135 -0
  4. package/PRIVACY.id.md +135 -0
  5. package/PRIVACY.ja.md +135 -0
  6. package/PRIVACY.ko.md +135 -0
  7. package/PRIVACY.md +135 -0
  8. package/PRIVACY.pl.md +135 -0
  9. package/PRIVACY.pt-BR.md +135 -0
  10. package/PRIVACY.ro.md +135 -0
  11. package/PRIVACY.uk.md +135 -0
  12. package/PRIVACY.vi.md +135 -0
  13. package/README.es.md +393 -0
  14. package/README.id.md +393 -0
  15. package/README.ja.md +402 -397
  16. package/README.ko.md +393 -0
  17. package/README.md +393 -388
  18. package/README.pl.md +393 -0
  19. package/README.pt-BR.md +393 -0
  20. package/README.ro.md +393 -0
  21. package/README.uk.md +393 -0
  22. package/README.vi.md +393 -0
  23. package/ROADMAP.es.md +200 -0
  24. package/ROADMAP.id.md +289 -0
  25. package/ROADMAP.ja.md +301 -268
  26. package/ROADMAP.ko.md +286 -0
  27. package/ROADMAP.pl.md +198 -0
  28. package/ROADMAP.pt-BR.md +286 -0
  29. package/ROADMAP.ro.md +200 -0
  30. package/ROADMAP.uk.md +290 -0
  31. package/ROADMAP.vi.md +286 -0
  32. package/SECURITY.es.md +47 -0
  33. package/SECURITY.id.md +47 -0
  34. package/SECURITY.ja.md +47 -0
  35. package/SECURITY.ko.md +47 -0
  36. package/SECURITY.md +14 -2
  37. package/SECURITY.pl.md +47 -0
  38. package/SECURITY.pt-BR.md +47 -0
  39. package/SECURITY.ro.md +47 -0
  40. package/SECURITY.uk.md +47 -0
  41. package/SECURITY.vi.md +47 -0
  42. package/TROUBLESHOOTING.es.md +323 -0
  43. package/TROUBLESHOOTING.id.md +323 -0
  44. package/TROUBLESHOOTING.ko.md +323 -0
  45. package/TROUBLESHOOTING.pl.md +323 -0
  46. package/TROUBLESHOOTING.pt-BR.md +323 -0
  47. package/TROUBLESHOOTING.ro.md +323 -0
  48. package/TROUBLESHOOTING.uk.md +323 -0
  49. package/TROUBLESHOOTING.vi.md +323 -0
  50. package/glama.json +6 -0
  51. package/package.json +10 -3
  52. package/patch_roadmaps.py +72 -0
package/ROADMAP.id.md ADDED
@@ -0,0 +1,289 @@
1
+ # whisper-windows-mcp — Peta Jalan
2
+
3
+ Versi saat ini: **v2.2.0**
4
+
5
+ ---
6
+
7
+ ## Prinsip Desain
8
+
9
+ Prinsip-prinsip ini mengatur setiap keputusan dalam proyek ini dan lebih diprioritaskan dari kecepatan penambahan fitur.
10
+
11
+ **Minimalkan penggunaan Claude API.** Seluruh alur kerja transkripsi — pemindaian, analisis, antrian, menjalankan, validasi, penggantian model — harus dapat dieksekusi dengan sesedikit mungkin interaksi Claude. Alat ini harus sepenuhnya berfungsi untuk pengguna Claude paket gratis yang tidak membayar langganan Pro atau Max. Setiap panggilan alat menghabiskan anggaran penggunaan. Rancang sesuai.
12
+
13
+ **Satu instance whisper setiap saat.** Jangan pernah menelurkan proses whisper-cli.exe kedua saat satu sedang berjalan. Kunci proses bersifat wajib dan tidak dapat dinegosiasikan.
14
+
15
+ **Utamakan lokal, privat secara default.** Tidak ada audio yang pernah meninggalkan mesin. Tidak diperlukan API cloud untuk fungsionalitas inti. Integrasi opsional (misalnya unduhan model Hugging Face) harus didokumentasikan dengan jelas sebagai opsional.
16
+
17
+ **Kontrol pengguna yang eksplisit.** Tidak ada operasi massal yang diam. Tindakan yang merusak atau tidak dapat dibalik memerlukan konfirmasi. Pengguna harus selalu tahu apa yang akan terjadi sebelum itu terjadi.
18
+
19
+ **Jalur aman Unicode.** Semua I/O file harus menangani nama file non-ASCII dengan benar, termasuk bahasa Indonesia, Jepang, Cina, emoji, tanda kurung, dan karakter khusus lainnya.
20
+
21
+ **Modular dan dapat dikombinasikan.** Alat bersifat independen. Pengguna menggunakan apa yang mereka butuhkan. Tidak ada fitur yang harus memerlukan fitur lain kecuali tidak dapat dihindari.
22
+
23
+ **Optimasi sebelum fitur.** Saat ragu antara menambahkan fitur dan mengurangi beban sistem atau jumlah panggilan API, kurangi beban. Sesi optimasi besar itu mahal. Rancang arsitektur dengan benar sejak awal.
24
+
25
+ ---
26
+
27
+ ## Selesai
28
+
29
+ ### ✅ v1.3.1 — Kunci Proses
30
+ Menambahkan pemeriksaan `isWhisperRunning()` menggunakan `tasklist /FI` sebelum menelurkan transkripsi apa pun. Mengembalikan kesalahan yang jelas dengan instruksi Task Manager daripada menelurkan proses yang bersaing.
31
+
32
+ ### ✅ v1.4.0 — Akselerasi GPU Vulkan
33
+ Mengkompilasi whisper.cpp dari sumber dengan `-DGGML_VULKAN=ON` menggunakan VS Build Tools 2022 dan Vulkan SDK. Binary Vulkan yang sudah dikompilasi didistribusikan sebagai `whisper-vulkan-win-x64.zip`.
34
+
35
+ **Hasil pada AMD Radeon RX Vega 56:** Utilisasi GPU rata-rata ~16%. File 58 menit selesai dalam ~4.5 menit di GPU vs ~88 menit hanya CPU.
36
+
37
+ ### ✅ v1.5.0 — Diagnostik Sistem
38
+ Alat `check_system`: Deteksi GPU via `wmic`, verifikasi Vulkan DLL, pelaporan VRAM, rekomendasi ukuran model.
39
+
40
+ ### ✅ v1.6.0 — Pra-Analisis File
41
+ Alat `analyze_media` via FFprobe: durasi, ukuran, codec, status transkripsi, perkiraan waktu CPU dan GPU. Pemindaian file tunggal atau folder dengan opsi pengurutan.
42
+
43
+ ### ✅ v1.7.0 — Transkripsi Latar Belakang + Visibilitas Kemajuan
44
+ Arsitektur proses terpisah: `transcribe_audio` dengan `background=true` menelurkan whisper sebagai proses terpisah dan segera mengembalikan ID tugas. `check_progress` mengurai timestamp segmen stderr whisper untuk persentase dan ETA real-time.
45
+
46
+ ### ✅ v1.8.0 — Batch Berurutan dengan Validasi
47
+ `start_batch` dan `check_batch_progress`: pemrosesan berurutan otomatis, validasi transkripsi (deteksi output kosong/pendek), kemajuan antrian otomatis, timestamp kemajuan per file.
48
+
49
+ ### ✅ v1.9.0 — Dukungan Multibahasa dan Terjemahan
50
+ `generate_subtitles` dengan deteksi `language=auto` dan output SRT ganda `translate_to_english=true`. Menambahkan dukungan format `.3gp` dan `.ts`. `language=auto` juga tersedia di `transcribe_audio`.
51
+
52
+ **Keterbatasan yang diketahui:** Terjemahan bawaan Whisper hanya menargetkan bahasa Inggris. Memerlukan model `large-v3` untuk bahasa non-Inggris — model khusus bahasa Inggris (`*.en.bin`) menghasilkan `[FOREIGN]` pada audio non-Inggris.
53
+
54
+ ### ✅ v2.0.0 — Jalur Aman Unicode + SRT Latar Belakang
55
+ **Nama file Unicode:** File dengan karakter non-ASCII dalam nama file menyebabkan transkripsi latar belakang gagal secara diam-diam. Diperbaiki dengan merutekan semua output melalui jalur temp yang disanitasi berbasis ID tugas, kemudian memindahkan hasilnya ke tujuan yang benar setelah selesai.
56
+
57
+ **SRT dalam mode latar belakang:** `spawnDetached` sebelumnya mengkodekan keras `-otxt` terlepas dari format yang diminta, dan `generate_subtitles` memblokir secara sinkron dan mencapai timeout MCP 4 menit pada file yang lebih panjang. Diperbaiki dengan menambahkan parameter `outputFormat` ke `spawnDetached`, mendukung output `text` dan `srt` dalam mode latar belakang.
58
+
59
+ ### ✅ v2.0.1 — Perbaikan Bug (dikirimkan dalam v2.2.0)
60
+ - `--max-context 0` dikodekan keras di `buildArgs` dan `spawnDetached` — mencegah loop halusinasi pada audio panjang. `--condition-on-previous-text` dan `--no-context` bukan flag valid dalam binary saat ini (era v1.8.3) — `--max-context N` adalah flag yang benar.
61
+ - `--no-speech-thold 0.6` dikodekan keras di kedua fungsi — segmen di bawah ambang kepercayaan diperlakukan sebagai keheningan daripada konten yang dihalusinasi.
62
+ - Validasi jalur (`validateInputPath`) — menolak jalur UNC dan traversal `..`.
63
+ - Penjaga ukuran file `MAX_FILE_SIZE_MB = 10240`.
64
+ - Komentar keamanan injeksi transkrip di `transcribeSingle`.
65
+ - Perintah CLI batch yang rusak diperbaiki di TROUBLESHOOTING.md — mendokumentasikan pendekatan konversi FFmpeg yang benar dan metode `Start-Process -RedirectStandardOutput`.
66
+
67
+ ### ✅ v2.1.0 — Suite Manajemen Model (dikirimkan dalam v2.2.0)
68
+ - `WHISPER_MODEL` diubah dari `const` ke `let` (dapat diubah dalam sesi).
69
+ - `MODEL_REGISTRY` — 16 model, varian presisi penuh dan terkuantisasi, URL unduhan Hugging Face.
70
+ - `ALLOWED_HF_PREFIXES` — daftar putih URL yang membatasi unduhan ke namespace `ggerganov/whisper.cpp` dan `ggml-org`.
71
+ - Alat `list_models` — memindai direktori model, menampilkan model aktif, ukuran, kasus penggunaan, unduhan yang tersedia.
72
+ - Alat `download_model` — mengunduh dari Hugging Face via `https` bawaan Node.js, penggantian nama atomik (perbaikan race condition pelepasan file handle Windows).
73
+ - Alat `switch_model` — memvalidasi ekstensi `.bin`, batasan direktori, pemeriksaan kunci proses.
74
+ - `recommendedModel()` diperbarui untuk merekomendasikan `large-v3-turbo` untuk VRAM 6GB+.
75
+
76
+ ### ✅ v2.2.0 — Perluasan Kualitas, Parameter, dan Hardware (saat ini)
77
+ - Interface `WhisperOptions` menggantikan argumen posisional di `buildArgs`.
78
+ - Parameter baru di `transcribe_audio`: `temperature`, `prompt`, `condition_on_prev_text`, `no_speech_thold`, `beam_size`, `best_of`, `gpu_device`, `processors`, `word_timestamps`, `max_segment_length`, `split_on_word`, `diarize`, `vad_model`, `offset_t`, `duration`.
79
+ - Parameter baru di `generate_subtitles`: `temperature`, `prompt`, `beam_size`, `best_of`, `diarize`, `vad_model`.
80
+ - `spawnDetached` direfaktor — semua flag kualitas sekarang diterapkan dalam mode latar belakang/batch.
81
+ - `runSrtPass` diperbarui untuk menerima `extraOpts`.
82
+ - Perbaikan output batch — `readBatchProgress` sekarang memindahkan output temp ke tujuan akhir sebelum memvalidasi (ini adalah akar penyebab semua hasil batch "gagal").
83
+
84
+ **Catatan kompatibilitas flag:** `gpu_device` / `-g` ditambahkan dalam whisper.cpp v1.8.4. Binary Vulkan yang sudah dikompilasi dalam rilis adalah era v1.8.3 — parameter ini diterima oleh alat tetapi tidak akan berpengaruh sampai pengguna memperbarui ke binary v1.8.4+.
85
+
86
+ **Flag valid yang dikonfirmasi dalam binary saat ini (era v1.8.3):**
87
+ `--max-context`, `--no-speech-thold`, `--processors`, `--offset-t`, `--duration`, `--best-of`, `--beam-size`, `--diarize`, `--tinydiarize`, `--temperature`, `--prompt`, flag VAD.
88
+
89
+ **Tidak ada dalam binary saat ini:** `--no-context` (gunakan `--max-context 0`), `--condition-on-previous-text` (hanya nama Python API), `--gpu-device` / `-g` (v1.8.4+).
90
+
91
+ ---
92
+
93
+ ## Bug Kritis — Kemajuan Otomatis Batch (Dikonfirmasi, Perbaikan Tertunda)
94
+
95
+ ### Batch Tidak Maju Tanpa Polling Aktif
96
+
97
+ `start_batch` tidak secara otonom maju melalui antrian antar file. Batch hanya berlanjut saat `check_batch_progress` dipanggil. Tanpa polling, batch macet tanpa batas setelah setiap file — whisper-cli.exe keluar, tidak ada proses baru yang ditelurkan, dan antrian tidak maju.
98
+
99
+ Ini merusak pemrosesan batch semalaman tanpa pengawasan, yang merupakan tujuan desain inti alat, dan secara langsung melanggar prinsip desain meminimalkan panggilan Claude API. Batch 95 file klip pendek memerlukan sekitar 200 panggilan polling selama 100 menit untuk selesai.
100
+
101
+ **Akar penyebab:** `readBatchProgress` berisi semua logika kemajuan antrian. Ini hanya dieksekusi saat `check_batch_progress` dipanggil secara eksplisit. Tidak ada timer latar belakang, pengawas file, atau loop otonom.
102
+
103
+ **Perbaikan yang direncanakan — Opsi B (exit callback, sangat disukai):** Lampirkan handler `on('exit')` ke proses anak whisper-cli yang ditelurkan. Saat proses keluar, segera panggil logika kemajuan untuk memvalidasi output dan menelurkan tugas berikutnya. Berbasis event, terpicu tepat sekali per penyelesaian file, tanpa overhead polling, tanpa panggilan API yang dikonsumsi.
104
+
105
+ **Opsi A (hanya cadangan):** `setInterval` latar belakang dengan interval polling berbasis durasi yang diturunkan dari data durasi FFprobe yang sudah ada dalam status batch JSON. Ukuran file bukan proksi yang andal untuk durasi.
106
+
107
+ **Batasan tambahan:** Perbaikan tidak boleh menelurkan whisper-cli.exe kedua saat satu sudah berjalan — kunci proses harus dihormati dalam jalur kemajuan otomatis.
108
+
109
+ **Solusi sementara (saat ini):** Panggil `check_batch_progress` berulang kali hingga batch selesai. Sekitar satu polling per file diperlukan.
110
+
111
+ ---
112
+
113
+ ## Direncanakan — Arsitektur Privasi (Sebelum Migrasi Bun)
114
+
115
+ Perubahan ini harus dikirimkan sebelum migrasi Bun dan sebelum perubahan lisensi apa pun yang memfasilitasi adopsi komersial atau perusahaan. Mengirimkan alat tingkat perusahaan tanpa perlindungan kepatuhan yang telah diselesaikan menciptakan kewajiban bagi pengguna di industri yang diatur.
116
+
117
+ ### Variabel Lingkungan `WHISPER_PRIVACY_MODE`
118
+ Alat saat ini menjamin bahwa tidak ada **audio** yang meninggalkan mesin. Ini tidak memperluas jaminan ini ke **teks transkrip** — saat konten transkrip dikembalikan sebaris dalam respons alat, teks tersebut diproses oleh API Claude dan meninggalkan lingkungan lokal.
119
+
120
+ Celah ini tidak terlihat oleh pengguna yang secara wajar mengartikan "tidak ada data yang meninggalkan mesin" mencakup semua konten yang berasal dari audio mereka.
121
+
122
+ Tambahkan `WHISPER_PRIVACY_MODE` sebagai variabel lingkungan di `claude_desktop_config.json`. Saat diaktifkan:
123
+ - Semua respons alat hanya mengembalikan metadata: nama file, durasi, jumlah kata, status penyelesaian
124
+ - Tidak ada teks transkrip yang disertakan dalam respons alat mana pun
125
+ - Claude tidak dapat membaca, menganalisis, atau meneruskan konten transkrip dalam bentuk apa pun
126
+ - Transkrip hanya ada sebagai file `.txt` lokal
127
+
128
+ Ini adalah solusi yang tepat untuk penerapan medis, hukum, keuangan, dan perusahaan. Nol panggilan API, nol transmisi data, nol risiko kepatuhan.
129
+
130
+ ### Gerbang Persetujuan untuk Konten Transkrip
131
+ Saat `WHISPER_PRIVACY_MODE` tidak diaktifkan (default), setiap respons alat yang menyertakan teks transkrip harus didahului oleh pengungkapan pada penggunaan pertama per sesi. Pengungkapan harus mengkomunikasikan dengan jelas bahwa teks transkrip dikirim ke API Anthropic, bahwa ini berada di luar jaminan "tidak ada data yang meninggalkan mesin", dan bahwa pengguna yang menangani konten yang diatur harus memverifikasi kewajiban kepatuhan sebelum melanjutkan.
132
+
133
+ Implementasi: variabel lingkungan `WHISPER_CONSENT_ACKNOWLEDGED` yang default ke `false`. Pada pengembalian transkrip pertama per sesi, jika belum diakui, Claude menyajikan pengungkapan dan meminta konfirmasi eksplisit. Setelah diakui untuk sesi tersebut, transkrip berikutnya dikembalikan tanpa meminta ulang.
134
+
135
+ ### Dokumentasi `PRIVACY.md`
136
+ Buat `PRIVACY.md` di root repo yang mencakup:
137
+ - Data apa yang tetap lokal (selalu): file audio, video, model
138
+ - Data apa yang mungkin meninggalkan lokal (secara default): teks transkrip dalam respons alat
139
+ - Data apa yang tidak pernah meninggalkan lokal (dengan mode privasi): semuanya
140
+ - Panduan kerangka kepatuhan berdasarkan industri (HIPAA, GDPR, hak istimewa pengacara-klien, FERPA, SOX, PCI-DSS, NDA/rahasia dagang)
141
+ - Cara mengkonfigurasi mode privasi
142
+ - Penafian bahwa penulis alat bukan penasihat hukum
143
+
144
+ ### Peringatan Privasi Schema Alat
145
+ Perbarui deskripsi alat `ListToolsRequestSchema` untuk menyertakan catatan privasi pada alat apa pun yang mengembalikan teks transkrip. Ini muncul di deskripsi alat Claude Desktop dan menciptakan kesadaran pada titik penggunaan.
146
+
147
+ ### Pembersihan Otomatis Direktori Temp
148
+ `%TEMP%\whisper-mcp-jobs\` mengakumulasi file status tugas dan log dari waktu ke waktu. Tambahkan pembersihan otomatis file tugas yang selesai setelah jendela retensi yang dapat dikonfigurasi (default: 7 hari). Saat ini memerlukan `Remove-Item` manual oleh pengguna.
149
+
150
+ ---
151
+
152
+ ## Direncanakan — Migrasi Bun
153
+
154
+ Migrasikan runtime dari Node.js ke [Bun](https://bun.sh) setelah arsitektur privasi selesai dan sebelum penambahan fitur v2.3.0.
155
+
156
+ Karena Claude Desktop menelurkan server MCP baru setiap kali sesi dimulai, waktu startup berada di jalur kritis. Bun menjalankan TypeScript secara asli tanpa langkah kompilasi, memulai jauh lebih cepat dari Node, dan memiliki I/O yang lebih cepat.
157
+
158
+ **Yang berubah:**
159
+ - Menghilangkan langkah build `tsc` dan direktori `dist/`
160
+ - Pengguna menjalankan source TypeScript secara langsung
161
+ - `tsconfig.json` menjadi opsional
162
+ - Skrip `package.json` diperbarui
163
+ - Alur kerja publish npm diperbarui
164
+
165
+ **Yang tidak berubah:**
166
+ - Source code `src/index.ts` — Bun kompatibel dengan TypeScript yang ada dan API bawaan Node.js
167
+ - Semua perilaku alat dan format output
168
+ - Konfigurasi Claude Desktop untuk pengguna akhir
169
+
170
+ **Mengapa setelah privasi, sebelum v2.3.0:** Codebase paling mudah untuk dimigrasikan sekarang. Bermigrasi setelah menambahkan lebih banyak alat hanya menambah permukaan area tanpa manfaat. Arsitektur privasi harus ada terlebih dahulu seperti yang dicatat di atas.
171
+
172
+ ---
173
+
174
+ ## Lisensi
175
+
176
+ whisper-windows-mcp menggunakan lisensi ganda.
177
+
178
+ **Penggunaan non-komersial:** MIT — gratis untuk penggunaan pribadi, pendidikan, dan non-komersial. Lihat [LICENSE](LICENSE).
179
+
180
+ **Penggunaan komersial:** Diperlukan perjanjian lisensi komersial terpisah. Lihat [LICENSE-COMMERCIAL.md](LICENSE-COMMERCIAL.md).
181
+
182
+ `WHISPER_PRIVACY_MODE` untuk penerapan industri yang diatur sedang dalam pengembangan dan direncanakan untuk rilis mendatang. Lihat [PRIVACY.md](PRIVACY.md) untuk panduan saat ini.
183
+
184
+ ## Direncanakan — v2.3.0: Perluasan Format Output
185
+
186
+ ### Format Subtitle VTT
187
+ Output WebVTT (`.vtt`) bersama SRT. VTT adalah standar web yang digunakan oleh YouTube, HTML5 `<video>`, dan sebagian besar pemutar modern. whisper-cli mendukungnya secara asli. Tambahkan `vtt` sebagai format output yang valid di `transcribe_audio`, `generate_subtitles`, dan `spawnDetached`. Perbarui `buildArgs` dan semua schema alat yang relevan, README, dan dokumentasi multibahasa.
188
+
189
+ ### Format LRC
190
+ Output format LRC (`.lrc`) lirik/karaoke via `-olrc`. Digunakan oleh pemutar media untuk tampilan lirik yang tersinkronisasi. Nol biaya implementasi — flag CLI asli.
191
+
192
+ ### Format CSV
193
+ Output CSV (`.csv`) via `-ocsv`. Data tabular terstruktur dengan timing segmen — berguna untuk analisis downstream, alur kerja penyelarasan klip, dan impor ke alat spreadsheet. Nol biaya implementasi — flag CLI asli.
194
+
195
+ ---
196
+
197
+ ## Direncanakan — Rilis Mendatang
198
+
199
+ ### TinyDiarize
200
+ Dukungan flag `--tinydiarize` dengan varian model yang mendukung `tdrz` (misalnya `large-v2-tdrz`). Berbeda dengan flag `--diarize` stereo, TinyDiarize bekerja pada rekaman mono. Memerlukan unduhan varian model khusus. Akurasi lebih rendah dari diarisasi berbasis pyannote tetapi nol dependensi tambahan di luar file model.
201
+
202
+ **Status:** Direncanakan. Bergantung pada `download_model` yang mendukung varian model tdrz.
203
+
204
+ ### Transkripsi URL YouTube
205
+ Transkripsi langsung dari URL YouTube via yt-dlp. Mengunduh audio dan mentranskrip dalam satu langkah. Memerlukan yt-dlp yang terpasang dan ada di PATH.
206
+
207
+ **Batasan desain:** yt-dlp bersifat opsional. Alat harus terdegradasi dengan anggun dengan instruksi instalasi yang jelas jika tidak ditemukan. Tidak ada perubahan pada fungsionalitas inti untuk pengguna yang tidak membutuhkannya.
208
+
209
+ ### Alat Alur Kerja Proyek Video
210
+ Untuk pengguna yang mengelola proyek pengeditan video besar dengan direktori klip sumber dan yang telah diedit:
211
+
212
+ 1. Pindai direktori sumber dan subdirektori klip
213
+ 2. Cocokkan transkrip klip yang telah diedit dengan transkrip sumber secara fuzzy untuk menemukan titik asal
214
+ 3. Tampilkan nama file deskriptif yang disarankan Claude berdasarkan konten transkrip, memerlukan konfirmasi eksplisit pengguna sebelum penggantian nama dieksekusi
215
+ 4. Pencarian transkrip di seluruh direktori proyek dengan hasil timecode
216
+
217
+ **Batasan desain:**
218
+ - File sumber **tidak pernah diganti nama atau dimodifikasi**
219
+ - Semua penggantian nama memerlukan **konfirmasi eksplisit pengguna**
220
+ - Pencarian adalah alat mandiri yang dapat digunakan secara independen
221
+ - Analisis dan pencocokan terjadi secara lokal — Claude hanya dipanggil saat pengguna meninjau hasil, meminimalkan panggilan API
222
+
223
+ **Status:** Fase desain.
224
+
225
+ ### Diarisasi Pembicara (pyannote-audio)
226
+ Diarisasi pembicara mono penuh dengan label ID pembicara — menandai transisi pembicara di seluruh rekaman terlepas dari konfigurasi saluran. Berbeda dari flag `--diarize` stereo bawaan (v2.2.0) dan TinyDiarize.
227
+
228
+ **Implementasi:** Memerlukan [pyannote-audio](https://github.com/pyannote/pyannote-audio) — library berbasis Python dengan persyaratan token akses model Hugging Face. Stack dependensi yang sepenuhnya terpisah dari pipeline whisper.cpp.
229
+
230
+ **Status:** Fitur lanjutan opsional dengan dokumentasi pengaturannya sendiri. Tidak termasuk dalam paket utama.
231
+
232
+ ### Terjemahan ke Bahasa Non-Inggris
233
+ Flag `--translate` Whisper hanya menargetkan bahasa Inggris. Mendukung bahasa target sembarang memerlukan API terjemahan eksternal atau model terjemahan lokal.
234
+
235
+ **Opsi yang sedang dipertimbangkan:** LibreTranslate (dapat di-host sendiri, utamakan lokal), terjemahan LLM lokal, atau dokumentasi di luar cakupan yang eksplisit.
236
+
237
+ **Status:** Ditangguhkan menunggu keputusan desain tentang utamakan lokal vs ketergantungan API.
238
+
239
+ ### Pembersihan dan Pemformatan Transkrip
240
+ Pipeline pasca-pemrosesan:
241
+ - Penghapusan kata pengisi dan awal yang salah (opsional, dikontrol pengguna)
242
+ - Jeda paragraf pada batas topik yang alami
243
+ - Pemformatan sadar pembicara saat dikombinasikan dengan output diarisasi
244
+ - Ekspor ke PDF atau DOCX
245
+
246
+ **Status:** Direncanakan. Varian sadar pembicara bergantung pada diarisasi.
247
+
248
+ ---
249
+
250
+ ## Distribusi
251
+
252
+ Tersedia di [npm](https://www.npmjs.com/package/whisper-windows-mcp), [mcpservers.org](https://mcpservers.org), dan [Glama](https://glama.ai).
253
+
254
+ ---
255
+
256
+ ## Dokumentasi Multibahasa
257
+
258
+ Dokumentasi bahasa Jepang, Korea, Vietnam, dan Indonesia dipertahankan secara paralel dengan bahasa Inggris. File-file berikut harus diperbarui agar sesuai dengan dokumen bahasa Inggris setelah setiap rilis:
259
+
260
+ **Jepang (`*.ja.md`)**
261
+ - `README.ja.md` / `TROUBLESHOOTING.ja.md` / `ROADMAP.ja.md` / `PRIVACY.ja.md` / `SECURITY.ja.md`
262
+
263
+ **Korea (`*.ko.md`)**
264
+ - `README.ko.md` / `TROUBLESHOOTING.ko.md` / `ROADMAP.ko.md` / `PRIVACY.ko.md` / `SECURITY.ko.md`
265
+
266
+ **Vietnam (`*.vi.md`)**
267
+ - `README.vi.md` / `TROUBLESHOOTING.vi.md` / `ROADMAP.vi.md` / `PRIVACY.vi.md` / `SECURITY.vi.md`
268
+
269
+ **Indonesia (`*.id.md`)** — `README.id.md` / `TROUBLESHOOTING.id.md` / `ROADMAP.id.md` / `PRIVACY.id.md` / `SECURITY.id.md`
270
+
271
+ **Ukraina (`*.uk.md`)** — `README.uk.md` / `TROUBLESHOOTING.uk.md` / `ROADMAP.uk.md` / `PRIVACY.uk.md` / `SECURITY.uk.md`
272
+
273
+ **Portugis Brasil (`*.pt-BR.md`)** — `README.pt-BR.md` / `TROUBLESHOOTING.pt-BR.md` / `ROADMAP.pt-BR.md` / `PRIVACY.pt-BR.md` / `SECURITY.pt-BR.md`
274
+
275
+ **Spanyol (`*.es.md`)** — `README.es.md` / `TROUBLESHOOTING.es.md` / `ROADMAP.es.md` / `PRIVACY.es.md` / `SECURITY.es.md`
276
+
277
+ **Polish (`*.pl.md`)** — `README.pl.md` / `TROUBLESHOOTING.pl.md` / `ROADMAP.pl.md` / `PRIVACY.pl.md` / `SECURITY.pl.md`
278
+
279
+ **Romanian (`*.ro.md`)** — `README.ro.md` / `TROUBLESHOOTING.ro.md` / `ROADMAP.ro.md` / `PRIVACY.ro.md` / `SECURITY.ro.md`
280
+
281
+ Kontribusi komunitas untuk bahasa lain disambut.
282
+
283
+ ---
284
+
285
+ ## Berkontribusi
286
+
287
+ Pull request disambut. Periksa issue yang ada sebelum memulai pekerjaan.
288
+
289
+ Jika Anda telah menguji akselerasi GPU pada hardware yang tidak tercantum di atas, silakan buka issue dengan model GPU, VRAM, ukuran model, dan throughput yang diamati. Ini membantu membangun referensi performa yang akurat untuk pengguna lain.