Introduction

    Tablab is a web application designed for writing tablatures conveniently and swiftly. It offers a collection of instructions allowing users to write and configure elements within the tablature in an atomic manner. By composing these instructions, it becomes possible to create various tablature types.


    Basic Instruction

    The basic instruction is the base instruction of Tablab. It allows writing a specific note in the tablature based on the string and fret numbers relative to this note. Its usage happens as follows:

    string_number-fret_number

    Below are presented a few examples of basic instructions and their effects and outcomes in the tablature:

    Basic InstructionEffectResult on Tablature
    1-0String 1 of the tablature, fret 0
    1) ---0-----------
    2) ---------------
    3) ---------------
    4) ---------------
    5) ---------------
    6) ---------------
    6-0String 6 of the tablature, fret 0
    1) ---------------
    2) ---------------
    3) ---------------
    4) ---------------
    5) ---------------
    6) ---0-----------
    3-5String 3 of the tablature, fret 5
    1) ---------------
    2) ---------------
    3) ---5-----------
    4) ---------------
    5) ---------------
    6) ---------------
    4-7String 4 of the tablature, fret 7
    1) ---------------
    2) ---------------
    3) ---------------
    4) ---7-----------
    5) ---------------
    6) ---------------

    Techniques

    The basic instruction also allows the indication of specific techniques used to play certain notes, such as bend, slide, hammer-on, pull-off, among others. To do this, indicate the desired technique within the basic instruction, following the fret number. Thus, the use of the basic instruction with technique indication happens as follows:

    string_number-fret_number_with_technique

    Below are some examples of basic instructions with technique indication and their outcomes in the tablature:

    TechniqueBasic InstructionResult on Tablature
    Slide Up1-5/7
    1) ---5/7---------
    2) ---------------
    3) ---------------
    4) ---------------
    5) ---------------
    6) ---------------
    Slide Down3-7\5
    1) ---------------
    2) ---------------
    3) ---7\5---------
    4) ---------------
    5) ---------------
    6) ---------------
    Bend3-7b9
    1) ---------------
    2) ---------------
    3) ---7b9---------
    4) ---------------
    5) ---------------
    6) ---------------
    Hammer-On2-7h9
    1) ---------------
    2) ---7h9---------
    3) ---------------
    4) ---------------
    5) ---------------
    6) ---------------
    Pull-Off5-8p7
    1) ---------------
    2) ---------------
    3) ---------------
    4) ---------------
    5) ---8p7---------
    6) ---------------

    Advanced Instructions

    In addition to the basic instruction, Tablab provides additional instructions to assist in the tablature writing process. These instructions expand the Tablab's capabilities, allowing for:

    • Writing notes in tablatures that are not possible to write with the basic instruction only;
    • More practical and convenient tablature writing process;
    • Formatting and customizing the disposition of notes in the tablature;
    • Marking headers and footer sections in the tablature.

    Merge

    The merge instruction allows writing multiple basic instructions at the same tablature time, that is, at the same vertical position. It is essential for composing chords and compound notes in the tablature. Its usage happens in any of the following ways:

    • Extended notation:
      merge { basic_instructions }
    • Short notation:
      m { basic_instructions }

    Below are some examples of merge instructions and their outcomes in the tablature:

    Merge InstructionResult on Tablature
    merge { 1-0 2-0 3-0 4-0 5-0 6-0 }
    1) ---0-----------
    2) ---0-----------
    3) ---0-----------
    4) ---0-----------
    5) ---0-----------
    6) ---0-----------
    merge { 1-0 2-2 3-2 4-2 5-0 }
    1) ---0-----------
    2) ---2-----------
    3) ---2-----------
    4) ---2-----------
    5) ---0-----------
    6) ---------------
    m { 1-0 2-1 3-0 4-2 5-3 }
    1) ---0-----------
    2) ---1-----------
    3) ---0-----------
    4) ---2-----------
    5) ---3-----------
    6) ---------------
    m { 5-7 6-5 }
    1) ---------------
    2) ---------------
    3) ---------------
    4) ---------------
    5) ---7-----------
    6) ---5-----------

    Repeat

    The repeat instruction allows writing instructions in the tablature repeatedly. It can write instructions of any type, including itself. It is helpful to write repetitive patterns in the tablature. Its usage happens in any of the following ways:

    • Extended notation:
      repeat ( number_of_repetitions ) { instructions_to_repeat }
    • Short notation:
      r ( number_of_repetitions ) { instructions_to_repeat }

    Below are some examples of repeat instructions and their outcomes in the tablature:

    Repeat InstructionResult on Tablature
    repeat(2) { 1-0 2-0 3-0 }
    1) --0--------0--------------------------------
    2) -----0--------0-----------------------------
    3) --------0--------0--------------------------
    4) --------------------------------------------
    5) --------------------------------------------
    6) --------------------------------------------
    repeat(3) { 1-0 2-0 3-0 }
    1) --0--------0--------0-----------------------
    2) -----0--------0--------0--------------------
    3) --------0--------0--------0-----------------
    4) --------------------------------------------
    5) --------------------------------------------
    6) --------------------------------------------
    r(2) { merge { 5-7 6-5 } 5-7 6-5 }
    1) --------------------------------------------
    2) --------------------------------------------
    3) --------------------------------------------
    4) --------------------------------------------
    5) --7--7-----7--7-----------------------------
    6) --5-----5--5-----5--------------------------
    r(2) { repeat(3) { 1-0 2-0 } 3-0 }
    1) --0-----0-----0--------0-----0-----0--------
    2) -----0-----0-----0--------0-----0-----0-----
    3) --------------------0--------------------0--
    4) --------------------------------------------
    5) --------------------------------------------
    6) --------------------------------------------

    Break

    The break instruction denotes the end of the current block in the tablature. It instructs Tablab to write the instructions provided after it in a new tablature block. Its usage happens in any of the following ways:

    • Extended notation:
      break
    • Short notation:
      b

    Spacing

    The spacing instruction allows the control of the spacing between notes in the tablature. The spacing value defines the number of - characters written between notes in the tablature. Its usage happens in any of the following ways:

    • Extended notation:
      spacing ( number_of_spacing_characters )
    • Short notation:
      s ( number_of_spacing_characters )

    Below are some examples of instructions using the spacing instruction and their outcomes in the tablature:

    Instructions using the spacing instructionResult on Tablature
    1-0 spacing(4) 1-0 spacing(2) 1-0
    1) ---0----0--0---
    2) ---------------
    3) ---------------
    4) ---------------
    5) ---------------
    6) ---------------
    1-0 s(1) 3-0 s(4) 2-0
    1) ---0-----------
    2) ----------0----
    3) -----0---------
    4) ---------------
    5) ---------------
    6) ---------------

    Header

    The header instruction marks the beginning of a section in the tablature. This mark is followed by a header message written above the current tablature block. Its usage happens in any of the following ways:

    • Extended notation:
      header ( header_message )
    • Short notation:
      h ( header_message )

    Below are some examples of instructions using the header instruction and their outcomes in the tablature:

    Instructions using the header instructionResult on Tablature
    header(Intro) header(Chorus)
          | Intro   | Chorus      
    1) ---|---------|-------------
    2) ---|---------|-------------
    3) ---|---------|-------------
    4) ---|---------|-------------
    5) ---|---------|-------------
    6) ---|---------|-------------
    h(Intro) 2-0 4-0 h(Chorus) 3-0 5-0
          | Intro     | Chorus    
    1) ---|-----------|-----------
    2) ---|---0-------|-----------
    3) ---|-----------|---0-------
    4) ---|-------0---|-----------
    5) ---|-----------|-------0---
    6) ---|-----------|-----------

    Footer

    The footer instruction marks the end of a section in the tablature. This mark is preceded by a footer message written below the current tablature block. Its usage happens in any of the following ways:

    • Extended notation:
      footer ( footer_message )
    • Short notation:
      f ( footer_message )

    Below are some examples of instructions using the footer instruction and their outcomes in the tablature:

    Instructions using the footer instructionResult on Tablature
    footer(x2) footer(x3)
    1) ------|------|-------------
    2) ------|------|-------------
    3) ------|------|-------------
    4) ------|------|-------------
    5) ------|------|-------------
    6) ------|------|-------------
          x2 |   x3 |             
    2-3 4-5 f(x2) 4-5 5-7 f(x3)
    1) -----------|-----------|---
    2) ---3-------|-----------|---
    3) -----------|-----------|---
    4) -------5---|---5-------|---
    5) -----------|-------7---|---
    6) -----------|-----------|---
               x2 |        x3 |   

    Composing the Tablature

    In order to compose a tablature in Tablab, first, it is necessary to identify the sequence of instructions required to write the notes of the desired tablature. Then, consolidate these instructions with spaces into a single instruction. Tablab will use this final instruction to generate your tablature.