ossia staff without SystemStartBar / Bracket / Brace

2015-05-14 Thread musicus
> I'm not top posting.

Is there an easier way to get an ossia Staff without SystemStart than 
following code? 
I'm thinking of something like SystemStartBar #'allow-span-bar = ##f 

\version "2.19.17"

<<
  \new Staff = "ossia" \with {
\remove "Time_signature_engraver"
\hide Clef
\hide KeySignature
\magnifyStaff #2/3
  }{a a a a b b b}
  \new StaffGroup {
<<
\set StaffGroup.systemStartDelimiterHierarchy =
#'(SystemStartBar (SystemStartBracket (SystemStartBrace a b)))
   \new Staff { a a a a b b b}
   \new Staff {a a a a a a a }
  >>
}
>>

\layout {
  \context {
\Score
\omit SystemStartBar
\override SystemStartBracket.style = #'bar-line
\override SystemStartBracket.padding = #-0.1
\override SystemStartBracket.thickness = #1.6
  }
}



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


coloring voices vs systemStartDelimiterHierarchy

2015-06-09 Thread musicus

Dear LilyPonders,

I wanted to use a great coloring function by Urs Liska, but ran into a 
problem with using systemStartDelimiterHierarchy.
If I color a music section, the SystemStart of the next system after 
that section isn't displayed properly.

Anybody an idea how to solve this?

Attached an example.\version "2.19.17"

colorGrob =
#(define-music-function (parser location my-grob my-color color-on)
   (symbol? color? boolean?)
   ;; check for the boolean argument
   (if color-on
   ;; either set the color for the grob type
   #{
 \temporary \override #my-grob #'color = #my-color
   #}
   ;; or revert it
   #{
 \revert #my-grob #'color
 
   #}))

colorGrobs =
#(define-music-function (parser location my-grob-list my-color color-on)
   (symbol-list? color? boolean?)
   (if (null? my-grob-list)
   ;; issue an empty music expression
   #{ #}
   #{
 % color the first grob type of the current list
 \colorGrob #(car my-grob-list) #my-color #color-on
 % recursively call itself with the remainder
 % of the current list.
 \colorGrobs #(cdr my-grob-list) #my-color #color-on
   #}))

colorMusic =
#(let ((grob-names (map car all-grob-descriptions)))
   (define-music-function (parser location my-color music)
 (color? ly:music?)
#{
  \colorGrobs #grob-names #my-color ##t
  #music
  \stopStaff
  \colorGrobs #grob-names #my-color ##f
  \startStaff
  #}))


colA = #(define-music-function(parser location music)(ly:music?)
  #{
\colorMusic #(rgb-color 0.72 0 0.196) #music
  #})



music = {\repeat unfold 40 a4}

  
  \new StaffGroup {
<<
\set StaffGroup.systemStartDelimiterHierarchy =
#'(SystemStartBar (SystemStartBrace (SystemStartBracket a b)))
\new Staff \colA { <<{\voiceTwo a a\music \music}\new Voice  \relative c''\colA {\music }>>}
\new Staff {\music \music}
  >>
}



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


Fw: Re[2]: coloring voices vs systemStartDelimiterHierarchy

2015-06-09 Thread musicus

Hi Klaus,

unfortunately I have to use \startStaff \stopStaff, because I want to 
set ossia variations above the original score.

I'll attach the complete score, so you can see my problem.

musicus

-- Originalnachricht --
Von: "Klaus Blum" 
An: lilypond-user@gnu.org
Gesendet: 09.06.2015 21:18:12
Betreff: Re: coloring voices vs systemStartDelimiterHierarchy


Hi musicus,

the problem disappears if you remove the "\stopStaff" and "\startStaff"
commands in your "colorMusic" function. It seems that the function 
works

fine without them.
Is there a special reason for them? I could not find them in Urs' blog.

Cheers,
Klaus




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/coloring-voices-vs-systemStartDelimiterHierarchy-tp177643p177653.html

Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user\version "2.19.17"
\language "deutsch"

colorGrob =
#(define-music-function (parser location my-grob my-color color-on)
   (symbol? color? boolean?)
   ;; check for the boolean argument
   (if color-on
   ;; either set the color for the grob type
   #{
 \temporary \override #my-grob #'color = #my-color
   #}
   ;; or revert it
   #{
 \revert #my-grob #'color
   #}))

colorGrobs =
#(define-music-function (parser location my-grob-list my-color color-on)
   (symbol-list? color? boolean?)
   (if (null? my-grob-list)
   ;; issue an empty music expression
   #{ #}
   #{
 % color the first grob type of the current list
 \colorGrob #(car my-grob-list) #my-color #color-on
 % recursively call itself with the remainder
 % of the current list.
 \colorGrobs #(cdr my-grob-list) #my-color #color-on
   #}))

colorMusic =
#(let ((grob-names (map car all-grob-descriptions)))
   (define-music-function (parser location my-color music)
 (color? ly:music?)
#{
  \colorGrobs #grob-names #my-color ##t
  %\temporary \override LedgerLineSpanner.color = #my-color
  %\temporary \override Staff.Clef.color = #my-color
  #music
  \stopStaff
  \colorGrobs #grob-names #my-color ##f
  %\revert LedgerLineSpanner.color
  %\revert Staff.Clef.color
  \startStaff
  #}))


%-
%Header und Abkürzungen---
%-

\header {
  tagline = ##f
}

global = {
  \key d\minor
  \time 3/2
  \mergeDifferentlyDottedOn
  \mergeDifferentlyHeadedOn
  \set Timing.beamExceptions = #'(
   (end .
 (
   ((1 . 16) . (4 4 4 4 4 4))
   )
 )
   )
}

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
voiceSix = #(context-spec-music (make-voice-props-set 5) 'Voice)



colA = #(define-music-function(parser location music)(ly:music?)
  #{
\colorMusic #(rgb-color 0.72 0 0.196) #music
  #})


%
%--musikalischer Inhalt--
%

einsNoten = {
  \repeat volta 2 {
<<
  \new Voice {
\voiceOne f''2^\markup {\translate #'(-7 . 3)\bold "Sarabande"} e''2. f''4
| g''4.\turn a''8 fis''2.\prall fis''4
| g''2 e'' d''8 cis'' d''4
| cis''2. h'4 a'2
| c'' h'2. cis''4
| d''4 e'' cis''2.\prall d''4
| e''8 f'' e'' f'' f''2.\prall e''4
| e''1.
  }
  \new Voice {
\voiceTwo d''2 b'1
| a'2 a'1
| d''2 b' h'
| a'1 e'2
| a' g'1
| gis'2 a' g'
| b' a' gis'~
| gis'4 gis' a'1
  }
  \new Voice {
\voiceTwo \once \override NoteColumn.force-hshift = 0.3 a'2 g'1
| s1.
| \override NoteColumn.force-hshift = 0.4 g'2 g' f'
  }
>>
  }
  \repeat volta 2{
<<
  \new Voice {
\voic

Re[2]: Fw: Re[2]: coloring voices vs systemStartDelimiterHierarchy

2015-06-09 Thread musicus
Ok, the "\stopStaff \startStaff" in the colorMusic function is only 
necessary, if you want to color clefs, for example.
In my case there aren't any "clef-changes", so the coloring function can 
work without it.

It would be nice however, if music with clefs could be colored as well.
I tried to put the "Clef_engraver" from the Staff to the Voice context 
but that doesn't seem to work well. (attached file)




Nick Payne-3 wrote
 If I save the ly file and try to build it (Windows, Lilypond 2.19.21) 
it
 causes lilypond to terminate with the error below. I also loaded it 
into

 Frescobaldi and got the attached Mingw error msgbox:
 [...]


Strange... I'm on Win7 64bit, Frescobaldi & Lilypond 2.19.18 and 
everything

works fine.

If I comment out the \startStaff and \stopStaff commands (only in the
colorMusic function, not in any ossia voices)...

  \colorGrobs #grob-names #my-color ##t
  %\temporary \override LedgerLineSpanner.color = #my-color
  %\temporary \override Staff.Clef.color = #my-color
  #music
  %\stopStaff
  \colorGrobs #grob-names #my-color ##f
  %\revert LedgerLineSpanner.color
  %\revert Staff.Clef.color
  %\startStaff

...nothing changes (or am I blind?) except for the missing brace that
reappears:
with_stopStaff.pdf

without_stopStaff.pdf


Hmmm... no idea :(

Viele Grüße,
Klaus



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Fw-Re-2-coloring-voices-vs-systemStartDelimiterHierarchy-tp177656p177662.html

Sent from the User mailing list archive at Nabble.com.

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

colorGrob =
#(define-music-function (parser location my-grob my-color color-on)
   (symbol? color? boolean?)
   ;; check for the boolean argument
   (if color-on
   ;; either set the color for the grob type
   #{
 \temporary \override #my-grob #'color = #my-color
   #}
   ;; or revert it
   #{
 \revert #my-grob #'color
 
   #}))

colorGrobs =
#(define-music-function (parser location my-grob-list my-color color-on)
   (symbol-list? color? boolean?)
   (if (null? my-grob-list)
   ;; issue an empty music expression
   #{ #}
   #{
 % color the first grob type of the current list
 \colorGrob #(car my-grob-list) #my-color #color-on
 % recursively call itself with the remainder
 % of the current list.
 \colorGrobs #(cdr my-grob-list) #my-color #color-on
   #}))

colorMusic =
#(let ((grob-names (map car all-grob-descriptions)))
   (define-music-function (parser location my-color music)
 (color? ly:music?)
#{
  \colorGrobs #grob-names #my-color ##t
  #music
  %\stopStaff
  \colorGrobs #grob-names #my-color ##f
  %\startStaff
  #}))


colA = #(define-music-function(parser location music)(ly:music?)
  #{
\colorMusic #(rgb-color 0.72 0 0.196) #music
  #})



music = {\repeat unfold 40 a4}

  
  \new StaffGroup {
<<
\set StaffGroup.systemStartDelimiterHierarchy =
#'(SystemStartBar (SystemStartBrace (SystemStartBracket a b)))
\new Staff {a b c <<\colA {\voiceTwo a a\music \clef tenor \music}\new Voice  \relative c''\colA {\music }>>}
\new Staff {\music \music}
  >>
}



\layout {
  \context {
\Staff
\remove "Clef_engraver"
  }
  \context {
\Voice
\consists "Clef_engraver"
  }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


avoid merging stems

2015-06-14 Thread musicus

Hello,

I'd like to avoid "stem-merging" in measure 13 between the upper g2. and 
the first lower g4.
Additionally I'd like to hide the stem of the first lower g4 in m.13 
(should be no problem, if the stems don't merge).
I tried a couple of things to achieve this, but unfortunately I don't 
find it.
Plus, I have a question about the collision between accidentals and 
slurs. Is there a way to get the accidentals inside the slurs without 
shaping each of them?
(\override Accidental.avoid-slur = #'inside doesn't help - i guess 
Standard Settings restrict the shaping of slurs to a limit?)


musicus\version "2.19.17"
\language "deutsch"
%\include "general-tools/clip-regions/definitions.ily"
%\include "custom-music-fonts/smufl/definitions.ily"

% Define a list with original page breaks (barnumbers)
%originalPageBreaks = #'(69 163)

% Define a region with barnumbers
%\setClipRegion 4 6

% Compile a single page
%\setClipPage 3

% Compile a page range
%\setClipPageRange 3 4

%\Header und Abkürzungen

\header {
  tagline = ##f
  title = "Soliloquy"
}

global = {
  \key c\major
  \time 3/4
  \clef bass
  \numericTimeSignature
  %\bravuraOn
  \overrideTimeSignatureSettings
  3/4
  1/8
  #'(2 2 2)
  #'()
  \overrideTimeSignatureSettings
  4/4
  1/8
  #'(2 2 2 2)
  #'()
  \overrideTimeSignatureSettings
  2/4
  1/8
  #'(2 2)
  #'()
  \override Staff.TupletNumber #'avoid-slur = #'around
  \override Staff.TupletBracket #'avoid-slur = #'around
  %\override Staff.TupletNumber #'outside-staff-priority = #999
  %\override Staff.TupletNumber #'direction = #UP
  %\override Staff.TupletNumber #'extra-offset = #'( 0.0 . 1 )
  \override Staff.TupletBracket #'outside-staff-priority = #999
}

h-spacing = #(define-music-function (parser location custom-factor) (number?)
   #{
 \newSpacingSection
 \override Score.SpacingSpanner.spacing-increment = #custom-factor
   #})

%musikalischer Inhalt

einsNoten = \relative c, {
  | c4( es f)
  | \time 2/4 g( b)
  | c,( es)
  | \time 3/4 f( g b)
  <<
{
  g2.
  | \time 2/4 d'2
  | \time 3/4 cis4( g2)
  | d'2.
  | dis4( e2)
  | \time 2/4 d!
  | \time 3/4 dis4( \times 2/3 {e fis g)}
  | a2.
  | g
  | d'
  | \clef tenor f
  | \time 2/4 c'2
  | \time 4/4 \times 2/3 {es4( d c)} \times 2/3 {b( a g)}
  | \times 2/3 {d'( c b)} \times 2/3 {a( g f)}
  | \clef bass \times 2/3 {c( b a)} \times 2/3 {g( f es)}
} \\
\relative c, {
  c4( es f)
  | g( b)
  | c,( es f)
  | g( b as)
  | g( as g)
  | as( b)
  | g( as g)
  | d'!( e fis)
  <<
{g,} \\
{g( b g)}
  >>
  | f'!( a f)
  | d( a' d,)
  | es'( d,)
  | d( es') d,( b')
  | d,( d') d,( a')
  | d,2 c,
}
  >>
  \relative c, {
| \time 3/4 d2( e4~
| e) fis2
| \time 2/4 g8 b g b
| \time 3/4 g a b d f d
| \time 2/4 g, b g b
| \time 3/4 g a b d
  }
  <<
\relative c' {
  a4
  | \time 5/8 es'4.~ es4
  | \time 2/4 d,2
  | \time 5/8 e'!4.~ e4
  | \time 2/4 d, e!
  | \time 5/8 f'4.~ f4
  | \skip 8*5
  | d8( f d e d)
  | \clef tenor \stemDown e( fis) g( a) fis
  | a b( c) a-- c--
  | \time 4/4 \stemUp d\accent ( es) d\accent( es,) d\accent( es,) d4
  | \skip 1
  | c''8\accent( d) c\accent( es,) c\accent( es,) \clef bass d\accent( c)
} \\
\relative c {
  f8( d)
  | g( b g b g)
  | g,( a b g)
  | g'( b g b g)
  | g,( a) b( g)
  | a' c a h! a
  | h cis d e cis
  | d,4.~ d4

Re[2]: avoid merging stems

2015-06-14 Thread musicus

Sorry, forgot the minimal example...
See attached

-- Originalnachricht --
Von: "Thomas Morley" 
An: "musicus" 
Cc: "lilypond-user" 
Gesendet: 14.06.2015 13:37:57
Betreff: Re: avoid merging stems


2015-06-14 13:16 GMT+02:00 musicus :

 Hello,

 I'd like to avoid "stem-merging" in measure 13 between the upper g2. 
and the

 first lower g4.
 Additionally I'd like to hide the stem of the first lower g4 in m.13 
(should

 be no problem, if the stems don't merge).
 I tried a couple of things to achieve this, but unfortunately I don't 
find

 it.
 Plus, I have a question about the collision between accidentals and 
slurs.
 Is there a way to get the accidentals inside the slurs without 
shaping each

 of them?
 (\override Accidental.avoid-slur = #'inside doesn't help - i guess 
Standard

 Settings restrict the shaping of slurs to a limit?)

 musicus

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



http://lists.gnu.org/archive/html/lilypond-user/2015-06/msg00257.html

-Harm\version "2.19.17"
\language "deutsch"



{<<
  \relative c' {\clef bass \time 3/4 g2.} \\
  <<
\relative c {g4} \\
\relative c {g( b g)}
  >>
>>}

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


Re[2]: avoid merging stems

2015-06-14 Thread musicus
 Yes, I want to leave the first g4 with no stem. (a specialty with 
string instruments: If you have to play the same pitch with two 
different strings simultaneously, there are two identical noteheads with 
one stem between)


Thank you very much for "\override Slur.details.accidental-collision"! 
That helps a lot...
I checked the details list for Slurs and wondered, if there are any 
settings, which can provide a better output than attached...

Slurs seem to be very tricky!

musicus

-- Originalnachricht --
Von: "Trevor Daniels" 
An: "musicus" ; lilypond-user@gnu.org
Gesendet: 14.06.2015 14:18:48
Betreff: Re: avoid merging stems



musicus wrote Sunday, June 14, 2015 12:16 PM

 I'd like to avoid "stem-merging" in measure 13 between the upper g2. 
and the first lower g4.
 Additionally I'd like to hide the stem of the first lower g4 in m.13 
(should be no problem, if the stems don't merge).
 I tried a couple of things to achieve this, but unfortunately I don't 
find it.


I'm not sure what you want to do here - leave a g4 notehead with no 
stem?


 Plus, I have a question about the collision between accidentals and 
slurs.
 Is there a way to get the accidentals inside the slurs without 
shaping each of them?
 (\override Accidental.avoid-slur = #'inside doesn't help - i guess 
Standard

 Settings restrict the shaping of slurs to a limit?)


That's probably not the reason, more likely because an accidental is 
not an

articulation.  (The IR is a little misleading on this point.)

But increasing the demerit for a collision with an accidental seems to 
help:


\override Slur.details.accidental-collision = 100

Might need to play with the value if avoiding the collision is worse 
than accepting

it in some of the cases.

Trevor

minimal example stem merging_desired.png
Description: 
\version "2.19.17"
\language "deutsch"

\relative c {
  \override Slur.details.accidental-collision = 500
  
  |\clef bass \time 3/4 \times 4/6 {g16( g_0 d'_0) d( g, g)}
  \repeat unfold 3 {
\times 4/6 {g16( g d') d( g, g)}
  }
  \override Fingering.outside-staff-priority = 1000
  \times 4/6 { g(^0 b' a)^0 a( b g,)} \times 4/6 {g( c' a) a( c g,)}
  | \time 2/4 \times 4/6 {g( cis' a) a( cis g,)} \times 4/6 {g( d'' b') b( d, g,,)}
  \repeat unfold 2 {
\times 4/6 {des( as' f') f( as, des,)}
  }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re[2]: avoid merging stems

2015-06-14 Thread musicus

This helps indeed a lot.
On the other hand I'd be interested how to avoid stem merging... 
NoteHeads are controllable with "\mergeDifferentlyHeadedOn" etc.

Is there any similar function to do the same with stems?


Am 14.06.2015 um 15:04 schrieb musicus:
 Yes, I want to leave the first g4 with no stem. (a specialty with 
string instruments: If you have to play the same pitch with two 
different strings simultaneously, there are two identical noteheads 
with one stem between)

No need for acrobatics here:
{  2 }
The second chord shows how to have different note lenghts in one chord, 
which is also helpful with string instruments.


HTH, Simon



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


Re[2]: avoid merging stems

2015-06-14 Thread musicus

so \voiceXxx should work, or not?
Why doesn't the stem of "\voiceOne g" go up as intended? Sure, it's a 
quite rare usecase, but i hope you can see my point.
I don't want to merge the \voiceOne and \voiceTwo stems and if you try 
to hide/ omit one of both stems, both disappear!

That's why I'm asking...
Anyway, in this case the chord syntax {4 bes g} does work 
perfectly.


Thanks for help,
musicus
\version "2.19.17"


{
  <<
\clef bass \time 3/4
\relative c' {\voiceOne g2.} \\
<<
  \relative c {\voiceTwo g4} \\
  \relative c {\voiceFour g( bes g)}
>>
  >>
}





-- Originalnachricht --
Von: "Thomas Morley" 
An: "Simon Albrecht" 
Cc: "musicus" ; "Trevor Daniels" 
; "lilypond-user" 

Gesendet: 14.06.2015 20:43:19
Betreff: Re: avoid merging stems


2015-06-14 20:20 GMT+02:00 Simon Albrecht :

 Am 14.06.2015 um 15:32 schrieb musicus:


 This helps indeed a lot.
 On the other hand I'd be interested how to avoid stem merging... 
NoteHeads

 are controllable with "\mergeDifferentlyHeadedOn" etc.
 Is there any similar function to do the same with stems?


 There’s no such thing like stem merging. Either we have different 
voices,
 then they should be discernible as such by having separate stems, or 
we have
 only one voice, then the chord has only one stem. There are cases 
where two
 stems are printed on top of each other, but that’s a collision 
resulting

 from (probably) wrong input and no merging.
 I hope you have made yourself familiar with the Learning Manual 
already; if

 so, there’s further information in
 
<http://lilypond.org/doc/v2.19/Documentation/notation/simultaneous-notes>.


 Yours, Simon




I second that. Make yourself familiar with \voiceXxx.

Meanwhile:

\version "2.19.21"
\language "deutsch"

\new Staff

<<
\new Voice \relative c { \clef bass \voiceOne g'2. }
\new Voice \relative c {
  \voiceOne \once \override NoteColumn.force-hshift = #0.3  g4
  \oneVoice %% or \voiceXxx whatever suits you
}
\new Voice \relative c {
  \voiceTwo
  \once \override NoteColumn.force-hshift = #1.25
  g4( b g)
  \oneVoice %% or \voiceXxx whatever suits you
}




Cheers,
  Harm



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


Re[2]: avoid merging stems

2015-06-14 Thread musicus

Ok, this sounds indeed very interesting.
I understand your explenation regarding nesting of <<>> in following 
way:



<<
  {"layerOne"}
  \\
  <<
{"layerOne"}
\\
{"layerTwo"}
  >>
>>

which leads to the problem:

\version "2.19.17"

<<
  {a' a' a' a'}
  \\
  {
b b
<<
  {c c}
  \\
  {a, a,}
>>
  }
>>


I don't think that "a" and "c" should share a stem. Is there any reason 
to repeat the "layerOne" in nested "<<>>"?
Following by default (without needing \new Voice) seems to be much more 
understandable.



<<
  {"layerOne}
  \\
  <<
{"layerTwo"}
\\
{"layerThree"}
  >>
>>

Regards,
musicus


-- Originalnachricht --
Von: "David Kastrup" 
An: "musicus" 
Cc: "Thomas Morley" ; "Simon Albrecht" 
; "lilypond-user" ; 
"Trevor Daniels" 

Gesendet: 14.06.2015 23:36:29
Betreff: Re: avoid merging stems


musicus  writes:


 so \voiceXxx should work, or not?
 Why doesn't the stem of "\voiceOne g" go up as intended? Sure, it's a
 quite rare usecase, but i hope you can see my point.
 I don't want to merge the \voiceOne and \voiceTwo stems and if you 
try

 to hide/ omit one of both stems, both disappear!
 That's why I'm asking...
 Anyway, in this case the chord syntax {4 bes g} does work
 perfectly.

 Thanks for help,
 musicus
 \version "2.19.17"


 {
   <<
 \clef bass \time 3/4
 \relative c' {\voiceOne g2.} \\
 <<
   \relative c {\voiceTwo g4} \\
   \relative c {\voiceFour g( bes g)}
 >>
   >>
 }


You are using << ... \\ ... >> at different layers.  At each layer,
Voice contexts are numbered starting from "1".  So your "\voiceOne" and
your "\voiceTwo" occur in the same Voice, and since they are executed 
at

the same musical point of time, the last override wins.  Apparently
\voiceTwo.

Try working with explicit voices.

{
  \new Staff
  <<
\clef bass \time 3/4
\relative c' {\voiceOne g2.}
<<
  \new Voice \relative c {\voiceThree g4}
  \new Voice \relative c {\voiceFour g( bes g)}
>>
  >>
}

--
David Kastrup



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


Re[2]: Control which voice if shifted left

2015-06-16 Thread musicus
Attached another example, where changing the shift direction could be 
helpful...


-- Originalnachricht --
Von: "Keith OHara" 
An: lilypond-user@gnu.org
Gesendet: 16.06.2015 06:11:40
Betreff: Re: Control which voice if shifted left


Simon Albrecht  mail.de> writes:


 Am 15.06.2015 um 16:50 schrieb Knute Snortum:
 > I haven't had any replies to this.  How can I ask the question 
better?
 Probably that’s because there is no way to automate this. At least 
I’d
 be very surprised if there were one. It’s so much of a standard to 
shift
 columns in the directions they are actually shifted, and everything 
more

 flexible would require a much more intelligent algorithm, I think.



The code that does the shifting has a comment
 TODO: these numbers are magic; should devise a set of grob
   propertiess to tune this behavior.
where "these numbers" are the amounts to shift chords in the various 
cases:

  \transpose c c' \new Staff <<
\new Voice {\voiceOne g4 g g gg }
\new Voice {\voiceTwo e  f a8. r16 g4  b b c' c' } >>

It would take some work to define and briefly document properties 
alongside

merge-differently-dotted to let the shift be changed for each of these
cases, but then we could change the sign of the shift for the case 
where

the stems currently line up.



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


Re[2]: Control which voice if shifted left

2015-06-16 Thread musicus

Unfortunately it does not...
In this case it's not about shifting the middle voice left but shifting 
the g' right.
Of course, it's only a small difference and in most cases neglegible, 
but sometimes you want to shift a voice in the other direction than 
standard and

it can be laborious to find the proper h-shift value for each case.

Yours, musicus

-- Originalnachricht --
Von: "Simon Albrecht" 
An: "musicus" ; "Keith OHara" 
; lilypond-user@gnu.org

Gesendet: 16.06.2015 15:03:14
Betreff: Re: Control which voice if shifted left


Am 16.06.2015 um 14:39 schrieb musicus:
Attached another example, where changing the shift direction could be 
helpful...

I don’t think so:

\version "2.19.20"

{
  <<
\time 3/2
\key d \minor
{ \voiceOne g''2 e'' d''8 cis'' d''4 }
\\
{ \voiceFour d''2 bes' b' }
\\
{ \voiceTwo g'2 g' f' }
  >>
}

gives exactly the layout of your example. This is the standard way.

Yours, Simon



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


\shape curves relative to NoteHead etc.

2015-06-21 Thread musicus

Dear all,

In my last project I learned that sometimes you have to tweak a lot of 
Slurs, Ties, etc. to get a satisfying result.

Of course, in many cases the \shape #'() Slur function helps a lot.
My problem with this function is the dependency on Lilyponds automatic 
output.
If I want to change the paper-size or the staffsize, for example, the 
calculation of the curves in the automatic output changes

and many of my tweaks are useless.
You can always use tags to differentiate between various paper settings, 
but nevertheless you have to find the correct values again and again.
Additionally you have to engrave first to get an impression of the 
standard output, so that you can guess your \shape values.


Because of this points I wondered if you could just use a function 
relative to the "musical" anchor points of a curve (in most cases the 
NoteHead, i would guess).
\override control-points is relative to the center Staff-Line, but in 
many cases the center line is too far away from the curve position, 
which makes guessing a bit difficult.


So, basically you need two things to get a good looking curve without 
needing graphical feedback:



- offset relative to its anchor for start and end points

- offset relative to the straight line between start and end point for 
the two middle points
(that means you could ignore the rotation of a curve, which is already 
given by start and end point)
-> you have to convert these "rotated" offsets to standard x/y 
coordinates relative to start and end point (I'm currently working on a 
formula - should be no problem)



I think that this way tweaks to curves could be much more stable and the 
needed input values could be more easily guessed, so you wouldn't need 
that much trial & error...


Is there a way to set the anchor points for curves?

I thought of something like: (reference point; offset)
Maybe it could be useful for the middle points to switch between "offset 
relative to straight line" and standard x/y coordinates relative to 
start/end point



\override Slur.control-points = #'(NoteHead 0 . 0)(StartPoint rotated 0 
. 0)(EndPoint standard 0 . 0)(Stem 0 . 0))



Probably I need some help with the scheme code for this function

What do you think of this idea?

Yours,
musicus<>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re[3]: \shape curves relative to NoteHead etc.

2015-06-23 Thread musicus

It seems to happen at the end of a line...

-- Originalnachricht --
Von: "musicus" 
An: "Urs Liska" ; lilypond-user@gnu.org
Gesendet: 23.06.2015 20:24:35
Betreff: Re[2]: \shape curves relative to NoteHead etc.


Hi Urs,

thanks for the \shapeII link! I think it's pretty much all i wanted.
Unfortunately I have a very annoying bug(?) using \shapeII.
If I use \shapeII to tweak a curve, sometimes the whole line is moved 
downwards.


See attached, the latter was produced with layout control in 
Frescobaldi (point-and-click, control-points, anchor)


I hope you or someone has a solution for this dealbreaking 
issue...maybe I'm doing something wrong?

In spite of this problem the function is very helpful!!

Regards,
musicus\version "2.19.17"
\include "notation-snippets/shaping-bezier-curves/shapeII.ily"

#(set-global-staff-size 14)

\new Staff {
  \clef bass
  \time 3/4
  \tuplet 6/4 4 {
\shapeII #'((h)(p 45 0.5)(p 43 0.3)(h)) Slur
\once \shapeII #'(()(ap 95 0.8)(ap 10 0.3)()) Slur
| g,16( bes g') g'( bes g,)
g,( bes g') g'( bes g,)
\once \shapeII #'(()()(ap 45 0.5)()) Slur
g,( c' as') as'( c' g,)
\time 2/4
\once \shapeII #'(()(ap 92 0.8)(ap 45 0.3)()) Slur
| g,( cis' a'!) a'( cis' g,)
\once \shapeII #'(()()(ap 50 0.5)()) Slur
g,( d' bes') bes'( d' g,) \break
  }
  | c,!32( g, es c'!) c'( es g, c,)
  d,( a, fis d') d'( fis a, d,)
  \time 3/4
  \tuplet 6/4 4 {
| g,16( g,_0 d_0) d( g, g,)
\repeat unfold 3 {
  g,16( g, d) d( g, g,)
}
\repeat unfold 8 {
  g,(^0 bes a)^0 a( bes g,)
}
  }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


centering dynamics - robust vertical aligning

2015-07-20 Thread musicus

Dear all,

is it possible to align only groups of centered Dynamics vertically?
I'm trying to find a viable solution for centering Dynamics, which is 
independent of line breaking.


I tried following:

- centering single DynamicTexts via "staff-affinity = #CENTER"

- creating multiple independent Dynamics contexts

- interrupting DynamicLineSpanner via \stopStaff \startStaff


Y-offsets in the Dynamics context are working well, but only if line 
breaking doesn't change.


Yours,
musicus
\version "2.19.22"

\header {
  tagline = ##f
}

\paper {
  page-breaking = #ly:one-line-breaking
  paper-height = 80
}

\new PianoStaff {
  <<
\new Staff \relative c' {
 f f f f
 e e e e
 e e e e
 e, e e e 
 a, a a a
}
\new Dynamics {
  s2.\< s4\f
  s2.\< s4\f
  s2.\< s4\f
  s2.\< s4\f
  s2.\< s4\f
}
\new Staff \relative c'' {
  \clef bass
  a a a a 
  f f f f 
  d, d d d 
  d d d d 
  d d d d
}
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Tuplet Bracket and \fermataMarkup

2015-08-13 Thread musicus

Hello Jeremy,

did you try "padding" instead of "outside-staff-priority"?



\version "2.18.2"

\relative c {
  \omit Staff.TimeSignature
  <<
{
  \hideNotes
  \once \override TupletNumber.text = "~ 25 sec."
  \once \set tupletFullLength = ##t
  \once \set tupletFullLengthNote = ##f
  \tuplet 3/2 { c2 c c }
  \unHideNotes
}
{
  \once \override MultiMeasureRestText.padding = 3
  R1\fermataMarkup
}
  >>
}



HTH,
musicus___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


\breakDynamicSpan in a Dynamics context?

2015-12-18 Thread musicus

Hi Dominic,

i already had to deal with this particular prolem in many cases and 
don't know of any reasonable workaround.


As others have mentioned, you can use either Y-offset in the Dynamics 
context or attach the dynamic signs to particular staves/ notes.
Both ways have annoying side effects as blurring the visual and 
structural representation of the musical content in your code 
respectively adding an instable element regarding changes to staff-size 
or paper-size.


I don't know how much work it would be to implement such a (in my 
opinion very important - especially for piano music) feature, but maybe 
some of the experienced contributors can sketch a possible way to create 
this.


Best regards
musicus___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re[2]: \breakDynamicSpan in a Dynamics context?

2015-12-18 Thread musicus

 +1 for the edition-engraver,
but it's not possible to reflect the actual structure of connected 
dynamics...
it's more a "tweak every single element" and because of the 
"outsourcing" (which is great for the "redability" in many cases)

it's easy to loose the mind control about the musical structure.

(Lilyponds straight reflection of the musical structure is actually one 
of my main reasons for choosing it as notation software)


Maybe we can get some interesting input by looking into other 
layout/design software (for example SCRIBUS).

I imagine a way of positioning objects relative to any other object.
(this feature could be a nice workaround solution for most positioning 
bugs)
In terms of dynamics you could group any number of dynamics and position 
the entire group between staves/ skylines...


Best,
musicus




Hi,

 Both ways have annoying side effects as blurring the visual and 
structural representation of the musical content in your code


… unless you use the edition-engraver.  ;)

 maybe some of the experienced contributors can sketch a possible way 
to create this.


In the extreme, this feature would simply remove the spanner/connection 
altogether: dynamics would be free to float as they wished [modulo 
collisions and padding, of course], with no impact on other dynamics in 
the same staff/system.


The killer feature would be a hybrid, allowing explicit connections 
and/or disconnections, while otherwise maintaining a controlled axis 
throughout an entire staff/system.


Unfortunately, I have no idea how this could be implemented, nor the 
skills to implement it if I knew how. But I would be happy to 
contribute some sponsorship money (up to 50 Euros) to see that it got 
done.


Best,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info




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


Re[2]: \breakDynamicSpan in a Dynamics context?

2015-12-18 Thread musicus

Perfectly right in my opinion!
Of course, the current layout is already based on objects relative to 
certain other objects (in other words: polar coordinates), but the 
possibilities to tweak a position is mostly limited to basic 
X-/Y-offsets to ONE specific object.


I think the ultimate goal of Lilypond is to provide the best output as 
possible by default
(with as little as possible tweaks to the code in order to provide a 
good textual representation of the musical content)
and to be able to get a stable flexibility concerning staff-size/ 
paper-size/ breaks/ spacing-increment... (ideally comparable to text 
scaling of ebooks)
with as little and easy as possible tweaks/ overrides, which should 
always reflect its logical rule.
I highly appreciate the hard work of the contributors to this already 
great software, which made the (in most areas very good) current state 
possible.



 So, if you wanted to place a mezzoforte in between two notes (or a 
notehead and any other object) you could define a rule like:


(ObjectA_Y-coordinate + ObjectB_Y-coordinate) / 2

or a little more interesting (extendable to all mathematical 
correlations)

(2*ObjectA_Y-coordinate + ObjectB_Y-coordinate) / 3


Finally you write

[...]
{ a4\Anchor1
  -\tweak polarcoordinates #'( Anchor1 . Anchor2 . 
(Anchor1_Y+Anchor2_Y)/2 )

\mf
b c d }
[...]
{ a\Anchor2( b c d) }
[...]


The best solution would be to maintain the structural representation
{ a4 b c d } [...] { a( b c d) }
and to add the layout tweaks of the default output via edition-engraver


I hope my thoughts are not too bad explained :)
Please excuse my mistakes with scheme and so on...i guess i have some 
syntax errors here (in this theoretical consideration).


Best regards,
musicus



Hi all,

musicus wrote:

 +1 for the edition-engraver,


=)

 but it's not possible to reflect the actual structure of connected 
dynamics…


Oh, I agree: Just as there are \noBreak, \noBeam, etc., there should be 
general \connect and \split options "between” arbitrary grobs. I just 
have no idea what I’m talking about when I say that kind of thing.  ;)



 I imagine a way of positioning objects relative to any other object.
 (this feature could be a nice workaround solution for most 
positioning bugs)


Yes! Without breaking a sweat, I could probably list thirty 
“grob-pairings” that would benefit from this. Right off the bat, it 
would be great to “link” a RehearsalMark with a MetronomeMark at the 
same moment; currently, I have to [edition-]adjust the 
extra-spacing-width of one or both *and* the X- or Y-offset(s) [or 
both].


David wrote:
 LilyPond already positions all of its objects relative to other 
objects.


Well, yes… But (as far as I know) there is no “hard-link” between most 
grobs, analogous to the one between a Hairpin and the [immediately] 
following DynamicText. Happy to be proven wrong, though!


Thanks,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info




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


new Staff staff-staff-spacing (down AND up) regarding only one single system

2016-01-16 Thread musicus

Dear Lilyponders,

I have a problem with a certain, probably rare use case of an 
temporarily inserted Staff between two main staves (piano music)


[...]\new Staff \with { \override 
VerticalAxisGroup.staff-staff-spacing.padding } [...]


works well for adjusting the distance to the lower staff.

But I don't find a solution for adjusting the distance to the upper one.
Of course, I don't want to change the standard vertical spacing, when 
only the two main staves are used.


Any suggestions or workarounds?

Thank you for your help,

musicus\version "2.19.34"

\paper {
  paper-width = 10\cm
  system-system-spacing.padding = 10
}

\score {
  \new PianoStaff
  <<
\new Staff = "one" \relative c'' {
  a a a a
  \break
  a a
  <<
{ a a }
\new Staff \with {
  alignAboveContext = "two"
  \override VerticalAxisGroup.staff-staff-spacing.padding = 1
}\relative c'' {
  g g
}
  >>  
  \break
  a a a a
}
\new Staff = "two" { 
  a a a a
  a a a a
  a a a a
}
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Fw: Solution for: new Staff staff-staff-spacing (down AND up) regarding only one single system

2016-01-17 Thread musicus



-- Weitergeleitete Nachricht --
Von: "musicus" 
An: kieren_macmil...@sympatico.ca
Gesendet: 16.01.2016 21:43:55
Betreff: Solution for: new Staff staff-staff-spacing (down AND up) 
regarding only one single system


Hi all,

After i tried Kieren's suggestion (absolute system positioning) and 
didn't get reliable results (if page layout changes, you have to adjust 
the settings) i got lucky and found an IMO reasonable way to achieve my 
wanted "reduced spacing regarding inserted staff".


See attached.

Basically you replace the upper Staff with a new one for one line and 
assign a custom spacing number to it.
The only limitation is, that you have to set manual line breaks for the 
specific system.


Hope this will help others.

Best Regards,
musicus\version "2.19.34"

\paper {
  system-system-spacing.padding = 8
  paper-width = 10\cm
}

\layout {
  \context {
\Staff \RemoveEmptyStaves
  }
  \context {
\GrandStaff
\override VerticalAxisGroup.staff-staff-spacing.padding = 5
  }
}

\score {
  \new GrandStaff
  <<
\new Staff = "one" \relative c'' {
  a a a a
  \break
  \new Staff = "workaround" \with {
alignAboveContext = "two"
\override VerticalAxisGroup.staff-staff-spacing.padding = 1
  }{
a a
<<
  { a a }
  \new Staff = "middle" \with {
\override VerticalAxisGroup.staff-staff-spacing.padding = 1
alignAboveContext = "two"
alignBelowContext = "workaround"
  }{
a a
  }
>>
  }
  \break
  a a a a
}
\new Staff = "two" {
  a a a a
  a a a a
  a a a a
}
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


simplifying chromatic scale notation

2016-01-25 Thread musicus

Dear Lilyponders,

I just struggled with studying a complex music piece and thought that 
all the chromatic lines are horrible to read in standard notation. 
Especially the "enharmonic problem" is distracting the musician from a 
very simple musical structure. So I tried some of my ideas and can 
present one, which is IMO good to read.


See attached. Comments, suggestions are very welcome ;)

Best regards
musicus\version "2.19.34"

chrom =
#(define-music-function (offset music)(number? ly:music?)
   #{
 \once \override NoteHead.stencil = #ly:text-interface::print
 \once \override NoteHead.text = \markup {
   \fontsize #-3 \musicglyph #"accidentals.doublesharp"
 }
 \once \omit Accidental
 \stopStaff \startStaff \omit Staff.LedgerLineSpanner
 \offset NoteHead.Y-offset #offset
 #music
 \stopStaff \startStaff \undo \omit Staff.LedgerLineSpanner
   #})


\relative c' {
  c8  
  \chrom 0.25 cis 
  \chrom 0 d
  \chrom 0.25 dis 
  \chrom 0 e
  \chrom -0.25 f 
  \chrom 0 fis
  \chrom -0.25 g
  gis1
  as8
  \chrom 0 g
  \chrom -0.25 ges
  \chrom 0 f
  \chrom 0 e
  \chrom -0.25 es
  \chrom 0 d
  \chrom -0.25 des
  c1
  
}

\relative c' {
  c8 cis d dis e f fis g gis1 as8 g ges f e es d des c1
}

example.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re[2]: simplifying chromatic scale notation

2016-01-25 Thread musicus


I suggest you try this on "Entry of the Gladiators" by Fučik.  The 
lines

will look very straightforward, but I suspect performers, particularly
on "continuous" instruments like voice, theremin or trombone(?) would
lose track of the tonality exactly because of that.

--
David Kastrup


Maybe there is a problem for some instruments to find the right pitch 
(especially for those with pitch perfect), but i don't think that they 
are focussing on every single note in a chromatic scale.
From my experience as a musician i'd say, some "normally" notatet notes 
for orientation should be enough to solve this problem.
The omission of many distractions (accidentals, "false" notehead 
position) weighs more, IMO.


musicus


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


Re: simplifying chromatic scale notation

2016-01-26 Thread musicus

Dear Paul,

I really admire the effort and courage of alternative notation systems, 
but I cannot see a reasonable improvement in this case. I don't think 
it's a good idea to remove all great advantages, which our standard 
notation system has. IMO, there are only a few problems to be solved - 
chromatic scales are one of them - with as little as possible 
interfering with the remaining music.


Especially the Liszt example doesn't gain a lot in your version, i'd say 
;)

Is the left hand correct? (I didn't check out the rules entirely...)
It looks very strange to me...___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: simplifying chromatic scale notation

2016-01-26 Thread musicus

Dear Sharon,

"This last bit made me laugh out loud. Well I guess some musicians do 
not
really feel like focusing on every single note. The good ones do 
though."



I'd like to contradict on this one. Of course a good musician needs to 
focus on every detail, but only the "bad" ones neglect the bigger 
context. The key is to focus on the "right" thing, which is in many 
cases NOT every single note of an chromatic scale, IMO.


For example you don't calculate 1+1+1+1+1+1+1+1, because you have to 
control each single arithmetic operation.

1*8 is definitely the way to go ;)



Nevertheless I think there is an misunderstanding:

"All these alternative systems, I don't see
what advantage they offer."

It was never my intention to question our well proven notation system, 
but only to improve some awkward side effects of it.


Best Regards,
musicus___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: digital music editions - is Lilypond a suitable tool for it?

2016-01-31 Thread musicus

Dear Urs,

I recently learned about MEI and "Beethovens Werkstatt" (and as an 
example http://zolaemil.github.io/meiView/#pg=1), but I must say that 
this direction has IMO too many drawbacks/ misleadings.
I didn't know http://beethovens-werkstatt.de/demo, so many thanks for 
it.
IMO coloring and recognizing an autograph is very laborious and more 
like a game than really helpful for musicians. Of course it could help 
to find a specific part of the music sometimes, but at what prize?
A well made, high dpi scan of the original presented as image is fully 
sufficient for work.
(For better handling, measure synchronisation would be gread, but 
llittle more work)


However, to be able to switch immediately between functional typesetting 
and various original sources would be a real game changer.
Add to this an enhanced typesetting with the possibility to toggle 
between all variants and you could provide a real URTEXT edition.
I value well made print editions as HENLE or BAERENREITER very highly, 
but in most cases I begin to struggle with them at some point and search 
for the original autograph and/ or first edition.
I think, at this point there is a lot of demand for professionally 
scientific digital editions, because until today no publisher can 
present all the information in one place.
Maybe HENLE has made a beginning with its "library", but you won't have 
direct access to original sources etc.


Verovio (and any other real time engraver?) is no option - nearly 
perfect output is must have.


So, the question is, if such an "enhanced typesetting" (mainly all 
relevant variants in various layers = svg groups with 
toggle-visibility-function) possible with Lilypond?

With my (limited) knowledge, I could imagine such an use case...

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


Fw: Re: digital music editions - is Lilypond a suitable tool for it?

2016-02-14 Thread musicus

Sorry, didn't know that an attached html file does'nt work...
Please change the attached file to ".html"

JavaScript_Test3.html.rename
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Fw: Re: digital music editions - is Lilypond a suitable tool forit?

2016-02-14 Thread musicus

> I don't understand. The only difference between your two attachments
> appears to be that the second one has DOS-style line endings.
> What does that affect?
My browser didn't show the first one as attachement, but displayed the 
content as an image and the javascript button did not work. Apparently 
you received both as an attached file?


Cheers,
musicus___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


additional clef at start

2017-06-01 Thread musicus

Dear all,

I have a probably not so difficult question, but cannot find the 
solution by myself:


How to get a second clef at the beginning of a piece?
See attached...

Thank you all,
musicus___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: additional clef at start

2017-06-01 Thread musicus

forgot the attachement...



Dear all,

I have a probably not so difficult question, but cannot find the 
solution by myself:


How to get a second clef at the beginning of a piece?
See attached...

Thank you all,
musicus<>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


clef spacing problem with staff scaling

2017-10-22 Thread musicus

Dear all,

I have a problem with spacing a small snippet of music. Of course I 
could manually add some extra space each time after the Clef, but I 
wonder if there is a better solution.
In my opinion, this spacing behaviour should clearly adapt to the staff 
size...


Cheers,
musicus\version "2.19.65"

\score {
  \layout {
#(layout-set-staff-size 15)
  }
  \new Staff { g' a' }
}

\score {
  \new Staff { g' a' }
}

\score {
  \layout {
#(layout-set-staff-size 40)
  }
  \new Staff { g' a' }
}

\score {
  \layout {
#(layout-set-staff-size 80)
  }
  \new Staff { g' a' }
}


\score {
  \layout {
#(layout-set-staff-size 15)
  }
  \new Staff \with {
\remove Time_signature_engraver
  }{ g' a' }
}

\score {
  \new Staff \with {
\remove Time_signature_engraver
  }{ g' a' }
}

\score {
  \layout {
#(layout-set-staff-size 40)
  }
  \new Staff \with {
\remove Time_signature_engraver
  }{ g' a' }
}

\score {
  \layout {
#(layout-set-staff-size 80)
  }
  \new Staff \with {
\remove Time_signature_engraver
  }{ g' a' }
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: OT: high-precision tuner app

2016-05-24 Thread musicus

Hello Andrew,

I'd like to add a few thoughts to this topic:

[...]Also, in relation to accuracy, no phone tuner app is more accurate 
than 0.1 cent[...]


Indeed!
Most tuning programs measure the frequency via FFT (Fast Fourier 
Transformation), which gets only fine results,
if you use a relative long measurement time. This is for music 
instruments not usable, because barely no instrument can produce

an identical frequency over a time period of a few seconds.
So, either you get a fine resolution or a short measurement time, but 
not both together.

(frequency resolution = samplingrate / number of values)

A much better idea is to filter the signal to the wished frequency and 
measure the time of its period.
So, if you want to distinguish 440 hz from 441 hz, you need an AD/C with 
at least 200.000 Samples/second

in order to get reliable results.
(using standard frequency range 0-20 kHz at 1hz resolution and 10-times 
measurement resolution) (20.000*1*10)

But 1 Hz difference at 440 Hz is about 4 cent!!
So, in order to get 0.01 cent (~0,0025 hz) resolution you need
20 kHz*400*10 = 8 MSp/s

In other words: No smartphone (or PC) does have an AD/c with MSp/s, so 
you need special hardware to measure frequencies at this resolution.




[...]the ear simply cannot hear a hundredth of a cent difference [...]

I did an experiment tuning a pair of piano strings at around 440 Hz and 
could tell a difference up to one beat in 20 seconds.

This means it is possible to distinguish 440,00 Hz from 440,05 Hz
This is finer than 0.1 cent.



Another problem with such fine frequency specifications is 
inharmonicity.
If you want to tune 2 or more strings together - let's say an octave - 
you cannot only consider the fundamentals.
A fine difference at the fundamentals can get you very disturbing beats 
at higher partials, because they are much more affected by 
inharmonicity.
You need to measure all "overlapping" (-> creating beats) partials (in 
our case: 1. <-> 2. / 2. <-> 4. / 3. <-> 6. / 4. <-> 8. ...) and 
consider those dependent of their amplitude.
Then you can calculate the "right" frequency and tune both strings 
together.
This is the way, good aural piano tuners work and why they get much 
better results than any tuning app (so far).


My point is, you can only set ONE reference frequency (441 or 442 Hz f. 
e.) and other deviations from "standard" intonation won't work at this 
fine resolution.

There are some parameters to consider
(deviation of inharmonicity between various instruments / "to which 
resolution can a musician change the intonation?"...)
before you set values of 1/100 cent. Maybe it is better to specify 
Beats/second. (tempered quint vs pure quint = 1/2 B/s)

Best regards,
musicus

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