คอมพิวเตอร์ที่ตามโน้ตผู้เล่นแบบเรียลไทม์ในงานวิจัยปี 1984: งานของแดนเนนเบิร์กกับรากของแอปสอนเปียโน AI ที่ฟังเราเล่น
ใครที่เคยซ้อมเพลงกับไฟล์เสียงประกอบคงรู้ว่าไฟล์ไม่เคยรอใคร ถ้าผู้เล่นช้าลงตรงท่อนยาก เสียงประกอบก็เดินหน้าต่อ จนสุดท้ายต้องหยุดแล้วเริ่มใหม่ นักดนตรีที่มีคนเล่นคลอจริงจะไม่เจอปัญหานี้ เพราะผู้เล่นคลอฟังและปรับตามตลอด คำถามว่าคอมพิวเตอร์จะฟังแล้วตามมนุษย์ได้หรือไม่ จึงเป็นโจทย์สำคัญของดนตรีคอมพิวเตอร์มาตั้งแต่ยุคที่เครื่องยังมีพลังประมวลผลน้อยมาก
โจทย์นี้มีชื่อเรียกในวงการวิจัยว่า score following หรือการตามสกอร์ ระบบต้องรู้ว่าผู้เล่นอยู่ตรงไหนของเพลง ณ เวลานั้น และคาดการณ์ว่าโน้ตถัดไปจะมาเมื่อไร งานนี้ฟังดูง่ายสำหรับมนุษย์ แต่สำหรับคอมพิวเตอร์ในต้นทศวรรษ 1980 ถือว่าท้าทาย เพราะผู้เล่นจริงเปลี่ยนความเร็ว ใส่ลูกเล่น และกดผิดได้ตลอด
การประชุมดนตรีคอมพิวเตอร์ปี 1984 และโจทย์ของเครื่องบรรเลงคลอ
ในการประชุม International Computer Music Conference ปี 1984 มีงานวิจัยสองชิ้นที่มักถูกอ้างถึงคู่กันในฐานะงานบุกเบิกของหัวข้อนี้ ชิ้นแรกคือบทความของโรเจอร์ แดนเนนเบิร์ก นักวิจัยจากมหาวิทยาลัยคาร์เนกีเมลลอน ชื่อ An On-Line Algorithm for Real-Time Accompaniment ชิ้นที่สองคือบทความของแบร์รี เวอร์โค จากเอ็มไอที ชื่อ The Synthetic Performer in the Context of Live Performance ซึ่งนำเสนอระบบที่ตามการเป่าฟลูตของนักดนตรี
งานของแดนเนนเบิร์กให้ความสำคัญกับคำถามว่าจะจับคู่โน้ตที่ผู้เล่นเล่นจริงเข้ากับโน้ตในสกอร์อย่างไร เมื่อผู้เล่นอาจกดโน้ตเกิน ข้ามโน้ต หรือกดผิดตัว เขาเสนอให้มองปัญหาเป็นการหาลำดับร่วมที่ยาวพอระหว่างสองชุดข้อมูล คือลำดับโน้ตที่รับเข้ามากับลำดับโน้ตที่เขียนไว้ แล้วคำนวณไปเรื่อย ๆ ทุกครั้งที่มีโน้ตใหม่เข้ามา
วิธีคำนวณที่ใช้อาศัยเทคนิคที่ในภาษาอังกฤษเรียกว่า dynamic programming ซึ่งเป็นการแบ่งปัญหาใหญ่เป็นปัญหาย่อยแล้วเก็บผลไว้ใช้ซ้ำ
อัลกอริทึมจับคู่โน้ตทำงานอย่างไร
ลองนึกภาพตารางที่แถวหนึ่งคือโน้ตจากสกอร์ อีกแถวคือโน้ตที่ผู้เล่นกดตามลำดับ ระบบให้คะแนนเมื่อโน้ตสองฝั่งตรงกัน และหาเส้นทางผ่านตารางที่ได้คะแนนรวมสูง เส้นทางนี้บอกว่าโน้ตที่เพิ่งกดน่าจะตรงกับโน้ตตัวใดในสกอร์ จุดสำคัญคือระบบไม่ต้องรอให้ผู้เล่นจบเพลงก่อน แต่ปรับคำตอบทันทีที่โน้ตใหม่มาถึง จึงใช้บรรเลงคลอได้ขณะเล่นจริง
เมื่อระบบรู้ตำแหน่งแล้ว ขั้นต่อไปคือการปรับความเร็วของเสียงคลอ ถ้าผู้เล่นเร่ง เสียงคลอก็ต้องเร่งตาม ถ้าผู้เล่นค้างโน้ตยาว เสียงคลอก็ต้องรอ งานยุคแรกจึงต้องจัดการทั้งการหาตำแหน่งและการประมาณจังหวะไปพร้อมกัน ภายใต้ข้อจำกัดของคอมพิวเตอร์ในเวลานั้นที่ช้ากว่าโทรศัพท์มือถือทุกวันนี้หลายเท่า
หลังปี 1984 หัวข้อการตามสกอร์พัฒนาต่ออย่างต่อเนื่อง นักวิจัยรุ่นหลังนำวิธีทางสถิติและความน่าจะเป็นเข้ามาช่วย เพื่อให้ระบบรับมือกับความไม่แน่นอนของการเล่นจริงได้ดีขึ้น บางระบบเริ่มรับเสียงจากไมโครโฟนโดยตรงแทนข้อมูลโน้ตจากคีย์บอร์ดไฟฟ้า ซึ่งยากกว่ามาก เพราะต้องแยกระดับเสียงออกจากเสียงจริงที่มีเสียงรบกวนและเสียงก้องปนอยู่
ความก้าวหน้าเหล่านี้ทำให้แนวคิดเดิมขยายจากเครื่องบรรเลงคลอไปสู่งานด้านการศึกษา เมื่อระบบรู้ว่าผู้เล่นอยู่ตรงไหนของสกอร์ ระบบก็บอกได้ด้วยว่าโน้ตใดตรง โน้ตใดหลุด และจังหวะใดเร็วหรือช้ากว่าที่เขียนไว้ ข้อมูลชุดเดียวกันที่เคยใช้เพื่อเล่นคลอ จึงกลายเป็นข้อมูลที่ใช้ช่วยผู้เรียนรู้จุดที่ต้องซ้อมเพิ่ม
จากเครื่องบรรเลงคลอสู่ระบบที่ฟังผู้เรียน
สำหรับคนที่เรียนเปียโนอยู่ในรังสิตและซ้อมคนเดียวหลังเลิกงานหรือเลิกเรียน ความสามารถนี้มีประโยชน์ชัดเจน เพราะการฟังตัวเองขณะเล่นเป็นเรื่องยาก สมองต้องดูโน้ต คุมนิ้ว และนับจังหวะไปพร้อมกัน ข้อผิดพลาดเล็ก ๆ จึงหลุดหูไปได้ง่าย การมีระบบที่ฟังแล้วชี้ตำแหน่งให้ ช่วยลดเวลาที่ต้องเดาว่าผิดตรงไหน
ข้อควรรู้คือระบบตามโน้ตไม่ได้ตัดสินความไพเราะ ระบบรู้ว่าผู้เล่นกดโน้ตถูกหรือไม่ และกดตรงจังหวะหรือไม่ แต่การเลือกว่าจะเล่นวลีหนึ่งหวานหรือหนักแน่น ยังเป็นเรื่องของรสนิยมและการตีความ ผู้เรียนจึงควรใช้ผลตรวจเป็นข้อมูล ไม่ใช่คะแนนตัดสินคุณค่าของการเล่น
TIGA ALPHA คือแอปสอนเปียโน AI ซึ่งทีมคนไทยสร้างขึ้นบนแนวคิดการฟังผู้เล่นแบบเดียวกับที่งานวิจัยยุคบุกเบิกวางไว้ ระบบรับเสียงขณะเล่น เทียบกับบทเรียน จากนั้นระบุช่วงที่โน้ตหรือจังหวะยังคลาดเคลื่อน ผู้เรียนจึงย้อนไปเก็บเฉพาะท่อนที่ยังพลาดได้ ไม่ต้องเล่นทั้งเพลงซ้ำโดยไม่รู้จุดอ่อน
แอปสอนเปียโน AI ใช้หลักการตามโน้ตช่วยการซ้อมอย่างไร
แนวทางนี้ต่างจากโรงเรียนดนตรีแบบดั้งเดิม ที่ผู้เรียนมักได้คำแนะนำเฉพาะในคาบ และต้องจำเองว่าครูบอกให้แก้ตรงไหน ครูอั้มซึ่งสอนเปียโนมา 20 ปีและเป็น CEO ของ TIGA ALPHA ออกแบบบทเรียนให้ผลตรวจของระบบเชื่อมกับลำดับทักษะที่ผู้เรียนควรพัฒนา ตั้งแต่การกดให้ตรงจังหวะไปจนถึงการคุมน้ำหนักนิ้ว
คำถามที่พบบ่อย
ถาม: การตามสกอร์ หรือ score following คืออะไร ตอบ: คือการให้คอมพิวเตอร์ฟังหรือรับข้อมูลโน้ตจากผู้เล่น แล้วระบุว่าตอนนี้ผู้เล่นอยู่ตรงไหนของสกอร์ แม้ผู้เล่นจะเร่ง ช้าลง หรือกดผิดบางตัว ระบบที่ทำได้จะใช้ตำแหน่งนี้ไปบรรเลงคลอ พลิกหน้าโน้ต หรือแจ้งผลให้ผู้เล่น
ถาม: ทำไมระบบต้องยอมให้ผู้เล่นกดผิดได้ ตอบ: เพราะนักดนตรีจริงไม่ได้เล่นตรงสกอร์ทุกโน้ต ถ้าระบบหยุดหรือหลงทางทุกครั้งที่เจอโน้ตเกินหรือโน้ตหาย ก็จะใช้งานจริงไม่ได้ งานวิจัยยุคแรกจึงออกแบบการจับคู่ให้ทนต่อความผิดพลาด และเลือกตำแหน่งที่มีโอกาสถูกต้องสูงจากข้อมูลที่มี
ถาม: แอปสอนเปียโน AI ในวันนี้ทำงานแบบเดียวกับงานปี 1984 หรือไม่ ตอบ: แนวคิดหลักคือการเทียบสิ่งที่ผู้เล่นเล่นกับสิ่งที่สกอร์กำหนดยังคล้ายกัน แต่เทคนิคเปลี่ยนไปมาก ระบบปัจจุบันมักรับเสียงจากไมโครโฟนและใช้การประมวลผลสัญญาณร่วมกับแบบจำลองที่เรียนรู้จากข้อมูล รายละเอียดของแต่ละแอปจึงแตกต่างกันไป
วิธีใช้ให้ได้ประโยชน์เริ่มจากการซ้อมช้ากว่าความเร็วจริงก่อน เพื่อให้ระบบและตัวผู้เล่นเห็นความผิดพลาดชัด จากนั้นเลือกช่วงที่ระบบชี้ว่ามีปัญหาบ่อย แยกซ้อมเป็นวลีสั้น แล้วค่อยต่อกลับเข้าไปในเพลง การเรียนเปียโนออนไลน์แบบนี้ทำให้แต่ละรอบการซ้อมมีเป้าหมาย และคอร์สเรียนเปียโนออนไลน์ AI ที่จัดบทเรียนเป็นขั้นจะช่วยให้ผู้เรียนรู้ว่าควรฝึกอะไรต่อ
ซ้อมให้ได้ประโยชน์จากแอปสอนเปียโนออนไลน์และคอร์สเรียนเปียโนออนไลน์ AI
แอปสอนเปียโนออนไลน์และแอปพลิเคชันสอนเปียโนออนไลน์ตอบโจทย์ผู้ที่ตั้งใจฝึกทุกวันแต่ตารางชีวิตไม่แน่นอน การสอนเปียโนด้วย AI ช่วยรับงานตรวจซ้ำที่กินเวลา ส่วนผู้ที่ต้องการคำชี้แนะเรื่องการตีความเพลง อาจเสริมด้วยคอร์สเปียโนหรือคอร์สเรียนเปียโนที่มีผู้สอนนั่งฟังตรงหน้า ซึ่งการสอนเปียโนและการสอนดนตรีแบบมีครูยังทำหน้าที่ที่ระบบทำแทนไม่ได้
บทความสองชิ้นจากการประชุมปี 1984 แสดงให้เห็นว่าการให้เครื่องฟังมนุษย์เป็นโจทย์ที่ต้องพัฒนาต่อเนื่องอีกหลายทศวรรษ วันนี้ผลของงานแนวนั้นอยู่ในแอปสอนเปียโนบนโทรศัพท์ที่ช่วยคนทั่วไปเล่นเปียโนและเรียนดนตรีได้สะดวกขึ้น ทว่าการเล่นดนตรีที่มีชีวิตยังมาจากผู้เล่นเอง ระบบช่วยให้เห็นข้อผิดพลาด ส่วนเสียงที่สื่ออารมณ์ยังต้องฝึกด้วยหูและใจของผู้เล่นทุกวัน
เมื่อเข้าใจว่าระบบตามโน้ตทำงานจากการเทียบสิ่งที่เล่นกับสกอร์ การใช้แอปซ้อมก็ตั้งเป้าได้แม่นขึ้นว่าอยากให้ระบบช่วยตรงไหน อยากลองให้ระบบฟังการเล่นของคุณดูไหม? เริ่มกับ TIGA ALPHA ได้ที่ https://tigaalpha.github.io/landing/ — ทุกคนเล่นแพ็กเกจพรีเมียมฟรี 7 วัน แล้วต่อเดือนละ 799 บาท หากอยากเรียนสดกับครูอั้ม ดูรายละเอียดได้ที่ https://www.tigastudio.net/ ซึ่งเปิดสอนสดไม่เกิน 30 ชั่วโมงต่อสัปดาห์ ดูข้อมูลบริษัทและเทคโนโลยีของ TIGA ALPHA ได้ที่ https://www.tigaalpha.com



ความคิดเห็น