\unfoldRepeats и \repeat с миди-выходом в lilypond

У меня есть кусок кода lilypond здесь:

trebleNotesOne = {
    \unfoldRepeats { 
        \repeat volta 2 {
            r8 a'16 b'16 c''8 b'16 c''16 d''2 | 
            r8 b'16 a'16 b'8 a'16 g'16 f'2 |
        } 
    }
}

bassNotesOne = { 
    \clef bass  
    \unfoldRepeats { 
        \repeat volta 2 {
            a8 b8 c8 d8 a8 b8 c8 d8 | 
            a8 b8 c8 d8 a8 b8 c8 d8 |
        } 
    }
}

\score {
    \new GrandStaff
    <<
        \new Staff << \trebleNotesOne >>
        \new Staff << \bassNotesOne >> 
    >>
    
    \layout {
        ragged-right = ##t
    }
    \midi {}
}

Я хочу, чтобы как ноты повторения ( \repeat volta 2) были напечатаны в нотах в формате pdf, так и созданный миди-файл, содержащий повторяющиеся воспроизведения.

Приведенный выше код печатает:

оценка с развернутыми повторами

Но я хочу в pdf:

оценка с повторной записью

с повторением миди.

Ответы (1)

Чтобы повторы отображались в правильном обозначении в PDF, а также разворачивались в MIDI, вам действительно нужно сделать два блока партитуры.
Один блок очков с \layout{}, и один с \midi{}.
Поместите \unfoldRepeatsкоманду в миди-блок партитуры.
(см. 3.5.6 Использование повторов с MIDI )

Что-то вроде этого:

trebleNotesOne = {
    \new Staff
        \repeat volta 2 {
            r8 a'16 b'16 c''8 b'16 c''16 d''2 | 
            r8 b'16 a'16 b'8 a'16 g'16 f'2 |
        }
}

bassNotesOne = {
    \new Staff 
        \clef bass  
        \repeat volta 2 {
            a8 b8 c8 d8 a8 b8 c8 d8 | 
            a8 b8 c8 d8 a8 b8 c8 d8 |
        }
}

theMusic = {
    \new GrandStaff
        <<
            \trebleNotesOne
            \bassNotesOne 
        >>
}

%% PDF SCORE
\score {
    \theMusic

    \layout {
        ragged-right = ##t
    }
}

%% MIDI SCORE
\score {
    \unfoldRepeats { 
        \theMusic
    }
    \midi { }
}