Projekt ChordsPlay

From JoBaPedia
Jump to navigation Jump to search

ChordsPlay

Play your music collection in the browser while it shows each song's lyrics and guitar chords, fetched automatically from Ultimate Guitar and drawn as large as the screen allows. One server holds the songs, chords and history; any browser is the player. With a Fender Mustang Micro Plus the amp switches its sound by itself, per song and even within a song.

Source: github.com/joba-1/ChordsPlay (AGPL-3.0-or-later). The README shows the screenshots inline.

What it does

Feature Screenshot
Chords and lyrics of the playing song, in up to four columns, as large as the window allows; long comment lines are wrapped when that makes the text bigger. Keyboard-driven, media keys and headset buttons work. playlist and chords
Choosing what to play: filters by title, artist, album, capo, required and accepted chords (e.g. "only G, D, Em, C") and tags, with a live count; saved filters. Tags per user: favourite, easy, hard, locked text … filter dialog
PDF tabs next to the song files are shown instead of the text, margins cropped, two pages side by side when they fit. PDF tab
The song on another screen: a link or QR code (valid 12 hours, no login) for a phone, tablet or a friend's TV, or your own TV paired once. It follows the controller within a second and shows the same text or PDF page. on a phone, on a TV
Guitar tone per song (Mustang Micro Plus): a preset or a tuned tone from the start, a different one at any point of the song (a louder preset for the solo), or one for all songs of an artist; suggestions from a local LLM if wanted. guitar tone dialog
Equal loudness: every preset measured once (test tone through a cable, or by playing the same riff), then each plays level-matched, with −6 … +6 dB per song part. Knobs (gain, EQ, effects) per song by audition, nothing written to the amp unless you choose to. –
Takes: record yourself with the song through the amp's USB output, play them back per song. –

The screenshots show made-up demo songs; the amp in them is simulated with Fender's factory preset names.

How it runs

  • Server: one computer that can read the music (local or a network share) runs the web server; a reverse proxy with a login publishes it.
  • Controller: any browser plays the song. With the Mustang, it is the device paired with the amp, so the song goes through the amp to your headphones.
  • Amp control (only with the Mustang): two small programs on the computer the amp is paired with. They follow your song from the server and switch the amp over Bluetooth LE, without interrupting the Bluetooth audio. The amp part comes from maneline (Micro Plus support from my fork until upstream has it).

Install

Packages for openSUSE Tumbleweed and Leap, Arch and CachyOS, Debian and Raspberry Pi OS: Project OBS Packages. Details, updating and removing: docs/install.md.

Status

Version 1.3, in daily use with one server and one amp computer (CachyOS). Built and install-tested for every listed system. On a Raspberry Pi the amp parts are still untested: Project ChordsPlay Raspberry Pi Test.

Open topics

  • Offer the Micro Plus changes to upstream maneline as pull requests.
  • Amp control on systems with an older BlueZ (Debian 13 and Raspberry Pi OS without the opt-in BlueZ).
  • The song's sound on the TV instead of through the amp (designed, not built).