On 9 Dec 2008, at 05:00, Graham Breed wrote:
To get it to sound right, you multiply by 6. If accidentals andtranspositions don't work you may need to define a different grid from them. The worst is that you need one init file to define the notation-- so that the accidentals are distinct where you want them to be -- and another init file to define the true pitches.When I fiddled around with it, intermediate pitches were always computedagainst those six M, so there will always 2 m to the M, or E12.No, because Lilypond also preserves the number of scale steps. At least, it should.
I attach what I wrote for E36. There seems to be two systems, but they keep the ratio M/m = 2.
The difference to E53 is probably small, but it is still a fix, and not thereal thing.Yes, when it comes to the MIDI output, if you think E53 is "the real thing" for Turkish music.
E53 has narrow m's which makes it approximate 5th 3/2 well. That is what give it sound characteristics. Multiples of 12 don't do that.
I was then thinking about letting M, m being rational numbers, with 1 = theoctave, but that then only admits n-equal temperaments.No. It allows anything you like because you can make the rationals arbitrarily precise.
One must be able to change the M/m ratio - without that, increasing approximation does not help.
Then I made the diatonic key map, and used it for active playing, led me to think it right. And it is simpler to store integers than rational numbers ina computer.Don't worry. Lilypond is quite capable of storing rational numbers.
It is much faster to compute fixed size integral types, regardless if you think it necessary.
The m M model I gave, I think makes the most of the Western notation system- it is what it actually notates. And it focuseS on musical function,writing notes, not pitches, the latter that can vary with interpretation.Exactly the same way Lilypond's model does.
Only that is seems fixed to E12 or E24 when defining key signatures.
Even if the pitch specifications were accurate, they'd have to be converted to pitch bends.Even this may not work correctly, because a pitch bend may require change in tone color (timbre). When playing say E31 in Scala, I noticed on some soundpatches changing erratic in timbre.I was short changing MIDI a bit. You could use single note retuning messages from the MIDI Tuning Standard. Scala can do this and some synthesizers do support it. Lilypond, however, uses pitch bends.
If the sound patch can handle it. It is possible in Timidity, though.
Then all kinds of problems come in. Most of the time it's simpler to talk of "half steps" and program the synthesizer to do the tuning.So therefore I think that MIDI is not a suitable format for a microtonal output, leading to the idea of an intermediate formate that can preserve theoriginal diatonic structure.If you don't think MIDI's suitable, quit bugging the Lilypond developers about their MIDI output. You could learn to parse the Lilypond format. Or develop your own format and process it to make Lilypond one of the intermediates. What makes you think some other format (which you haven't begun to specify) would be magically easier to work with?
I already discussed those options with Manuel Op de Coul - too complicated.
Csound is probably much better - though I could not get it working on Mac OSX. :-)Csound is lousy for representing staff notation because it does rhythm differently. What are your problems? I did some work on this for Tiger and I still have a spare machine running it that I can test on. There's a call for testers on the Csound list. That's the proper place to discuss this.
I don't remember, must try again some time.
Is there a way of using theLilypond parser and writing different output? If you have patches tomake Lilypond do what you want that's something you could show the developers.Once one has written a MIDI file, then the information needed for retuning is lost, as one needs to know the underlying diatonic structure, and the difference between frequency and pitch bend. Also, there is the problem ofscale stretch on inharmonic instruments, like plucked strings.That doesn't answer my question. Scale stretch is not a problem here. You can apply scale stretch to the MIDI output.
If retuned, E12 enharmonic equivalences no longer apply. So one must first decide which sharps and flats to use, which only works if notes like F# and Gb both appear.
But I think LilyPond should make its own format that optimizes theinformation that can the Western notation notation system produces. Also SCala tend to treat scales as pitches. So therefore it might to convert toScala files from another format.Yes, Lilypond has its own format already. It does what you want.
So then just write it. Direct processing .ly files is too complictaed.
I think there are at least three ways to notate chromatic runs, and I do not know which ones work in LilyPond. Looking into scores of older music, 19th century or older (like Beethoven's "Für Elise" suggest one can take meantone tuning accidentals and stick to that, that is, one chooses 12 pitches to theoctave with a transposition jump somewhere, called a "wolf".Then one might make a transposed version of that, say taking all pitches ofmajor and minor scales one fifth up and down. In key A, that would be A Bb B C C# D D# E F F# G G#This requires that one is knows the key A. I do not know if that is done, but those are the pitches in the chromatic runs in a score of Für Elise.If you don't know what it does how do you know there's a problem?
I do not know what you mean with problem - there is just sheet music handed down.
Finally, one can notate in E12, just minimizing the number of accidentalsneeded, so it is different going up and down.Yes. That would be chromatic transposition. I can't see a way to specify it in Lilypond. So what does Lilypond actually do?
Do not know.
And engravers in the past may have simply changed it enharmonically, soscores may not be reliable.Absolutely. If you want to know the original accidentals you need a critical edition.
If the music has abstract combinations instead of pitches, what is Lilypond supposed to do about it?It should extract the octave, note name, accidental (possibly look up for called for enharmonic equivalences), and then typeset that. There is an easyway to do that.Yes, that's exactly what it does.
First compute the scale degree p + q, and compute the octave and note name by dividing by 7: octave is the fraction, remainder the note name. Then subtract octave and note name from p m + q M; the result is of the form (-r)m + r M, where r if > 0 is the number of sharps, and if < 0, the numberof flats is -r.Or it could do what it already does.
So what does it do. Does it generalize?
How else do you suggest that be done? You can write a functionthat converts from your chosen units into fractions of a whole tonewith whatever precision you choose.Only if one knows m and M in advance, and it will generally destroy themusical structure.If you don't know M and m in advance, how is Lilypond supposed to guess them? What's the problem with the musical structure?LilyPond should not care about them unless explicitly called for. One is situation is computing enharmonic equivalences. But most music is typeset diatonically, only calling for enharmonic equivalence in certain situations.The other is when producing a sound output.Right, so to compute enharmonic equivalences you need to know M and m in advance.
Music may do enharmonic equivalence as a notational simplification, too, in which case m and M need not be known. There will be a small jump in the music, but performers will cope with that. Even dedicated E12 music may actually be performed in something else - somebody measured up that some Shoenberg piece was actually performed in Pythagorean tuning.
To produce sound output you need to know M an m in advance. If you're not doing either of these things the values of M and m don't matter so neither does it matter if they're wrong.
In advance of producing the sound output, but in advance of the typeset output only if the piece is tied to a specific tuning.
That's why you have init files. Supply a different init file, or alter the tuning specifications.The notation does normally tell what the tuning should be, so one would want to retune it, even if the typeset output is the same. Think of an archive with Medieval tunes - as it is now, they MIDI files will be in E12. But inthose times one used E53. And if set in E53, they may not work with instruments in E12.Yes, so change the init file. Why are we going around in circles here?
Perhaps you are stuck to the same idea, and repeating.
The problem is what the official version are. If the official version sets aspecific tuning, then it is not possible to change that.Yes, it is possible to change it, by changing the init file.
If you have the original .ly file.
Sorry, typo: if the sound output is in E12, then it cannot be retuned without the underlying diatonic structure.So don't retune the sound output. Retune the Lilypond input.
The all tuning capabilities lies on LilyPond.
It depends on how the pitches are specified, which depends on the init file. If a half-sharp above C is the same as a half-flat below C# you may as well say so. If you want them distinguished you have to writean init file that gives them different names. Given that, the musiccan easily be retuned so that the two pitches are different. And thetwo pitches can be written differently.The problem was that even if one gives them different names, LilyPond seems to compute them by checking nearest offset to the six M's. So if they are set in E24, then such confusion can arise. - I do not know if this is theway, or how, LilyPond is computing intermediate pitches.If they're set in E24, then E24 should be what you want. Otherwise, change the init file.
That is not how it is in Arab music. It uses symbols from E24, but there is no general agreement what tuning to use. The LilyPond model is flawed, though possible to tweak.
Hans
maqam36.ly
Description: Binary data
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel