Re: Rendering athenian Sagittal using microlily

2021-08-13 Thread Graham Breed
> I'm having trouble getting Graham Breed's microlily to engrave
> athenian Sagittal accidentals properly in *.pdf files, using the
> Bravura font.
> The accidentals are replaced with random Unicode symbols (such as \rho
> and \xi). An example *.pdf with this issue is attached.

My version of the script won't work with Bravura.  It's written for
the old Sagittal font.  Bravura would be better but it means changing
all the numbers — including the code points, as you've noticed!

> I listened back to the *.midi file produced by microlily and it sounded
> like it was tuned properly. So it seems like this is an issue with
> Unicode codepoints, or something else to do with font rendering.
>
> I am using lilypond 2.22.1, but the problem persists if I switch to
> lilypond 2.12.3.

Right, 2.12.3 is good to keep around because there are issues with
later versions and they'll need a fairly comprehensive rewrite to fix.

Graham



Re: Assistance to Create a Recipe for 41-EDO and "Kite Guitar" Tablature

2021-07-29 Thread Graham Breed
You already found my page about microtonal usage of LilyPond.  I
specifically used LilyPond with tripod notation, which is not far off
a tablature for Kite guitar.  You can get the PDF about it and the
source code for generating it, which includes LilyPond code, from
here:

http://x31eq.com/magic/

I have updated some of that, but I still keep an old version of
LilyPond around to avoid various regressions.  I haven't been through
the new method explained in this thread, which does look interesting.

You have an additional problem if you want a guitar tablature, though.
>From what I can see that's all based on a function for returning equal
tempered semitones.  Adapting that for microtonal use will be an
entirely different question that I don't think anybody's looked at.
But it would certainly be useful to be able to generalize the position
of the frets and add accidentals — and in this case you won't need the
accidentals.  What you probably need is a variant of "scordablature"
that will put notes on the right frets as if they were 12-equal.
You'll also need to set the open string tunings accordingly.


  Graham



Re: Microtonal midi output

2021-05-10 Thread Graham Breed
On 09/05/2021, Hans Åberg  wrote:
>
>> On 9 May 2021, at 19:31, Lukas-Fabian Moser  wrote:
>>
>> I looked into it a bit today, and I can gladly report that (while the code
>> still needs some cleaning up), I managed to patch my LilyPond to
>> automatically generate the MTS messages that Graham's Python script adds
>> in post-processing. (Of course, that wouldn't have been possible without
>> being able to use Graham's code as a cheat sheet!)
>
> Graham also wrote some C++ code for generating MTS pitches that was not
> integrated into LilyPond, I think.

I didn't write any C++ but I looked at the C++ code and it looks
trivial to change the pitch bend messages to MTS.  What would be more
difficult is adding all the options so that either pitch bends or MTS
would work — or remembering the current state so you only need to send
a message when something changes.

I tested with FluidSynth, and there's an update that I don't think I
pushed.  I think it was that you need to use the all devices Device ID
(0x7f) instead of the channel number.


Graham



Re: Microtonal midi output

2021-05-08 Thread Graham Breed
On 08/05/2021, Hans Åberg  wrote:
>
>> On 8 May 2021, at 22:18, brahim.pro  wrote:
>>
>> Thanks for the reply. For example, I would like to play A minor scale with
>> normal A(440Hz). But I would like the interval A, B to be 203 cents
>> instead of 200. Or I would like the interval A, C to be 315 cents instead
>> of 300 cents.
>>
>> If I understand your answer correctly the note is tied to the midi value.
>> But I would like for that midi value generate a slightly different
>> frequency. Is that possible?
>
> You can't do it like that. The MIDI value is tied to the note values, the
> other way around. And you can't adjust the tuning frequency, it is C4 not
> A4. One can do fine tunings by going up in ET, Graham Breed is doing that,
> but I do not keep track of that.

No, you can do fine tuning.  LilyPond will do it with pitch bends by
default.  I have scripts to turn the pitch bends into MIDI Tuning
Standard messages, which are much more solid.  Details at
http://x31eq.com/lilypond

Some things break with newer versions of LilyPond.


  Graham



Re: Two or more accidentals per note.

2019-12-09 Thread Graham Breed
> From: Freeman Gilmore 
> Subject: Two or more accidentals per note.

> How do you wright two (or more) accidentals to modify the same note?
>  Where is this written?And is there more than one way to do this?   For
> example how would I write 3 #; 2 double sharps; 2 or more microtonal
> accidentals; or microtonal  accidentals with #'s or b's.Please keep the
> explanation simple, I do not have much experience with LilyPond.

It can be done with text strings and Scheme.  You need to override the
way the accidental is written.  This is the only way I can get
Extended Helmholtz-Ellis notation working in the general sense.  The
code is here:

https://bitbucket.org/x31eq/microlily/src/master/

There's a newer font it could be using.  To do that means re-writing
various things.  The spacing wasn't quite right on the most recent
LilyPond version I tried.  Going back to 2.14 might be better, but
will also probably not work with that code.  So it's generally an
unsatisfactory approach: tricky to get right and even then doesn't
work properly.  But it does mean an arbitrary number of glyphs can be
used with each accidental.

For the simpler case of combining a sharp or flat with one other
accidental, it's probably best to make a custom music font that uses a
single glyph for the combined symbol.  The trouble is, that isn't easy
to do either, and I don't actually know how to do it.

So the other way, that you found, is to write two note-heads and hide
one of them.  That might work but it must be an ugly implementation.
Unfortunately, everything's a workaround of some kind, because
LilyPond is written around a single glyph for each accidental, plus a
special case with naturals, and at one point (maybe still) even second
guessed what those glyphs were.


   Graham



Re: Writing notes in Pythagorean tuning in microlily

2019-11-24 Thread Graham Breed
On 24/11/2019, Hans Åberg  wrote:
>
>> On 24 Nov 2019, at 11:57, Graham Breed  wrote:
>>
>> LilyPond can easily handle multiple generators with alternative pitch
>> names.  I've had "tripod notation" support with 3 generators for
>> several years.  It does mean alternative pitch names, though, rather
>> than regular transformations of (any of) the standard names.  Or
>> Scheme code to retune pitches, like I did for Sagittal JI and Extended
>> Helmholtz-Ellis.
>
> Whatever rational numbers assigned to the accidentals and how many, one only
> gets one generator, unless there has been an extension lately. Perhaps you
> expect not transposing too far?

I had tripod notation working in 2009.  This is a rank 3 system, so
two octave-equivalent generators.  Here's the lilypond-book document I
made:

http://x31eq.com/magic/tripod.pdf

I initially had problems with transposition because there are 9
nominals to the octave, so there's a missing staff position.  I fixed
this using the chromatic staff support.  Now it transposes fine, and
I've even used LilyPond's transposition with tone rows.  Eventually,
the transposition will break because it runs out of symbols.  It'll do
that with common practice notation as well.  There's no special
problem with higher ranks.

There does have to be a linear chain of accidentals, so it has to be
quantized to an equal temperament at some level.  With tripod
notation, this means "inches" have to be reconciled to "semitoes" or
the spellings become very restricted.  Because the pitch system uses
rationals, an implicit equal temperament is inevitable anyway — unless
you use Scheme expressions to choose the accidentals, like with the
Extended Helmholtz-Ellis support.


   Graham



Re: Writing notes in Pythagorean tuning in microlily

2019-11-24 Thread Graham Breed
On 24/11/2019, Hans Åberg  wrote:
[amended]
> An extended meantone temperament has two generators, which traditionally is
> the octave and the the fifth, but one can change basis and take any two,
> such as the minor and major second. LilyPond uses the sharp and the major
> second. Two generators is necessary for correct typesetting of the staff
> system. In Turkish, Arabic, and Persian music, one would need three
> generators each, but LilyPond cannot handle that.

LilyPond can easily handle multiple generators with alternative pitch
names.  I've had "tripod notation" support with 3 generators for
several years.  It does mean alternative pitch names, though, rather
than regular transformations of (any of) the standard names.  Or
Scheme code to retune pitches, like I did for Sagital JI and Extended
Helmholtz-Ellis.

Where LilyPond has difficulty is with scales that don't repeat about
the octave.  It's possible to get around this with post-processing,
but easier not to.  So it's convenient to think of one of the
generators as an octave (or equal division of the octave).  In this
case, common practice notation (tuned as either meantone or
Pythagorean) has a single octave-equivalent generator, which could be
a fourth or a fifth.  LilyPond, however, goes a step beyond this by
providing half-sharps and half-flats.  When you do the algebra, it
turns out that this gives an octave-equivalent generator of a neutral
third (half a perfect fifth).


  Graham



Re: Writing notes in Pythagorean tuning in microlily

2019-11-24 Thread Graham Breed
On 23/11/2019, kupirijo  wrote:
> I think I found it here
> https://lists.gnu.org/archive/html/lilypond-devel/2018-10/msg00129.html
>
> Yes it seems to have both AEU notation and some other notation that is
> new (it cannot be HE as HE is for just notation) I will try it out anyway.

Lilypond has AEU or something like it.  I support HE for just
intonation.  It's imperfect, though, because it requires an external
font and Lilypond gets some of the spacing wrong.  Something also
tends to break with every new version of Lilypond and I'm not keeping
up.

The code is here:

https://bitbucket.org/x31eq/microlily/src/master/

but if you don't need tuned MIDI output then I don't think it will be
any use to you.

> By the way, what is a generator? Is it related to meantone temperament?

The generator in this case is the fourth or fifth.  It generates all
pitches through the spiral of fifths.

> Also in the new turkish_makam.ly, why is the Holdrian comma 1/10 of a
> whole 12-TET tone i.e. 200/10 = 20 cents? The HC is approx. 22.64 cents
> (i.e. very close to a 1/9 of a 12-TET whole tone)

If you work with "regular.ly", the "whole tone" that Lilypond
calculates its accidentals relative to is not the same as the whole
tone that will be tuned to 9:8 in just intonation.  So it's correct
that a comma will be 1/10 of a whole tone.  9:8 is a comma flat of two
sharps, and so will be 9 commas wide.

>>> I see. Who wrote regular.ly? And why is it called regular?
>> Graham Breed (added as CC). Probably because ETs are regular tunings on
>> one generator.

It's called regular because it generalizes Lilypond's tuning model
from equal temperament (12 equal divisions of the octave) to a more
general regular temperament (the spiral of fifths, or neutral thirds
if you consider half-sharps).  It's something I'd like to see included
in the standard distribution because it's fully compatible with common
practice notation, and many not-at-all-microtonal pieces will sound
acceptable (and hopefully better) in some kind of meantone
temperament.  A notation package like Lilypond that already
distinguishes enharmonic pairs is a good tool for experimenting with
this.


   Graham

>>
>>>>> Regarding makam music, the version of lilypond that I am using has
>>>>> makam.ly included.
>>>> Try to switch the file that Adam Good has done, which effectively
>>>> deprecates the one in the current distribution.
>>>>
>>> Where can I find the file? Is this an alternative to AEU notation?
>> It is mentioned at [1]; he is in the CC of this mail, so perhaps he
>> responds. It is AEU but maybe Helmholtz-Ellis is in the works as well.
>>
>> 1.
>> https://lists.gnu.org/archive/html/lilypond-devel/2019-11/msg00167.html
>>
>>
>



Re: Pitch inflection

2018-01-31 Thread Graham Breed

Thank you for your message. I am hoping to reproduce the arrow notation used by 
the composer,
rather than substituting a different notational convention (which this composer 
has employed in other pieces).
The fact that he implies a difference between a slightly lowered F & a slightly 
raised E makes me think that he
is seeking to inflect the note rather than achieving an identifiable 
quartertone. Thank you also for alerting me to the
resources you mentioned which I had not found.


You could use the Helmholtz-Ellis notation because the arrows are a 
subset of it and you haven't specified what the inflection should be so 
a comma should be good enough.  But it should be simpler than that.  The 
arrowed glyphs are in Lilypond's standard font.  All you need is to 
define a new language with whatever pitch inflections you want, and a 
list of accidentals using the right glyphs.  This should have been done 
before, or there's not much point in having the arrowed glyphs, but I 
don't know where.


There's some help at http://x31eq.com/lilypond/


 Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: (modified) Ben Johnston tuning system script

2018-01-07 Thread Graham Breed

On 28/12/17 13:16, allfifthstuning wrote:
  


I've described my method of determining a note name (see attachment).

Currently I'm reading the scheme git book
(https://scheme-book.ursliska.de/) which is very helpful.

Do I understand correctly that to determine the right note name with EH
and Sagittal notation that a ratio is checked against a list of ratios
and corresponding glyphs?


The two work differently.  Both factorize the ratio (relative to the 
base notes).  Sagittal converts that into an equal temperament, and then 
assigns a string (not always a single glyph) to each step of the equal 
temperament.  (This is not quite how Sagittal should work.)


For Helmholtz notation, the factorized ratio maps to a set of glyphs 
used for notating small intervals, one for each prime number.  Then it 
combines those glyphs to get a string for the full accidental.  The same 
process should work for Johnston notation.



 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: (modified) Ben Johnston tuning system script

2017-12-24 Thread Graham Breed

On 23/12/17 17:00, lilypond-user-requ...@gnu.org wrote:


I would like to write music in just intonation.

I would like to make a script similar to the (great!) Sagittal script of
Graham Breed (http://x31eq.com/lilypond/) but for the so called Ben
Johnston tuning system (BJTS) (I've noticed there was some discussion
about it a while ago).


It'd be easier to start with the Extended Hemholtz-Ellis JI Pitch 
Notation support, in the same repository:


https://bitbucket.org/x31eq/microlily

This isn't a script, it's code that runs inside Lilypond.  There are 
outstanding issues, like the spacing comes out wrong, and it uses an old 
font anyway.


There's a big matrix that ties alterations to glyphs and you should be 
able to go in and change it.



The BJTS identifies every just interval as a discrete note, so there is
not one the same.


Yes, one problem would be if there are different ways of referring to 
the same interval and the code has to choose which to use.



I use the so called Pythagorean scale as my basenotes (here I differ
from the original tuning system) C - D - E - F - G - A - B. These
basenotes are raised or lowered with all sorts of comma's and chroma's
to represent the appropriate pitch.


That makes things easier as well.


Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: 48 and 72 ET

2017-02-09 Thread Graham Breed

I'm answering the whole thread here.

You should be able to do 48 ET with the standard Lilypond font.  You 
can, for example, start with 12 ET and add arrowed accidentals to get 
12*3=36.  Then add 12 quartertones to get 48 ET.  All you need is to 
define new note names.


I found the font wasn't good enough for 72 ET, and I don't think that's 
changed.  Which is a shame, because it should be easy for somebody 
familiar with Lilypond's font workflow to add the arrows to quartertone 
symbols and that's all you need to get 72 (24*3).  I did find enough 
symbols for 60-ET and I use 60 and 72 as output formats for tripod 
notation as it happens.  From what I remember, there are a lot of flat 
symbols that can be interpreted in different ways, but not so many sharps.


It would be nice for regular.ly to be included in the standard 
distribution, but that's irrelevant here.  What regular.ly does is 
retune the note names for a different size of fifth.  48 and 72 ET keep 
the same fifth as 12 ET.  What you need is a new "language" for the note 
names and appropriate glyphs.


I have files to support arbitrary fonts but there are issues with the 
spacing.  I have an experimental branch for Extended Helmholtz-Ellis JI 
Pitch Notation with Bravura but it doesn't solve any problems with the 
dedicated HE font.  (This is the "eheji" branch in the microlily 
repository.)  This particular notation always needs "text" fonts because 
it builds glyphs into strings to make the accidentals.  The standard 
accidental code only uses one glyph at a time which is good enough for 
72 but not Helmholtz-Ellis.  Still, having Bravura blessed as a Lilypond 
font would be both a good thing and quite a bit of work.


It's unfortunate that my library is out of date.  It's good that 
convert-ly fixes it.  One issue with this is that libraries (at least 
the way I use them, which may also be out of date) don't declare the 
Lilypond version.  It's in the including score file and if the included 
file also declares a version there is (or was) an error.


Anybody can fork the repository and keep it up do date.  I can add the 
license of your choice if you care about such things.



Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: lilypond-user Digest, Vol 168, Issue 174

2016-11-21 Thread Graham Breed

On 21/11/16 13:51, lilypond-user-requ...@gnu.org wrote:

Message: 5
Date: Mon, 21 Nov 2016 09:42:33 +0100
From: Urs Liska 
To: lilypond-user 
Subject: Pitch bend output in MIDI
Message-ID: 
Content-Type: text/plain; charset=utf-8

Hi,

I want to use Pitch Bend to detune the output in MIDI files. The NR
states that pitch bend is supported but doesn't give any information how
it is applied.

Apart from that I've only found this LSR snippet
http://lsr.di.unimi.it/LSR/Snippet?id=785 but I must admit I don't
really understand where and how the pitch bend is actually produced.

What I need is to apply it within a music function that returns a note,
and this should apply the detuning.

Any hints appreciated.


The pitch bend bends a pitch from equal temperament to the pitch 
specified in Lilypond.  It adds a pitch bend before the note on, and 
resets to zero pitch bend after the note off.


There's a script here that convert's the pitch bends into MIDI Tuning 
Standard messages that work polyphonically with Timidity:


http://x31eq.com/lilypond/addmts.py3

If you want to detune a note, you need to set a pitch that's different 
to equal temperament.  You probably know the Lilypond pitch system, but 
anyway, it's explained here:


http://x31eq.com/lilypond/


The latest code for just intonation is at 
https://bitbucket.org/x31eq/microlily



 Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Extended Helmholtz-Ellis JI PItch Notationn

2016-03-06 Thread Graham Breed
I now have my Lilypond JI code working with the Extended Helmholtz-Ellis 
Pitch Notation.  This is something I've been putting off for some time 
because it means the function that determines the original accidental 
has to know the original ratio that it refers to.  After the more recent 
discussion here, I decided to use a global list to keep lookups of 
alterations to ratios, and all is well so long as you don't transpose 
anything.


You can get the code from the git repository:

https://bitbucket.org/x31eq/microlily

I have a "don't care" attitude to licensing, which is made explicit in 
the README.  So, if you want to copy any ideas for your code for other 
JI notations, feel free.  The same input code should work for different 
notation systems, as it currently does for different kinds of Sagittal 
and the new Helmholtz-Ellis.



   Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal notation - arrows up and down

2016-01-18 Thread Graham Breed

On 13/01/16 16:53, Luca Danieli wrote:


I tried to find information on how to do it on internet, but I am unable to 
find anything.
I am sorry to continuously asking, but can you give me any hint on how to do it?


I think this is what you want:

arrowGlyphs = #`(
(,DOUBLE-SHARP . "accidentals.doublesharp")
(,SHARP-RAISE  . "accidentals.sharp.arrowup")
(,SHARP. "accidentals.sharp")
(,SHARP-LOWER  . "accidentals.sharp.arrowdown")
(,NATURAL-RAISE . "accidentals.natural.arrowup")
(  0. "accidentals.natural")
(,NATURAL-LOWER . "accidentals.natural.arrowdown")
(,FLAT-RAISE   . "accidentals.flat.arrowup")
(,FLAT . "accidentals.flat")
(,FLAT-LOWER   . "accidentals.flat.arrowdown")
(,DOUBLE-FLAT  . "accidentals.flatflat")
(,(/ SHARP 2) . "accidentals.sharp.slashslash.stem")
(,(/ FLAT 2) . "accidentals.mirroredflat")
(,(* SHARP 3/2) . "accidentals.sharp.slashslash.stemstemstem")
(,(* FLAT 3/2) . "accidentals.mirroredflat.flat"))
)


(I tried to update all the software in Ubuntu, but I am already the newest 
version)

Kind regards,
Luca



Subject: RE: Microtonal notation - arrows up and down
To: lilypond-user@gnu.org
From: gbr...@gmail.com
Date: Tue, 12 Jan 2016 20:01:53 +


Date: Mon, 11 Jan 2016 19:39:06 +0100
From: Luca Danieli



It works perfectly! I understand that I need to rename ALL pitches, otherwise 
the building fails.The only problem now is that I have lost the default 
microtonal symbols.
So for example, how do I re-write the default symbol ceh (to have the symbol 
"d")?
In your example it is: (ceh . ,(ly:make-pitch -1 0 (/ FLAT 2))), but this 
doesn't show any accidental.
(I can't find information on internet)


The accidentals are listed in the "arrowGlyphs" object.  You need to
update that to match the names.




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: Microtonal notation - arrows up and down

2016-01-12 Thread Graham Breed

Date: Mon, 11 Jan 2016 19:39:06 +0100
From: Luca Danieli



It works perfectly! I understand that I need to rename ALL pitches, otherwise 
the building fails.The only problem now is that I have lost the default 
microtonal symbols.
So for example, how do I re-write the default symbol ceh (to have the symbol 
"d")?
In your example it is: (ceh . ,(ly:make-pitch -1 0 (/ FLAT 2))), but this 
doesn't show any accidental.
(I can't find information on internet)


The accidentals are listed in the "arrowGlyphs" object.  You need to 
update that to match the names.



  Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal notation - arrows up and down

2016-01-09 Thread Graham Breed

Date: Fri, 8 Jan 2016 18:35:49 +0100
From: Luca Danieli 



I don't understand very much what is written within the page you sent me. But from the 
"quick start" I have understood the basic and was able to implement this code:
http://lsr.di.unimi.it/LSR/Snippet?id=786
It works. Unfortunately I can only re-name the existing standard notation.What about 
adding arrow-"ed" accidentals to the already existing ones?
I can read on the "accidental" paragraph of the web-page you have provided:
"Whether or not you want new accidentals, you need a new associative array for 
microtonal tunings."


That example looks correct, and I ran it with 2.18.2.  Did you fix it 
since you asked the question?



Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: Microtonal notation - arrows up and down

2016-01-09 Thread Graham Breed

Date: Sat, 9 Jan 2016 20:39:15 +0100
From: Luca Danieli



Yes, it works perfectly.
But I am only able to replace for example the standard symbol for fih 
(quarter-tone) with an arrow-up symbol.
I was wondering if it was possible to use both symbols instead of replacing one 
type with the other.
I would like to use arrows to indicate tone-colour and standard notation to 
indicate quarter-tones.


You choose some new names for the arrowed pitches, and add them to the 
list, along with the original quartertones.  Something like




arrowedPitchNames = #`(
   (ceses . ,(ly:make-pitch -1 0 DOUBLE-FLAT))
   (ceseh . ,(ly:make-pitch -1 0 (* FLAT 3/2)))
   (cesel . ,(ly:make-pitch -1 0 FLAT-LOWER))
   (ces   . ,(ly:make-pitch -1 0 FLAT))
   (cesir . ,(ly:make-pitch -1 0 FLAT-RAISE))
   (cesih . ,(ly:make-pitch -1 0 (/ FLAT 2)))
   (ceh . ,(ly:make-pitch -1 0 (/ FLAT 2)))
   (cel   . ,(ly:make-pitch -1 0 NATURAL-LOWER))
   (c . ,(ly:make-pitch -1 0 NATURAL))
   (cir   . ,(ly:make-pitch -1 0 NATURAL-RAISE))
   (cih . ,(ly:make-pitch -1 0 (/ SHARP 2)))
   (ciseh . ,(ly:make-pitch -1 0 (/ SHARP 2)))
   (cisel . ,(ly:make-pitch -1 0 SHARP-LOWER))
   (cis   . ,(ly:make-pitch -1 0 SHARP))
   (cisir . ,(ly:make-pitch -1 0 SHARP-RAISE))
   (cisih . ,(ly:make-pitch -1 0 (* SHARP 3/2)))
   (cisis . ,(ly:make-pitch -1 0 DOUBLE-SHARP))
...


 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


JI notation (was: converting svg glyph to path data for use in scheme)

2015-12-14 Thread Graham Breed

From: "N. Andrew Walsh"



Converting cents to ratios only makes even a bit of sense if you have some
preexisting music in some temperament, which you then want to approximate
in just intonation. But even that isn't really something that would be
served by calculation from cents and not simply determining yourself what
ratios you want (because, at base, deciding which ratio you want to have is
entirely arbitrary). Now, if you have some closed scale, it's simply a
matter of figuring out the cents values for the notes in the scale, and
then rounding your preexisting notes to the nearest one.


It makes sense because at the point you choose the accidental, the 
deviation from the unaltered pitch is the only information you have — 
unless you have some other mechanism for passing it along.  But what 
some of the discussion implies is that you could keep a global hash 
table of the alteration (which happens to be rational and so unique and 
hashable) chosen for a given ratio input.  That would work as long as 
the input is always JI, and that's a perfectly reasonable assumption. 
Transposition would still have some wrinkles, though.


Using an equal temperament to set the accidentals is problematic even if 
you allow Sagittal-style wraparound.  Sometimes errors will accumulate 
so that the correct spelling doesn't match the nearest approximation of 
a complex ratio to the equal temperament.  The simple solution is to 
convert each ratio to the temperament before they get combined, but that 
would mean the MIDI ended up equally tempered.  The next stage is to use 
a different equal temperament for the score and MIDI rendering.  To 
guarantee the correct spelling you would need to do factorization.  That 
can be done in Scheme but so far I haven't done it.



But if you are using any kind of temperament at all, you're dealing at base
with irrational numbers, and no computation is going to provide meaningful
results unless you specify beforehand what your limits are (in which case
you're specifying a closed scale, and it's thus much simpler to do the
calculations in the other direction). For example, here are all the ratios
in a very basic scale that fall within a quartertone of 600 cents: 11/8,
18/13, 7/5, 17/12, 10/7, 23/16, 13/9, and 16/11. Which one of those counts
as a "tritone" for your scale depends almost entirely on how simple you
want to keep the ratios (and if simplicity isn't necessarily your goal,
there's also 352/256, 89/64, 179/128, 359/256, 181/128, 367/256, and
373/256; all of those are pure overtones).


It's a lot more complicated than that.  While you could write an 
adaptive tuning engine in Lilypond, that isn't what we're discussing 
here, so let's drop it.



  Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: converting svg glyph to path data for use in scheme (was: accidentals for just intonation)

2015-12-13 Thread Graham Breed

From: "N. Andrew Walsh"



Actually, coverting between the ratios and semitones has alread been done,
as there's a simple set of log and mround functions that do it. Have a look
in the OLL repository under notation-tools and you should find the .ily
files.


What's the OLL repository?


 Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: converting svg glyph to path data for use in scheme (was: accidentals for just intonation)

2015-12-13 Thread Graham Breed

From: Urs Liska



>Maybe so, but the result is less portable because (if I understand
>correctly) you'd have to have a custom font and have it installed
>correctly, etc. for anyone to be able to use the glyph...  as opposed
>to just having the custom glyphs in an include file that you?re going
>to be including anyway.
>
>-Paul

I think the font idea*may*  be an approach worth considering.

Our stuff will reside in a library anyway, and I think it should be possible to 
have that library call a font reliably when it is in the same directory IIRC.


I can get fonts from the current directory no problem on Linux.  But 
there's a problem with Windows that I still haven't looked into. 
There's surely a way around it, though.



We could then have a font with glyphs for each constituent of your accidentals 
and construct the actual accidental as a markup using \combine, which should be 
pretty straightforward.


If the glyphs are pre-built, a font file is the obvious place to store 
them.  If they have to be combined, it's a bit harder because it has to 
be a text font, but this problem is also solved.  There's a problem with 
more recent Lilyponds where the accidentals can collide with barlines, 
but if you can pin it down and report it I'm sure that can be fixed.  I 
think the rules for combining symbols into glyphs can all be written 
into the font files but that may not be the easiest way to do it.


The nice thing about fonts, though, is that some already exist.  The 
problems with generating large lookup tables, or multiplying ratios, or 
factorizing this or that, can all be solved with the Extended 
Helmholtz-Ellis JI system, and when everything's working you can drop 
the new glyphs or start drawing them some other way.


It's nice that you think keeping the primes distinct is straightforward. 
 I thought it was difficult, especially if you want MIDI playback and 
transpositions to be correct, but not impossible.


A large lookup table, corresponding to a sensible equal temperament for 
wraparound, is probably the best way to get started.  The system is 
potentially infinite, but you can set limits on how far you expect 
modulation to go.  People keep being pessimistic about Lilypond or 
Scheme's performance with large tables but so far nobody's produced a 
huge table and demonstrated it to be unacceptably slow.



  Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: converting svg glyph to path data for use in scheme

2015-12-13 Thread Graham Breed

On 13/12/15 12:48, N. Andrew Walsh wrote:

Take a look at conversions.ly (sorry; mround is the equivalend function in
the spreadsheet I use to do the same thing). Those functions will convert
the input (given as a fraction comprising two integers) into Lily's
semitone values. That should allow you to convert between just-intonation
ratios an the nearest note name. Urs has some comments in there explaining
a bit how it works.


Converting from ratios to cents is easy.  Converting between ratios and 
cents requires a function from cents to ratios.  That's a lot more 
difficult because information is lost.  You got us excited by suggesting 
that had been solved.



  Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal notation - arrows up and down

2015-12-09 Thread Graham Breed

Date: Wed, 9 Dec 2015 01:05:11 +0100
From: Luca Danieli



Hello everybody,
I found out very few about arrows down and up for microtonal notation.Neither a 
quick research on the mailing-list has shown many results.
I found the best example of it in the following page but I hoped to find some 
more information on how to set up arrows down and up.
http://lsr.di.unimi.it/LSR/Search?q=microtonal
Can someone lead me to the right tutorial, if there is any?


http://x31eq.com/lilypond

You have to decide what they mean.  Then, set new note names, define the 
accidentals, and set a base scale, if you need it.  Probably the default 
or a regular retuning of it will do.



  Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: accidentals for just intonation

2015-12-03 Thread Graham Breed

On 03/12/15 12:11, N. Andrew Walsh wrote:


If your system requires only a range in cents to determine which accidental
to use, that should be easy to calculate and apply. If it requires only the
prime factors of the ratios, that should be easy, too. If it's some mixture
of them, that works as well. And for all of them, it should be possible to
output something different to different instrumental parts, as needed.


Prime factorization to control the accidentals wasn't easy when I looked 
at it.  The only information available when the accidental was chosen is 
the pitch-difference, so that's what I used.  There are ways 
communicating, though, like choosing different accidental sets according 
to the factors or building the accidental string recursively.  Maybe 
it's easier with new versions of Lilypond and improved documentation.  I 
did this a while ago and learned the internals as I went along.  I 
welcome assistance from more experienced Lilypond-Schemers, and if it's 
going to be re-implemented from scratch, at least my code's there as an 
example of what can work.



Graham




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: accidentals for just intonation

2015-12-02 Thread Graham Breed

From: "N. Andrew Walsh"
To: lilypond-user



If you've been watching the OpenLilyLib repository, you'll see that Urs has
been working on a set of tools for rendering music in just intonation. He
(quite modestly) says that it isn't ready for production, but there are
already some impressive things it can do: for one, the interface allows to
input a fraction and get back a nearest-semitone pitch with a deviation in
cents*automatically*, which is something the commercial programs don't
offer in any way (every composer I know who works with JI just inputs text
entries manually for every note, with no change in, for example, MIDI
output for ability to handle transpositions).


I haven't been watching that ... I don't know what it is.  But it sounds 
similar to my Sagittal support.  Latest code here, works for me but 
something broken on Windows:


https://bitbucket.org/x31eq/microlily

It's possible to turn off the Sagittal accidentals to get output using 
standard accidentals, given essentially the AFMM output.  I don't 
remember if I ever got that working though.  You have to specify the 
staff position as well as the ratio.



I'd like to be able to put these into Lily, and Urs tells me it can be done
by calling a draw function to draw a path. I can relatively easily make up
some paths with Inkscape and save them as SVGs, but is there a better way
to do this? The NR describes (here:
http://lilypond.org/doc/v2.19/Documentation/notation/formatting-text#graphic-notation-inside-markup)
the means to include eps files into a markup, which presumably could be
used to replace the accidental.

There are some potential complicating factors here. First, the accidentals
I use change depending on the prime factorization of the ratio involved:
for example, the ratio 9/8 (a type of whole tone) would comprise two of the
symbol for 3 (because "9/8" is really "(3*3)/8" ), which means that Urs'
interface for JI ratios would need an add-on to do prime factorization of
the ratios (which is also computationally intensive, even for relatively
simple numbers) or a means to encode ratios as lists of primes that are
then calculated to return the value in cents (that is, do the process in
reverse, starting from "(3*3)/8" and getting 9/8, which might be easier to
do).


I've thought about this with respect to the Extended Helmholtz-JI 
notation, for which there are already fonts that would work with my 
system.  Generating accidentals from pitches is problematic, and would 
really mean generating your gamut in advance, with some implied equal 
temperament that doesn't give any ambiguity, and the accidentals would 
disappear if you exceed that gamut.


Another idea is for commands to add the accidental glyphs, and also do 
the correct pitch shift.  I think this was prototyped without the pitch 
shifting (so ignoring MIDI output) before I implemented my Sagittal 
approach.  Where it's problematic to get tuning and display working 
together, you can define separate functions for the "midi" and "score" 
blocks.


Another idea I had, though, is to shove annotations into the list 
describing each note.  (I think the new parser makes this easier than it 
used to be, because each note in a chord is a list.)  You can then run a 
function over the whole music block to strip out the annotations, set 
the pitch, and override the accidental.  You can also apply different 
functions to the same music block in the midi and score blocks to make 
that approach easier.  I did a proof of concept of this, which I can't 
find now, but I haven't followed it up.



The advantage here, though, would be this: one of the interesting things
about just intonation is that there is no theoretical limit to what kinds
of ratios you use. You could theoretically have unique signs for all the
primes you want, and then the draw function could build them on the fly.
The accidentals become modular, scaling to whatever level of complexity the
composer wants. Harry Partch writes music that tops out at the 13th
overtone, but La Monte Young has pieces with primes in the upper 300s.


You can also make a font with a fixed level of complexity, and it will 
be easier to get working for now.  An issue with drawing the glyphs in 
is that you have to be sure to inform LilyPond of the correct amount of 
space to allow for them.


You could also look at the Extended Helmholtz-Ellis JI set, where the 
advantage is that the font already exists.  It's on this page, along 
with some PDFs explaining it:


http://www.marcsabat.com/


So, List: this is, as I said, a somewhat long-term project, but would any
of you be willing to help me learn/do the programming necessary to develop
a system like this? I also have in mind a more general add-on to the OLL
just-intonation library: I'd like to see a set of different .ily files,
each with different sets of accidentals, which a composer could \include
into the score as needed. For example, I could 

Re: Git/Lilypond workflow

2015-02-14 Thread Graham Breed
I use Git and Lilypond.  I know Git quite well, but haven't been using 
Lilypond much lately.  I can see from this thread that I'm not using the 
two together efficiently, so I'll describe what I should be doing.


1) Keep a tools repository with the include files I depend on, and 
really should keep in one place.


2) Clone tools to a music repository in a different folder.

3) For a new composition, clone tools to a new folder, and make a branch.

4) Push this branch to the music repository, so that it becomes a 
single place with all my music that I can back up, share between 
devices, and so on.  (You can link master in the composition repository 
to a branch in music if you like.  I'll make the branch.)


5) Publish tools as a public repository on Bitbucket or wherever.

6) Clone music I don't want to be public to private repositories (you 
get a few free with Bitbucket).


7) If I change the include files and want them updated for a 
composition, pull from tools and merge in.


This way, the tools can be tracked independently of the music that uses 
them, but pieces that depend on a specific version of the tools won't 
magically break.  It's both one and may repositories, which reflects the 
fluid nature of repositories in Git.


In practice, I think tools and music would be the same.  I think I 
can publish only the branches I want without other changesets leaking 
out.  If you worry about this, keep them distinct and pull only in one 
direction as I describe.



  Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Where to Download the New Music Fonts?

2014-07-29 Thread Graham Breed

On 29/07/14 15:18, Hans Aberg wrote:


Graham Breed wrote a file for equal temperaments for an earlier version of 
LilyPond, which I was able to tweak for the latest version (discussed on the 
devel list). When using the currently available microtonal symbols, then also 
key signatures seemed to work fine - a problem in the past.


The latest code is here: https://bitbucket.org/x31eq/microlily

I thought it was up to date.  I can take patches if it isn't.


So it seems that all one has to do in order to get decent microtonality into 
LilyPond is to include this version of Graham’s file in the distribution and 
add microtonal symbols so that they can be called like the ones currently 
available.


Sagittal works for accidentals as a text font.  It should work for key 
signatures as well, but I don't test that.  I didn't use a music font 
because it was too much trouble to create a music font with Sagittal. 
Also, it's possible to use strings for chained accidentals with a text 
font.  This would be important for Extended Helmholtz if anybody wired 
it up.


With 2.16.0, everything works except the accidentals sometimes crash the 
barlines.



   Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re:Lilypond help - arbitrary accidental glyphs

2013-10-28 Thread Graham Breed

I have been studying 31 equal temperament and wish to implement Adriaan
Fokker's notation in Lilypond. I would very much appreciate it if you could
give me some help.

In search for a solution, I found a 2008 thread between you and Graham
Breed:
http://lilypond.1069038.n5.nabble.com/Arbitrary-accidental-glyphs-td110936.html.
This seems to correspond to my problem, but unfortunately it is way beyond
my technical ability. I have even tried to study his codes for using
Sagittal in Lilypond (http://x31eq.com/lilypond/), but it was again too
technical for me. Editing the Metafont source also seems too difficult.


The latest code is at https://bitbucket.org/x31eq/microlily and fixes 
some problems with Lilypond upgrades but what's on the website is 
probably fine for you.


Anyway, what you want looks simpler than either the Sagittal JI or 
tripod code.  Maybe the best thing's to send me the font and I'll sort 
it out.  It can then be the example for the next person to want to do 
this kind of thing.


Which of the Fokker symbols is missing from the standard Lilypond set?


There seems to be a problem: Graham originally retuned pitchnamesEnglish, but that 
is no longer used in english.ly, which merely invokes \language ?english.


There's no need for pitchnamesEnglish any more.


Also, there LilyPond has a separate system for key signatures, so if one wants 
working microtonal such, one is essentially stuck with equal temperaments a 
multiple of 12.


I'm not sure if this is a problem or not.  But at least conventional key 
signatures will be retuned by regular.ly.



  Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Just Intonation MIDI file

2011-09-14 Thread Graham Breed
dadadharma @dslextreme.com dadadha...@dslextreme.com
wrote:
 This YouTube by Hajo (dl1sdz) claims to have generated a
 just intonation MIDI file from a LilyPond file.
 
 BWV-988-Var-12-Just.AVI
 http://www.youtube.com/watch?v=-rkaueIngyY
 
 How does one do this?

Well, disappointingly they didn't do the tuning in Lilypond.
But they could have.

 I can find just intonation in the glossary but not in
 the rest of the documentation.
 
 I am interested in generating sound files for singing
 practice using the simple Pythagorean ratios.

http://x31eq.com/lilypond/

Use regular.ly with tuning=#53 or some other equal
temperament that gets close enough for you.  Normally
notated notes will then be Pythagorean.


 Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: lilypond-book download

2011-08-30 Thread Graham Breed
Pablo Zumarán pab...@ymail.com wrote:

 I'm having trouble understanding something. In Item 4 of
 GNU Lilypond – Application Usage, under the heading
 Integrating Text and Music, it explicitly says this
 lilypond-book provides a way to automate this process:
 This program extracts snippets of music from your
 document, runs lilypond on them, and outputs the document
 with pictures substituted for the music. According to
 this, LilypondBook is a program. I'm new to
 command-line usage, so that might be why this confuses
 me. Is it not a stadalone program?

Yes, lilypond-book is a program.  If you have it, it will
be in /usr/bin/lilypond-book

 I wish the Lilypond site had complete examples to study
 from, rather than just specific examples meant to be
 understood only by experienced command-line users who
 would know where to apply them. I have TeXMaker,
 TeXWorks, TeXLive, eMacs, GNUTeXmacs, have tried to get a
 pdf file with text and music from all of them without
 success. I've no idea, for instance, how to make TeXMaker
 understand a Lilypond command; or what program to use
 TexXInfo on, or even whether TeXInfo is itself a program.

If you're working with LaTeX, you need to run pdflatex on
the file that lilypond-book produces.  In Ubuntu, pdflatex
should come with TeXLive and be in /usr/bin/pdflatex

For Lilypond 2.12 (the one that comes with Ubuntu LTS) full
instructions are in the documentation.  The first example,
under Application Usage is in 4.1 An example of a
musicological document. If you don't have xpdf, replace
it with evince to view the resulting file.  If you don't
have lilypond-book or pdflatex, Ubuntu will tell you how to
install them.

If you aren't familiar with the command line, you'll need a
tutorial on that.  This is the first one that comes up with
Google:

http://www.ee.surrey.ac.uk/Teaching/Unix/

By the end of Tutorial Three, you should know what you need
to follow the Lilypond documentation.


 Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Score.midiInstrument = harp

2011-08-27 Thread Graham Breed
Craig craigbakal...@verizon.net wrote:

 Bracing for the storm here in the mid-Atlantic section of
 the US.  What else to do but typeset.  I have a score
 with a harp.  The lilypond MIDI Instrument table is
 mission the MIDI timbre called harp.  Why?

It's called orchestral harp.

 Is there a resource file with the MIDI timbres in it that
 I can edit somewhere in the lilypond application folder?
 Can I mess with it?  Will it have an effect?

The list of instrument names is in a file called midi.scm.
Changes should take effect.  But that's moderately evil
because anybody you share the music with will have to make
the same changes.


   Graham B


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Pitch-bent note's release-phase

2011-06-20 Thread Graham Breed
Richard Sabey richardsa...@hotmail.co.uk wrote:

 Since sending my initial enquiry to this list I have
 indeed written an app which confirmed to me what you say.

Right.  I also have a file that shows Timidity will share
the tuning of a note even between channels, so that F and
F# come out the same in meantones.  I've updated my script
to work around this by setting each channel to a different
tuning table.  The result is at least as good as pitch
bends now.

 Thanks also for that Python app. I plumped for your
 Python v.3.2 version and installed Python v.3.2
 accordingly. 
 
 There is a problem, in that if two notes are assigned to
 the same MIDI key (even in different voices) they'll have
 the same tuning.  That makes it possible for C and C# to
 become confused.
 
 That's a pity. I was hoping to use temperaments with many
 (31? 34? 41? 53?) pitches per octave, and create chords
 with pretty small intervals, perhaps smaller than a 12et
 semitone...

Until they get smaller than a semitone, there won't be a
problem because (touch wood) no plausible function is going
to assign two pitches more than 100 cents apart to the same
key number.  When the intervals get narrower than that, you
have to start thinking about assigning the pitches to
different channels, or transposing so that the rounding
comes out right.  When it becomes a real problem is when we
can suggest Lilypond be made more complex to work around it.

One thing that does work is to transpose pitches
into a tuning table with more than 12 notes.  That
restricts the range of each voice but you still get 4
octaves of 31 notes, for example.

 It would make sense if
 the pitch were rounded to the *nearest* equally tempered
 value instead.
 
 That'd only move this problem elsewhere.

Yes, but it's easier to predict that F# and Gb are going to
round to the same pitch, and so avoid them in the same
chord, than that F and F# will be a problem.

 I've seen Lilypond apply downward pitch bend even if this
 means using a MIDI note whose name is different from the
 name in the .ly.

It does?  I don't know what's going on then.


 Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Pitch-bent note's release-phase

2011-06-19 Thread Graham Breed
Richard Sabey richardsa...@hotmail.co.uk wrote:

 But you don't need this problem when a note allocated to
 a channel is followed by a rest in that channel. Is
 Lilypond writing a MIDI pitch wheel change message to
 take effect at the same instant as the MIDI note off
 message? If I'm right (I don't know of any app which
 converts a .mid file into a form I could understand -
 perhaps I'll have to write a C program myself!) then I
 think that Lilypond could produce better MIDI if it sent
 pitch wheel change messages only on demand, i.e.
 together with note on messages, but not also with note
 off messages.

Yes, it does what you say.  It makes the implementation
simpler, on the assumption that pitch bends are going to be
rare.

What I have, hot of the presses, is a script that can take
a MIDI file produced by Lilypond and convert the pitch
bends into MIDI Tuning Standard messages.  It's a widely
ignored standard, but it works with Timidity at least.
Then there's no problem with the tails, and no need to
split chords into independent polyphonic lines.  You can
get it for your favorite version of Python.

Python 2.6+:

http://x31eq.com/addmts.py

Python 3:

http://x31eq.com/addmts.py3

It's a hack, but it works with what I've thrown at it.
There is a problem, in that if two notes are assigned to
the same MIDI key (even in different voices) they'll have
the same tuning.  That makes it possible for C and C# to
become confused.

This highlights an interesting feature of Lilypond's pitch
bend support.  The pitch is always rounded *down* to the
next lowest equally tempered value, and then the pitch bend
applied *upwards*.  That means, for meantone temperaments
where C-C# is less than 100 cents, C and C# will, indeed,
end up with the same key number.  It would make sense if
the pitch were rounded to the *nearest* equally tempered
value instead.  I don't know if this is in the issue
tracker.

If you want to keep pitch bends, it would be fairly easy to
hack my script to write one before every note-on instead of
the MTS message.


   Graham (not that one)

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LaTeX font as Lyric font in LilyPond?

2011-04-17 Thread Graham Breed
On 17 April 2011 11:53, Dominic Neumann m...@dominicneumann.de wrote:

 is it possible to use the LaTeX font Computer Modern SansSerif (selected by 
 \sffamily in LaTeX) as Lyrics font in LilyPond? Probably it is possible, but 
 how (under Debian Linux).

I don't believe it's possible to use it as a TeX font.  You may be
able to get it in some other form (preferably OTF) that LilyPond can
recognize.  Here's what Google brought up:

http://canopus.iacp.dvo.ru/~panov/cm-unicode/download.html

If that doesn't work MetaPost can do it.


 Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Editing notes in a separate file

2010-01-02 Thread Graham Breed
Xavier Scheuer x.sche...@gmail.com wrote:

  Look into \tag.
 
 Which is documented there:
 Notation Reference (NR) 3.2.2 Different editions from
 one source
 http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Different-editions-from-one-source
  ;-)

That's 3.3.2, not 3.2.2


 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: vim vagaries

2009-11-11 Thread Graham Breed

J. wrote:


I looked at the directions on the lilypond site for
setting it up but, because of my noviciate I got confused
with all the places and symbols.


I found a page here:

http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Vim-mode

It isn't clear which of those things you have to do.  As I 
hadn't done any of this before, I gave it a try.  The answer 
is: both.  You need to create this filetype.vim in a 
suitable place so that vim knows to go looking for .ly 
files.  (And should that be modified for the extension we're 
supposed to be using for include files?)  You also need to 
tell vim about your Lilypond installation or move some files 
into a standard vim folder.



i.e. can you add all the lilpond  things into the place
where vim is (/user/bin/share/vim) or have to make a
~/.vim and how does one modify the files when the're
found. [Whew!]


You can add the Lilypond things to your vim folders, but 
this might confuse you when you move computers or reinstall 
or something like that.  If you add things to ~/.vim you can 
move that to any new computer you want things to work on.


Note that these instructions are for UNIX but your headers 
show that you're using Windows.  Identifying those folders 
for a Windows installation of vim (outside of Cygwin) may 
well confuse you.  Inside vim, you can do


:set runtimepath

to find places where vim will look for things.


Graham



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning

2009-09-27 Thread Graham Breed

Stefan Thomas wrote:


   1. The new accidentals are also played via midi, which is great. But not,
   when different accidentals are in a chord. Is there a possibilitie to change
   this?


Yeah, you have to split it into separate contrapuntal lines. 
 I've used a contraption of include files so that I can run 
Lilypond differently to get MIDI and score output.  For MIDI 
you need each line on a different channel (it's in the 
documentation, a snippet I think).  For the score you need 
to bring the different lines into the same voice so that 
chords look like chords.


I don't remember the details, but it's all in my Tripod code.

It would be nice to use MIDI Tuning Standard messages 
instead of pitch bends.  Maybe I could sort that out with a 
post processor but I haven't because I'm lazy.



   2. How can I define the accidental-style neo-modern for the whole score?


Dunno about that.


   Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning

2009-09-26 Thread Graham Breed

Hans Aberg wrote:

Isn't the lookup dynamic, so one only gets a warning when it actually 
needs a glyph for an alteration? - But it is a good idea to define a 
glyph for each alteration.


Yes, but we've overridden the glyph lookup to use strings 
from external fonts.  There's no need to define glyphs at 
all except to suppress this warning.  It's there because 
some redundant code is still being executed.  If we knew the 
right plumbing we wouldn't need them at all, and should be 
able to leave the X- and Y-extents implicit.  But this is 
the current state of the art.



 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning

2009-09-26 Thread Graham Breed

Hans Aberg wrote:

Thanks for the explanation. I recall that: LilyPond has more than one 
glyph-finding model. That was a problem with the key signatures, I 
think, which could not use those from external fonts.


Lilypond has one glyph-finding model for accidentals, and 
the hooks to allow us to override it.  All kinds of things 
are cumbersome or don't work when we do so.  Grace notes are 
another one I noticed.  But at least it's now fairly 
straightforward to get accidentals from arbitrary fonts -- 
with alternative tunings -- where it was basically 
impossible before the pitch model was changed.



  Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning

2009-09-25 Thread Graham Breed

Stefan Thomas wrote:

Dear Graham,
in the meantime I found out, where I have to install the font on my kubuntu
machine.


That's good.


I was able to try out the example.
There is one not convincing for me:
The default accidental is an natural. But I would like to use fis and ges as
before.


Aren't these two different problems?  You can use a 
different glyph for naturals by changing one of the tables.



Wouldnt it a possibilitie to define new pitch-names, like it has been done
in the makam.ly?
But how can this be done?


Yes, absolutely.  There should be a list of pitch names in 
the code you're using.  All you so is change them.




Graham




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning

2009-09-25 Thread Graham Breed

Stefan Thomas wrote:

Dear Graham,
absolutely, I would like to define a list of notenames, for e.g. pitches
that are about 15cents lower, But I have no idea how to do it, when I use
the HE-font for the accidentals.


For the code I have, pitch names are defined as:

HEPitchNames = #`(
  (c . ,(ly:make-pitch -1 0 0))
  (g . ,(ly:make-pitch -1 4 10/1023))
  (edown . ,(ly:make-pitch -1 2 -75/1096))
  (bflatseven . ,(ly:make-pitch -1 6 -162/247))
  (d . ,(ly:make-pitch -1 1 20/1023))

and so on.

If you want more pitches, you add them.  The parameters are 
documented for ly:make-pitch under Scheme Functions.



Off course, I had a look in makam.ly
and I found there
makamGlyphs = #`((1 . accidentals.doublesharp)
   (8/9 . accidentals.sharp.slashslashslash.stemstem)
  )
But how could I define a Helmholtz-Glyph?


This table is different when you use an external font.  The 
relevant table, as I have it, starts like this:


HEStrings = #`(
(0  \x6e (0 . 1) (-0.5 . 0.5))
(10/1023  \x6e (0 . 0.6) (-0.5 . 0.5))
(-75/1096  \x6d (0 . 0.6) (-1.1 . 0.5))
(-162/247  \x3c\x65 (-2 . 2) (-0.5 . 0.5))
(20/1023  \x6e (0 . 0.6) (-1.1 . 0.5))

In each of those lists, the first entry is the alteration in 
whole tones (1/1 = 200 cents).  The second entry is the 
UTF-8 encoded string to display.  The other two pairs are 
the X- and Y-extents that determine how much space LilyPond 
allows for the accidentals.  We currently don't know how to 
make sensible guesses for these so they have to be hard coded.


The alteration for very accidental in the first table has to 
match a row in the second one.



Graham



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning

2009-09-25 Thread Graham Breed

Stefan Thomas wrote:


what I don't understand:
How many cents are an alteration of 10/1023?


It's a fraction of 200 cents.  So 200 * 10/1023 = 2000/1023 
= 1.955... cents, which looks like a schisma.



Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning

2009-09-25 Thread Graham Breed

Stefan Thomas wrote:

Ok, I've understood this now.
In the meantime, I tried to make my own microtone-uitchtable.
But, unfortunately, it doesn't work.
I always get the error message:


stefansMikrotoene.ly:32:6: warning: Could not find glyph-name for
alteration -162/247


That says it's a warning, not an error, so it shouldn't stop 
anything working.  To get rid of it you have to define a 
valid glyph for each alteration even when you don't use them.




I don't understand how to make use of the HE-font, when defining the
alteration signs.
Here is my short snippet:

snip

It's too short.  You've taken out the support code for the 
arbitrary accidentals.  Also, this part:




\paper{
#(define fonts (make-pango-font-tree Century Schoolbook L
  HE
  Bitstream Vera Sans Mono
 1))
}


looks out of date.  I used to do it that way, but there's a 
better way to set the font.



   Graham



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning

2009-09-24 Thread Graham Breed

Stefan Thomas wrote:

Dear Community,
I know that I am a little late in this discussion.
I wanted to try out theexample of Thorsten, I found at
http://lists.gnu.org/archive/html/lilypond-user/2009-09/msg00205.html
What I don't understand is: where do I have to have the files of the
HE-font?


You install them wherever fonts go on your system.  That may 
sound vague but, of course, it depends on your system.  I 
think there's a special folder LilyPond looks in as well but 
I'd have to check the documentation to find it, same as you.



And, is there a final version of the example code somewhere? I wasn't able
to find it!


Don't know, sorry.  Probably somewhere in this thread.


   Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Quarter-tone notation with arrows

2009-04-05 Thread Graham Breed

Joseph Wakeling wrote:


Another reason could be that if your quarter-tones are _approximate_
rather than precise, it can be helpful to know which of the 12 standard
notes you are bending.


If there's some intuitive reason for choosing different 
logical equivalents, perhaps that should be reflected in 
different pitch alterations anyway.



Graham Breed wrote me a nice note suggesting defining some kind of
override or tweak to redefine the symbol on the fly, but considering it
I think I'll probably go with 'cheaty' definitions of pitch alterations,
like +/- 101/400 (or 1001/4000 or whatever seems most appropriate:-)


Yes, sorry that went privately.  I forgot the shift-ctrl 
to reply.  The idea is you can only have one set of 
quartertone symbols at a time, but you can use a \tweak or 
\override to switch between sets.  I have proof of concept 
examples for pure/mixed Sagittal.


The cheating looks fine until you want to do transpositions. 
 Transposing C up-a-quartertone up by the same quartertone 
won't give C sharp, for example.  If you think it should 
that's an indication you're treating quartertones equally, 
of course.



 Graham



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Persian musical koron and sori

2009-02-18 Thread Graham Breed

Kees van den Doel wrote:

Then in \context add

\override Accidental #'stencil = #ly:text-interface::print
\override Accidental #'font-name = #???
\override Accidental #'font-size = #?
\override Accidental #'text = #(lambda (grob)
 (cdr (assoc 
(ly:grob-property grob 'alteration)

  persianStrings)))
\override Accidental #'X-extent = #'(0 . 1)
\override Accidental #'Y-extent = #'(-1 . 1)


Works great with the typo's fixed. Is there a way to do this only for koron and 
sori and render the
normal accidentals as usual?


There surely is, but it won't be pretty.  You can try:

-- Scheme functions for all these properties, that check if 
the alteration requires the new font, and default to the 
original values if it doesn't.


-- Putting all the \override commands in a variable, and 
calling it with \once when you need it.


-- Writing all the normal accidentals as \markup blocks that 
load the correct glyphs.


Note that if you want two glyphs at the same time for the 
same note they have to be strings or markup.


and so on for KeySignature 


If I do the same for KeySignature

\override KeySignature #'text = #(lambda (grob)
  (cdr (assoc 
 (ly:grob-property grob 'alteration)

   persianStrings)))

gives me an error. It's been almost 20 years since I've used Scheme and I don't 
remember
enough to be able to guess what the problem is...


Ah, yes.  That's not going to work.  The key signatures are 
drawn differently to accidentals.  They have to place all 
the glyphs, not only one glyph for a given accidental. 
Maybe somebody on the list can suggest a way to override

them...


Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Persian musical koron and sori

2009-02-17 Thread Graham Breed

Kees van den Doel wrote:

Hi Folks,

I made an init file persian.ly with support for Persian accidentals and scale 
signatures.
The only thing missing is correct glyphs for koron and sori. I include it below.


You don't want glyphs.  You want strings, because we're not 
expecting a music font, so the mechanism for glyphs won't work.


This can stay here:

% Define accidental symbols. 
% Really need to have accidentals.koron and accidentals.sori


persianGlyphs = #`((-3/10 . accidentals.mirroredflat)
   (1/5 . accidentals.sharp.slashslash.stem)
   (0 . accidentals.natural)
   (1/2 . accidentals.sharp)
   (-1/2 . accidentals.flat)
   (-1/10 . )
   (-3/5 . )
   (-1 . accidentals.flatflat)
   ( 1 . accidentals.doublesharp)
)


Then add:

persianStrings = #`((-3/10 . ???)
   (1/5 . ???)
...
)

where the ??? are replaced with the UTF-8 strings of the 
symbols you want.  Then in \context add


\override Accidental #'stencil = #ly:text-interface::print
\override Accidental #'text = #accidental-text
\override Accidental #'font-name = #???
\override Accidental #'font-size = #?
\override Accidental #'text = #(lambda (grob)
(cdr (assoc (ly:grob-property grob 'alteration)
 persianStrings)))
\override Accidental #'X-extent = #(0 . 1)
\override Accidental #'Y-extent = #(-1 . 1)

and so on for KeySignature and whatever else you want to use 
the new symbols.  The font name is what Pango uses to find 
the new font and you may need to adjust the font size.  For 
the best results use lookups for the X- and Y-extents as well.


Something I'm doing is causing a bug on another system, but 
this works for me.



 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Persian musical koron and sori

2009-02-15 Thread Graham Breed

Behnam Rassi wrote:

Yes Kees I downloaded the font and saw the glyphs.
This is as far as I can go with my current work too. Except that I will 
add additional Persian music notations (and perhaps somewhat better 
looking glyphs!). But I can only produce a font in ttf format, another 
one perhaps in otf format. I can also extract the glyphs in EPS format 
individually. I wouldn't know how to put them in LilyPond.


You need to say what interval (as a fraction of a 200 cent 
whole tone) you want each symbol to correspond to.



  Graham



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Frescobaldi 0.7.5 released

2009-02-12 Thread Graham Breed

Herbert Liechti wrote:


works only in vim/gvim !

o point cursor to the first line which should be commented out
o enter visual mode (key v)
o move cursor down to the end of the block (i.e. enter % sign
   for quick jumping to the closing bracket)
o enter command mode with : (you see something like this:
   :',' when entering the : ) then enter the substitution
   command s/^/%/ and hit enter

you substitute the beginning of the line with the %-sign in the
visual block


Or:

- go to the start of the first line to comment out
- enter visual block mode (ctrl-v)
- move the cursor down
- type shift-i to insert at the start of the line
- type %
- escape out of insert mode


commenting out is done the same way expect the substitution
command is :s/^%//


ctrl-v, select the comment characters, press d


 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: songbook from Lily scores

2009-02-07 Thread Graham Breed

Zoltan Kota wrote:


I have been using Lily for a year now, and I have several music scores
as separate lily files. I would like to make a songbook including
them, with cover page, table of contents, correct page numbering, etc.
How should I start? What sectiones should I learn in documentation?
Lilypond-book? Any useful info and tips are welcome!


I've written one thing with Lilypond-book and I'm very happy 
with it.  It just works.  It is, for now and for me, the 
killer application for LilyPond over ABC.  You put your 
LilyPond code in there with your LaTeX markup and there's 
the LilyPond in the output.  I don't have any amazing 
anecdotes to report because all it does is exactly what you 
expect.  The main bug is that it doesn't recompile the music 
if an external dependency changes, so you need to delete the 
working files.


Of course, LaTeX has its own learning curve but the stuff 
you're talking about isn't that difficult.  Lilypond-book 
itself is very simple.


If you want my example, here it is:

http://x31eq.com/magic/tripod.pdf

And the source code, if you want that:

http://x31eq.com/magic/tripod-code.zip


Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Persian musical koron and sori

2009-02-02 Thread Graham Breed

Hans Aberg wrote:

Graham,

Do you what types of fonts that LilyPond can use? - Behnam Rassi he says 
he only knows how to make music fonts.


There are two ways Lilypond loads its fonts: music fonts and 
Pango fonts.  The music fonts start out as Metafont and get 
converted to OTF along with some special tables that I never 
sorted out.  Music fonts are what Lilypond uses by default 
for accidentals so that's the best way to go.  And once 
somebody's drawn them they're likely to get added to the 
standard fonts I'd have thought if we're only talking two 
new glyphs.


The Pango route is a bit of a hack.  The accidental engraver 
is a bit picky about what fonts it can work with.  You can't 
load a font by name but you can load one of the system fonts 
and use it in a markup block.  But as it's very useful, and 
can be used with a variety of third-party fonts (whatever 
Pango supports, to answer you question) I'll explain how it 
works.


The first step, then is to load you font into the system.  I 
get Sagittal like this:


\paper{
newStaffSize = #20
#(define fonts (make-pango-font-tree Century Schoolbook L
 Sagittal
Bitstream Vera Sans Mono
(/ newStaffSize 20)))
}

Sagittal is the one I use for the accidentals.  The other 
two have to be on your system.  I've discovered that the 
sans font is used by default for chord symbols so overriding 
the typewriter font may be safer.


Then you need to set glyphs from the music font the way you 
always did because some redundant code is still active.  For 
this example the alist is called tripodGlyphs.  After 
that, something like this:


tripodStrings = #'(
(3/5 . \xe2\x88\x86) ;rightscrolltripleup, 15:14
(-11/100 . \xc3\xba) ;rightarcup, 7-comma
(1/10 . \xc3\xb6) ;leftbarbup, 25:24
( 0 . \xc3\xaa) ;natural
(-1/10 . \xc3\x9c) ;leftbarbdown, 25:24
(-11/100 . \xc3\x91) ;rightarcdown, 7-comma
(-1/5 . \xc3\x87) ;rightbarbdown, 2/60
(-2/5 . \x68) ;rightarcdoubledown
(-3/5 . \x5a) ;rightscrolltripledown, 14:15
)

The strings are the accidentals you want to show in UTF-8 
format (there is a function to convert to UTF-8).


Then add this code:

#(define (accidental-text grob)
(cdr (assoc (ly:grob-property grob 'alteration) 


   tripodStrings)))

And wire everything up:

\layout {
  \context {
\Score
\override Accidental #'stencil = #ly:text-interface::print
\override Accidental #'text = #accidental-text
\override Accidental #'font-family = #'sans
\override Accidental #'font-size = #4
\override Accidental #'glyph-name-alist = \tripodGlyphs
\override Accidental #'Y-extent = #'(-1 . 1)
  }
}

The font-size is because they come out too small by default. 
 The Y-extend is because Lilypond allows way too much 
vertical space by default.  If you're conscientious you'll 
make the X- and Y-extents into functions so that you can 
specify the size of each glyph.


These examples are taken from the code to my tripod notation 
exposition:


http://x31eq.com/magic/tripod-code.zip


   Graham



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Persian musical koron and sori

2009-02-02 Thread Graham Breed

Behnam Rassi wrote:

What I'm not clear about is that you don't need just a font containing 
two glyphs for Sori and Koron right? You need a font containing all 
necessary glyphs for music writing, including Sori and Koron. So I have 
to add them to an existing font. Did I understand it correctly? I don't 
think I will be able to design ALL of them. I'll be able to design Sori 
and Koron (and Tahrir and whatever else I found consistently used) in 
visual harmony with other existing notations.


No.  You should be able to set the font for a given glyph. 
I forget if that works, but you can certainly set the font 
for the Accidental object and whatever other objects you 
want to draw the symbols.  In that case you'll need all the 
glyphs you want as accidentals (including naturals and maybe 
parentheses) in your font.  Which is generally a good thing 
because you can distribute it as a Persian music font that 
can work with different applications.


If you add your glyphs to Lilypond's fonts, OTOH, you'll 
naturally have all the other glyphs in there as well.



  Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Persian accidentals

2009-02-01 Thread Graham Breed
2009/2/1 Hans Aberg hab...@math.su.se:

 On 30 Jan 2009, at 03:34, Kees van den Doel wrote:

 Is there any way to print the koron (60cents flat) and sori (40 cent
 sharp)?

 Check with Graham Breed - it might be possible now.

You can use any glyph, or string of glyphs, you have in a font.  I
haven't seen a mention here of such a font being available.


 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Persian accidentals

2009-02-01 Thread Graham Breed

Hans Aberg wrote:

On 1 Feb 2009, at 13:07, Graham Breed wrote:


You can use any glyph, or string of glyphs, you have in a font.  I
haven't seen a mention here of such a font being available.


Didn't you work with MicroABC? A quick search gave this page
  http://anamnese.online.fr/site2/index.php?page=abc_perse
(Click on the English version button to see the text.)


I've done a bit with it.  That link isn't MicroABC, it's a 
different tool for use with abcm2ps.  But it'll likely be 
compatible with Lilypond as both use PostScript.


I think that koron and sori may not be in Unicode, which LilyPond uses 
for fonts. So some special implementation might be needed.


There'll be a code point in the font file.  You can get it 
using FontForge (which I had to use for Sagittal because the 
Unicode mapping is wrong for some reason I may have been 
told about but forgot).  Another thing Hudson Lacerda (the 
author of MicroABC) told me is that you can get PostScript 
code for a glyph from FontForge.  That might be useful as 
some of the hacks in this thread have involved coding 
PostScript directly.


If you're designing a Unicode font there's a private use 
area for characters without an official code point.



 Graham



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Ubuntu can't find lilypond executable

2009-01-19 Thread Graham Breed

Bertalan Fodor (LilyPondTool) wrote:
I'm not sure this says that the given file wasn't found.  I think it says that 
the given file was executed and returned the error not found.

Hm. That can be true - as there is a problem with running lilypond-book:

/usr/local/lilypond/usr/bin/lilypond-book
bash: /usr/local/lilypond/usr/bin/lilypond-book: 
*/home/lilydev/vc/gub/target/*tools/root/usr/bin/python: bad interpreter: No 
such file or directory


It perhaps is related.


What's this lilydev?  Is that you?  It looks like you're 
getting the version you installed mixed up with a 
development copy you have.


Note: the executable file you run is a shell script.  Look 
at it and it'll tell you the library path it's using.



   Graham



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Ubuntu can't find lilypond executable

2009-01-19 Thread Graham Breed

Bertalan Fodor (LilyPondTool) wrote:


No, it's not me. The lilypond-book script contains this as the first line:

#!/home/lilydev/vc/gub/target/tools/root/usr/bin/python


That's weird.  I see this in 
~/lilypond/usr/bin/lilypond-book as well.  But lilypond-book 
works for me.  The binary is ~/bin/lilypond-book and that 
overrides the Python version.



 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Ubuntu can't find lilypond executable

2009-01-19 Thread Graham Breed

Bertalan Fodor (LilyPondTool) wrote:
I tried to install LilyPond 2.12 on an Ubuntu machine. I found a very strange 
thing I couldn't explain, and couldn't solve.

I used the script to install:

sudo /sh lilypond-X.Y.Z.linux-x86.sh


I did a local install, and it works fine as

~/bin/lilypond

and so on for the other applications.  This seems to be the 
way to go so that I can keep the stable version from the 
repository.  Maybe it'll still work for you.


(Actually, it seems to be the default now, but never mind.)


/Then I try to run lilypond:
lilypond test.ly

and I get:

exec: 4: /usr/local//lilypond/usr/bin/lilypond: not found


I'm not sure this says that the given file wasn't found.  I 
think it says that the given file was executed and returned 
the error not found.



But the file is actually there:

stat /usr/local//lilypond/usr/bin/lilypond

File: `/usr/local//lilypond/usr/bin/lilypond'
Size: 3586224 Blocks: 7016   IO Block: 4096   regular file
Device: fd01h/64769dInode: 755771  Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (0/root)   Gid: (0/root)
Access: 2009-01-19 10:24:01.0 +0100
Modify: 2008-12-31 19:13:22.0 +0100
Change: 2009-01-19 10:23:10.0 +0100


That's the right file.


 Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Accidentals problem

2009-01-05 Thread Graham Breed
2009/1/5 Trevor Daniels t.dani...@treda.co.uk:
 You could place the es in a separate temporary voice and ignore the clashing
 note column warning:

 
  ees!
 \\
  \voiceOne
  \once \override Accidental #'stencil = #ly:text-interface::print
  \once \override Accidental #'text = #AuflB
  \once \override Score.AccidentalPlacement #'right-padding = #1.5
   a d' bes'! b'! e''


Hello all!  Here's a complete script that uses the letter b as a flat symbol:

\version 2.12.1
 AuflB = \markup {b}
 \relative c' {
 \voiceOne

 \once \override Accidental #'stencil = #ly:text-interface::print
 \once \override Accidental #'text = #AuflB
 \once \override Score.AccidentalPlacement #'right-padding = #0.5
  a d' bes'! b'! e''
 }

The vertical alignment's wrong, but never mind that for now.  I'm sure
there's a fix.  The big problem is when I choose an OS-installed font:

\version 2.12.1
 AuflB = \markup {b}
 \relative c' {
 \voiceOne

 \override Accidental #'font-name = #URW Palladio L
 \once \override Accidental #'stencil = #ly:text-interface::print
 \once \override Accidental #'text = #AuflB
 \once \override Score.AccidentalPlacement #'right-padding = #5
  a d' bes'! b'! e''
 }

You can try with any font that Lilypond doesn't know about.  The
right-padding specification is then ignored.  See I chose a really big
value so that you can't miss it.

Does anybody know how to fix this?  At least I know how to get strings
as accidentals, which will be useful at some point, but I really do
want to get accidental symbols from third party fonts.

Also, where does the original b come from?  Latin characters aren't
listed in the Feta font.  Is the standard text font blessed as a music
font?  If not, how do I override it?


Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Accidentals problem

2009-01-05 Thread Graham Breed
Following my last message, this is how to get a letter from an
arbitrary font as an accidental:

\version 2.12.1
\paper{
#(define fonts (make-pango-font-tree Century Schoolbook L
 URW Palladio L
 DejaVu Sans Mono
1))
}
 AuflB = \markup {
 \override #'(font-family . sans) b}
 \relative c' {
 \voiceOne

 \once \override Accidental #'stencil = #ly:text-interface::print
 \once \override Accidental #'text = #AuflB
 \once \override Score.AccidentalPlacement #'right-padding = #0.5
  a d' bes'! b'! e''
 }

It works as long as you didn't want a sans font anywhere.


   Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Diatonic/modal transposition function

2008-12-29 Thread Graham Breed
2008/12/29 John Mandereau john.mander...@gmail.com:

 This work is not synced at all with Graham's work, but it tries not to
 naively assume any temperament; in current state it only works with
 7-notes scales, but the arithmetics on alteration works with any kind
 alteration, semi-tones or microtonal alterations.

Right, that's how it looked to me.  If it doesn't assume equal
temperament it should work generally.  But I haven't tested it.

Note that I discovered it is possible to get more than 7 scale steps
to the octave (see the development list).  So this would probably
generalize accordingly.  But I don't know if anybody's ever going to
make the (AFAIK global) change of scale size and then want to do modal
transpositions.  If they do they can hack your code.

 BTW I'm sure it is feasible to extend these transposition functions to
 scales with other lengths assuming equal semi-tones temperament (E12)
 (e.g. for Messiaen's modes), but I'm not knowledgeable enough about
 scales and modes definitions you discussed with Graham on -devel to tell
 how the functions I wrote should be extended to support these scales.

I know there's a snippet in the documentation for chromatic
transposition -- and maybe that's where you started from.  7 note
scales are the next most important application, anyway.


Graham


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user