แอปตั้งสายกีตาร์สำหรับผู้พิการทางสายตาที่สร้างด้วย Flutter
(blog.devstory.co.kr)Guita - แอปตั้งสายกีตาร์สำหรับผู้พิการทางสายตา
โปรเจกต์นี้เริ่มต้นจากปัญหาที่ผู้พิการทางสายตาแบบตาบอดสนิทใช้งานแอปตั้งสายกีตาร์แบบเดิมได้ยาก จึงได้พัฒนาแอปตั้งสายกีตาร์ที่เน้นการตอบกลับด้วยเสียงเป็นหลักด้วย Flutter เพียงคนเดียว รองรับทั้ง Android/iOS
👉 Play Store
👉 App Store
ฟีเจอร์ของแอป
- เครื่องตั้งสายกีตาร์แบบใช้เสียงนำทาง
- คู่มือการวางนิ้วสำหรับคอร์ดกีตาร์ 600 แบบ
การออกแบบเครื่องตั้งสาย
- ต่างจากเครื่องตั้งสายแบบเดิมที่พึ่งพาเกจแบบภาพ การออกแบบนี้ใช้โครงสร้างการตอบกลับทางเสียงแบบสองชั้นดังต่อไปนี้
- แจ้งสถานะการตั้งสายในช่วงเวลาสม่ำเสมอผ่านสกรีนรีดเดอร์ (TalkBack / VoiceOver) เช่น “สาย 6 ต่ำกว่าอยู่ 20Hz”
- เพิ่มเสียงบี๊บที่เล่นต่อเนื่อง และออกแบบให้ช่วงห่างของเสียงบี๊บสั้นลงเมื่อเข้าใกล้ความถี่เป้าหมาย
- กำหนดระดับเสียงของบี๊บต่างกันระหว่างกรณีที่ตั้งสายสูงเกินไปและต่ำเกินไป เพื่อให้แยกแยะสถานะการตั้งสายได้ด้วยเสียง
หลักการออกแบบด้านการเข้าถึง
- คำอธิบายต้องสั้นและสื่อเฉพาะประเด็นสำคัญ
- ห้ามย้ายโฟกัสโดยพลการ เพื่อรักษาความคาดเดาได้ของการใช้งาน
- ลดการใช้วิดเจ็ตแบบไดนามิก เช่น NavigationBottomSheet หรือ ExpansionTile ให้น้อยที่สุด
- คำอธิบายทั้งหมดใช้ liveRegion ของสกรีนรีดเดอร์แทน TTS(Text To Speech)
- พัฒนาด้วยการใช้งาน Flutter Semantics, OrdinalSortKey, liveRegion เป็นต้น
ประเด็นทางเทคนิค
- บน iOS จัดการการตัดเสียงของอุปกรณ์ด้วยการตั้งค่า Audio Session
- บน Android เมื่อตั้งค่า Record Session แล้วเกิดปัญหาการรับรู้ย่านเสียงสูงจากการตัดเสียงของอุปกรณ์ จึงย้ายเสียงบี๊บไปยังย่านความถี่สูงและแก้ไขด้วยการกรองผ่าน FFT
เป็นโปรเจกต์ที่ทำให้ได้เรียนรู้ว่า ต่างจาก UI ที่เน้นภาพเป็นหลัก อินเทอร์เฟซที่เน้นเสียงเป็นหลักนั้น หัวใจสำคัญอยู่ที่ความหนาแน่นของข้อมูล ความคาดเดาได้ และการออกแบบฟีดแบ็ก
ยังไม่มีความคิดเห็น