Skip to main content

Couch Guitar

Couch Guitar is a PyQt6-based application designed for home musicians who want to display song lyrics, guitar tabs, and chords in a teleprompter-style interface. This small, open-source app allows musicians to load text files with lyrics, adjust the font size, control scroll speed, and even record practice sessions with audio playback capabilities.

Features

  • Auto-Scrolling Lyrics and Tabs: Display text files with lyrics and chords, and scroll them automatically to follow along while playing.
  • Font and Speed Controls: Adjust font size and scrolling speed to suit your preference.
  • Audio Recording and Playback: Record practice sessions and play back recorded audio for review.
  • Cross-Platform: Works on Windows and Linux.

Installation

Windows

Install directly from PyPI:

pip install couchguitar

Linux

Linux requires PortAudio and FFmpeg for audio functionality. Install system dependencies first:

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install portaudio19-dev ffmpeg
pip install couchguitar

Fedora/RHEL:

sudo dnf install portaudio-devel ffmpeg
pip install couchguitar

Arch Linux:

sudo pacman -S portaudio ffmpeg
pip install couchguitar

From Source

Clone the repository and install locally:

git clone https://github.com/scottpeterman/couchguitar.git
cd couchguitar
pip install .

Usage

To run the app, simply use the following command in your terminal:

couchguitar

Once launched, use the navigation bar on the left to:

  • Load Songs: Load text files with lyrics and chords for display.
  • Control Scroll: Play, pause, and adjust scrolling speed.
  • Record Audio: Record audio sessions up to 15 minutes and save as .wav.

Example

Here's an example of Couch Guitar in use:

Couch Guitar Screenshot

Troubleshooting

Linux Audio Issues

If you encounter audio problems on Linux, verify your setup:

python -c "import sounddevice as sd; print(sd.query_devices())"

This should list your available audio devices. If it fails:

  • Ensure PulseAudio or PipeWire is running
  • Check that your user is in the audio group: groups $USER
  • Try selecting a specific device in your system's audio settings

Missing FFmpeg

Audio file loading requires FFmpeg. Verify installation:

ffmpeg -version

If not found, install it using your package manager (see Linux installation above) or download from ffmpeg.org.

License

MIT License - See LICENSE file for details.

Metadata

Release files for couchguitar 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for couchguitar 0.2.0
File Interpreter ABI Platform
couchguitar-0.2.0-py3-none-any.whl Python 3 none any Details

Release files / couchguitar-0.2.0-py3-none-any.whl

Download URL couchguitar-0.2.0-py3-none-any.whl
Size 772.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58325adc9c689b47eb83eb98e3de4d97b5c009ccf541bda2d5214b2aa3ff6d91
BLAKE2b-256 checksum
How to use checksums
cc6e528adcc94809c47181b490efb7392050c71d1bf17b7b128564e650504111
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page