MetroKnome is a GTK-based digital metronome application designed for musicians, music students, and professionals. It offers precise timing and a variety of features to enhance your practice and performance sessions.
Version: 1.2
- Adjustable BPM (Beats Per Minute) from 1 to 777
- Volume control from 0 to 1
- Customizable time signatures (e.g. 4/4, 3/8, 7/16) with accurate tempo scaling (BPM always represents quarter notes)
- Visual beat indicator with accent colors
- Start/Stop functionality
- Error handling for invalid inputs
- Python 3.6+
- GTK 3.0
- Pygame
- Install system dependencies:
sudo apt-get install python3-gi python3-gi-cairo gir1.2-gtk-3.0
- Install Python packages:
# For better performance on AVX2-capable systems, use:
PYGAME_DETECT_AVX2=1 pip install pygame PyGObject
# Or for standard installation:
pip install pygame PyGObject
- Clone the repository:
git clone https://github.com/cristian158/metroknome.git
cd metroknome
- Run the application:
python MetroKnome.py
- Launch MetroKnome
- Set your desired tempo (1-777 BPM)
- Choose your time signature (e.g. 4/4, 3/8, 7/16)
- Note: The BPM value always represents quarter notes per minute
- Example: 120 BPM in 4/8 will play twice as fast as 120 BPM in 4/4
- Adjust volume (0.0-1.0)
- Press the play button to start the metronome
- The visual indicator will show beat accents in green
We welcome contributions to MetroKnome! If you'd like to contribute, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
If you find MetroKnome useful, please consider supporting its development:
Bitcoin: YourBitcoinAddressHere
Your support helps maintain and improve MetroKnome. Thank you!
- All our contributors and users who have provided valuable feedback
For support or inquiries, please contact us at [email protected] or visit our website.