Hi masterbuilder/Gylfi, This looks like a cool package. Designing the user interface, I think, really is a matter of taste. My abjad-ext-microtones is meant specifically to work with the abjad API, so I only implemented a set of accidental overrides. I also thought it was important to design the stylesheets so that a different font could be swapped out if desired. The real goal of the python aspect of my program was to allow tones to be composed numerically (i.e. as transpositions above a fundamental) so if you had the ability to model something like \ji-multiplication c' 7/4 (which would result in a septimally lowered bf') that would be my preferred interface. I’m certain the two interface systems could even collaborate with one another. Unfortunately I personally don’t know how to do this in scheme, thus: my python system. Conveniently, I already compose mainly with python so I am not in desperate need of the interface I just described. However, I think the true ratio-based system is what a lot of composers want from JI. And a software system is great for automatically calculating transpositions.
again: the project is very nice. warm regards, gregory rowland evans On Tue, Mar 19, 2024 at 11:30 AM Gylfi <gy...@stebbi.is> wrote: > Greetings everyone, > > I want to share with the community some work I've been doing on > implementing proper support for the HEJI notation system in LilyPond. I > wouldn't call it stable quite yet, as I'm still open to making breaking > changes to the interface based on feedback. However, I would say it has > (hopefully) reached the point where it is usable in real projects. You can > find the repository here: > > https://github.com/BridgeTheMasterBuilder/heji-ly > > (let me know if you are opposed to using GitHub, I can also host it > somewhere else) > > The differences between this package and existing packages that also > implement HEJI support (I am personally only aware of two: > https://github.com/levinericzimmermann/ekme-heji.ily and > https://github.com/GregoryREvans/abjad-ext-microtones) are the following: > > - Complete support for all accidentals, with the exception of > "enharmonic schismas" and equal-tempered accidentals which are planned for > future releases. > - Modular interface for arbitrary combinations of accidentals (this is > perhaps what I'm most interested in getting feedback on - to me it's a > reasonable interface but I don't know what other people's opinion will be) > - Full playback support, even for chords, which I believe is just > about as accurate as MIDI will allow. Sounds pretty good to my ears in any > case. > > I've included some example scores in the repository, including: Recreating > the otonal and utonal harmonic series examples found here > https://marsbat.space/pdfs/HEJI2_legend+series.pdf; some other examples > related to the harmonic series; a classic Ben Johnston chord from the song > Quietness; a Barbershop quartet arrangment of Kentucky Babe notated with > the exact harmonies that could plausibly appear in a performance (but still > highly theoretical and pure, it's not a transcription of any real > performance) and a traditional bagpipe tune Sweet Maid of Glendaruel. These > last two examples are a bit out there as far as using HEJI notation is > concerned. I only chose them because they are "natural" examples of 7-limit > just intonation that happen to be public domain (if anybody knows of any > other examples of public domain music in extended just intonation please > let me know). > > Before starting this project I had virtually no exposure to the Scheme API > (though I've been a semi-casual LilyPond user for a long time), so I might > be doing some things inefficiently or violating some best practices, let me > know if you see something particularly egregious. There are some hacks in > there that I want to properly address at some point, they should be marked > with TODO. > > I hope this will be useful to others. > > Best regards, > masterbuilder > -- gregory rowland evans http://www.gregoryrowlandevans.com https://github.com/GregoryREvans https://soundcloud.com/gregory-rowland-evans