For a hobby as niche as bagpipe, there is a shockingly large amount of sheet music notation software options. Thankfully, this means many people can access the sheet music editor of their choice, most of which can compile pdfs for exchanging music freely. Unfortunately, this creates silos for musicians, arrangers, and composers, as it adds a barrier for sharing music that is editable.
pibroxide aims to provide a method to convert various bagpipe music file
formats to each other, as well as readily convert any supported format to pdf or
mp3.
pibroxide is a portmanteau of the anglicization (pibroch) of
"piobaireachd", the Scottish Gaelic
word for "pipe music", also known as the "classical music of the highland
bagpipe", and "-oxide", a suffix used for many
Rust-based projects.
Currently, pibroxide supports lilypond and
BMW file format with both parsers
and readers. This means it can both read in lilypond files, as well as export
them. As the project grows, the main focus will be to support additional file
types with readers and writers.
The planned file types for added support include, in order of preference:
.bww, used by Bagpipe Music Writer Gold and Bagpipe Player.mxl/.musicxml, used by MuseScore.abc, a music file format primarily used for celtic and traditional music- Celtic Pipes? Ensemble? Who knows?
In addition to being able to import and export files in the supported formats, it can also export not only pdf files, but also midi files and mp3 files, all generated by lilypond.
Every bagpipe Tune can be represented as a series of Parts (usually two or
four). Every Part can be represented as a series of Measures (usually four
(repeated) or eight (sometimes repeated), depending on time signature/idiom).
Each Measure can be responded as a series of Notes, which consist of an
optional Embellishment, a Pitch, and a Duration. Alternatively, a
Measure can be split into Beats, which also contain a series of one or more
Notes.
Each parser aims to read its respective bagpipe music format into this internal
representation (a Tune of Parts of Measures of Notes), and each writer
aims to turn this internal representation back into a text-based format readable
by its proprietary software.