You might be interested in python-ly
(https://python-ly.readthedocs.io/en/latest/) which is actually written by the
Frescobaldi developers and used within it.
This provides a command-line tool that can do transposition (and more) and
shouldn't be too hard to use from within Emacs.
At 05:06 on 12 Jan 2022, Alasdair McAndrew wrote:
Thanks, Guy.
I use the Linux Emacs editor (which has a lilypond mode), and there might be
something there, but I was just after a little advice - I have used
Frescobaldi, but for me Emacs is faster and more efficient.
cheers,
Alasdair
On Wednesday 12 January 2022 16:03:58 (+11:00), Guy Stalnaker wrote:
Alasdair,
Though it may not match your use, Frescobaldi, the LilyPond Editor, can do this using one
of its built-in features. In essence you specify the interval to transpose when selecting
the feature, e.g., "c d" would transpose up a major 2nd.
Many on this list use other editors, but personally I cannot imagine writing
Lilypond without Frescobaldi given its features. For your purpose, it might be
worth an install simply to use the transpose feature?
If there are other ways of doing this in other editors, I'm sure list
subscribers will chime in.
Regards
--
“Happiness is the meaning and the purpose of life, the whole aim and end of
human existence.”
― Aristotle
On Tue, Jan 11, 2022 at 10:27 PM Alasdair McAndrew <amc...@gmail.com> wrote:
I'm not quite sure how to search online for this, hence my asking here. I'm
doing a little bit of arranging of some baroque pieces for specific
instruments, which usually requires some transposition. I can transpose within
the lilypond file so that the output score has the correct (transposed) notes,
but what I really want is to have the transposed notes in the lilypond file
itself. This means I can print out the score without needing to transpose
anything. So basically I want to change an input from, say \transpose c,f {c d
e f}
to simply
{f g a bf}
In other words, I want the transposition in the file itself, not just in the
typeset output. Is there a way of doing this - maybe with an external command
(I'm using Linux)?
Thank you very much,
Alasdair
--
Mark Knoop