Extract guitar tabs from a TabsLite Android app backup file using the Ultimate Guitar API.
Important
UG's API throttles requests by IP address in a sophisticated release rotation. You get a couple shots a day to perform a full extraction. Sometimes, you may need to just wait awhile (days or a week) before you can sync again.
In Tabs Lite on your android phone, go to
- Settings (Guitar in search field) > Export favorites and playlists.
This will save tabslite_backup.json on your phone. Copy this to your computer.
-
Install dependencies
git clone https://github.com/brege/tabslx npm install -g
-
Configure the extractor
cp config.default.yaml config.yaml
Then edit
config.yamljson: "tabslite_backup.json" data: "tabslite-export" cache: true filename: lowercase: false space: "-" id: true format: "{artist}---{song}-{id}.txt"
jsonis the exported TabsLite backup.datais the output directory (device id cache lives here).filename.spacereplaces whitespace with the given string.filename.idtoggles whether{id}stays in the template.
| Command | Description | Notes |
|---|---|---|
| Basic extraction | tabslx |
|
| Force re-download | tabslx --force |
overwrite files on disk |
| Rotate device identity | tabslx --refresh |
regenerates <data>/.device_id |
| Use custom config | tabslx --config config.yaml |
hierarchy: config.yaml > --config > config.default.yaml |
Filename pattern
- With
filename.id: true# "{artist} - {song} [{id}].txt" 'The Weakerthans - Virtute The Cat Explains Her Departure [1068619].txt'
- With
filename.id: false# "{artist} - {song}.txt" 'The Weakerthans - Virtute The Cat Explains Her Departure.txt'
- Lowercase plus dash spacing:
# "{artist}---{song}-{id}.txt" the-weakerthans---virtute-the-cat-explains-her-departure-1068619.txt