การตรวจสอบและขั้นต่อไป
คุณมีโน้ตแล้ว เข้าใจองค์ประกอบแล้ว และรู้ว่าแบบจำลองทำงานอย่างไร หน้านี้ครอบคลุมวิธีตรวจงานและแหล่งเรียนรู้ต่อ
การตรวจสอบ Schema
หัวข้อที่มีชื่อว่า “การตรวจสอบ Schema”ThaiMusicXML มี Schema RELAX NG ที่ public/schema/thaimusicxml-1.0.rng ตรวจสอบไฟล์กับ Schema ด้วยตัวตรวจสอบ RELAX NG ใดก็ได้ ใช้ xmllint:
xmllint --noout --relaxng public/schema/thaimusicxml-1.0.rng your-file.txmlSchema ตรวจสอบโครงสร้าง องค์ประกอบใดอยู่ตรงไหน แอตทริบิวต์ใดอนุญาต และค่าใดรับได้ ไม่ตรวจสอบกฎทางดนตรี
การตรวจสอบ Corpus
หัวข้อที่มีชื่อว่า “การตรวจสอบ Corpus”กฎทางดนตรีที่ Schema แสดงไม่ได้อยู่ใน scripts/check-corpus.mjs สคริปต์นี้รันกับทุกไฟล์ .txml ใน public/corpus/valid/ และตรวจสอบ:
- ห้องที่ตรงกันระหว่างพาร์ตต้องมีจำนวนจังหวะเท่ากัน
- หมายเลขบรรทัดและห้องเรียงลำดับ
<group>มีลูกอย่างน้อยสองตัว- ค่า
<ending pass>สม่ำเสมอ
รันด้วย:
npm run check:corpusถ้าคุณกำลังส่งงานถอดโน้ต สคริปต์นี้ตรวจสอบไฟล์ของคุณตามกฎเดียวกับที่ Corpus ใช้
Playground
หัวข้อที่มีชื่อว่า “Playground”Playground ให้คุณแก้ไขและเรนเดอร์ไฟล์ ThaiMusicXML ในเบราว์เซอร์ วาง XML ของคุณ ดูโน้ตที่เรนเดอร์อัปเดตแบบเรียลไทม์ และแชร์ URL กับผู้อื่น
Playground โหลดเรนเดอร์เดียวกับที่เอกสารใช้ สิ่งที่เห็นใน Playground จึงตรงกับรูปภาพในเอกสาร
สิ่งที่ตัวประมวลผลที่สอดคล้องต้องเตือน
หัวข้อที่มีชื่อว่า “สิ่งที่ตัวประมวลผลที่สอดคล้องต้องเตือน”ตัวประมวลผลที่สอดคล้องต้องเตือนในบางสถานการณ์แทนที่จะปฏิเสธไฟล์:
- ห้องที่ไม่มีโน้ต ตัวหยุด หรือกลุ่ม (จำนวนจังหวะเป็นศูนย์)
- ห้องที่ตรงกันระหว่างพาร์ตมีจำนวนจังหวะต่างกัน
<group>ที่ข้ามขอบเขตห้อง- ค่า
<ending pass>ข้ามรอบหรือซ้ำรอบ
เหล่านี้เป็นคำเตือน ไม่ใช่ข้อผิดพลาด ไฟล์ยังโหลดได้ ตัวประมวลผลบอกว่ามีบางอย่างดูไม่ถูกต้องเพื่อให้คุณแก้ไข
แหล่งเรียนรู้เพิ่มเติม
หัวข้อที่มีชื่อว่า “แหล่งเรียนรู้เพิ่มเติม”บทเรียนครอบคลุมองค์ประกอบหลักแล้ว เอกสารอ้างอิงมีมากกว่า:
- องค์ประกอบ: ทุกองค์ประกอบ แอตทริบิวต์ ลูก และกฎสอดคล้อง
- ตัวอย่าง: โน้ตสมบูรณ์ รวมถึงลาวดวงเดือน แขกบรเทศ และอื่น ๆ
- การสอดคล้องมาตรฐาน: กฎที่เอกสารต้องเป็นไปตาม รวบรวมจากหน้าองค์ประกอบแต่ละหน้า
- การแสดงผล: วิธีจัดวางและแสดงโน้ต (ไม่ใช่มาตรฐานบังคับ)
- แผนงาน: สิ่งที่วางแผนไว้สำหรับเวอร์ชันถัดไป
ถ้าต้องการส่งงานถอดโน้ต ดูหน้าตัวอย่างเพื่อดูรูปแบบไฟล์สมบูรณ์ ตรวจสอบด้วย Schema และ Corpus เช็ค และใช้ Playground ตรวจสอบผลลัพธ์ที่เรนเดอร์