เนื่องจากมีงานของเพื่อนขอให้ช่วย และได้ทำมานาน คือ การให้ช่วยหา เพลงเอาไปใส่ในเครื่องเล่น Pianno Yamaha Disklavier โดยต้องการให้เปลี่ยนเป็น USB ด้วย เลยอยากแชร์ความรู้ในส่วนนี้ว่า มีขั้นตอนทำอย่างไรบ้าง
จากประสบการณ์ ในชีวิตก็ไม่ได้มีความรู้อะไรเลยเกี่ยวกับเปียโน ก็ต้องใช้ความรู้ทาง IT มาพอช่วยหาข้อมูลได้
โดย Yamaha Disklavier คือ เปียโนที่สามารถเล่นเพลงเองได้โดยการขยับคีย์และแป้นเหยียบ เหมือนคนเล่นจริง โดยต้องมีข้อมูลส่งผ่านเครื่อง Control

รูป: แผ่น Floppy disk เก่ามีทั้งอ่านได้และอ่านไม่ได้

รูป: Disklavier control unit ใช้อ่านแผ่นและเล่นเปียโนอัตโนมัติ
โดยมี 2 โจทย์ คือ
1.ต้องการแปลงเครื่องจากการอ่าน Floppy Disk ให้เป็น Digital นั้นคือ ต้องไปหาซื้อจาก web ต่างประเทศ
2.หาเพลงไทยมาลงใน usb ซึ่งตรงนี้หาไม่ค่อยได้เลย มีแต่เพลงต่างประเทศและเป็นเพลงเก่าๆ ทั้งสิ้น บางแผ่นลองซื้อมา ก็ไม่สามารถอ่านได้ เป็นเพราะว่า แถบแม่เหล็กเสื่อมไปตามอายุ

รูป: แสดงแนวทาง Upgrade
เริ่มจากการสั่งซื้อ อุปกรณ์ Floppy Disk เป็น USB ซึ่งตอนแรกก็สั่งผิดไป 2 ครั้งกว่าจะพบว่าต้องเป็นรุ่นนี้เท่านั้น ถึงจะใช้ได้
การสั่งซื้ออุปกรณ์ใช้เวลา Shipping ประมาณอาทิตย์กว่าๆ และหลังจากที่เราได้ทำการเปลี่ยนจาก Floppy ก็จะได้ตามรูปนี้

เครื่อง disklavier จะใช่ไฟล์เฉพาะในการเล่น คือไฟล์ .FIL เท่านั้น
โดยกว่าจะหาข้อมูล และทดลองเอาไฟล์ไปเล่นก็ใช้เวลานานมาก เนื่องจากต้องเอาไปเล่นบนเครื่องจริงเท่านั้น
การแปลงไฟล์ เพื่อให้เครื่อง disklavier เล่นได้นั้น ต้องหาไฟล์ที่เล่นด้วยเสียง เปียโนเป็นหลัก ซึ่งเราสามารถหา พวกที่บรรเลงจาก Youtube มาก็ได้ แล้วค่อยแปลง
เริ่มจากการหาเพลงที่เล่นด้วยเปียโน เช่นใน Youtube แล้วทำการเปลี่ยนเป็น midi file ก่อน เมื่อได้ midi ไฟล์ เราก็จะทำการแปลงเป็นไฟล์ .FIL อีกครั้ง
โดยขั้นตอนการแปลงไฟล์ midi นั้น ถ้าแปลงไม่ดี ก็จะทำให้เวลาไปเปิดเล่นบนเปียโน เสียงจะเพี๊ยนดนตรีมั่วได้ ผมได้ลองหามาหลายวิธี พบว่าวิธีนี้ได้เสียงที่ดีที่สุด ในการแปลง midi และเหมาะกับเล่นด้วย disklavier ได้
ผมได้ทดลองใช้ 2 แบบในการแปลง
1.โปรแกรม A2M (Audio To MIDI) โปรแกรมกลุ่มนี้มักใช้อัลกอริทึมวิเคราะห์คลื่นความถี่แบบคลาสสิก (Digital Signal Processing) ซึ่งมีจุดเด่นคือมันจะ "ล็อกเป้าเฉพาะเสียงที่ความถี่ดังและชัดที่สุด" https://www.justagwas.com/projects/a2m/ ในการแปลง จะได้ทีละเพลงต้องมานั่งเลือกเพลงตลอด ถ้า 50 เพลงต้องนั่งอยู่เฝ้าอยู่หน้าคอมเป็น 2-3 ชั่วโมง
2. ใช้ python https://github.com/qiuqiangkong/piano_transcription_inference การรันบน CPU อาจจะใช้เวลาประมาณ 1-3 นาที ต่อ 1 เพลง (ขึ้นอยู่กับความแรงของคอมพิวเตอร์และความยาวของเพลง) ขอดีคือเราปล่อยให้ computer ทำการแปลงให้อัตโนมัติ เป็นร้อยเพลงได้เลย แล้วเราเอาเวลาไปทำอย่างอื่น ไม่ต้องเฝ้าหน้าคอม
🎹คู่มือสกัดโน้ตเปียโนระดับ Pro (ByteDance AI) ฉบับสมบูรณ์
หลักการทำงาน: โค้ดนี้จะใช้ AI สายลึกที่ถูกเทรนมาเพื่อฟังเสียง "เปียโน" โดยเฉพาะ มันสามารถแกะคอร์ด เมโลดี้ และแยกแยะน้ำหนักการเหยียบ Sustain Pedal ได้อย่างแม่นยำ