[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: how to automatically add ovtaves to some pitches
From: |
Mark Knoop |
Subject: |
Re: how to automatically add ovtaves to some pitches |
Date: |
Sat, 28 Nov 2020 15:02:17 +0000 |
User-agent: |
mu4e 1.4.10; emacs 27.1 |
At 14:53 on 28 Nov 2020, Stefan Thomas wrote:
> 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 %%%%%%%%%%%%%%%%%%%%%%
Have a look at the \customOutOfRange function in this snippet
http://lsr.di.unimi.it/LSR/Item?id=773
>> 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