Version 0.08 ß
Last update : 09/25/00

Rich MIDI Tablature format - RMTF


Introduction

Actually, there are 2 ways to import tablatures in our editors: The goal of the Rich MIDI Tablature format is to combine these 2 ways. The format is based on the use of meta events. By adding to the rhythm information of MIDI files the information of fingering and effects with meta events, all the main tablature information is kept when exporting and importing MIDI sequences.
Furthermore, the code necessary to manage this format is very simple to add.

If most of the tablature editor make use of this simple format, it will be very easy to create a really big and complete tablature archive of MIDI files, compatible with all tablature editor.

As this format description is a ß version, it is not yet complete. So don't hesitate to send me your ideas and comments!

Softwares supporting the Rich MIDI Tablature format


Rich MIDI Tablature format description

TABLATURE INSTRUMENT META EVENT

In each MIDI guitar track, one tablature instrument, at the start of the track, including:
Byte Hex data Description
1 0xFF
2 0x10
3 Data length number of strings +2 (VLQ)
4 Track or channel. For MIDI type 0 files, number of the track starting at 0x01, ending at 0x10 (0x00 reserved). For MIDI type 1 files, number of the track starting at 0x01 (0x00 is for the first master track, which in fact contains no instrumental data)
5 Capodastre position
6 and next MIDI Note of open strings, from higher to lower

TABLATURE NOTE META EVENT

For each NOTE ON event, a tablature note, including:
Byte Hex data Description
1 0xFF
2 0x11
3 Data length (VLQ)
  • 1: only string number information
  • 2: string number + effect number information
  • >2: string number + effect number + effect data information
4 String number 0=higher; increase to lower
5 Effect number » Effects Table
6 and next Effect specific data

TABLATURE CHORD DIAGRAM META EVENT

For each chord diagram:
Byte Hex data Description
1 0xFF
2 0x12
3 Data length (VLQ)
  • number of strings: only chord diagram
  • number of strings + x: chord diagram + chord name with lenght == x
4 to 4 + number of strings Chord diagram : fret number for each string (0 for open string, 255 for unpicked string), higher to lower string
5 + number of strings and next Chord name data

Notes


Effects Table

Simple effects form 0x00 to 0x0F.
Type Hex data Specific data
(none) 0x00
Hammer-on 0x01
Pull-off 0x02
Slide up 0x03
Slide down 0x04
Brush 0x05
Roll (Arpeggio) 0x06
Natural harmonic 0x07
Artificial harmonic 0x08
Simple vibrato 0x09
Simple tremolo 0x0A
Simple trill 0x0B
Bend 0x0C amplitude in 1/4 tones
Muted 0x0D
Dead note 0x0E
Tap 0x0F
Bend up and down 0x10 1/4 tones between first note and bended note, between bended note and returned note
Return bend 0x11 1/4 tones to the returned note
Bend down
(pre-bend and release)
0x12 1/4 tones to the down note
Down stroke 0x13
Up stroke 0x14
Slap 0x15
Pop 0x16
Whammy bar 0x17 depth; speed (relative to tempo?)
Vibrato 0x18 depth; speed (relative to tempo?)
Tremolo 0x19 depth; speed (relative to tempo?)
Trill 0x1A number of trills (rhythm of trills?)
Back to top
Public Domain