ฆ้อง MIDI ด้วย Chuck
แนวคิดหนึ่งที่อยากทำมานานก็คือพัฒนาโปรแกรมที่ช่วยให้นักดนตรีไทยประพันธ์เพลงได้สะดวกขึ้น ทางหนึ่งที่ทำได้ก็คือเขียนโปรแกรมรับข้อมูล MIDI จากคีย์บอร์ด แล้วสังเคราะห์เสียงตามคำสั่ง Chuck มีความสามารถในการสื่อสารกับเครื่องดนตรีอิเล็กทรอนิกส์ทาง MIDI โดยใน Chuck จะมีคลาส MIDI ในตัว การเรียกใช้ความสามารถทาง MIDI ใน Chuck ทำได้ดังตัวอย่าง (จาก Official Chuck Tutorial ) MidiIn min; MidiMsg msg; // open midi receiver, exit on fail if ( !min.open(0) ) me.exit(); while( true ) { // wait on midi event min => now; // receive midimsg(s) while( min.recv( msg ) ) { // print content <<< msg.data1, msg.data2, msg.data3 >>>; } } จากการทดลองพบว่า msg.data1 คือข้อมูล Channel และคำสั่ง MIDI อื่น ๆ เช่น Note-On, Note-Off msg.data2 คือขั้นเสียง msg.data3 คือความดัง (Velociy) เราสามารถใช้ msg.data# มาควบคุมการสังเคราะห์เสียงของ Chuck ที่เราทำไว้เมื่อ คราวก่อน ได้ดังนี้ MidiIn min; MidiMsg msg; min.open(0) => int AmIOpen; if(!AmIOpen) { <<< ...