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 · L7Spaces 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 · Y1A 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
L4A # 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
L6Characters 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
E1The 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.
On your D Kurd 10: D D3 · 1 A3 · 2 Bb3 · 3 C4 · 4 D4 · 5 E4 · 6 F4 · 7 G4 · 8 A4 · 9 C5
The Ding and the notes
Spec §3.1 · X1D 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 · N28A 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
X2Notes 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.1Note 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 · N40, 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 · N512 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 · X5Plays 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.2Each note, chord, rest or sound is one beat.
D 3 5 3
Rest: -
Spec §3.2Nothing new is played; whatever is ringing keeps ringing.
D - 3 -
Ghost note: .
Spec §3.1A 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
T3Until 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 · B6For reading only; it takes no time. It may touch a beat.
D 3 | D 5
|5 6|
Split a beat: ( )
Spec §3.2 · B7Everything 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
N22Notes, chords, rests, ghosts and letters.
(3+5 7) (5 -) (. S) D
Splits inside splits
B4 · T2Allowed, 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 · E5A ( 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.1Flat, relaxed fingers that briefly stick: a snare-like slap.
D S D S
Tak: T
Spec §3.1A 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 · N25A 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.1A bent finger joint knocks the raw shell: a dry, woody knock.
K 3 K 5
Nail: N
Spec §3.1A fingernail flick on the shell or side: a high metallic click.
D N 3 N
Fist: F
Spec §3.1The side or bottom of a loose fist on the shell: a heavy, dull thud.
F 3 F 5
Only these letters
N2Any 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 · N26Struck, then cut short (about 0.15 s).
3 3x 3 3x
Damp: 3*
Spec §3.3 · N24Stops 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 · N27o 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.3Tight, metallic, compressed.
3 3^ 3 3^
Tak on a note: 3t
Spec §3.3A 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 · N29Two quick hits, about 25 ms apart (never more than half the beat).
3' - D' -
Roll: 3"
Spec §3.3 · N29Even strokes filling the beat, about 10 a second, at least 2.
3" - D" -
Curly quotes work
N14An iPhone types ’ and ” for ' and ": they’re read the same.
3’ - 3” -
Marks on letters
N9 · N13Letters 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 · N16Any 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
N11Only 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
N7The 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.4The Ding included.
D 3+5 D+5 1+3+5
Marks belong to their own note
N173x+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
N19Letters 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
N18Up 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 · N21In 3'+5, 3 lands just before 5. If every note has ', the whole chord flams.
3'+5 - 3'+5' -
+ needs sounds on both sides
E3With 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
G3Highest 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 · M6Each 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 4Where they go
Spec §3.6 · A3On 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 3Every hand
M6A 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 - 5Get louder or softer: {cresc} {dim}
Spec §3.6 · M7Moves 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 8Unknown markings
E6Lowercase 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.7Rows 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
L1L:5 works.
L:5 - 3 -
Lines without a hand
Spec §3.7A beat line with no L: or R: is a one-row system, with no hand.
D 5 7 5
What ends a system
Y1Any 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
Y2Starts 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 · G1A 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
Y3Kept, 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
T4All 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
T5A 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
G1The 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 · H6From @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
G4In /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
G5A 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 3Lines with no beats
G6Aren’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 · S3On 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 · S1A 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 3Nothing else after a section
L3With 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
S2Empty 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
V1Tracked 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 · Q12All 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 · R2A 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
V3No warning; it plays once.
|: D 3 5 3
x1 and x0
V4A 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
N35An 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
R3A 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 · V5On 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
R6Each 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 · A3While 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 3D 3 {loop} 5 7Headers
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
H1The header block ends at the first section, marking, row or beat line. Blank lines and comments between headers are fine.
Unknown keys
H2A 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
H3Both are kept, no warning; the first one is used.
@title A @title B 5
@tempo
Spec §3.8 · H4 · M8Beats (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
H8A 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 · H5N/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
I6The 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
X1Notes 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
X2Notes on the underside are B1, B2… from lowest to highest, numbered on their own, and drawn outside the shell.
Writing a pitch
I1A 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
I2The 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
I3An error; that note is left out and the rest are still numbered.
Up to 20 on top and 20 underneath
I4 · N3More is an error; the lowest 20 are kept. A crowded ring draws its notes smaller.
The same pitch twice
I5A warning (A#3 and Bb3 count as the same, and so does a note equal to the Ding). Both are kept.
Reference pitch
I7New 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.
| Code | Kind | Meaning |
|---|---|---|
| PT001 | Error | Unknown token |
| PT002 | Error | Unclosed "(" |
| PT003 | Error | Unexpected ")" |
| PT004 | Error | "+" with no note after it |
| PT005 | Error | Empty split beat "()" |
| PT006 | Error | Mark with no note before it |
| PT007 | Error | Unknown dynamic |
| PT008 | Warning | Unknown header |
| PT009 | Warning | Header after the body has started (only @tempo is allowed) |
| PT010 | Error | Tempo must be a number above 0 |
| PT011 | Error | Invalid time signature |
| PT012 | Warning | Rows in a system have different beat counts |
| PT013 | Warning | ":|" with no matching "|:" |
| PT014 | Warning | Ending with no repeat |
| PT015 | Error | Valid symbol in the wrong place |
| PT016 | Warning | Repeat count below 2 (plays once) |
| PT017 | Warning | Note not on this pan (silent) |
| PT018 | Error | Note number out of range (1–20, B1–B20) |
| PT019 | Error | Mark can't go on this sound |
| PT020 | Error | Marks that can't go together |
| PT021 | Warning | Chord too big |
| PT022 | Warning | Split beat inside a split beat |