A small PyQt6 app for musicians to display songs teleprompter style,and make short recordings to play along with
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file couchguitar-0.2.0-py3-none-any.whl.
File metadata
- Download URL: couchguitar-0.2.0-py3-none-any.whl
- Upload date:
- Size: 772.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58325adc9c689b47eb83eb98e3de4d97b5c009ccf541bda2d5214b2aa3ff6d91
|
|
| MD5 |
976701190ffe629fa041045cd4b16f1e
|
|
| BLAKE2b-256 |
cc6e528adcc94809c47181b490efb7392050c71d1bf17b7b128564e650504111
|