CLI pipeline: Guitar Pro / MusicXML → ABC → interleaved ABC
Project description
abcforge
CLI for converting music notation from Guitar Pro, MusicXML into .abc (supports interleaving).
Why? Existing tools like abctoolkit have subtle bugs (patched here) for abc interleaving. The abc2xml script by W.G. Vree has been made importable and easily usable in batch mode. Finally we add a wrapper around MuseScore that batches conversions.
We hope this is useful for reproducability in MIR research for pipelines such as CLAMP3.
Install
pip install abcforge
# or run without installing:
uvx abcforge --help
Commands
abcforge gp2xml <input_dir> <output_dir> # .gp/.gpx/.gp5 → .musicxml (requires MuseScore)
abcforge xml2abc <input_dir> <output_dir> # .musicxml → .abc
abcforge abc2abci <input_dir> <output_dir> # .abc → interleaved .abc
abcforge view <file> # open .abc or .musicxml in browser
All batch commands accept --workers N (default: cpu count), --resume (skip already-converted files), and --log <path> (errors to file instead of stderr).
Viewer
abcforge view opens files at abcviewer.sven.zone. Supports both ABC notation and MusicXML — the viewer auto-detects the format and renders MusicXML via OpenSheetMusicDisplay.
abcforge view song.abc
abcforge view song.musicxml
abcforge view song.abc --url # print URL only, don't open browser
Notes
- MusicXML → ABC conversion uses xml2abc by W.G. Vree (LGPL).
- The vendored
abctoolkitis a patched fork of abctoolkit 0.0.6 with fixes for voice attribute parsing and bar splitting. Do not replace it with the PyPI version. - MuseScore must be installed for
gp2xml.
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 Distribution
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 abcforge-0.1.1.tar.gz.
File metadata
- Download URL: abcforge-0.1.1.tar.gz
- Upload date:
- Size: 56.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
655cdd67013efe071ca5b203453ea746affd7e320b76c2171743000b57293bce
|
|
| MD5 |
d736e0394527124bef991d17c1002875
|
|
| BLAKE2b-256 |
3e8127593aef738ffbec17757e54109e0d063a88ac2775ef975ef6b1e3481004
|
File details
Details for the file abcforge-0.1.1-py3-none-any.whl.
File metadata
- Download URL: abcforge-0.1.1-py3-none-any.whl
- Upload date:
- Size: 70.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
030f8041844bfa0d5658f63e765c175e7ef7b14578ea5ebcdab1a900fee74e41
|
|
| MD5 |
7ca87bbcb3f15334aebad1da8d6ef451
|
|
| BLAKE2b-256 |
cfcf302240bb7b88d5b0d301963079d291f41ee060b45d514e6bbd83135d50dc
|