w3c / mnx

Music Notation CG next-generation music markup proposal.
179 stars 18 forks source link

Rational numbers should be permitted in pitch encodings #8

Open joeberkovitz opened 7 years ago

joeberkovitz commented 7 years ago

Rational numbers should be usable as ratios relative to some reference pitch, to permit specification of pitches using just intonation. E.g., something like C4*4/3.

joeberkovitz commented 7 years ago

For some use cases, perhaps this sort of thing belongs in some kind of temperament definition that is global to the score. Ad hoc specification of rational numbers suggests a global use of arbitrary just intonation that perhaps is more appropriate to GMNX than CWMNX.

mogenslundholm commented 7 years ago

Wouldn't it just be another way to write: <note pitch="C4+4,98044999134613"/> ? The tone <note pitch="F4-0,01955000865387"/> will give same result. Refer to "MNX Proposal Overview": 5.3.10. Pitch encoding

(The alter values written by plus- or minus-sign are in half steps, i.e. 12 halftones per octave. And 12*log2(4/3)=4,98044999134613).

joeberkovitz commented 7 years ago

Yes, alterations in semitones or cents would be useful. That's now entered as #19 since it's separate from this issue.

I think the question of global temperament definitions remains and it's entered as #20

cecilios commented 7 years ago

As rational numbers are allowed, I would prefer not to allow ratios or other arithmetic expressions, as this complicates parsers. In the provided example, apart of division, multiplication is also introduced. I do not see a real gain in using ratios: with real numbers all arithmetic computations is on the exporter and enough precision can be achieved using real numbers without the need to introduce arithmetic expressions evaluation on importers.

mdgood commented 5 years ago

I think we can close this issue as rational numbers have been part of the pitch representation in the draft spec for quite a while now.