Skip to content

Buronn/cotabs

Repository files navigation

Cotabs — the collaborative tablature editor

Write tabs together. Cotabs is a collaborative tablature editor — Guitar Pro–style notation, real-time multi-user editing, and playback right in the browser.


License: PolyForm NC Backend: Go 1.23 Frontend: React 18 Self-hostable

Features · Quick start · Stack · Architecture · License


Status — active WIP. Real-time collaborative editing, Guitar Pro import and in-browser playback work today. Export (.gp / PDF), version history and inline comments are not implemented yet. No automated test suite yet either.

Overview

Cotabs brings the feel of a desktop tab editor to a shared browser tab. Open a song, invite your band, and edit the same score at the same time — every fret, hammer-on, and palm-mute syncs live. Import your .gp files, hear them back with a real SoundFont, and never email a project file again.

The Cotabs tablature editor with multiple instrument tracks
The editor · multi-track tablature with a full notation palette — durations, techniques, dynamics and bar tools.

Features

  • Real-time collaboration — multiple editors on one score, with live cursors and presence.
  • Guitar Pro–style notation — bends, slides, hammer-ons, palm mutes, let-ring, tied notes and more.
  • Multi-instrument tracks — guitars, bass and a dedicated step-grid drum editor.
  • In-browser playback — swappable General-MIDI SoundFonts, count-in, looping and speed control.
  • Import Guitar Pro — drop in a .gp file and start editing immediately.
  • Share & invite — role-based invitations (editor / viewer) by link.
  • Spanish-first, bilingual — neutral Spanish by default, English ready.
Live collaborator cursor on the score Live collaboration — see who's editing where, in real time. Step-grid drum editor Drum editor — program kits on a per-piece step grid.
Playback SoundFont picker Playback SoundFonts — pick a GM bank, or layer one on top for better tones. Collaboration invitation screen Invitations — join a song to collaborate, with an assigned role.
Your songs — the Cotabs library
Your songs · create a new piece or keep editing an existing one.

Quick start (dev)

Copy the env template, then bring up the dev stack — the images install dependencies from the committed lockfiles (go.sum, pnpm-lock.yaml) on build:

cp .env.example .env
docker compose -f compose.yml up

Playback banks (optional). The SoundFont binaries (~107 MB) are not committed. Fetch them once for full-quality playback — otherwise Cotabs falls back to a small built-in CDN bank:

./frontend/public/soundfonts/fetch-soundfonts.sh
Service URL / Address
Frontend http://localhost:21173
API http://localhost:21080
Postgres localhost:21432 — user/pass tabeditor / devpassword
Redis localhost:21379

Stack

Layer Technologies
Backend Go 1.23 · chi · gorilla/websocket · pgx · redis
Frontend React 18 · Vite · Yjs · alphaTab · Zustand
Infra Postgres 16 · Redis 7 · Nginx

More on architecture, roadmap and the data model: see PLAN.md. Guidance for Claude Code: see CLAUDE.md.

License

PolyForm Noncommercial License 1.0.0 — see LICENSE.

Source-available and free for any noncommercial purpose (personal use, study, hobby, education, nonprofits, government). Commercial use — including selling the software, charging for access, or using it for profit — is not permitted. This is intentionally not an OSI "open source" license: the OSI definition forbids restricting commercial use, which is exactly what this license does. For a commercial license, contact the author.


Cotabs · made for people who'd rather be playing.

About

Collaborative Guitar Pro–style tablature editor — real-time multiplayer editing and in-browser playback.

Topics

Resources

License

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Contributors