Thursday, May 12, 2005

JFugue Java API for Music Programming

project นี้มีมานานแล้ว พึ่งเห็นนี่แหล่ะ
เป็น api สำหรับการเล่น note ดนตรี

ตัวอย่าง


import org.jfugue.Player;
import org.jfugue.Pattern;
/**
*
* @author pphetra
*/
public class Main {

/** Creates a new instance of Main */
public Main() {
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Player player = new Player();

// "Frere Jacques"
Pattern pattern1 = new Pattern("C5q D5q E5q C5q");

// "Dormez-vous?"
Pattern pattern2 = new Pattern("E5q F5q G5h");

// "Sonnez les matines"
Pattern pattern3 = new Pattern("G5i A5i G5i F5i E5q C5q");

// "Ding ding dong"
Pattern pattern4 = new Pattern("C5q G4q C5h");

// Put it all together
Pattern song = new Pattern();
song.add(pattern1);
song.add(pattern1);
song.add(pattern2);
song.add(pattern2);
song.add(pattern3);
song.add(pattern3);
song.add(pattern4);
song.add(pattern4);

// Play the song!
player.play(song);
}

}


กรณีที่ต้องการเล่นหลายโน็ตพร้อมกัน
new Pattern("C5+E5+G5")

กรณีที่เป็น chord
new Pattern("Cmaj5q")

เปลี่ยนเครื่องดนตรี ใช้ I (instrument) นำหน้าตามด้วย
ชื่อเครื่องดนตรี
I[Piano]


ที่มาของชื่อ JFugue
Fugue is a musical style in which a common theme, often called a statement, is played, then other voices join in and play subtle variations on the statement.


ใครที่ต้องการรู้ definition ของ JFugue ชัดๆ
ให้ตามไปที่นี่ JFugue Anatomy
เห็นแล้วปวดหัวเลย

ส่วนอันนี้สิเด็ด เอา DNA sequence มาแปลงเป็นเพลง
Red Blood DNA Sequences

Related link from Roti

No comments: