ผลงานทั้งหมด
กรณีศึกษา
Cadence
เครื่องมือพิมพ์ด้วยเสียงสำหรับนักพัฒนาที่ใช้ทั้งภาษาไทยและอังกฤษ พูดสลับสองภาษาในประโยคเดียวได้ พร้อมสะกดคำในโค้ดให้ตรงกับโปรเจกต์ที่เปิดอยู่
โจทย์
นักพัฒนาไทยพูดไทยปนอังกฤษ บ่อยครั้งอยู่ในประโยคเดียวกัน และคำอังกฤษส่วนใหญ่ก็คือโค้ด ทั้งชื่อฟังก์ชัน ชื่อไฟล์ และชื่อไลบรารี ระบบพิมพ์ด้วยเสียงทั่วไปมักฟังภาษาไทยได้ดีแต่สะกดคำเทคนิคผิด หรือกลับกัน
วิธีที่เราลงมือ
เราให้ Cadence ใช้ข้อมูลจากโค้ดที่คุณกำลังทำงานด้วย โดยตรวจว่าแอปที่เปิดอยู่เชื่อมกับ repository ใด แล้วสร้างคลังคำจากโปรเจกต์นั้น เพื่อสะกดคำให้ตรงกับชื่อที่ใช้ในโค้ด
สิ่งที่เราสร้าง
- ปุ่มลัดเดียว กดเพื่อเริ่ม พูด แล้วกดอีกครั้ง ข้อความจะถูกพิมพ์ลงแอปที่เปิดอยู่ตรงหน้า
- ฟังสองภาษาแบบเรียลไทม์ แปลงเสียงเป็นข้อความอย่างต่อเนื่อง รองรับการสลับภาษาไทยและอังกฤษกลางประโยค
- คลังคำจาก repository ของคุณ สร้างคลังคำใหม่ทุกรอบจากโปรเจกต์ที่เปิดอยู่ เพื่อให้ระบบรู้จักชื่อตัวแปรและฟังก์ชันตามที่ใช้ในโค้ด
- สะกดศัพท์เทคนิคและคำในโค้ดให้ถูกต้อง คำทับศัพท์และคำในโค้ดถูกเขียนกลับเป็นรูปที่ถูกต้อง แทนที่จะออกมาเป็นคำอ่านภาษาไทย
- เห็นสถานะไมโครโฟนชัดเจน เมื่อไมโครโฟนปิด แถบแสดงสถานะจะนิ่ง และจะสว่างเมื่อ Cadence กำลังฟัง ไมโครโฟนเปิดเฉพาะตอนใช้งานและปิดให้อัตโนมัติหากลืมปิด
เทคโนโลยีที่ใช้
- Swift
- TypeScript
- Bun
- Soniox real-time speech-to-text
- macOS CGEvent
- Keychain
- launchd
ผลลัพธ์
- พิมพ์ด้วยเสียงแล้วคำในโค้ดออกมาตรงกับที่โค้ดเขียนจริง
- เป็นเครื่องมือประจำวันในเวิร์กช็อปของเรา ใช้คู่กับ Helm และ Lens
- ระบุข้อจำกัดไว้ชัดเจน ทั้งสิ่งที่วัดผลแล้ว สิ่งที่ยังไม่ได้วัดผล และสิ่งที่อยู่นอกขอบเขตของเครื่องมือ