2 คะแนน โดย GN⁺ 2026-01-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Handy คือ แอปเดสก์ท็อปแปลงเสียงเป็นข้อความแบบฟรีและโอเพนซอร์ส ที่ทำงานได้ ออฟไลน์เต็มรูปแบบ พร้อมการออกแบบที่เน้นความเป็นส่วนตัว
  • สร้างบนพื้นฐาน Tauri(Rust + React/TypeScript) โดยกดคีย์ลัดแล้วพูด จากนั้นเสียงจะถูกป้อนลงในช่องข้อความทันที
  • รองรับโมเดล Whisper และ Parakeet V3 พร้อมทำ การจดจำเสียงในเครื่อง ด้วย GPU acceleration หรือบน CPU
  • ใช้งานได้ทั้งบน Windows, macOS, Linux และพัฒนาโดยให้ความสำคัญกับ การขยายความสามารถและการ fork ได้ง่าย เพื่อส่งเสริมการมีส่วนร่วมจากนักพัฒนา
  • เป็น เครื่องมือป้อนข้อมูลด้วยเสียงที่เน้นความเป็นส่วนตัว ซึ่งประมวลผลทั้งหมดในเครื่องโดยไม่ส่งขึ้นคลาวด์ จึงมีความเข้าถึงง่ายและปรับแต่งได้สูง

ภาพรวม

  • Handy เป็น แอปจดจำเสียงที่ฟรี โอเพนซอร์ส และขยายต่อได้ ซึ่งทำงานแบบออฟไลน์เต็มรูปแบบโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต
  • พัฒนาด้วย เฟรมเวิร์ก Tauri โดยผสาน Rust backend เข้ากับ React/TypeScript frontend
  • ผู้ใช้สามารถกดคีย์ลัดเพื่อพูด และเมื่อปล่อยมือ โมเดล Whisper หรือ Parakeet V3 จะเปลี่ยนเสียงเป็นข้อความแล้ววางลงในแอปที่กำลังใช้งานอยู่
  • ข้อมูลเสียงทั้งหมดถูกประมวลผลภายในเครื่อง จึง ไม่มีความเสี่ยงจากการรั่วไหลของข้อมูลส่วนบุคคล

ปรัชญาของ Handy

  • ฟรี: เครื่องมือเพื่อการเข้าถึงควรเป็นสิ่งที่ทุกคนใช้งานได้
  • โอเพนซอร์ส: ทุกคนสามารถขยายและปรับปรุงฟังก์ชันได้
  • คุ้มครองความเป็นส่วนตัว: ข้อมูลเสียงจะไม่ถูกส่งไปยังคลาวด์
  • ความเรียบง่าย: มุ่งเน้นเพียงเป้าหมายเดียว คือการแปลงเสียงเป็นข้อความ
  • เป้าหมายไม่ใช่การสร้างแอปที่ “สมบูรณ์แบบที่สุด” แต่เป็นการสร้างแอปที่ “fork ได้ง่ายที่สุด”

วิธีการทำงาน

  • ผู้ใช้สามารถเริ่ม/หยุดการบันทึกด้วย คีย์ลัด หรือใช้ โหมด push-to-talk ได้
  • ใช้ Silero VAD กรองช่วงที่ไม่มีเสียง และแปลงเสียงด้วยโมเดล Whisper หรือ Parakeet V3
    • โมเดล Whisper: มีเวอร์ชัน Small, Medium, Turbo, Large และรองรับ GPU acceleration
    • Parakeet V3: ปรับแต่งมาสำหรับ CPU และมีฟังก์ชันตรวจจับภาษาอัตโนมัติ
  • ข้อความที่แปลงแล้วจะถูกแทรกอัตโนมัติลงในช่องป้อนข้อมูลของแอปพลิเคชันที่กำลังใช้อยู่
  • รองรับทั้ง Windows, macOS, Linux

สถาปัตยกรรม

  • ฟรอนต์เอนด์: React + TypeScript + Tailwind CSS
  • แบ็กเอนด์: พื้นฐาน Rust รับผิดชอบการประมวลผลเสียงและการอนุมานของแมชชีนเลิร์นนิง
  • ไลบรารีหลัก
    • whisper-rs: จดจำเสียงในเครื่องด้วยโมเดล Whisper
    • transcription-rs: จดจำบน CPU ด้วยโมเดล Parakeet
    • cpal: อินพุต/เอาต์พุตเสียง
    • vad-rs: การตรวจจับกิจกรรมเสียงพูด
    • rdev: จัดการคีย์ลัดระดับระบบและอีเวนต์ของระบบ
    • rubato: การรีแซมเปิลเสียง
  • โหมดดีบัก: เข้าใช้งานได้ด้วย Cmd+Shift+D(macOS) หรือ Ctrl+Shift+D(Windows/Linux)

ปัญหาที่ทราบและข้อจำกัด

  • โมเดล Whisper ขัดข้อง: มีปัญหาโมเดลล่มในบางสภาพแวดล้อมของ Windows/Linux
  • การรองรับ Wayland แบบจำกัด: ในสภาพแวดล้อม Linux Wayland จำเป็นต้องติดตั้ง wtype หรือ dotool
  • เครื่องมือป้อนข้อความ
    • X11: xdotool
    • Wayland: wtype หรือ dotool
    • หากไม่ได้ติดตั้งเครื่องมือ ระบบจะใช้ enigo แทน แต่มีข้อจำกัดด้านความเข้ากันได้
  • ปิดโอเวอร์เลย์บน Linux เป็นค่าเริ่มต้น: เพื่อหลีกเลี่ยงปัญหาการชนกันของโฟกัส จึงปิดไว้โดยค่าเริ่มต้น

ความต้องการของระบบ

  • สำหรับโมเดล Whisper
    • macOS: M series หรือ Intel Mac
    • Windows/Linux: Intel, AMD, NVIDIA GPU (แนะนำ Ubuntu 22.04/24.04)
  • สำหรับโมเดล Parakeet V3
    • ใช้ CPU เท่านั้น แนะนำ Intel Skylake (รุ่นที่ 6) ขึ้นไป
    • บนฮาร์ดแวร์ระดับกลาง ทำงานได้เร็วประมาณ 5 เท่าของเวลาจริง
    • มีฟังก์ชันตรวจจับภาษาอัตโนมัติ

โรดแมปการพัฒนา

  • ฟังก์ชันที่กำลังดำเนินการ
    • เพิ่มไฟล์บันทึกดีบัก
    • ปรับปรุงคีย์ลัดบน macOS (รองรับปุ่ม Globe และเขียนส่วนจัดการคีย์ลัดระดับระบบใหม่)
    • ฟังก์ชันวิเคราะห์แบบเลือกใช้: เก็บข้อมูลการใช้งานแบบไม่ระบุตัวตนโดยอาศัยการยินยอมอย่างชัดเจน
    • รีแฟกเตอร์ระบบตั้งค่าและปรับปรุงชั้น abstraction
    • จัดระเบียบโครงสร้างคำสั่งของ Tauri และเพิ่ม type safety

การแก้ปัญหาและการติดตั้งโมเดลด้วยตนเอง

  • ในสภาพแวดล้อมที่มีข้อจำกัดด้านเครือข่าย สามารถ ดาวน์โหลดและติดตั้งโมเดลด้วยตนเอง ได้
  • สร้างโฟลเดอร์ models ภายในไดเรกทอรีข้อมูลแอป แล้ววางไฟล์โมเดลไว้
    • โมเดล Whisper: คัดลอกไฟล์ .bin โดยตรง
    • โมเดล Parakeet: แตกไฟล์ .tar.gz แล้วคงชื่อโฟลเดอร์ตามที่กำหนด
  • หลังติดตั้งแล้ว เมื่อรีสตาร์ตแอป ระบบจะตรวจพบโมเดลโดยอัตโนมัติ

วิธีร่วมพัฒนา

  • ตรวจสอบ GitHub issue ก่อน จากนั้น fork และสร้าง branch
  • ทดสอบบนแพลตฟอร์มเป้าหมายให้เพียงพอก่อน ส่ง Pull Request
  • สามารถเข้าร่วมชุมชนผ่านอีเมล(contact@handy.computer) หรือ Discord
  • เป้าหมายคือการมอบรากฐานให้ชุมชนต่อยอดได้ ผ่าน โค้ดเบสที่เรียบง่ายและมีโครงสร้างที่ดี

โปรเจกต์ที่เกี่ยวข้องและไลเซนส์

  • Handy CLI: เวอร์ชันคอมมานด์ไลน์ที่พัฒนาด้วย Python
  • handy.computer: เว็บไซต์ทางการและเดโม
  • เผยแพร่ภายใต้ MIT License
  • สร้างบนพื้นฐานของโปรเจกต์โอเพนซอร์สอย่าง Whisper(OpenAI), Silero, Tauri เป็นต้น

คำกล่าวอ้าง

  • Handy สามารถเป็นจุดสิ้นสุดการค้นหาเครื่องมือจดจำเสียงของคุณได้ ไม่ใช่เพราะมันสมบูรณ์แบบ แต่เพราะคุณสามารถทำให้มันสมบูรณ์แบบได้

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

 
GN⁺ 2026-01-17
ความเห็นจาก Hacker News
  • ฉันลองใช้แอป STT มาหลายตัว แต่สุดท้ายก็มาลงตัวที่ VoiceInk (รันในเครื่อง, จ่ายครั้งเดียว)
    ใช้คู่กับ Parakeet V3 แล้วตอบสนองแทบจะทันทีและแม่นยำดีพอ
    ฉันมักใช้วิธีคุยกับเอเจนต์ CLI แล้วขอว่า “บอกฉันหน่อยว่าคุณเข้าใจคำพูดฉันยังไง”
    แบบนี้ช่วยยืนยันความเข้าใจและยังทำหน้าที่คล้ายสเปกเอกสารด้วย
    ช่วงหลังฉันก็ลองชุด Handy + Parakeet v3 ด้วย ซึ่งทำงานได้ดีมาก เลยว่าจะใช้ชุดนี้ไปอีกสักสองสามวัน
    ถ้ากด Cmd‑Shift‑D เพื่อเปิด UI “debug” ก็จะเห็นตัวเลือกเพิ่มเติมอย่าง post‑processing หรือการเพิ่มช่องว่าง
    • คงดีถ้ามีโมเดลตัวหนึ่งในกลุ่มนี้ที่ ปรับให้เหมาะกับงานเขียนโปรแกรม
      ฉันอยากพูดคำสั่งอย่าง “cd ~/projects” หรือ “git push --force” ได้
  • ฉันมีอาการ กล้ามเนื้อบิดเกร็ง (dystonia) เลยพิมพ์คีย์บอร์ดไม่ได้เวลาที่แขนแข็งเกร็ง
    เพราะงั้นแอป TTS อย่าง SuperWhisper เลยช่วยได้มาก
    หวังว่า Handy จะให้ประสบการณ์คล้ายกัน
    แต่ถ้าจะพัฒนาไปอีกขั้น ฉันคิดว่ามันต้องก้าวข้ามการแปลงเสียงเป็นข้อความอย่างเดียวไปสู่ การขยายความตามบริบท
    เช่น พูดโค้ดใน IDE แล้วได้โค้ดจริงถูกสร้างขึ้นมา
    ท้ายที่สุดก็คือการรวม TTS เข้ากับการใช้งานคอมพิวเตอร์
    • ฉันสร้างเครื่องมือ CLI ชื่อ ultraplan
      มันบันทึกเสียงด้วย Whisper แบบรันในเครื่อง และ เก็บภาพหน้าจอ เนื้อหาในคลิปบอร์ด ฯลฯ เป็นไทม์ไลน์
      จากนั้นเอเจนต์อย่าง Claude Code ก็จะอ่านไทม์ไลน์นี้แล้วทำงานต่อ
      พูดว่า “marco” เพื่อสั่ง ควบคุมแบบแฮนด์ฟรี อย่างการจับภาพหน้าจอก็ได้
      ถ้าสนใจฉันจัดระเบียบแล้วเอาขึ้น GitHub ได้
    • เห็นด้วยกับที่คุณพูด เลยปล่อย Handy เป็น โอเพนซอร์ส
      ตอนนี้ก็มีการทดลองใช้โมเดลโลคัลขนาดเล็ก (moondream, qwen ฯลฯ) เพื่อทำความเข้าใจบริบทของคอมพิวเตอร์
      ตอนที่นิ้วฉันเคยหัก ฉันเคยแมปคีย์ลัดเข้ากับ Handy เพื่อทำระบบควบคุมตามบริบทแบบง่าย ๆ
    • เรื่อง “เขียนโค้ดด้วยเสียง” มีงานวิจัยมานานก่อนยุค LLM แล้ว
      เช่นกรณีจากปี 2013 อย่าง Using Voice to Code Faster than Keyboard
      และงานวิจัยล่าสุดก็มี บทความนี้
    • ฟีเจอร์ที่พูดถึงทำได้อยู่แล้ว
      ถ้าเอาผลลัพธ์ STT ป้อนเข้า LLM ก็สามารถตีความเจตนาแล้วสร้างเป็น ชุดคำสั่ง ได้
      ใน CLI การแปลงคำสั่งเสียงเป็นคำสั่งเชลล์โดยตรงทำได้ง่าย
      แต่ใน GUI จะซับซ้อนขึ้นนิดหน่อยเพราะต้องรู้สถานะของหน้าจอ
      MacWhisper บน macOS สามารถส่งข้อความถอดเสียงไปยัง endpoint ที่เข้ากันได้กับ OpenAI
  • นี่เป็นรีวิวสั้น ๆ หลังลองใช้ แอปถอดเสียงพูด หลายตัว
    Superwhisper เป็นแบบเสียเงิน แต่มีตัวเลือกซื้อแบบตลอดชีพและมีฟีเจอร์เยอะ แม้จะดูแลโดยนักพัฒนาเดี่ยวจึงมีบั๊กบ้างเป็นครั้งคราว
    Hex เป็นตัวเลือกฟรีที่เบาและเรียบที่สุด
    Fluid Voice มีฟีเจอร์แปลกดีคือแสดงข้อความแบบเรียลไทม์ขณะพูด
    Handy มี UI สีชมพูน่ารักและฉันชอบหน้าต่างประวัติ การตั้งค่ากู้คืนคลิปบอร์ดค่อนข้างแปลกนิดหน่อย
    การสลับติดตั้งหลายแอปไปมาทำให้มีปัญหาชนกันอยู่บ้าง
    ต้องขอบคุณที่ Nvidia เปิดซอร์ส Parakeet ทำให้ทั้งหมดเร็วมาก
    ฉันชอบฟีเจอร์สตรีมการถอดเสียงแบบเรียลไทม์ คือเห็นผลทันทีแม้คุณภาพจะต่ำ แล้วค่อยถูกแทนที่ด้วยเวอร์ชันคุณภาพสูงในภายหลัง
  • ฉันหาแอป STT มาหลายสัปดาห์ก่อนจะเจอ Handy
    ส่วนใหญ่เสียเงินหรือเป็นแบบสมัครสมาชิก จนเกือบจะคิดทำเองแล้ว แต่ Handy เร็ว เรียบง่าย และไม่รบกวนการใช้งาน
    แถมยังอัปเดตอย่างต่อเนื่อง เลยพอใจมากจริง ๆ
    ฟีเจอร์ post‑processing ก็น่าจะเจ๋งดี
  • ตอนนี้ฉันใช้ Wispr Flow อยู่ แต่ถ้าจะย้ายมาใช้ตัวนี้ จำเป็นต้องมี ฟีเจอร์พจนานุกรมผู้ใช้ สำหรับคำที่พลาดบ่อย ๆ (ชื่อบริษัท ชื่อคน ชื่อไลบรารี ฯลฯ)
    • น่าจะหมายถึงฟีเจอร์ “Custom Words” ยังไม่ได้ลองจริงจังเท่าไร
    • มี PR ที่เกี่ยวข้องกำลังจะถูกรวม เร็ว ๆ นี้ ดังนั้นอาจ build ใช้ล่วงหน้าได้
    • บางโมเดลแสดง ค่าความมั่นใจ (confidence) รายคำ
      การเพิ่มคำด้วยตนเองก็ดี แต่ถ้าระบุคำที่ไม่แน่ใจให้เห็นได้ก็จะช่วยแก้ไขได้ง่ายขึ้น
  • มีข้อควรระวังอย่างหนึ่ง
    คีย์ลัดเริ่มต้นคือ Ctrl+Space และเมื่อปล่อยปุ่มแล้ว ข้อความถอดเสียงจะถูกแทรกทันที
    ถ้าตอนนั้น Ctrl ยังถูกกดค้างอยู่ ข้อความที่แทรกจะ ถูกตีความเป็นอักขระ Ctrl
    สภาพแวดล้อมที่ทดสอบคือ Linux x64, X11, Emacs
  • ฉันใช้ Handy คู่กับ Parakeet v3 แล้วมันยอดเยี่ยมมาก
    ฉันเคยลอง Monologue, Superwhisper และ Aqua มาแล้ว แต่ Handy รันในเครื่อง และไม่มีค่าสมัครสมาชิก
    แนะนำมาก
  • มีใครเคยลองเทียบกับ OpenWhispr ไหม
    จากคำอธิบายดูคล้ายกัน Handy ออกรุ่นแรกในเดือนมิถุนายน 2025 ส่วน OpenWhispr ออกตามมาหนึ่งเดือนให้หลัง
    Handy มีดาวบน GitHub 11k ส่วน OpenWhispr มีราว 730
    • ฉันเคยใช้ทั้งคู่ และ Handy ง่ายกว่ามากเพราะ ติดตั้งเป็นแอป macOS ได้ทันที
      ตอนนั้น OpenWhispr ยังไม่มีโมเดล Parakeet และ UI ก็ยังไม่ลื่นเท่าไร
      Handy ใช้งานได้เข้าใจง่ายเพราะมี UI แบบมินิมอล
      แม้จะขาดฟีเจอร์ขั้นสูง แต่ฉันใช้มาได้สองเดือนแล้วและไม่ได้คิดจะหาแอป STT ตัวอื่น
  • บน MacBook M1 Air ของฉัน Handy เร็วมากและแม่นยำกว่า STT พื้นฐานของ macOS
    การตั้งค่าก็เรียบง่ายพอดีเลยใช้งานสะดวก
    ฉันสงสัยว่าออปชัน “discharging the model” คืออะไร แต่ดูเหมือนจะไม่กระทบ RAM หรือ CPU
    • มันคือฟีเจอร์ให้ โมเดลค้างอยู่ใน RAM เพื่อให้เข้าถึงได้เร็ว
      ถ้า discharge ก็จะถูกเอาออกจากหน่วยความจำ ทำให้เริ่มต้นช้าลง
  • โมเดล Parakeet V3 ยอดเยี่ยมจริง ๆ