如何将 midi 导出集成到现有的 lilypond 分数中

Posted

技术标签:

【中文标题】如何将 midi 导出集成到现有的 lilypond 分数中【英文标题】:How to integrate midi export into existing lilypond score 【发布时间】:2019-08-20 17:25:02 【问题描述】:

我正在尝试对现有的 Lilypond 乐谱进行 MIDI 导出,但如果工作人员不止一个,我将无法这样做。我是 Lilypond 的新手,但通过文档和论坛都没有运气。

将下面的代码包装在 \score 中不起作用。如果我取第一个 \relative c' 部分并删除它之后的所有内容,一切似乎都很好,但我需要完整的分数,包括论文和标记说明。

还尝试了 \new Staff,如某些文档中所见,但最终结果与我开始的地方完全相同。

\score 

\header
    title = "Exercise: C, D, E Notes"


\paper 
  #(set-paper-size "arch a" 'landscape)
  system-system-spacing #'basic-distance = #20
  markup-system-spacing #'basic-distance = #15
  indent = 0\cm


    \markup  \bold "Treble Clef - Right Hand" 
    \markup  \small Fingering 
\relative c' 
    \time 4/4
    \override Staff.TimeSignature #'style = #'() 
    \clef "treble"
    c4 c c c | d d d d | e e e e | e2 e | \break
    e4 e e e | d d d d | c c c c | c2 c  | \bar "|." \break



    \markup  \bold "Bass Clef - Left Hand" 
    \markup  \small Fingering 

\relative c, 
    \time 4/4
    \override Staff.TimeSignature #'style = #'() 
    \clef "bass"
    e4 e e e | d d d d | c c c c | c2 c  | \break
    e4 e e e | d d d d | c c c c | c2 c  | \bar "|."


  \layout  
  \midi  


\version "2.18.2"  % necessary for upgrading to future LilyPond versions.

【问题讨论】:

【参考方案1】:

我会将音乐的每个小部分分配给单独的变量,然后为每个变量创建单独的乐谱块,以及仅用于 midi 输出的唯一乐谱块:

\version "2.18.2"  % necessary for upgrading to future LilyPond versions.

\header
    title = "Exercise: C, D, E Notes"


\paper
    #(set-paper-size "arch a" 'landscape)
    system-system-spacing.basic-distance = #20
    markup-system-spacing.basic-distance = #15
    indent = 0\cm


mark_A = ^\markup  \bold "Treble Clef - Right Hand" ^\markup  \small Fingering 
mark_B = ^\markup  \bold "Bass Clef - Left Hand" ^\markup  \small Fingering 

music_A = \relative c' 
    \time 4/4
    \override Staff.TimeSignature #'style = #'() 
    \clef "treble"
    c4-\mark_A c c c | d d d d | e e e e | e2 e | \break
    e4 e e e | d d d d | c c c c | c2 c  | \bar "|." \break


music_B = \relative c, 
    \time 4/4
    \override Staff.TimeSignature #'style = #'() 
    \clef "bass"
    e4-\mark_B e e e | d d d d | c c c c | c2 c  | \break
    e4 e e e | d d d d | c c c c | c2 c  | \bar "|."



\score
    \new Staff \music_A
    \layout



\score
    \new Staff \music_B
    \layout


\score
    \new Staff \music_A \music_B
    \midi

更多信息在这里:http://lilypond.org/doc/v2.19/Documentation/learning/multiple-staves

【讨论】:

谢谢。这有助于我更接近(特别是声明 mark_up 和 mark_down)。一个关键的区别是我的预期乐谱是两个系统的高音谱号,然后是两个系统的低音谱号。您的修复导致两个大员工系统。任何进一步的帮助将不胜感激。 我明白了,我误解了你原来的帖子。如果你想要两个 MIDI 文件,那么最简单的方法是有两个 \score 块。如果你想要一个单独的 MIDI 文件,那么诀窍是为 MIDI 和布局使用单独的 \score 块。如果你想要一两个 MIDI 文件,请告诉我,我会编辑我的答案。 在这种情况下,我正在寻找单个 MIDI 文件。谢谢。 我已经更新了我的答案,希望对您有所帮助 正是我想要的。谢谢!

以上是关于如何将 midi 导出集成到现有的 lilypond 分数中的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Qt 集成到现有的 C++ 项目中

如何将来自 AWS Mobile Hub 示例项目的推送服务集成到现有的 android 项目中?

将 React Native 代码集成到现有的 android 项目中

将 ResKit 集成到现有的 Core Data 应用程序中

将 grails 集成到现有的 Spring 应用程序中?

将聊天模块集成到现有的 ruby​​ 应用程序