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.6.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.6-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: metronome_extractor-0.1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 11dd02323260121926804fc044ea47f392dd4f025f0dc8c2bdede97f2becaa82
MD5 59e1e0e63b3d9c747c9877e9530330e9
BLAKE2b-256 e6bd074c98d30fd7887ad3afc900e0e61df5cbdbe63c3feeca2a5e03a8b563ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for metronome_extractor-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 261544efe64325be6b856b6103b32a244d28e62cd0f039b109d842592170b489
MD5 167f9d5619acafdeac5ac0c84ec20f9f
BLAKE2b-256 eed5f1896bcceade631b3d9dee8c0ee73acee14afec0bf3cbfc035303c208cec

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