首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据声音标记不同颜色的音符?

根据声音标记不同颜色的音符?
EN

Stack Overflow用户
提问于 2017-12-10 23:47:58
回答 0查看 91关注 0票数 2

我正在处理4声部声乐。我正在努力使每个声音部分的基音都有不同的颜色。根据前面的答案和lilypond代码片段,我有以下代码:

代码语言:javascript
复制
%Association list of pitches to colors.
#(define color-mapping
   (list    
    (cons (ly:make-pitch 0 6 FLAT) (x11-color 'blue))))

%Compare pitch and alteration (not octave).
#(define (pitch-equals? p1 p2)
   (and
    (= (ly:pitch-alteration p1) (ly:pitch-alteration p2))
    (= (ly:pitch-notename p1) (ly:pitch-notename p2))))

#(define (pitch-to-color pitch)
   (let ((color (assoc pitch color-mapping pitch-equals?)))
     (if color
         (cdr color))))

#(define (color-notehead grob)
   (pitch-to-color
    (ly:event-property (event-cause grob) 'pitch)))

然后我用每种声音呼唤它:

代码语言:javascript
复制
\override NoteHead.color = #color-notehead

这使得得分中的每个Bb都是蓝色的,这是一个很好的开始。但我希望Bb能有voiceOne蓝,voiceTwo绿等,这样我的歌手就可以一眼就知道他们有主音音符。

笨拙的解决方案是制作4个不同版本的音乐,并且每个版本只在一个语音中调用override NoteHead.color。并根据声音部分给每个歌手一个不同的版本。

有没有一种编码方法可以做到这一点,其中特定的音符是每个声音不同的颜色?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47740493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档