<note>
องค์ประกอบ <note> ใช้แทนโน้ตดนตรีหนึ่งตัว
องค์ประกอบแม่
หัวข้อที่มีชื่อว่า “องค์ประกอบแม่”แอตทริบิวต์
หัวข้อที่มีชื่อว่า “แอตทริบิวต์”| แอตทริบิวต์ | จำเป็น | ประเภท | คำอธิบาย |
|---|---|---|---|
pitch |
หาก type ของพาร์ตเป็น "pitched" (ค่าเริ่มต้น) |
pitch | ชื่อโน้ต ดู รูปแบบระดับเสียง ด้านล่าง |
sound |
หาก type ของพาร์ตเป็น "unpitched" |
สตริง | รหัสเสียงเฉพาะเครื่องดนตรี ดู โน้ตไม่มีระดับเสียง ด้านล่าง |
octave |
ไม่ | จำนวนเต็ม | เลข octave ใดก็ได้ ใช้ได้กับ pitch เท่านั้น ค่าเริ่มต้นคือ 0 และไม่ได้ถูกใช้เมื่อ pitch มีตัวปรับ octave ของไทย ดู การสอดคล้องมาตรฐาน ด้านล่าง |
id |
ไม่ | token | เอกลักษณ์ทางเลือก ต้องไม่ซ้ำกันในทุก <note> ของเอกสาร มีไว้ให้ส่วนขยายเนมสเปซภายนอกอ้างถึง ThaiMusicXML เองไม่ได้ใช้งาน |
pitch และ sound ใช้แทนกันไม่ได้ โน้ตแต่ละตัวใช้อย่างใดอย่างหนึ่งตาม type ของ <part> ที่บรรจุมันอยู่ พาร์ตที่มี type="lyric" ไม่มี <note> เลยสักตัว แต่ใช้ <syllable> แทน
ตัวอย่าง
หัวข้อที่มีชื่อว่า “ตัวอย่าง”<!-- Do ต่ำ --><note pitch="1" octave="-1"/><note pitch="D" octave="-1"/><note pitch="ดฺ"/>
<!-- Do กลาง --><note pitch="1" octave="0"/><note pitch="D" octave="0"/><note pitch="ด"/>
<!-- Do สูง --><note pitch="1" octave="1"/><note pitch="D" octave="1"/><note pitch="ดํ"/>รูปแบบระดับเสียง
หัวข้อที่มีชื่อว่า “รูปแบบระดับเสียง”ค่า pitch คืออักขระโน้ตตัวฐานหนึ่งตัว โดยจะตามด้วยตัวปรับ octave ของไทยอีกหนึ่งตัวหรือไม่ก็ได้
โน้ตฐาน
หัวข้อที่มีชื่อว่า “โน้ตฐาน”แต่ละดีกรีของระบบเสียงมีวิธีสะกดที่ใช้แทนกันได้สามแบบ pitch="1", pitch="D", และ pitch="ด" คือโน้ตเดียวกัน
| ตัวเลข | ไทย | โค้ดพอยต์ | โรมัน |
|---|---|---|---|
| 1 | ด | U+0E14 | D |
| 2 | ร | U+0E23 | R |
| 3 | ม | U+0E21 | M |
| 4 | ฟ | U+0E1F | F |
| 5 | ซ | U+0E0B | S |
| 6 | ล | U+0E25 | L |
| 7 | ท | U+0E17 | T |
เอกสารจะใช้แบบใดก็ได้ทั้งสาม แต่ตัวสร้างควรเลือกการสะกดแบบเดียวและใช้ให้ตลอดทั้งไฟล์ ทางเลือกนี้ไม่ใช่แค่เรื่องความสวยงาม เพราะการสะกดที่ไฟล์เขียนไว้คือการสะกดที่ตัวแสดงผลจะแสดง ไฟล์ที่สะกดปนกันจึงพิมพ์ออกมาปนกันไปด้วย ดู การแสดงผล ด้านล่าง
โน้ตตัวฐานแบบโรมันเขียนตัวพิมพ์ใหญ่หรือเล็กก็ได้ pitch="d" และ pitch="D" เป็นโน้ตเดียวกัน ตัวพิมพ์ไม่มีความหมายใด ๆ ตัวแสดงผลจึงเลือกแสดงตัวพิมพ์แบบใดก็ได้ตามที่ต้องการ ไม่จำเป็นต้องตรงกับที่ไฟล์เขียนไว้ ค่าเริ่มต้นเป็นตัวพิมพ์ใหญ่
ตัวปรับ octave ของไทย
หัวข้อที่มีชื่อว่า “ตัวปรับ octave ของไทย”| ตัวปรับ | ชื่อไทย | โค้ดพอยต์ | ผล | ตัวอย่าง |
|---|---|---|---|---|
| ํ | นิคหิต | U+0E4D | ยกขึ้นหนึ่ง octave | ดํ = ด สูงขึ้นหนึ่ง octave |
| ฺ | พินทุ | U+0E3A | ลดลงหนึ่ง octave | ทฺ = ท ต่ำลงหนึ่ง octave |
ตัวปรับใช้ได้กับการสะกดทั้งสามแบบ ดังนั้น 1ํ, Dํ, และ ดํ จึงถูกต้องทั้งหมดและหมายถึงโน้ตเดียวกัน
โค้ดพอยต์ถูกระบุไว้เพราะตัวปรับทั้งสองเป็น combining characters เวลาแสดงผลจะลอยอยู่เหนือตัวอักษรก่อนหน้า ทำให้แยกด้วยสายตาจากตัวอักษรที่หน้าตาคล้ายกันไม่ได้ และคัดลอกออกจากหน้าเว็บได้ไม่น่าเชื่อถือ จึงควรจับคู่กันด้วยตัวเลขโค้ดพอยต์แทน
การ normalize รูปแบบ Unicode ไม่ใช่ปัญหาในที่นี้ เพราะภาษาไทยไม่มี canonical compositions ดํ จึงเป็นสองโค้ดพอยต์เดียวกันคือ U+0E14 และ U+0E4D ไม่ว่าจะอยู่ในรูป NFC, NFD หรือรูปที่เขียนไว้แต่แรก ตัวประมวลผลจึงไม่จำเป็นต้องทำ normalization ก่อนจับคู่ค่า pitch และถึงจะทำก็ไม่ทำให้ผลลัพธ์เปลี่ยนไป
โน้ตไม่มีระดับเสียง
หัวข้อที่มีชื่อว่า “โน้ตไม่มีระดับเสียง”สำหรับกลองและเครื่องดนตรีที่ไม่มีระดับเสียง โน้ตใน <part type="unpitched"> ใช้ sound แทน pitch โดย sound เป็นรหัสอิสระเฉพาะเครื่องดนตรี ให้บันทึกความหมายของแต่ละค่าไว้ด้วย <annotation> ภายใน <section-ref> ของพาร์ตนั้น
<section-ref section="s1"> <annotation>0 = ฉิ่ง / 1 = ฉับ</annotation> <line number="1"> <measure number="1"> <rest/><note sound="0"/><rest/><note sound="1"/> </measure> </line></section-ref>การแสดงผล
หัวข้อที่มีชื่อว่า “การแสดงผล”โน้ตแสดงผลในการสะกดที่ไฟล์เขียนไว้ ส่วนโน้ตไม่มีระดับเสียงแสดง sound ตามที่เขียนทุกตัวอักษร ตัวปรับ octave ของไทย ไม่ว่าจะเขียนไว้ตามตัวอักษรจริงใน pitch หรือบ่งชี้ด้วย octave แสดงผลเป็นจุดเล็ก ๆ แทนรูปนิคหิต/พินทุตามตัวอักษรจริง ดู ภายในห้อง, เครื่องหมาย octave และ ระดับเสียง octave นอกเหนือจากการสะกดไทย
การสอดคล้องมาตรฐาน
หัวข้อที่มีชื่อว่า “การสอดคล้องมาตรฐาน”pitchต้องเป็นหนึ่งในอักขระโน้ตตัวฐานทั้งเจ็ดตัว ในการสะกดแบบใดก็ได้ทั้งสามแบบ ตามด้วยตัวปรับ octave ของไทยได้อีกไม่เกินหนึ่งตัว ตัวตรวจสอบต้องปฏิเสธค่าอื่นทั้งหมด- โน้ตตัวฐานแบบโรมันเขียนตัวพิมพ์ใหญ่หรือเล็กก็ได้ ทั้งสองถูกต้องและเป็นโน้ตเดียวกัน
- เมื่อ
pitchมีตัวปรับ octave ของไทย (นิคหิตํหรือพินทฺุ) ตัวปรับนั้นเป็นตัวกำหนด octave ส่วนแอตทริบิวต์octaveบน<note>เดียวกันจะไม่ได้ถูกใช้ - ตัวตรวจสอบควรแจ้งเตือนแทนที่จะปฏิเสธ เมื่อ
octaveปรากฏคู่กับตัวปรับ octave ของไทย เพราะเป็นการซ้ำซ้อนที่ไม่ขัดแย้งกัน - เมื่อ
pitchไม่มีตัวปรับ octave ของไทย (ไม่ว่าจะเป็นตัวเลข โรมัน หรือไทยที่ไม่ได้ดัดแปลง)octaveจะใช้งานตามปกติ โดยมีค่าเริ่มต้นเป็น0เมื่อไม่ได้ระบุ octaveไม่ได้จำกัดอยู่แค่-1,0, หรือ1ค่านอกช่วงนี้ไม่มีการสะกดแบบไทยที่แยกจากกันได้ แต่ค่าoctaveก็ยังคงเป็นค่าที่ใช้เล่นจริงเสมอ ไม่ว่าตัวแสดงผลจะเลือกแสดงอย่างไร ดู ระดับเสียง octave นอกเหนือจากการสะกดไทยoctaveสามารถปรากฏบน<note>ที่ใช้soundได้ แต่ไม่มีผลใด ๆ เพราะรหัสsoundเฉพาะเครื่องดนตรีไม่ได้จัดเรียงเป็น octave ตัวตรวจสอบควรแจ้งเตือน เนื่องจากแอตทริบิวต์นี้จะถูกละทิ้งไปidถ้ามี ต้องไม่ซ้ำกันในทุก<note>ของเอกสาร