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:
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
audiogroup: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)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|