[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Diatonic notation system
From: |
Hans Aberg |
Subject: |
Re: Diatonic notation system |
Date: |
Tue, 9 Dec 2008 11:05:15 +0100 |
On 9 Dec 2008, at 05:00, Graham Breed wrote:
To get it to sound right, you multiply by 6. If accidentals and
transpositions 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
computed
against 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 the
real 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 = the
octave, 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 in
a 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 sound
patches 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 the
original 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 OS
X. :-)
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 the
Lilypond parser and writing different output? If you have
patches to
make 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 of
scale 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 the
information that can the Western notation notation system
produces. Also
SCala tend to treat scales as pitches. So therefore it might to
convert to
Scala 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 the
octave with a transposition jump somewhere, called a "wolf".
Then one might make a transposed version of that, say taking all
pitches of
major 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
accidentals
needed, 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, so
scores 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 easy
way 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 number
of 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 function
that converts from your chosen units into fractions of a whole
tone
with whatever precision you choose.
Only if one knows m and M in advance, and it will generally
destroy the
musical 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 in
those 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 a
specific 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
write
an init file that gives them different names. Given that, the music
can easily be retuned so that the two pitches are different. And
the
two 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 the
way, 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
- Diatonic notation system, Hans Aberg, 2008/12/07
- Re: Diatonic notation system, Graham Breed, 2008/12/07
- Re: Diatonic notation system, Hans Aberg, 2008/12/07
- Re: Diatonic notation system, Graham Breed, 2008/12/07
- Re: Diatonic notation system, Hans Aberg, 2008/12/07
- Re: Diatonic notation system, Graham Breed, 2008/12/07
- Re: Diatonic notation system, Hans Aberg, 2008/12/07
- Re: Diatonic notation system, Graham Breed, 2008/12/07
- Re: Diatonic notation system, Hans Aberg, 2008/12/08
- Message not available
- Re: Diatonic notation system, Graham Breed, 2008/12/08
- Re: Diatonic notation system,
Hans Aberg <=
- Re: Diatonic notation system, Graham Breed, 2008/12/09
- Re: Diatonic notation system, Hans Aberg, 2008/12/09
- Re: Diatonic notation system, Graham Breed, 2008/12/10
- Re: Diatonic notation system, Hans Aberg, 2008/12/10
- Re: Diatonic notation system, Graham Breed, 2008/12/10
- Re: Diatonic notation system, Hans Aberg, 2008/12/10
- Re: Diatonic notation system, Graham Breed, 2008/12/10
- Re: Diatonic notation system, Hans Aberg, 2008/12/10
- (attn doc team) Re: Diatonic notation system, Graham Percival, 2008/12/10
- Re: (attn doc team) Re: Diatonic notation system, Hans Aberg, 2008/12/10