39 คะแนน โดย arsture 2026-04-03 | 15 ความคิดเห็น | แชร์ทาง WhatsApp

ผมเป็นนักศึกษามหาวิทยาลัยที่ชอบพัฒนาซอฟต์แวร์ครับ ทุกครั้งที่สั่งอะไรให้ AI ทำ ผมรู้สึกว่าการพิมพ์เป็นคอขวด ก็เลยลองหาเครื่องมือป้อนข้อมูลด้วยเสียง และตอนแรกผมใช้ Superwhisper

มันก็ไม่ได้แย่อะไรนัก แต่เพราะมันไม่ได้ทำมาเพื่อภาษาเกาหลีโดยเฉพาะ เลยสะกดคำผิดบ่อยมาก

  • พูดว่า "อัป PR ไว้บน GitHub แล้ว" มันจะถอดเสียงเป็นประมาณว่า 'gitpeop peol ollyeosseo'
  • latency ดี แต่ความแม่นยำในการรู้จำยังน่าอึดอัด

ถ้ายอมจ่ายเงินก็ดีขึ้นอยู่ครับ แต่ผมเป็นนักศึกษา เงินค่อนข้างตึง,,, เลยไม่อยากจ่าย

→ ก็เลยลองทำเองด้วย local STT กับ LLM แต่กลับช้าเกินไป
→ แล้วพอมาคิดดู ผมสมัคร GPT ไว้อยู่แล้วนี่นา เลยยืม LLM ผ่าน OAuth ได้ และ STT ก็ใช้พวก Groq ที่แทบจะฟรีได้ด้วย

ผมเลยทำแอป macOS ใช้ส่วนตัวในแนวทางนี้ด้วย Swift

การทำงานหลัก: กด hotkey แล้วพูด จากนั้น STT → LLM แก้ไข → วางกลับอัตโนมัติที่ตำแหน่งเคอร์เซอร์เดิม
เร็วกว่าการพิมพ์ 3–5 เท่า และแม้ตอนอัดเสียงจะไปดูหน้าต่างอื่น มันก็ยังจำตำแหน่งโฟกัสตอนเริ่มต้นและแทรกข้อความกลับไปตรงนั้นได้อย่างแม่นยำ


ความต่างจากแอปพิมพ์ด้วยเสียงทั่วไป

แอปเดิม ๆ มักจบที่ STT → วางข้อความ แต่ Whispree มีชั้น LLM สำหรับแก้ไขต่อจาก STT ด้วย แอปในตลาดก็แทบไม่มีตัวที่ทำมาเพื่อภาษาเกาหลีโดยเฉพาะ

"밸리데이션 해야 되거든"  →  "validation haeya doegeodeun"  
"랙트 컴포넌트"        →  "React keomponeonteu"  
"깃헙에 펄 올려놨어"   →  "อัป PR ไว้บน GitHub แล้ว"  

พอทำเสร็จแล้วผมค่อนข้างพอใจ ก็เลยใช้ต่อเนื่องและค่อย ๆ เพิ่มฟีเจอร์เข้าไป

Structured Mode

พอเริ่มป้อนข้อมูลให้ AI ด้วยการพูดบ่อย ๆ ก็พบว่าผมพูดไม่ค่อยเป็นระเบียบอย่างที่คิด มีคำอย่าง "แล้วก็", "เอ่อ" ปนเข้ามาเยอะ เลยคิดว่าถ้าให้ LLM ช่วยเกลาขั้นสุดท้ายและจัดเป็น bullet point น่าจะดี ก็เลยทำฟีเจอร์นี้ขึ้นมา
เวลาจะเทไอเดียงานออกมา แค่กด hotkey แล้วพูดยาว ๆ ก็จะได้ prompt ที่จัดระเบียบแล้ว

Visual Context

บางครั้งมีแต่เสียงอย่างเดียวทำให้ LLM ไม่เข้าใจบริบทและแก้ไขเพี้ยนไป ผมเลยทำให้มันแคปหน้าจอที่กำลังดูอยู่โดยอัตโนมัติระหว่างอัดเสียง

  • ตอนแรกใส่เฉพาะหน้าจอที่โฟกัสอยู่ แต่จริง ๆ เวลาพูดผมก็สลับดูแท็บอื่นด้วย
  • เลยขยายเป็นแคปทุกแท็บ
  • ถ้าสลับแท็บ จะจับภาพแท็บก่อนหน้าทันที และถ้าหยุดอยู่หน้าจอเดิม 1.5 วินาที ก็จะจับภาพช่วงนั้น
  • เพิ่มฟีเจอร์วาง screenshot ลงใน prompt โดยตรงด้วย

Quick Fix (Ctrl+Shift+D)

ลงทะเบียนคำที่ผิดเข้าไปในพจนานุกรมแก้ไขได้ทันที แบบนี้ความแม่นยำในการรู้จำจะดีขึ้น เดิมทีผมทำฟีเจอร์พจนานุกรมคำไว้ก่อนแล้ว แต่เพราะขี้เกียจเลยทำเป็น hotkey ซะเลย


แทบฟรี

  • STT: Groq API (ฟรี)
  • การแก้ไขด้วย LLM: ดึง token ยืนยันตัวตนของ Codex CLI มาใช้ตรง ๆ แค่มีบัญชี OpenAI ก็แทบไม่มีค่าใช้จ่ายเพิ่ม
  • ใช้แบบ local ล้วนก็ได้: ถ้าไม่มีบัญชีสมัคร Codex ก็ใช้โมเดล local ได้เหมือนกัน แต่ถ้าใช้โมเดลเบา ๆ ของ Qwen หรือใช้แค่ STT อย่างเดียว DX น่าจะดีกว่า...

ผู้ให้บริการและโหมด

  • STT: มี 3 ตัวเลือกคือ WhisperKit / Groq / MLX Audio
  • LLM: local 6 แบบ (Qwen, GLM) + OpenAI 5 แบบ
  • โหมดการแก้ไข: Standard / Filler Removal / Structured / Custom รวม 4 แบบ
  • มีฟังก์ชัน Can I Run ในแอป สำหรับเช็กระดับความเข้ากันได้กับเครื่องของตัวเอง

การติดตั้ง

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

รองรับ macOS 14+ (Sonoma) และ Apple Silicon เท่านั้น ตอนแรกผมทำไว้ใช้คนเดียวเลยเลือกทำบน macOS และตอนนี้ยังไม่รองรับแพลตฟอร์มอื่น


ตอนแรกชื่อมันคือ FreeWhisper ครับ เพราะตั้งใจจะใช้ฟรีคนเดียว พอจะปล่อยเป็นโอเพนซอร์สขึ้นมา ชื่อ FreeWhisper ก็รู้สึกไม่ค่อยเวิร์กเท่าไร จากไอเดียที่ว่าไปยืม API key คนอื่นมาใช้ ผมยังเคยคิดชื่อว่า "NotMyWhisper" ด้วย ให้ฟีลคล้ายเพลง 'Billyeoon Goyangi' ของ ILLIT ซึ่งผมชอบอยู่เหมือนกัน แต่พอใช้ไปเรื่อย ๆ ก็เริ่มรู้สึกว่า "นี่ไม่ใช่ whisper ของคนอื่น แต่เป็น whisper ของฉันนี่นา?" สุดท้ายเลยกลายมาเป็น Whispree

เป็นโอเพนซอร์สภายใต้ MIT license ครับ ยินดีรับฟีดแบ็ก

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

15 ความคิดเห็น

 
grollcake 14 일 전

ผมลองกลับมาใช้อีกครั้งหลังจากห่างไปนาน ช่วงนี้พัฒนาไปเยอะเลยนะครับ
แต่มีอยู่จุดหนึ่งที่อยากให้ปรับปรุงครับ
ฟีเจอร์ visual context ดีมากครับ แต่การแสดงหน้าจอที่แคปไว้ทุกครั้งตอนที่การอัดเสียงจบลงค่อนข้างยุ่งยากไปหน่อย แม้ว่าจะกดยกเลิกได้ด้วยการกด ESC อย่างเดียวก็ตาม แต่อยากให้ไม่แสดงขึ้นมาเลยมากกว่าครับ
ถ้าตั้งใจจะให้เอาหน้าจอที่แคปตอนอัดเสียงไปวางต่อ แบบนี้ลองเสริมเป็นฟีเจอร์ให้กลับไปค้นหาหน้าจอที่แคปไว้ได้หลังจากเสร็จแล้วแทนจะเป็นอย่างไรครับ

 
arsture 14 일 전

ถ้าระหว่างอัดเสียงลองกดปุ่ม Option ด้านซ้ายค้างไว้ คุณยังส่งคอนเท็กซ์ไปได้ แต่ปิดการวางได้ด้วยนะครับ!

ไม่แน่ใจว่าฟีเจอร์ที่คุณพูดถึงคืออันนี้หรือเปล่าครับ??

 
grollcake 6 일 전

ไม่ใช่ครับ/ค่ะ ผม/ฉันใช้แค่ฟังก์ชันถอดเสียงล้วน ๆ เท่านั้น แต่รู้สึกไม่สะดวกที่ทุกครั้งพออัดเสียงเสร็จ รายการภาพแคปหน้าจอจะเด้งขึ้นมา เลยอยากให้ปิดได้ครับ/ค่ะ
ถ้ากดปุ่ม Option มันก็ไม่ขึ้นจริงครับ/ค่ะ แต่สำหรับรูปแบบการใช้งานของผม/ฉัน แบบนี้ก็ยังไม่สะดวกอยู่ดี คิดว่าน่าจะมีหลายคนที่รู้สึกไม่สะดวกคล้าย ๆ กัน ช่วยนำไปเพิ่มเป็นตัวเลือกหลักได้ไหมครับ/ค่ะ?

 
arsture 6 일 전

อ๋อ ตัวเลือกหลักนั้นน่าจะถูกปิดไว้เป็นค่าเริ่มต้นอยู่แล้ว แต่ถ้าเป็นเวอร์ชันก่อนหน้า ก็อาจจะยังไม่ได้มีการปรับใช้ก็ได้ครับ!

ในแอป whispree -> LLM -> บริบทจากภาพหน้าจอ -> ส่งไปยังเอเจนต์ ถ้าปิดเป็น Off ก็จะสามารถปิดได้อย่างชัดเจนครับ!

ส่วนจุดที่ทำให้ใช้งานไม่สะดวก ผมยังเข้าใจได้ไม่ชัดนัก อาจเป็นเพราะที่นี่แนบรูปไม่ได้ด้วย T_T
ถ้าสะดวก รบกวนช่วยเปิด github issue ให้ได้ไหมครับ? ถ้าอย่างนั้นผมจะพยายามทำความเข้าใจบริบทให้มากที่สุดแล้วนำไปปรับใช้ครับ!

 
grollcake 2 일 전

ขอบคุณครับ วันนี้มันไม่ขึ้นตั้งแต่เช้า ผมก็เลยสงสัยว่าเป็นเพราะอะไร ที่แท้เป็นเพราะอัปเดตฟีเจอร์ให้นี่เอง
ขอบคุณสำหรับการตอบกลับอย่างรวดเร็วครับ

 
bskim 2026-04-04

ผมมีจุดที่รู้สึกเสียดายอยู่บ้างตอนใช้ Handy แบบนี้ดีเลยครับ ช่วงนี้จะลองเปลี่ยนมาใช้ดูครับ

 
arsture 2026-04-04

ขอบคุณครับ! เรายินดีรับฟังฟีดแบ็กเสมอ!

 
vkehfdl1 2026-04-04

ดีเลย :) เป็นกำลังใจให้นะ

 
arsture 2026-04-04

ขอบคุณครับ :)

 
zihado 2026-04-06

ดูเหมือนว่าการตั้งค่าปุ่มลัดจะมีบั๊กอยู่

 
arsture 2026-04-06

ขอถามได้ไหมครับว่าเป็นบั๊กแบบไหนเหรอครับ?

 
zihado 2026-04-06

ตั้งค่าคีย์ลัดไม่ได้เลย และถ้ารีเซ็ตแล้วคีย์ลัดก็หายไปเลย

 
arsture 2026-04-06

ขอสอบถามว่าได้ตั้งค่าสิทธิ์ Accessibility ไว้หรือไม่?
หากยังไม่ได้ตั้งค่า กรุณาเพิ่มแอป Whispree ใน Accessibility แล้วลองตั้งค่าปุ่มลัดอีกครั้ง และแจ้งให้เราทราบด้วย จะขอบคุณมาก!

 
grollcake 2026-04-05

ลองใช้ครั้งหนึ่งแล้ว ยอดเยี่ยมมากครับ เป็นกำลังใจให้นะครับ

 
arsture 2026-04-06

ขอบคุณครับ!