Hi Karim! Your first example seems to work to me (I don’t do irrational meters everyday, so there might be something I’m missing. I would probably write the tuplets explicitly rather than use \scaleDurations). \set Staff.timeSignatureFraction is superfluous, the time signature already does that.
I’m not sure what you’re aiming at with the second example. One source of error is that you have quoted ly:make-moment, and it wants its arguments as elements of a list, not as a fraction, so: #(ly:make-moment 16 25) , not #'(ly:make-moment 16/25) But it is still not the right amount of notes in the bar. HTH /Leo > 17 jan. 2023 kl. 12:16 skrev Karim Haddad <[email protected]>: > > Hi, > > I am wondering which is the best way to write irrational meters (with tempo > modulations) > > 1) > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > \version "2.24.0" > \score { > { > > \clef "G" > > \scaleDurations 4/5 { > \time 4/5 > \set Staff.timeSignatureFraction = #'(4 . 5) > \mark \markup {\left-column {{\line { \smaller \general-align #Y #DOWN \note > {4} #1 " = 60 "}} \tiny "1"}} > c'4 > c'4 > c'4 > c'4 > | > } > \once \set Staff.whichBar = "|" > } > > > \layout { > > \context {\Score > % measureBarType=#"" > } > > } > } > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > > or > > 2) > > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > \version "2.24.0" > \score { > { > \clef "G" > > \time 4/5 > \set Staff.timeSignatureFraction = #'(4 . 5) > \set Timing.measureLength = #'(ly:make-moment 16/25) > \mark \markup {\left-column {{\line { \smaller \general-align #Y #DOWN \note > {4} #1 " = 60 "}} \tiny "1"}} > c'4 > c'4 > c'4 > c'4 > | > \once \set Staff.whichBar = "|" > } > > \layout { > > \context {\Score > measureBarType=#"" > } > > } > } > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > > > Now the first solution outputs: > > Processing `irr1.ly' > Parsing... > Interpreting music... > irr1.ly:13:1: warning: strange time signature found: 4/5 > > \time 4/5 > Preprocessing graphical objects... > > > Which looks good to me as a warning > > However, the second solution gives: > > Processing `irr2.ly' > Parsing... > Interpreting music... > warning: type check for `measureLength' failed; value `(ly:make-moment > 16/25)' must be of type `moment' > irr2.ly:12:1: warning: strange time signature found: 4/5 > > \time 4/5 > irr2.ly:20:1: warning: barcheck failed at: 1/5 > > | > Preprocessing graphical objects... > > > And if we comment measureBarType=#"" we will have a strange bar at the end. > > > Best Regards > > > -- > Karim Haddad > > Music Representations Team, IRCAM > Research and development manager. > >
