Skip to main content

Structural Metadata

For some songs you might want to define that the song has multiple tracks, staves or voices.

  • Multiple tracks are used when multiple instruments are playing together in one song.
  • Multiple staves are typically used to write grand staff piano notation (left hand/right hand) or splitup voices for readability.
  • Multiple voices are typically used to write notation where multiple independent timings and pitches are played. This can be if multiple vocals are singing together (hence the name voices), or special playing techniques (playing a base rhythm and melody on the same instrument).

In alphaTex new tracks, staves and voices are started with their respective metadata tags specified at the start of a bar:

  • \track
  • \staff
  • \voice

alphaTab refers to these kind of metadata tags as "structural" tags as they define the general structure of the song.

The initial track, staff or voice is implicitly started. Only on the "second" item you need to specify the tags. For clarity it is encouraged to also specify the initial item if there are multiple tracks, staves or voices.

\track​

Tag Syntax
\track
\track longName
\track (shortName longName)

Description: Marks the start of a new track

Values:

NameDescriptionTypeRequired
longNameThe long name of the trackstringno
shortNameThe short name of the trackstringno

The displayed name depends on the configured Track Name Policy. If the short name is not specified, the first 10 characters of the long name are used as short name.

Example

\track "First Track" "frst" C4 D4 E4 F4 \track C5 D5 E5 F5
\track "First Track" "frst" 
C4 D4 E4 F4
\track
C5 D5 E5 F5

Following properties are available.

color​

Syntax
color colorCode

Description:

The data model holds information about the color of the track which might be used by user interfaces to visually differenciate them. This data mainly originates from the Guitar Pro file format where colors are used to differenciate the tracks in the track picker and some other visualizations. It does not have an impact on the color of the music notation but can be used in a custom UI.

Values:

NameDescriptionTypeRequired
colorCodeThe colorCode in any supported color formatstringyes

Example:

\track { color "#FF0000" } 1.1 2.1 3.1 4.1
\track { color "#FF0000" }
1.1 2.1 3.1 4.1

systemsLayout​

Syntax
systemsLayout (numberOfBars numberOfBars...)

Description: Defines the number of bars to display per system.

The systemsLayout and defaultSystemsLayout allow configuring the system layout. The system layout, defines how many bars should be displayed per system (line) if enabled via systemsLayoutMode.

Values:

NameDescriptionTypeRequired
numberOfBarsDefines for every system (line) the number of bars it should containnumber (repeated)yes

Example:

\title "Single Track" \track { systemsLayout (2 3 2) } :1 c4 | c4 | c4 | c4 | c4 | c4 | c4
\title "Single Track"
\track { systemsLayout (2 3 2) }
:1 c4 | c4 | c4 | c4 | c4 | c4 | c4

defaultSystemsLayout​

Syntax
defaultSystemsLayout numberOfBars`

Description: Defines the default number of bars to display per system.

The systemsLayout and defaultSystemsLayout allow configuring the system layout. The system layout, defines how many bars should be displayed per system (line) if enabled via systemsLayoutMode.

Values:

NameDescriptionTypeRequired
numberOfBarsDefines for every system (line) the number of bars it should containnumberyes

Example:

\title "Single Track" . \track { defaultSystemsLayout 2 } :1 c4 | c4 | c4 | c4 | c4 | c4 | c4
\title "Single Track"
.
\track { defaultSystemsLayout 2 }
:1 c4 | c4 | c4 | c4 | c4 | c4 | c4

solo​

Syntax
solo

Description: Set the track to be played alone in the data model.

Values: None

Example:

\track { solo } 1.1 2.1 3.1 4.1 \track 10.1 11.1 12.1 13.1
\track { solo }
1.1 2.1 3.1 4.1
\track
10.1 11.1 12.1 13.1

mute​

Syntax
mute

Description: Set the track to be muted (not played) in the data model.

Values: None

Example:

\track 1.1 2.1 3.1 4.1 \track { mute } 10.1 11.1 12.1 13.1
\track 
1.1 2.1 3.1 4.1
\track { mute }
10.1 11.1 12.1 13.1

volume​

Syntax
volume value

Description: Set the track volume in the data model.

Values:

NameDescriptionTypeRequired
valueThe volume to setnumber (0-16)yes

Example:

\track { volume 0 } 1.1 2.1 3.1 4.1 \track { volume 16 } 10.1 11.1 12.1 13.1
\track { volume 0 } 
1.1 2.1 3.1 4.1
\track { volume 16 }
10.1 11.1 12.1 13.1

balance​

Syntax
balance value

Description: Set the track balance in the data model.

Values:

NameDescriptionTypeRequired
valueThe balance to setnumber (0-16; 8 is centered)yes

Example:

\track { volume 0 } 1.1 2.1 3.1 4.1 \track { volume 16 } 10.1 11.1 12.1 13.1
\track { volume 0 } 
1.1 2.1 3.1 4.1
\track { volume 16 }
10.1 11.1 12.1 13.1

instrument​

Syntax
instrument value

Description: Set the midi instrument for this track.

Values:

NameDescriptionTypeRequired
valueThe MIDI instrument to setnumber (MIDI program number 0-127) or string (midi instrument name)yes

Refer to the following list of names you can use.

NumberName
0Acoustic Grand Piano
1Bright Grand Piano
2Electric Grand Piano
3Honky tonk Piano
4Electric Piano 1
5Electric Piano 2
6Harpsichord
7Clavinet
8Celesta
9Glockenspiel
10Musicbox
11Vibraphone
12Marimba
13Xylophone
14Tubularbells
15Dulcimer
16Drawbar Organ
17Percussive Organ
18Rock Organ
19Church Organ
20Reed Organ
21Accordion
22Harmonica
23Tango Accordion
24Acoustic Guitar Nylon
25Acoustic Guitar Steel
26Electric Guitar Jazz
27Electric Guitar Clean
28Electric Guitar Muted
29Overdriven Guitar
30Distortion Guitar
31Guitar Harmonics
32Acoustic Bass
33Electric Bass Finger
34Electric Bass Pick
35Fretless Bass
36Slap Bass 1
37Slap Bass 2
38Synth Bass 1
39Synth Bass 2
40Violin
41Viola
42Cello
43Contrabass
44Tremolo Strings
45Pizzicato Strings
46Orchestral Harp
47Timpani
48String Ensemble 1
49String Ensemble 2
50Synth Strings 1
51Synth Strings 2
52Choir Aahs
53Voice Oohs
54Synth Voice
55Orchestra Hit
56Trumpet
57Trombone
58Tuba
59Muted Trumpet
60French Horn
61Brass Section
62Synth Brass 1
63Synth Brass 2
64Soprano Sax
65Alto Sax
66Tenor Sax
67Baritone Sax
68Oboe
69English Horn
70Bassoon
71Clarinet
72Piccolo
73Flute
74Recorder
75Pan Flute
76Blown bottle
77Shakuhachi
78Whistle
79Ocarina
80Lead 1 Square
81Lead 2 Sawtooth
82Lead 3 Calliope
83Lead 4 Chiff
84Lead 5 Charang
85Lead 6 Voice
86Lead 7 Fifths
87Lead 8 Bass and Lead
88Pad 1 newage
89Pad 2 warm
90Pad 3 polysynth
91Pad 4 choir
92Pad 5 bowed
93Pad 6 metallic
94Pad 7 halo
95Pad 8 sweep
96Fx 1 rain
97Fx 2 soundtrack
98Fx 3 crystal
99Fx 4 atmosphere
100Fx 5 brightness
101Fx 6 goblins
102Fx 7 echoes
103Fx 8 scifi
104Sitar
105Banjo
106Shamisen
107Koto
108Kalimba
109Bag pipe
110Fiddle
111Shanai
112Tinkle Bell
113Agogo
114Steel Drums
115Woodblock
116Taiko Drum
117Melodic Tom
118Synth Drum
119Reverse Cymbal
120Guitar Fret Noise
121Breath Noise
122Seashore
123Bird Tweet
124Telephone Ring
125Helicopter
126Applause
127Gunshot

Example:

\track { instrument 0 } C4 C5 r r \track { instrument "Acoustic Steel Guitar" } \tuning (E4 B3 G3 D3 A2 E2) r r 12.1 13.1
\track { instrument 0 } 
C4 C5 r r
\track { instrument "Acoustic Steel Guitar" }
\tuning (E4 B3 G3 D3 A2 E2)
r r 12.1 13.1

bank​

Syntax
bank value

Description: Set the MIDI bank to select when playing this track.

The loaded soundfont needs to have this bank defined, otherwise there might be no audio.

Values:

NameDescriptionTypeRequired
valueThe midi bank to setnumberyes

Example:

\track { instrument 25 bank 2 }
\track { instrument 25 bank 2 }

multiBarRest​

Syntax
multiBarRest

Description: Enables the display of multibar rests if this track is shown as standalone.

Values: None

Example:

\track { multiBarRest } C4*4 | r.1 | r.1 | r.1 | C4 * 4
\track { multiBarRest } 
C4*4 | r.1 | r.1 | r.1 | C4 * 4
\track C4*4 | r.1 | r.1 | r.1 | C4 * 4
\track
C4*4 | r.1 | r.1 | r.1 | C4 * 4

\staff​

Tag Syntax
\staff

Description: Marks the start of a new staff.

The staff with the largest number of bars defines how long the overall song is. There is no need to manually ensure that all staves have the correct number of bars. AlphaTab will create missing empty bars automatically.

Values: None

Example

\track "Piano with Grand Staff" "pno." \staff{score} \tuning piano \instrument acousticgrandpiano c4 d4 e4 f4 | \staff{score} \tuning piano \clef F4 c2 c2 c2 c2 | \track "Guitar" \staff{tabs slash} \capo 5 1.2 3.2 0.1 1.1
\track "Piano with Grand Staff" "pno."
\staff{score} \tuning piano \instrument acousticgrandpiano
c4 d4 e4 f4 |
\staff{score} \tuning piano \clef F4
c2 c2 c2 c2 |
\track "Guitar"
\staff{tabs slash} \capo 5
1.2 3.2 0.1 1.1

Following properties are available.

If no properties describing the visible notation are provided, the default is score tabs.

score​

Syntax
score lineCount

Description: Enable the display of standard notation.

Values:

NameDescriptionTypeRequired
lineCountThe number of staff linesnumberno (default: 5)

Example:

\track \staff {score 3} D4 D4 D4 D4 \staff {score} C4 C4 C4 C4
\track
\staff {score 3}
D4 D4 D4 D4
\staff {score}
C4 C4 C4 C4

tabs​

Syntax
tabs

Description: Enable the display of guitar tablature.

Guitar tabs are only shown if the contained notes are stringed/fretted notes.

Values: None

Example:

\track \staff {tabs} 3.3 4.3 5.3 5.5
\track
\staff {tabs}
3.3 4.3 5.3 5.5

slash​

Syntax
slash

Description:

Enable the display of slash notation.

Values: None

Example:

\track \staff {tabs slash} 3.3 4.3 5.3 5.5
\track
\staff {tabs slash}
3.3 4.3 5.3 5.5

numbered​

Syntax
numbered

Description: Enable the display of numbered notation (Jianpu).

Values: None

Example:

\track \staff {score numbered} C4 D4 E4 F4
\track
\staff {score numbered}
C4 D4 E4 F4

\voice​

Tag Syntax
\voice

Description: Marks the start of a new voice.

Unlike the structure in the data model, alphaTex expects you to define all bars of a voice, then all the bars of the next voice.

It structure is: \voice /* Voice 1 Bar 1*/ | /* Voice 1 Bar 2*/ \voice /* Voice 2 Bar 1*/ | /* Voice21 Bar 2*/ Once a new voice starts, you again can define the notes starting from the first bar. alphaTab will try to consolidate inconsistencies in the number of bars across voices.

Values: None

Example

\track "Piano" \staff{score} \tuning piano \instrument acousticgrandpiano \voice c4 d4 e4 f4 | c4 d4 e4 f4 \voice c3 d3 e3 f3 | c3 d3 e3 f3 \track "Piano2" \staff{score} \tuning piano \instrument acousticgrandpiano \voice c4 d4 e4 f4 | c4 d4 e4 f4 \voice c3 d3 e3 f3
\track "Piano"
\staff{score} \tuning piano \instrument acousticgrandpiano
\voice
c4 d4 e4 f4 | c4 d4 e4 f4
\voice
c3 d3 e3 f3 | c3 d3 e3 f3

\track "Piano2"
\staff{score} \tuning piano \instrument acousticgrandpiano
\voice
c4 d4 e4 f4 | c4 d4 e4 f4
\voice
c3 d3 e3 f3

There are no properties on this metadata.