39 poin oleh arsture 2026-04-03 | 15 komentar | Bagikan ke WhatsApp

Saya mahasiswa yang suka ngoding. Setiap kali menyuruh AI melakukan sesuatu, bottleneck-nya selalu di mengetik, jadi saya mencoba mencari input suara, dan awalnya saya memakai Superwhisper. Sebenarnya tidak buruk, tapi karena bukan khusus bahasa Korea, aplikasi itu terus salah mengenali kata.

  • Kalau saya bilang "Aku sudah upload PR ke GitHub" → ditranskripsikan jadi sesuatu seperti 'GitHub peol sudah kuupload'
  • Latensinya bagus, tapi akurasi pengenalannya bikin frustrasi

Kalau bayar memang jadi lebih baik. Tapi karena saya mahasiswa dan sedang bokek,,, saya tidak mau bayar.

→ Jadi saya coba implementasikan dengan STT lokal dan LLM, tapi ternyata terlalu lambat.
→ Lalu saya kepikiran bahwa saya sudah berlangganan GPT, jadi saya bisa "meminjam" LLM lewat OAuth, dan untuk STT saya bisa memakai layanan seperti Groq dengan biaya yang nyaris gratis.

Dengan arah itu, saya membuat aplikasi macOS pribadi ini dengan Swift.

Cara kerja inti: tekan hotkey lalu bicara, STT → koreksi LLM → otomatis ditempel kembali ke posisi kursor semula.
Dibanding mengetik, ini 3~5 kali lebih cepat, dan meskipun selama merekam saya melihat jendela lain, aplikasi tetap mengingat posisi fokus awal lalu menyisipkan teks tepat di sana.


Perbedaan dari aplikasi voice typing yang sudah ada

Aplikasi yang ada biasanya selesai di STT → tempel, sedangkan Whispree menambahkan layer koreksi LLM setelah STT. Saya juga tidak menemukan aplikasi komersial yang benar-benar khusus untuk bahasa Korea.

"밸리데이션 해야 되거든"  →  "validation 해야 되거든"  
"랙트 컴포넌트"        →  "React 컴포넌트"  
"깃헙에 펄 올려놨어"   →  "GitHub에 PR 올려놨어"  

Setelah jadi, tingkat kepuasannya cukup tinggi, jadi saya terus memakainya sambil menambahkan fitur.

Structured Mode

Saat terus memasukkan input ke AI dengan suara, saya sadar ternyata cara bicara saya lebih berantakan dari yang saya kira. Banyak kata seperti "terus" atau "hmm" yang ikut masuk. Jadi saya merasa akan bagus kalau LLM melakukan post-processing dan menyusunnya menjadi bullet point, lalu saya membuat fitur itu.
Saat sedang menuangkan ide, saya tinggal menekan hotkey lalu bicara terus, dan prompt yang rapi akan langsung masuk.

Visual Context

Hanya dari ucapan saja kadang konteksnya tidak jelas, sehingga LLM bisa melakukan koreksi yang melenceng. Karena itu, saya memutuskan untuk otomatis mengambil capture layar yang sedang saya lihat saat perekaman berlangsung.

  • Awalnya saya hanya memasukkan layar yang sedang fokus, tapi ternyata saat merekam saya sering juga melihat tab lain
  • Jadi saya memperluasnya agar bisa menangkap semua tab
  • Saat pindah tab, tab sebelumnya langsung di-capture; jika berhenti 1,5 detik di satu layar, layar pada momen itu akan di-capture
  • Saya juga menambahkan fitur untuk menempelkan screenshot langsung ke prompt

Quick Fix (Ctrl+Shift+D)

Mendaftarkan kata yang salah langsung ke kamus koreksi. Dengan begitu akurasi pengenalannya naik. Awalnya saya membuat fitur kamus kata, lalu karena malas membuka-buka menu, saya jadikan hotkey sekalian.


Hampir gratis

  • STT: Groq API (gratis)
  • Koreksi LLM: memakai token autentikasi Codex CLI apa adanya. Selama punya akun OpenAI, hampir tidak ada biaya tambahan
  • Mode lokal penuh juga bisa: kalau Anda tidak punya akun langganan Codex, Anda bisa memakai model-model lokal. Tapi untuk DX, sepertinya lebih enak memakai model Qwen yang ringan, atau hanya memakai STT saja...

Provider & mode

  • STT: 3 pilihan WhisperKit / Groq / MLX Audio
  • LLM: 6 model lokal (Qwen, GLM) + 5 model OpenAI
  • Mode koreksi: 4 pilihan Standard / Filler Removal / Structured / Custom
  • Ada fitur Can I Run di dalam aplikasi untuk mengecek tingkat kompatibilitas perangkat Anda

Instalasi

brew tap Arsture/whispree && brew install --cask whispree  

Khusus macOS 14+ (Sonoma) dan Apple Silicon. Awalnya saya membuatnya untuk dipakai sendiri saja, jadi dibuat untuk macOS, dan saat ini belum mendukung platform lain.


Awalnya namanya juga FreeWhisper. Soalnya memang niatnya supaya saya sendiri bisa memakainya gratis. Tapi ketika hendak merilisnya sebagai open source, nama FreeWhisper terasa agak kurang oke. Karena idenya memakai API key pinjaman, saya juga sempat memikirkan nama "NotMyWhisper". Rasanya sedikit seperti "kucing pinjaman", jadi lumayan menarik. Tapi setelah terus dipakai, saya merasa "ini bukan whisper milik orang lain, ini whisper saya sendiri, kan?" dan akhirnya jadilah Whispree.

Ini open source dengan lisensi MIT. Feedback sangat diterima.

GitHub: https://github.com/Arsture/whispree

15 komentar

 
grollcake 21 hari lalu

Saya sudah mencobanya lagi setelah sekian lama, dan selama itu aplikasinya sudah banyak berkembang.
Tapi ada satu hal yang saya harap bisa ditingkatkan.
Fitur konteks visual sangat bagus. Namun, agak merepotkan kalau layar yang dicapture ditampilkan setiap kali perekaman selesai. Memang bisa dibatalkan hanya dengan menekan ESC, tetapi saya lebih suka jika itu tidak muncul sama sekali.
Kalau tujuannya agar layar yang dicapture saat merekam bisa ditempelkan, bagaimana kalau ini dilengkapi dengan fitur untuk mencari kembali layar hasil capture setelah selesai?

 
arsture 21 hari lalu

Saat merekam, jika Anda menekan dan menahan tombol Option kiri, konteks tetap akan dikirim tetapi penempelan bisa dinonaktifkan!

Mungkin yang Anda maksud adalah fitur ini??

 
grollcake 13 hari lalu

Bukan. Saya murni hanya sering memakai fungsi transkripsi. Namun, cukup merepotkan karena setiap kali perekaman selesai, daftar tangkapan layar muncul, jadi saya ingin itu bisa dimatikan.
Kalau menekan tombol Option memang tidak muncul. Tapi untuk pola penggunaan saya, ini juga agak kurang nyaman. Saya rasa akan ada cukup banyak orang yang punya ketidaknyamanan serupa. Bisakah ini diterapkan ke opsi utama?

 
arsture 13 hari lalu

Aha, sepertinya di opsi utama itu kemungkinan memang nonaktif secara default, tetapi kalau Anda memakai versi sebelumnya, mungkin perubahan itu belum diterapkan!

Di aplikasi whispree -> LLM -> Konteks tangkapan layar -> Kirim ke agen, Anda bisa menonaktifkannya secara eksplisit dengan mengubahnya ke Off!

Untuk bagian pola penggunaan yang terasa kurang nyaman, saya belum bisa memahaminya dengan jelas, mungkin karena di sini tidak bisa melampirkan gambar T_T
Kalau berkenan, bisakah Anda membuat issue di GitHub? Kalau begitu, saya akan mencoba memahaminya sebisa mungkin berdasarkan konteks lalu mempertimbangkan penerapannya!

 
grollcake 9 hari lalu

Terima kasih. Mulai hari ini tidak muncul lagi, jadi saya sempat bertanya-tanya kenapa, ternyata fiturnya sudah diperbarui ya.
Terima kasih atas feedback yang cepat.

 
bskim 2026-04-04

Saat memakai Handy, ada beberapa hal yang terasa kurang, jadi ini terdengar bagus. Untuk sementara saya akan beralih dan mencobanya.

 
arsture 2026-04-04

Terima kasih! Masukan selalu kami sambut kapan saja!

 
vkehfdl1 2026-04-04

Bagus :) Semangat!

 
arsture 2026-04-04

Terima kasih :)

 
zihado 2026-04-06

Sepertinya ada bug pada pengaturan shortcut.

 
arsture 2026-04-06

Wah, boleh saya tanya bug seperti apa itu?

 
zihado 2026-04-06

Pengaturan pintasan sama sekali tidak bisa dilakukan, dan kalau direset malah pintasannya benar-benar hilang.

 
arsture 2026-04-06

Apakah izin Accessibility mungkin sudah diatur?
Jika belum, tambahkan aplikasi Whispree ke Accessibility, lalu coba lagi pengaturan shortcut dan beri tahu kami. Terima kasih!

 
grollcake 2026-04-05

Saya sudah mencobanya sekali, dan hasilnya luar biasa. Semangat!

 
arsture 2026-04-06

Terima kasih!