Guita - แอปตั้งสายกีตาร์สำหรับผู้พิการทางสายตา

โปรเจกต์นี้เริ่มต้นจากปัญหาที่ผู้พิการทางสายตาแบบตาบอดสนิทใช้งานแอปตั้งสายกีตาร์แบบเดิมได้ยาก จึงได้พัฒนาแอปตั้งสายกีตาร์ที่เน้นการตอบกลับด้วยเสียงเป็นหลักด้วย Flutter เพียงคนเดียว รองรับทั้ง Android/iOS

👉 Play Store
👉 App Store

ฟีเจอร์ของแอป

  1. เครื่องตั้งสายกีตาร์แบบใช้เสียงนำทาง
  2. คู่มือการวางนิ้วสำหรับคอร์ดกีตาร์ 600 แบบ

การออกแบบเครื่องตั้งสาย

  • ต่างจากเครื่องตั้งสายแบบเดิมที่พึ่งพาเกจแบบภาพ การออกแบบนี้ใช้โครงสร้างการตอบกลับทางเสียงแบบสองชั้นดังต่อไปนี้
  • แจ้งสถานะการตั้งสายในช่วงเวลาสม่ำเสมอผ่านสกรีนรีดเดอร์ (TalkBack / VoiceOver) เช่น “สาย 6 ต่ำกว่าอยู่ 20Hz”
  • เพิ่มเสียงบี๊บที่เล่นต่อเนื่อง และออกแบบให้ช่วงห่างของเสียงบี๊บสั้นลงเมื่อเข้าใกล้ความถี่เป้าหมาย
  • กำหนดระดับเสียงของบี๊บต่างกันระหว่างกรณีที่ตั้งสายสูงเกินไปและต่ำเกินไป เพื่อให้แยกแยะสถานะการตั้งสายได้ด้วยเสียง

หลักการออกแบบด้านการเข้าถึง

  • คำอธิบายต้องสั้นและสื่อเฉพาะประเด็นสำคัญ
  • ห้ามย้ายโฟกัสโดยพลการ เพื่อรักษาความคาดเดาได้ของการใช้งาน
  • ลดการใช้วิดเจ็ตแบบไดนามิก เช่น NavigationBottomSheet หรือ ExpansionTile ให้น้อยที่สุด
  • คำอธิบายทั้งหมดใช้ liveRegion ของสกรีนรีดเดอร์แทน TTS(Text To Speech)
  • พัฒนาด้วยการใช้งาน Flutter Semantics, OrdinalSortKey, liveRegion เป็นต้น

ประเด็นทางเทคนิค

  • บน iOS จัดการการตัดเสียงของอุปกรณ์ด้วยการตั้งค่า Audio Session
  • บน Android เมื่อตั้งค่า Record Session แล้วเกิดปัญหาการรับรู้ย่านเสียงสูงจากการตัดเสียงของอุปกรณ์ จึงย้ายเสียงบี๊บไปยังย่านความถี่สูงและแก้ไขด้วยการกรองผ่าน FFT

เป็นโปรเจกต์ที่ทำให้ได้เรียนรู้ว่า ต่างจาก UI ที่เน้นภาพเป็นหลัก อินเทอร์เฟซที่เน้นเสียงเป็นหลักนั้น หัวใจสำคัญอยู่ที่ความหนาแน่นของข้อมูล ความคาดเดาได้ และการออกแบบฟีดแบ็ก

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น