Lilypond:自动递归地自定义小节线?

发布于 2024-08-27 17:57:07 字数 376 浏览 9 评论 0原文

我正在制作涉及复杂拍号的卡纳提克乐谱,这将需要修改小节线

小节线模式:8/4

beats: 1 2 3 4  (dashed bar here) 5, 6 (Dotted Bar) 7, 8 (double bar)  

这是实际乐谱的一个小节

g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes    \bar "dashed"
a g]) a[( bes c] d[ c d])   \bar ":"   
g8( f16) ees8( d16 c d)     \bar "||"

有没有一种方法可以自动化这些小节线?

I'm working on Carnatic music scores that involve complex time signatures, that will require modified bar lines

Pattern for barlines for: 8/4

beats: 1 2 3 4  (dashed bar here) 5, 6 (Dotted Bar) 7, 8 (double bar)  

Here's one bar of actual score

g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes    \bar "dashed"
a g]) a[( bes c] d[ c d])   \bar ":"   
g8( f16) ees8( d16 c d)     \bar "||"

Is there a way to automate these barlines?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅冕 2024-09-03 17:57:07

尝试一下。它不是完全自动化的,因为您需要分配一个“看不见的”声音来指定小节线,并且您需要跟踪这种形式的限制需要扩展多少度量并指定适当的展开值。如果您还不知道,“s”是一个看不见的间隔符,其持续时间就像休息一样。

\version "2.13.19"

fooBar = { s1 \bar "dashed" s2 \bar ":" s2 \bar "||" }

\new Staff <<
  \new Voice = "theMusic" \relative c'' {
    % bar 1
    g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes 
    a g]) a[( bes c] d[ c d]) 
    g8( f16) ees8( d16 c d) 
    % bar 2
    g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes 
    a g]) a[( bes c] d[ c d]) 
    g8( f16) ees8( d16 c d)
  }
  \new Voice = "theBarLines" { \repeat unfold 2 \fooBar }
>>

Give this a try. It's not fully automated in that you need to have an "invisible" voice allocated to specify the barlines, and you need to keep track of how many measures this form of barring needs to extend and specify an appropriate unfold value. The "s", if you don't already know, is an invisible spacer, with duration like a rest.

\version "2.13.19"

fooBar = { s1 \bar "dashed" s2 \bar ":" s2 \bar "||" }

\new Staff <<
  \new Voice = "theMusic" \relative c'' {
    % bar 1
    g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes 
    a g]) a[( bes c] d[ c d]) 
    g8( f16) ees8( d16 c d) 
    % bar 2
    g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes 
    a g]) a[( bes c] d[ c d]) 
    g8( f16) ees8( d16 c d)
  }
  \new Voice = "theBarLines" { \repeat unfold 2 \fooBar }
>>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文