Skip to content

DemoTabViewer is web platform that can render, store and play Guitar Pro tabulatures in the browser.

Notifications You must be signed in to change notification settings

FireG45/demoTabViewer

Repository files navigation

DemoTabViewer

About demoTabViewer

DemoTabViewer is web platform that can render, store and play Guitar Pro tabulatures in the browser. Built using libraries from the open source TuxGuitar project for reading Guitar Pro files, VexFlow libraries for tablature rendering, Spring Boot for implementing the server part, Postgresql for data storage and MinIo for storing tab files.

  • Guitar Pro is the de facto standard for storing guitar tab music.
  • VexFlow is widely used for rendering sheet music. It features an extensive library of musical elements, but each measure and symbol has to be created and positioned by hand in Javascript.
  • TuxGuitar is a free and open-source tablature editor, which includes features such as tablature editing, score editing, and import and export of Guitar Pro gp3, gp4, and gp5 files.

DemoTabViewer offers an open source solution for digital guitar music viewing, storing and rendering.

Key Features

  • Displays Guitar pro tabs in a browser
  • Soon: Tabulature audio playback (work in progress)
  • Uses Vexflow for rendering and layout
  • Parses most Guitar Pro note effects (Band, Natural/Artificial Harmonics, Palm Mute etc)
  • Soon: Allows modification of the displayed score, like changing note effects and durations (work in progress)
  • Written with React.js and Vexflow

ujQ3TKRKmx

Limitations

  • Supports only Guitar Pro files below v.5
  • Slides / hammer-ons between bars are not supported
  • Web version on mobile doesn't renders properly

Also, demoTabViewer is a renderer, not an interactive music editor. (work in progress)

Build

  • To build the project you must have Docker Engine installed
  • You can build and run all containers with this command: docker compose up --build -d
  • Or build all containers separately:
    • backend: docker build -t server .
    • frontend: docker build -t client font-end
    • postgres: docker run --name postgres -p 5432:5432 -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=admin -e POSTGRES_DB=tab_viewer_db -e PGDATA=/var/lib/postgresql/data/pgdata -d -v "$(pwd)":/var/lib/postgresql/data
    • minio: docker run -p 9000:9000 p 9001:9001 --name minio -v ~/minio/data:/data -e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" quay.io/minio/minio server /data --console-address ":9001"

About

DemoTabViewer is web platform that can render, store and play Guitar Pro tabulatures in the browser.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages