PanTab reference

Every rule PanTab follows, with examples you can play. Each example shows what you type, the grid it draws, and anything the editor would point out. The short version is on Learn.

The small codes (N9, X1…) name each rule, so it can be pointed to.

How a tab is read

PanTab is plain text, read one line at a time. Each line is one of: blank, a comment, a header, a section name, a marker line, a hand row, or a beat line.

Lines

L2 · L7

Spaces at the start of a line are ignored, so you can indent. Windows and Mac/Linux line endings both work.

   D 3 5 3

Comments

Spec §3.9 #9 · Y1

A line starting with # is a note to yourself and is ignored. A comment between an L: and an R: row doesn’t split them.

# Intro: let it breathe
D 3 5 3

No comments at the end of a line

L4

A # after beats is not a comment: it and the words after it are errors. (Open question Q11.)

5 6 # calm
  • Error PT001 · line 1, column 5: Unknown symbol "#"
  • Error PT001 · line 1, column 7: Unknown symbol "calm"

Unknown symbols

L6

Characters PanTab doesn’t know are one error per run of them.

D abc? 3
  • Error PT001 · line 1, column 3: Unknown symbol "abc?"

Mistakes never stop the tab

E1

The bad part is reported and skipped; everything else still draws and plays. Errors are underlined in red in the editor, warnings in yellow.

D 3 ? 5

The ? is skipped; D 3 5 still play.

  • Error PT001 · line 1, column 5: Unknown symbol "?"

Notes

Tabs use numbers, not note names, so a tab plays on any pan: each number plays that pan’s note. Capitals and numbers are sounds; each takes one beat.

The Ding and the notes

Spec §3.1 · X1

D is the Ding, the big centre note, struck on its dome. 1, 2, 3… are the notes on top, from the lowest (1) to the highest, up to 20. Which pitch each number plays comes from your pan.

D 1 2 3 4 5 6 7 8 9

The Ding’s ring: d

Spec §3.1 · N28

A small d strikes the flat ring around the Ding’s dome: the Ding’s pitch, brighter, crisper and more percussive. Case matters: d and D are different sounds.

D d D d

Bottom notes: B1 to B20

X2

Notes on the underside, numbered by pitch on their own. They work anywhere a note does.

D B1 3 B2

No note names in a tab

Spec §3.1

Note names (A3, Bb3…) only belong in the pan’s setup. In a tab the letter is an error.

A3 5
  • Error PT001 · line 1, column 1: Unknown symbol "A"

From 1 to 20

N3 · N4

0, 21 and above, B0 and B21 are errors, and so is a leading zero (03). The beat still counts, silently, so the rows stay lined up.

0 5
  • Error PT018 · line 1, column 1: Notes go from 1 to 20 (top) and B1 to B20 (bottom)
21 5
  • Error PT018 · line 1, column 1: Notes go from 1 to 20 (top) and B1 to B20 (bottom)
03 5
  • Error PT018 · line 1, column 1: Write 3, without the 0

A run of digits is one note

X3 · N5

12 is note twelve; 1 2 is two notes. Two sounds always need a space between them: D1 or 3. is an error.

1 2 12
D1 3
  • Error PT015 · line 1, column 2: Missing space between beats

A note your pan doesn’t have

T6 · X5

Plays nothing, and the editor warns at each use: “This pan has no note 12” (PT017). For example, 9 on a D Kurd 9.

Timing

Everything separated by spaces is one beat: one cell of the grid. @tempo says how many beats (cells) play per minute.

One beat each

Spec §3.2

Each note, chord, rest or sound is one beat.

D 3 5 3

Rest: -

Spec §3.2

Nothing new is played; whatever is ringing keeps ringing.

D - 3 -

Ghost note: .

Spec §3.1

A finger drops on the metal with barely any weight: a very, very quiet tick with no pitch. It takes no marks.

D . 3 .

How long a note rings

T3

Until the next thing in the same row (a note, chord or sound), even if that’s lines later. The last one rings to the end. The notes of a chord stop together.

D - - - 5 S - -

Barline: |

Spec §3.2 · B6

For reading only; it takes no time. It may touch a beat.

D 3 | D 5
|5 6|

Split a beat: ( )

Spec §3.2 · B7

Everything inside the brackets shares one beat evenly: (3 5) is two halves, (1 2 3 4) four quarters. Any count from 1 up works.

(3 5) (3 5 7) (1 2 3 4) D
(5) (1 2 3 4 5)

What can go inside a split

N22

Notes, chords, rests, ghosts and letters.

(3+5 7) (5 -) (. S) D

Splits inside splits

B4 · T2

Allowed, with a warning as they get hard to read: the inner pair shares the first half.

((1 2) 3)
  • Warning PT022 · line 1, column 2: A split inside a split: it plays, but is hard to read

Bracket mistakes

E4 · E5

A ( that is never closed keeps what came after it as the split. A stray ) and empty brackets are skipped.

(3 5
  • Error PT002 · line 1, column 1: Unclosed "("
3 5)
  • Error PT003 · line 1, column 4: Unexpected ")"
() 5
  • Error PT005 · line 1, column 1: Empty split beat "()"

Percussion

Capital letters are sounds without a note of their own. Each takes one beat.

Slap: S

Spec §3.1

Flat, relaxed fingers that briefly stick: a snare-like slap.

D S D S

Tak: T

Spec §3.1

A sharp tap on the Ding’s ridge or shoulder: a dry, high tak. Dt is the same.

D T D Dt

Palm: P

Spec §3.1 · N25

A flat palm onto the Ding’s dome, held: it stops the ringing Ding (D or d) with a quiet thump, or is just the thump. D* is the same.

D - - P

Knuckle: K

Spec §3.1

A bent finger joint knocks the raw shell: a dry, woody knock.

K 3 K 5

Nail: N

Spec §3.1

A fingernail flick on the shell or side: a high metallic click.

D N 3 N

Fist: F

Spec §3.1

The side or bottom of a loose fist on the shell: a heavy, dull thud.

F 3 F 5

Only these letters

N2

Any other letter, in either case, is unknown.

D G s
  • Error PT001 · line 1, column 3: Unknown symbol "G"
  • Error PT001 · line 1, column 5: Unknown symbol "s"

How to strike

Lowercase letters and symbols are marks. A mark goes right after its note, touching it: 3x, not x3. Marks never change how loud a note is; dynamics do that.

Mute: 3x

Spec §3.3 · N26

Struck, then cut short (about 0.15 s).

3 3x 3 3x

Damp: 3*

Spec §3.3 · N24

Stops a 3 still ringing from the beats before (either hand) with a quiet thud; just the thud if nothing rings. On the Ding, D* is the palm P.

3 - - 3*

Harmonics: 3o and 3v

Spec §3.3 · N27

o sounds an octave up; v an octave and a fifth up. Both a little softer.

3 3o 3 3v

Knuckle on a note: 3^

Spec §3.3

Tight, metallic, compressed.

3 3^ 3 3^

Tak on a note: 3t

Spec §3.3

A dry tak on the note’s edge, at its pitch. On the Ding, Dt is T.

3 3t 3 3t

Flam: 3'

Spec §3.3 · N29

Two quick hits, about 25 ms apart (never more than half the beat).

3' - D' -

Roll: 3"

Spec §3.3 · N29

Even strokes filling the beat, about 10 a second, at least 2.

3" - D" -

Curly quotes work

N14

An iPhone types ’ and ” for ' and ": they’re read the same.

3’ - 3” -

Marks on letters

N9 · N13

Letters take only the flam and the roll: S', K". Any other mark on a letter is an error, and so is any mark on . or -.

S' K" T' P"
Sx
  • Error PT019 · line 1, column 2: Letters take only ' and ", not "x"

Several marks

N10 · N12 · N16

Any order, each once: 3ox is 3xo. At most one mute (x or *) and one harmonic (o, v); ^ or t, not both; ' and " not both; * goes alone. Together: timing from ' or ", tone from o v ^ t, then the mute shortens it.

3ox 3xo 5^' 6v"
3ov
  • Error PT020 · line 1, column 3: A note takes one harmonic: o or v
3*o
  • Error PT020 · line 1, column 3: * stops a ringing note: it takes no other marks

A bad mark is dropped

N11

Only the mark that breaks the rule goes; the note keeps the rest and still plays.

3xox

Plays 3xo.

  • Error PT020 · line 1, column 4: "x" is already on this note

A mark needs its note

N7

The mark must touch the note right before it. A mark on its own, before a note, or after a space is an error and is skipped.

x 5
  • Error PT006 · line 1, column 1: "x" goes right after a note, e.g. 3x
o5
  • Error PT006 · line 1, column 1: "o" goes right after a note, e.g. 3o
5 x
  • Error PT006 · line 1, column 3: "x" goes right after a note, e.g. 3x

Chords

Sounds joined with + play together, as one beat. No spaces inside a chord.

Notes at once: 3+5

Spec §3.4

The Ding included.

D 3+5 D+5 1+3+5

Marks belong to their own note

N17

3x+5o is a muted 3 with a harmonic 5. There is no way to mark a whole chord at once: write the mark on each note.

3x+5o 3x+5x
(3+5)x
  • Error PT006 · line 1, column 6: Marks go on each note, not on a group: e.g. (3x 5x)

Letters in chords

N19

Letters can join a chord (D+S) and are drawn under the notes. A ghost or a rest can’t.

D+S - K+5 -
3+.
  • Error PT015 · line 1, column 3: "." can't be in a chord

How many at once

N18

Up to 4 sounds on a line with no hand, 2 in one hand’s row. More is a warning; it still plays.

1+3+5+7
1+3+5+7+9
  • Warning PT021 · line 1, column 1: A chord of 5: at most 4 on a line with no hand
L: 3+5+7
  • Warning PT021 · line 1, column 4: A chord of 3: at most 2 in one hand's row (L:)

Flams in a chord

N20 · N21

In 3'+5, 3 lands just before 5. If every note has ', the whole chord flams.

3'+5 - 3'+5' -

+ needs sounds on both sides

E3

With nothing after the +, the notes before it are kept. With spaces around it, the + stands alone and is an error.

3+ 5
  • Error PT004 · line 1, column 2: "+" with no note after it
3 + 5
  • Error PT015 · line 1, column 3: "+" needs a note before it

How chords are drawn

G3

Highest pitch on top, from your pan, then letters. If a note isn’t on your pan, by number: bottom notes lowest, then the Ding, then the top notes.

Dynamics

How loud a passage is, in braces. A marking lasts until the next one. Everything starts at mf.

Levels

Spec §3.6 · M6

Each multiplies the loudness: {pp} ×0.4, {p} ×0.6, {mp} ×0.8, {mf} ×1, {f} ×1.2, {ff} ×1.4. Nothing goes above 1.

{p}
1 2 3 4
{f}
1 2 3 4

Where they go

Spec §3.6 · A3

On their own line, after a section name ([Intro] {p}), or inside a row between beats. Spaces inside the braces are fine.

{p} 5 3 {f} 5 3
{ f }
5 3

Every hand

M6

A marking applies to both hands from where it’s written. The same marking in the L and R rows at the same beat counts once.

L: {p} D - D -
R: - 3 - 5

Get louder or softer: {cresc} {dim}

Spec §3.6 · M7

Moves one level (mf → f, or mf → mp), reaching it at the next marking or section (or the end), then holds. Stops at pp and ff.

{p}
1 2 3 4
{cresc}
1 2 3 4
{f}
5 6 7 8

Unknown markings

E6

Lowercase only, and only the names above. Anything else is an error and is dropped.

{loud}
5
  • Error PT007 · line 1, column 1: Unknown dynamic "{loud}"
{F}
5
  • Error PT007 · line 1, column 1: Unknown dynamic "{F}"

Hands and rows

Write each hand on its own row. Rows written together play together, beat by beat.

L: and R:

Spec §3.7

Rows next to each other form one system: their beats line up in columns and play at the same time.

L: D - D -
R: - 3 - 5

No space needed after the colon

L1

L:5 works.

L:5 - 3 -

Lines without a hand

Spec §3.7

A beat line with no L: or R: is a one-row system, with no hand.

D 5 7 5

What ends a system

Y1

Any line that isn’t an L: or R: row: a blank line, a section, a marker, a header or a line without a hand. Comments don’t.

L: 1 2
# still the same system
R: 3 4

The same hand twice

Y2

Starts a new system: R, L, R is two systems (R with L, then R alone).

R: 1 2
L: 3 4
R: 5 6

Rows of different lengths

E7 · V6 · T1 · G1

A warning, not an error, on each shorter row. The system lasts as long as its longest row; shorter rows are silent at the end and padded with empty cells. A split beat counts as one beat; barlines and markings don’t count.

L: 1 2 3 4
R: 5 6 7
  • Warning PT012 · line 2, column 1: R row has 3 beats; L row has 4 beats

An empty row

Y3

Kept, and warned about like any shorter row.

L:
R: 3 4
  • Warning PT012 · line 1, column 1: L row has 0 beats; R row has 2 beats

Each hand is one stream

T4

All L rows are one stream through the whole tab, all R rows another, and lines without a hand a third. A note rings until the next thing in its own stream.

Bars and the grid

How a tab is drawn. None of this changes what plays.

Bars

T5

A bar ends at |, |: or :|, and at the end of the line. A system has as many bars as its longest row.

D 3 5 3 | D 5 7 5
D 3 5 3

Rows with different bars

G1

The system’s bars come from the row with the most bars, so every row shares the same columns.

L: D - | D -
R: 3 5 7 5

Counts under the grid

G2 · H6

From @time; 4/4 if it’s missing. They restart at each bar and go round again in a bar longer than the meter. N/8 with an even N counts “1 + 2 + …”; everything else counts “1 2 3 …”.

@time 3/4
1 2 3 4 5
@time 8/8
1 2 3 4 5 6 7 8
@time 6/8
1 2 3 4 5 6

Counts in split beats

G4

In /4 (and /2, /1) meters, a beat split in 2 shows “+”, in 4 shows “e + a”. Anything else, and any split in /8 meters, shows a dot per extra column. When rows split a beat differently, the widest split is labelled.

(1 2) (1 2 3 4) (1 2 3) 5

Where markings are drawn

G5

A section, @tempo change, dynamic or {loop} written before a line goes on its first cell. One at the end of a line goes on the next line. The same marking in two rows shows once; if rows disagree, the first row’s wins.

[A] {p}
5 3 5 3 {f}
5 3 5 3

Lines with no beats

G6

Aren’t drawn. Their markings carry on to the next line with beats. A section with no beats after it isn’t shown.

Sections, repeats and loops

How a tab is organised, and the order it plays in.

Sections: [Name]

Spec §3.7 · S3

On its own line. The name is whatever is between the brackets, trimmed; spaces and hyphens are fine.

[Verse 1]
D 1 2 3

A marking after a section

Spec §3.9 #5 · S1

A section can be followed by one marking on the same line: a dynamic or {loop}.

[Intro] {p}
D 3 5 3
[Groove] {loop}
D 3 5 3

Nothing else after a section

L3

With anything else after the ], the line isn’t a section: it’s read as a beat line, and gives confusing errors (the t and o in “Intro” read as marks).

[Intro] 5
  • Error PT001 · line 1, column 1: Unknown symbol "[In"
  • Error PT006 · line 1, column 4: "t" goes right after a note, e.g. 3t
  • Error PT001 · line 1, column 5: Unknown symbol "r"
  • Error PT006 · line 1, column 6: "o" goes right after a note, e.g. 3o
  • Error PT001 · line 1, column 7: Unknown symbol "]"

A section needs a name

S2

Empty brackets are an error and the section is dropped. A marking after it is kept.

[ ] {p}
5
  • Error PT015 · line 1, column 1: A section needs a name, e.g. [Intro]

Repeats: |: … :|

Spec §3.7 · B11

:| plays the part twice in all; :|x4 plays it 4 times.

|: D 3 5 3 :|
|: D 3 :|x4

Repeats can span lines

V1

Tracked per hand (L, R, no hand) through the whole tab. Sections don’t reset them.

|: D 3 5 3
5 3 D - :|

Repeats are shared by both hands

R1 · Q12

All rows play in one order, read from the signs in every row. The same sign at the same beat in L and R counts once. If only one row has a sign, it still repeats both hands (open question Q12).

L: |: D - D - :|
R: |: - 3 - 5 :|

:| with no |:

V2 · R2

A warning. It plays like printed music: it repeats from the end of the previous repeat, or from the start.

D 3 :| 5

Plays D 3 D 3 5.

  • Warning PT013 · line 1, column 5: ":|" with no matching "|:"

|: that never closes

V3

No warning; it plays once.

|: D 3 5 3

x1 and x0

V4

A warning; the part plays once.

|: D 3 :|x1
  • Warning PT016 · line 1, column 8: Repeat count x1 plays the section once; use x2 or more

:|x with no number

N35

An error: the x is a mark with no note. Write the count, e.g. :|x2.

|: D 3 :|x
  • Error PT006 · line 1, column 10: A repeat count needs a number, e.g. :|x2

No repeats inside repeats

R3

A second |: before the :| moves the start there, with no warning.

|: 1 2 |: 3 4 :|

Plays 1 2 3 4 3 4.

Endings: [1. [2.

Spec §3.7 · R4 · V5

On pass 1 the repeat plays up to its first ending, then [1.; on pass 2 the same, then [2. A [2. right after the :| is simply what follows. With more passes than endings, a pass with no ending plays only the shared part.

|: D 3 [1. 5 3 :| [2. 7 5 |

Plays D 3 5 3, then D 3 7 5.

|: D 3 [1. 5 :|x3 7

Plays D 3 5, D 3, D 3, then 7.

Endings need a repeat

V5

[1. needs an open repeat. [2. needs an open repeat or one that just closed.

[1. 5 3
  • Warning PT014 · line 1, column 1: Ending with no repeat

What repeats

R6

Each pass sounds the same, dynamics included (they follow the written order). Sections are listed once, where they first play.

Loop: {loop}

Spec §3.7 · R5 · A3

While playing, everything from the first {loop} to the end loops for ever. It can go on its own line, after a section, or inside a row. A {loop} with nothing after it is ignored.

D 3
{loop}
5 7 5 3
D 3 {loop} 5 7

Headers

Information about the tab, at the top, one per line: @key then the value. Keys are lowercase.

The headers

Spec §3.8

@title, @composer, @arranger, @scale (the scale it was written for, e.g. D Kurd), @tuning (e.g. 432 Hz), @tempo, @time, @feel (how it should feel) and @notes (anything else).

@title Morning
@scale D Kurd
@tempo 90
@time 4/4
D 3 5 3

Where headers stop

H1

The header block ends at the first section, marking, row or beat line. Blank lines and comments between headers are fine.

Unknown keys

H2

A warning; the header is still kept. Keys are case-sensitive.

@Title Morning
5
  • Warning PT008 · line 1, column 1: Unknown header "@Title"
@pantab 1.0
5
  • Warning PT008 · line 1, column 1: Unknown header "@pantab"

The same header twice

H3

Both are kept, no warning; the first one is used.

@title A
@title B
5

@tempo

Spec §3.8 · H4 · M8

Beats (cells) per minute: a plain number above 0, decimals allowed, no units. Anything else is an error and is ignored. With no @tempo, 80.

@tempo 72.5
D 3 5 3
@tempo fast
5
  • Error PT010 · line 1, column 1: Tempo must be a number above 0
@tempo 0
5
  • Error PT010 · line 1, column 1: Tempo must be a number above 0

Changing tempo partway

H7 · R7

@tempo on its own line in the body changes the speed from there, in play order: a change inside a repeat carries into the next pass. The player’s speed control scales it from 25% to 200%.

@tempo 60
D 3 5 3
@tempo 120
D 3 5 3

Other headers in the body

H8

A warning; still kept.

5
@title Late
  • Warning PT009 · line 2, column 1: Header after the body has started (only @tempo is allowed)

@time

Spec §3.8 · H5

N/D: N is the number of beats (cells) in a bar, 1 to 64; D is 1, 2, 4, 8, 16 or 32. 8/8 means 8 eighth-note cells a bar. Anything else is an error; the header is kept as text.

@time 4/5
5
  • Error PT011 · line 1, column 1: Invalid time signature "4/5" (expected e.g. 4/4, 3/4, 8/8)
@time 65/4
5
  • Error PT011 · line 1, column 1: Invalid time signature "65/4" (expected e.g. 4/4, 3/4, 8/8)

Your pan

Not part of a tab: these are the rules for setting up a pan in My Pans, which decide what each number plays.

Numbering

I6

The Ding is always D, whatever its pitch. The other top notes are numbered 1, 2, 3… from lowest to highest. On the diagram the ring around the Ding is evenly spaced, 1 at the bottom, zig-zagging left and right up to the top.

Extra top notes: the inner ring

X1

Notes between the Ding and the ring are numbered with the others by pitch (so 10, 11… on a pan with 9 around the Ding). The ring only decides where a note is drawn: in an arc across the top.

Bottom notes

X2

Notes on the underside are B1, B2… from lowest to highest, numbered on their own, and drawn outside the shell.

Writing a pitch

I1

A capital letter A–G, at most one # or b, then an octave 0–8: Bb3, C#4. No ♯ or ♭ signs, double sharps or flats, spaces or small letters.

Octaves

I2

The octave number changes at C, so Cb4 is B3 and B#3 is C4. A4 is the A above middle C (C4).

A pitch that can’t be read

I3

An error; that note is left out and the rest are still numbered.

Up to 20 on top and 20 underneath

I4 · N3

More is an error; the lowest 20 are kept. A crowded ring draws its notes smaller.

The same pitch twice

I5

A warning (A#3 and Bb3 count as the same, and so does a note equal to the Ding). Both are kept.

Reference pitch

I7

New pans start at A4 = 440 Hz, the usual tuning. You can change it per pan.

Error codes

Errors mark something PanTab couldn’t read (it’s skipped). Warnings mark something it read but that may not be what you meant.

CodeKindMeaning
PT001ErrorUnknown token
PT002ErrorUnclosed "("
PT003ErrorUnexpected ")"
PT004Error"+" with no note after it
PT005ErrorEmpty split beat "()"
PT006ErrorMark with no note before it
PT007ErrorUnknown dynamic
PT008WarningUnknown header
PT009WarningHeader after the body has started (only @tempo is allowed)
PT010ErrorTempo must be a number above 0
PT011ErrorInvalid time signature
PT012WarningRows in a system have different beat counts
PT013Warning":|" with no matching "|:"
PT014WarningEnding with no repeat
PT015ErrorValid symbol in the wrong place
PT016WarningRepeat count below 2 (plays once)
PT017WarningNote not on this pan (silent)
PT018ErrorNote number out of range (1–20, B1–B20)
PT019ErrorMark can't go on this sound
PT020ErrorMarks that can't go together
PT021WarningChord too big
PT022WarningSplit beat inside a split beat