lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to automatically add ovtaves to some pitches


From: Stefan Thomas
Subject: Re: how to automatically add ovtaves to some pitches
Date: Sat, 28 Nov 2020 15:53:02 +0100

Dear community,
I wanted to add an octavation only to specific pitches. I hope that the following snippet shows better what I want. Unfortunately it doesn't work.
%%%%%%%%%%%% SNIPPET
\version "2.20.0"

% a pitch filter
whenPitchAbove =
#(define-scheme-function
   (pitch proc)
   (ly:pitch? procedure?)
   (lambda (m)
     (let ((p (ly:music-property m 'pitch)))
       (if (and (ly:pitch? p) (ly:pitch<? pitch p))
         (proc m)
         m))))
% add octave below
okT = #(define-music-function (x) (ly:music?)
       #{
 \context Voice <<        $x \transpose c' c { $x } >>
       #})

global = {
\time 6/8  \clef "treble_8"  }
Music =  {
\global dis'' fis' a' d'' fis' a' dis'' fis' e'' f'
dis'' fis' a' d'' fis' a' dis'' fis' e'' f' }

MusicWithOnlySomeOctaves = {
 \musicMap \whenPitchAbove c''  \okT \Music
}
%%%%%%%%%%%% END OF THE SNIPPET %%%%%%%%%%%%%%%%%%%%%%
At 10:51 on 28 Nov 2020, Stefan Thomas wrote:
> Dear community,
> I would like to add automatically an octabe to certain pitches, e.g.
> higher than d''.
> I have in mind something like this:
> %%%%%%%%%% SNIPPET
> \version "2.18.2"
> global = {
> \time 6/8  \clef "treble_8"  }
> okT = #(define-music-function (x) (ly:music?)
>        #{
>  \context Voice <<        $x \transpose c' c { $x } >>
>        #})
> Music =  {
> \global dis'' fis' a' d'' fis' a' dis'' fis' e'' f'
> dis'' fis' a' d'' fis' a' dis'' fis' e'' f' }
> MusicWithOctaves = {
> \global \okT dis'' fis' a' d'' fis' a'  \okT dis'' fis' \okT e'' f'
> \okT dis'' fis' a' \okT d'' fis' a' \okT dis'' fis' \okT e'' f'
> }
> %%%%%%%%%% END SNIPPET
> I thought it could be done with musicMap but I can't get it to work.
> Has someone a hint for me?

http://lsr.di.unimi.it/LSR/Item?id=445


--
Mark Knoop

reply via email to

[Prev in Thread] Current Thread [Next in Thread]