ข้ามไปยังเนื้อหา

โครงสร้างไฟล์

ตัวอย่าง Hello World ใช้เครื่องดนตรีชิ้นเดียวและท่อนเดียว หน้านี้เพิ่มเครื่องดนตรีชิ้นที่สอง ทิศทางการแสดง หมายเหตุประกอบ และการซ้ำ โดยใช้เพลงลาวดวงเดือนจริง

ลาวดวงเดือน, ท่อน 1

<?xml version="1.0" encoding="UTF-8"?>
<thai-score xmlns="https://thaimusicxml.anan.ovh/ns/1" version="1.0">
<header>
<title>ลาวดวงเดือน</title>
<composer><text align="right">ทำนอง: พระเจ้าบรมวงศ์เธอ กรมหมื่นพิไชยมหินทโรดม</text></composer>
</header>
<structure>
<direction>
<nathap value="ลาว" />
<chan value="2" />
<bpm>60</bpm>
</direction>
<repeat times="2">
<annotation>ท่อน 1</annotation>
<section id="s1" name="ท่อน 1" />
<annotation>
<text align="right">(กลับต้น)</text>
</annotation>
</repeat>
</structure>
<ensemble>
<part id="P1">
<instrument-name>ระนาดเอก</instrument-name>
<instrument-short-name>รน.เอก</instrument-short-name>
</part>
<part id="P2" type="unpitched">
<instrument-name>ฉิ่ง</instrument-name>
</part>
</ensemble>
<part-data part="P1">
<section-ref section="s1">
<line number="1">
<measure number="1"><rest/><rest/><rest/><rest/></measure>
<measure number="2"><rest/><rest/><rest/><rest/></measure>
<measure number="3"><rest/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="4"><rest/><note pitch=""/><rest/><note pitch=""/></measure>
<measure number="5"><rest/><rest/><rest/><note pitch=""/></measure>
<measure number="6"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="7"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="8"><note pitch=""/><note pitch=""/><rest/><note pitch=""/></measure>
</line>
<line number="2">
<measure number="1"><rest/><rest/><rest/><note pitch=""/></measure>
<measure number="2"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="3"><rest/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="4"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="5"><rest/><rest/><note pitch=""/><note pitch=""/></measure>
<measure number="6"><rest/><note pitch=""/><rest/><note pitch=""/></measure>
<measure number="7"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="8"><note pitch=""/><note pitch=""/><rest/><note pitch=""/></measure>
</line>
<line number="3">
<measure number="1"><rest/><rest/><rest/><note pitch=""/></measure>
<measure number="2"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="3"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="4"><rest/><note pitch=""/><rest/><note pitch=""/></measure>
<measure number="5"><rest/><note pitch=""/><rest/><rest/></measure>
<measure number="6"><rest/><note pitch=""/><rest/><note pitch=""/></measure>
<measure number="7"><rest/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="8"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
</line>
<line number="4">
<measure number="1"><rest/><rest/><rest/><rest/></measure>
<measure number="2"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="3"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="4"><rest/><note pitch=""/><rest/><note pitch=""/></measure>
<measure number="5"><rest/><rest/><note pitch=""/><note pitch=""/></measure>
<measure number="6"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="7"><note pitch=""/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="8"><rest/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
</line>
<ending pass="2">
<annotation>ลงเที่ยว 2</annotation>
<line number="4">
<measure number="1"></measure>
<measure number="2"></measure>
<measure number="3"></measure>
<measure number="4"></measure>
<measure number="5"></measure>
<measure number="6"></measure>
<measure number="7"><rest/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="8"><rest/><note pitch=""/><rest/><note pitch=""/></measure>
</line>
</ending>
</section-ref>
</part-data>
<part-data part="P2">
<section-ref section="s1">
<line number="1">
<measure number="1"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="2"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="3"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="4"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="5"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="6"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="7"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="8"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
</line>
<line number="2">
<measure number="1"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="2"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="3"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="4"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="5"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="6"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="7"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="8"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
</line>
<line number="3">
<measure number="1"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="2"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="3"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="4"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="5"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="6"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="7"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="8"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
</line>
<line number="4">
<measure number="1"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="2"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="3"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="4"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="5"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="6"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
<measure number="7"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="8"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
</line>
<ending pass="2">
<annotation>ลงเที่ยว 2</annotation>
<line number="4">
<measure number="1"></measure>
<measure number="2"></measure>
<measure number="3"></measure>
<measure number="4"></measure>
<measure number="5"></measure>
<measure number="6"></measure>
<measure number="7"><rest/><rest/><rest/><note sound="ฉิ่ง"/></measure>
<measure number="8"><rest/><rest/><rest/><note sound="ฉับ"/></measure>
</line>
</ending>
</section-ref>
</part-data>
</thai-score>

<header> อาจมี <composer> ควบคู่ไปกับ <title>:

<header>
<title>ลาวดวงเดือน</title>
<composer><text align="right">ทำนอง: พระเจ้าบรมวงศ์เธอ กรมหมื่นพิไชยมหินทโรดม</text></composer>
</header>

เช่นเดียวกับ <annotation> องค์ประกอบ <composer> อาจใส่เป็นข้อความธรรมดาหรือมี <text> เป็นลูกพร้อมแอตทริบิวต์ align ในที่นี้บรรทัดผู้แต่งจัดชิดขวา

องค์ประกอบ <structure> บรรจุโครงสร้างโน้ต อาจมีหมายเหตุประกอบ ทิศทางการแสดง ท่อน และการซ้ำ:

<structure>
<direction>
<nathap value="ลาว" />
<chan value="2" />
<bpm>60</bpm>
</direction>
<repeat times="2">
<annotation>ท่อน 1</annotation>
<section id="s1" name="ท่อน 1" />
<annotation>
<text align="right">(กลับต้น)</text>
</annotation>
</repeat>
</structure>
  • <direction>: ทิศทางการแสดงที่มีผลกับทั้งโน้ต
    • <nathap> ตั้งชื่อลูปกลอง ในที่นี้คือหน้าทับลาว
    • <chan> กำหนดชั้น (ชั้นจังหวะ) value="2" หมายถึงสองชั้น ชั้นไม่ใช่จังหวะเวลา เป็นการเว้นระยะรอบฉิ่ง ดู แบบจำลองโน้ต สำหรับความแตกต่าง
    • <bpm> กำหนดจังหวะที่ 60 จังหวะต่อนาที
  • <repeat times="2">: คลุมท่อนด้วย <repeat> เพื่อเล่นมากกว่าหนึ่งครั้ง ในที่นี้ท่อน 1 เล่นสองครั้ง
  • <annotation>: ข้อความอิสระ ใน <structure> หมายเหตุประกอบใช้ตั้งชื่อท่อนและเพิ่มบันทึกการแสดง <text align="right">(กลับต้น)</text> บอกผู้เล่นให้กลับไปต้นท่อน

การนับเลขห้องและบรรทัดภายในองค์ประกอบแม่ของตัวเอง บรรทัดเริ่มนับจาก 1 ในแต่ละ <section-ref> ส่วนห้องเริ่มนับจาก 1 ในแต่ละ <line>:

<section-ref section="s1">
<line number="1">
<measure number="1">...</measure>
<measure number="2">...</measure>
</line>
<line number="2">
<measure number="1">...</measure>
</line>
</section-ref>

ลำดับของท่อนคือตำแหน่งของ <section> แต่ละตัวเมื่อเทียบกับตัวอื่นใน <structure> ไม่ใช่จากแอตทริบิวต์ การซ้ำท่อนไม่เปลี่ยนหมายเลขบรรทัดหรือห้อง การเล่นรอบที่สองเริ่มนับใหม่จากบรรทัด 1 ห้อง 1 ดู ท่อน การซ้ำ และจุดจบ สำหรับการซ้อนซ้ำและ <line-repeat>

<ensemble> อาจมีหลายพาร์ต:

<ensemble>
<part id="P1">
<instrument-name>ระนาดเอก</instrument-name>
<instrument-short-name>รน.เอก</instrument-short-name>
</part>
<part id="P2" type="unpitched">
<instrument-name>ฉิ่ง</instrument-name>
</part>
</ensemble>

P1 คือระนาดเอก <instrument-short-name> ให้ป้ายชื่อสั้นสำหรับโน้ตที่มีพื้นที่จำกัด

P2 คือฉิ่ง เพิ่ม type="unpitched" หมายความว่าโน้ตใช้ sound แทน pitch:

<rest/><rest/><rest/><note sound="ฉิ่ง"/>

sound="ฉิ่ง" คือจังหวะเปิด และ sound="ฉับ" คือจังหวะปิด เพลงนี้เป็นสองชั้น ฉิ่งจึงตีหนึ่งครั้งต่อห้อง สลับฉิ่งกับฉับทุกห้อง ตัวหยุดสามตัวก่อนแต่ละจังหวะเติมช่องที่เหลือ

เครื่องดนตรีแต่ละตัวมีองค์ประกอบ <part-data> ของตัวเอง แอตทริบิวต์ part เชื่อมกลับไปยัง <part> ใน <ensemble>:

<part-data part="P1">
<section-ref section="s1">
<line number="1">
<measure number="1"><rest/><rest/><rest/><rest/></measure>
<measure number="2"><rest/><rest/><rest/><rest/></measure>
<measure number="3"><rest/><note pitch=""/><note pitch=""/><note pitch=""/></measure>
<measure number="4"><rest/><note pitch=""/><rest/><note pitch=""/></measure>
...
</line>
</section-ref>
</part-data>

ทุก <part-data> มีโครงสร้างเหมือนกัน: <section-ref> เชื่อมโยงไปยังท่อน แล้วมี <line> และ <measure> แต่ละห้องมีช่องโน้ตสี่ช่องพอดี เพลงนี้มีสี่จังหวะต่อห้อง แต่ละจังหวะเป็นหนึ่งช่อง

สองห้องแรกของบรรทัด 1 เป็นตัวหยุดทั้งหมด ระนาดเอกเข้าในห้อง 3 ตัวหยุดหมายความว่าเครื่องดนตรีไม่ตีเสียงใหม่ในจังหวะนั้น ไม่ใช่ความเงียบ


ขั้นต่อไป ดู แบบจำลองโน้ต สำหรับแนวคิดพื้นฐานที่ทำให้องค์ประกอบเหล่านี้ทำงานอย่างที่เป็น

ลองเล่นใน Playground