Skip to content

Lyrics

This page adds a vocal part. Thai lyrics are notated as a <part> with type="lyric", using <syllable> elements instead of <note>.

ลาวดวงเดือน, ระนาดเอก and เนื้อร้อง

A lyric part is an ordinary part that takes its own row in the score. Setting type="lyric" tells the renderer to expect syllables rather than notes:

<part id="P2" type="lyric">
<instrument-name>เนื้อร้อง</instrument-name>
</part>

The <part-data> follows the same structure as any other part: <section-ref>, <line>, <measure>. The difference is what goes inside the measures.

<syllable> holds one word or syllable of Thai text. Thai is sung a syllable at a time, so each syllable gets its own element:

<measure number="4">
<rest/><syllable>ละ -</syllable><rest/><syllable>หนอ</syllable>
</measure>

A hyphen at the end of a syllable (ละ -) indicates the word continues into the next syllable. The hyphen is part of the text content, not a special syntax.

A <rest> in a lyric measure means nothing is sung on that beat. The reading is the same as an instrumental rest: no attack. In vocal music this is called เอื้อน, a melodic ornament where the singer holds the previous note or pauses.

A lyric measure’s items (syllables and rests) distribute across the measure in one of two ways:

Match the beat count. If the measure has four beats and four items, each item takes one beat:

<measure number="1">
<rest/><syllable>ดวง</syllable><rest/><syllable>เดือน</syllable>
</measure>

Four items, four beats. ดวง falls on beat 2, เดือน on beat 4.

Fewer items than beats. If the measure has four beats but only two items, the items centre in the cell:

<measure number="3">
<syllable>หอม</syllable><syllable>กลิ่น</syllable>
</measure>

Two items in a four-beat measure. They centre, sitting roughly on beats 2 and 3. Both are ordinary ways to write a vocal line; the choice is the arranger’s.

This tutorial file has a ระนาดเอก part and a lyric part for ท่อน 1, line 1. The lyrics enter in measure 3 with “โอ้”, then “ละ - หนอ” in measure 4, with rests where the singer pauses.

<?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>
<section id="s1" name="ท่อน 1" />
</structure>
<ensemble>
<part id="P1">
<instrument-name>ระนาดเอก</instrument-name>
<instrument-short-name>รน.เอก</instrument-short-name>
</part>
<part id="P2" type="lyric">
<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>
</section-ref>
</part-data>
<part-data part="P2">
<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/><rest/><rest/><syllable>โอ้</syllable></measure>
<measure number="4"><rest/><syllable>ละ -</syllable><rest/><syllable>หนอ</syllable></measure>
<measure number="5"><rest/><rest/><rest/><rest/></measure>
<measure number="6"><rest/><rest/><rest/><rest/></measure>
<measure number="7"><rest/><syllable>ดวง</syllable><rest/><syllable>เดือน</syllable></measure>
<measure number="8"><rest/><rest/><rest/><syllable>เอย</syllable></measure>
</line>
</section-ref>
</part-data>
</thai-score>

Next, see Marking the score for bow spans, cued passages, annotations, and metadata.

Try it in the Playground