Skip to main content

A package to generate metronome tracks from Guitar Pro files.

Project description

Guitar Pro Metronome Extractor

A Python package that generates a metronome track from Guitar Pro files.

Features

  • Extracts tempo information from Guitar Pro (.gp) files.

  • Generates a WAV file containing metronome clicks.

  • Supports variable tempo changes throughout the piece.

  • Supports tempo changes in the middle of a bar.

Installation

You can install the package directly from PyPI using pip:

pip  install  metronome_extractor

Usage

As a Python Package

from metronome_extractor import create_metronome_track, save_as_wav

Example: Generate a metronome track from a Guitar Pro file

input_file = "input.gp"

output_file = "output.wav"
Extract tempo information and generate the metronome track
tempos, total_bars = parse_tempo_changes(extract_gpif(input_file))

metronome_audio = create_metronome_track(tempos, bars=total_bars)

save_as_wav(output_file, metronome_audio)

As a Command-Line Tool


metronome_extractor input.gp output.wav

How it works

  1. Extracts the score.gpif file from the Guitar Pro file (XML format).

  2. Parses the XML to find tempo changes and their positions.

  3. Generates click sounds at appropriate intervals.

  4. Creates a WAV file with the metronome track.

Technical Details

  • Sample rate: 44100 Hz

  • Audio format: 16-bit mono WAV

  • Click duration: 0.02 seconds

  • Click frequency: 1000 Hz

  • Default time signature: 4/4 (four beats per bar)

Future Work

  • Customizable click sounds

    • Allow users to select custom sound sources for metronome clicks.
    • Support different sounds for the first beat of each bar (accent beat).
  • Extended format support

    • Add support for .mp3 export.
    • Add compatibility with legacy Guitar Pro formats (.gpx, .gp5).
    • Implement broader Guitar Pro version compatibility.

Contributing

Feel free to submit issues and enhancement requests! Contributions are welcome.

  1. Fork the repository.

  2. Create a new branch for your feature or bugfix.

  3. Submit a pull request.

License

This project is open source and available under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

metronome_extractor-0.1.5.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metronome_extractor-0.1.5-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file metronome_extractor-0.1.5.tar.gz.

File metadata

  • Download URL: metronome_extractor-0.1.5.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for metronome_extractor-0.1.5.tar.gz
Algorithm Hash digest
SHA256 3ba587d3ae806840e79cacf2dcfdeba78fcadd4e56ad1db076bc1f539dfa4e83
MD5 191ee68e3d8be83335389f6da7ffcf4a
BLAKE2b-256 f4ce403e5f4543db6e97f939165fee5d2e87b991face92723abeec85130cd3b3

See more details on using hashes here.

File details

Details for the file metronome_extractor-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for metronome_extractor-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f26dce272965476c7d9db88c13fecb410576ddea33152749447221ba3296b2d9
MD5 6dfa3aa5a724974e97a940c3aa9bb07f
BLAKE2b-256 a0e25be6638cf6ba89aad609750e295a2fc43fc48b56fb71f2109b2330f46e22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page