시리즈:악보를 그려보자

악보를 컴퓨터를 이용해서 그리고 싶을 때가 있습니다. 그러나 막상 그래픽 프로그램을 사용하기엔 복잡하고 시간도 많이 걸린다고 생각하실 겁니다. 그래서 프로그래밍 하듯이 악보를 그릴 수 있는 프로그램을 생각하실 수도 있을텐데요. 바로 LilyPond를 이용하면 글 쓰듯이 악보를 그릴 수 있습니다. LilyPond 사용법에 대해 알아봅시다.

1 기능[편집]

LilyPond는 텍스트 기반으로 악보를 그릴 수 있는 소프트웨어로 다음과 같은 기능을 제공하고 있습니다.

  • 악보 그리기
  • 그린 악보를 PDF 파일로 저장

참고로 위키백과에서 악보를 그리는 확장기능도 Lilypond 기반으로 구성되어 있습니다. 따라서 Lilypond를 배우시면 위키백과에서도 악보를 손쉽게 그릴 수 있습니다.

2 설치하기[편집]

Lilypond 홈페이지에 들어간 뒤 OS버전에 맞는 파일을 고르고, 설치하면 됩니다. 링크는 이곳을 누르면 됩니다. 그러나 Lilypond는 GUI(그래픽 인터페이스)를 지원하지 않으므로 추가적으로 Frescobaldi 소프트웨어를 설치하는 것이 편리합니다. 다음 링크에서 다운로드받을 수 있습니다.

3 문법[편집]

Lilypond는 미디어위키LaTeX처럼 특정한 문법에 따라 텍스트를 입력하면 그 텍스트를 파싱해서 악보를 보여주는 방식으로 출력합니다. 따라서 Lilypond의 문법을 익히는 것이 악보를 그리는데 도움이 됩니다.

3.1 문서 구성 요소[편집]

Lilypond의 악보 그리는 파일의 확장자는 "ly"로 LaTeX 파일의 "tex"파일처럼 일반 텍스트 파일과 유사한 형태로 구성되어 있습니다. 즉 텍스트 에디터로 읽을 수 있는 형태라는 이야기죠. 크게 봐서는 다음과 같은 형식으로 구성되어 있습니다.

% 테스트 악보 작성

% Lilypond 버전 - 명시 필요합니다.
\version "2.22.1"
% 악보 제목 등 표시하는 부분
\header {
    title = "An exemplar scale"
    subtitle = "London bridge is falling down."
}
% 악보 내용 표시
<<
    % 코드 표시
    \chords {
        c1 c g1 c1 c1 c g1 c1
    }
    % 악보 내용 표시
    \relative c'' { % 기준음 표시. 가운도 기준음을 할 때 c'로 표시. 
        \key c \major % 조성. 다장조면 생략 가능.
        \time 4/4 % 박자. 4/4박자면 생략 가능.
        \clef "treble" % 음자리표. 높은음자리표면 생략 가능.
        
        g4. a8 g4 f4 e4 f4 g2 % 음 표시. 
        d4 e4 f2 e4 f4 g2
        g4. a8 g4 f4 e4 f4 g2 
        d2 g2 e4 c2 r4
    }

    % 가사 표시하기
    \addlyrics {
        Lon don bridge is fall ing down,
        fall ing down, fall ing down.
        Lon don bridge is fall ing down,
        my fair la dy.
    }

>>

자세한 내용은 LilyPond Documentation 페이지를 참조해보세요. 여기서는 간단한 기능들에 대해서만 소개하고자 합니다.

출력 결과

악보 출력 결과

3.2 주석[편집]

한 줄 짜리 주석은 %기호를 사용하면 되고, 여러 줄을 사용하는 긴 주석은 "%{}"사이에 표현하시면 됩니다.

3.3 코드 표시[편집]

\chords{} 안에 표시하면 됩니다. (기본음+길이):(옵션) 형태로 표시하면 됩니다.

3.4 음표 표시[편집]

\relative{} 안에 표시하면 됩니다. 알파벳은 음이름(도는 c, 레는 d 등)을 표현합니다. 쉼표를 표시할 때에는 r 기호를 사용합니다. 반올림일 때에는 음이름+is(fis 등), 반내림일 때에는 음이름+es(bes)라고 붙이면 됩니다. 그 다음 '표시 혹은 ,표시는 앞의 음 기준으로 상대적 음높이를 표현합니다. 다음 음이 앞의 음에 비해 4도 이내에 표시되는 경우 음높이 기호인 ' 혹은 ,를 표시하지 않으며, 그보다 한 옥타브 높은 음을 표시해야 하는 경우는 '표시, 한 옥타브 아래 음을 표시해야 하는 경우는 ,표시를 붙여줍니다. 마지막으로 숫자는 음표의 길이를 표시합니다.

  • 예를 들면 가운데 솔(G) - 가운데 도(C)는 5도 차이가 납니다. 따라서 LilyPond에서는 g4때 가운데 솔이 입력되었을 때 다음 음에 c4라고 입력하면 가운데 도가 아닌 4도 차이가 나는 높은 도가 입력됩니다. 따라서 가운데 솔 - 가운데 도를 입력하고 싶으면 "g4 c,4"라고 입력해야 합니다.

3.5 가사 표시하기[편집]

\addlyrics {} 안에 표시하면 됩니다. 기본적으로 공백 문자로 띄울 때 음표 하나에 대응합니다. 만약 음절 하나를 여러 음표에 대응하고 싶으면 음표 작도하는 부분에 음절 하나에 연결해주고 싶은 음 뒷부분을 괄호로 묶어주면 됩니다. 예를 들면 솔미를 가사의 한 음절에 표현하고 싶으면 relative 부분에 "g4( e4)" 같이 표현하면 됩니다.