« New apartment | Home | Matthew, Rued Langgaards Vej 7... »

lilypond-bookとLaTeXで音楽の植字

Sat 6 Dec 2014 by mskala Tags used: , , ,

数学と理学ではLaTeXが有名です。 論文を書ければいつもLaTeXを使っています。 でもLaTeXではいろいろな文書ができます。 今日LaTeXとlilypond-bookで音楽の書くことを見ましょう。

[音楽]

これはTeX & LaTeX Advent Calendar 2014に僕の寄贈です。

|| 次 [リンクは死んだ]

LaTeXだけで音楽の植字が難しいです。 音楽はユニークの問題があります。 たとえば、ラインに小節の分裂がハイフネーションらしく難しい問題です。 一番音楽の植字のために外付けのソフトウェアを使います。 それがLilypondです。

LaTeXと一緒にLilypondが遊ぶ時文書は.lytexのファイルに入れられました。 このファイルは毎日の.texと似ても、 「\begin{lilypond}」と「\end{lilypond}」の中で音楽があります。

% demo1.lytex
 
\documentclass{article}
 
\usepackage{fontspec}
\setmainfont{ipam.ttf}
 
\begin{document}
 
これは容易な楽想です。
 
\begin{lilypond}[fragment]
  \clef alto
  \relative c' {
    c4 g c f | c e8 d8 c4 f |
    d4 a d g | d f8 ees8 d4 g |
    ees4 bes ees aes | ees g8 f8 ees4 aes |
    fis4 b, fis' b | fis bes8 aes8 e4 a |
    \bar "|."
  }
\end{lilypond}
 
\end{document}

Lilypondは自分の文法を持ちます。 TeXの文法に似ても、実はLilypondの文法がSchemeから来ました。 細部はLilypondのマニュアルであります。 例文で、\clef altoはハ音記号を作ります。 \relative c'は「ハ」の上のオクターブを指します。 その後音が来ます。 c4は四分音符です。 前音は四分音符だから、gなども四分音符です。 いつも既定の存続は前存続です。 e8が八分音符です。

|の名前は「bar check」です。 エラー補のためにです。 これは縦線を作らないです。 チェックだけをします。 Lilypondはひとりでに縦線を作ります。 たとえば、この音楽は4/4であります。 毎4拍子後縦線が来ます。 4拍子後なくてもbar checkあれば、Lilypondはエラーを上げます。 長い音楽で、やすくエラーを書きます。 チェックが必要です。

シャープ音は「音+is」でフラット音は「音+es」です。 これはオランド語の言葉からです。 b,fis'は下オクターブと上オクターブを指します。 ついに\bar "|."は切りで特別の縦線を書きます。

ファイルを書いた後、lilypond-bookのコマンドをします。

lilypond-book --pdf --latex-program=xelatex demo1.lytex

このファイルは日本語だから、ASCIIのTeXエンジンは使いなくて下さい。 XeTeXではUnicodeができます。 そのあと日本語のフォントが必要です。 もちろん好きエンジンと好きフォントの使うことができます。 しかし、lilypond-bookは使うエンジンを知りたいです。 だから「--latex-program=」のオプションと言えなければならないです。

lilypond-bookはたくさんのファイルを書きました。

[たくさんのファイル]

「demo1.tex」を見て下さい。 そのファイルはTeXエンジンのインプットです。

xelatex demo1.tex

そのコマンドはPDFを作ってあります。 これが産量です。

[容易な楽想]

このデモで「[fragment]」のオプションを使いました。 容易な音楽だけを書けばそれがいいです。 「[fragment]」は「\score」と「\layout」と「\new Voice」などが不要です。 でも複雑な音楽を書けばもしかしたら自分でそのことを書きたいです。 そうなら「[fragment]」を省くことができます。

% demo2.lytex
 
\documentclass{article}
 
\usepackage{fontspec}
\setmainfont{ipam.ttf}
 
\begin{document}
 
今原形を奏でて、二つの小節後下ろした楽想を奏でましょう。
 
\begin{lilypond}
  myScale = {c cis d ees e f fis g aes a bes b}
  myTheme = { \relative c' {
    c4 g c f | c e8 d8 c4 f |
    d4 a d g | d f8 ees8 d4 g |
    ees4 bes ees aes | ees g8 f8 ees4 aes |
    fis4 b, fis' b | fis bes8 aes8 e4 a |
  } }
 
  \score { \new Voice {
    \clef alto
    <<
      \myTheme
      { s1 | s1 | \modalTranspose d c \myScale \myTheme \bar "|." }
    >>
  } }
\end{lilypond}
 
\end{document}

「myScale」と「myTheme」はLilypondのマクロです。 一度「myTheme」は作られた後、何度も使うことができます。 「\modalTranspose」は音高が変わってあります。 このファイルのコンパイルをしましょう。

lilypond-book --pdf --latex-program=xelatex demo2.lytex
xelatex demo2.tex

これが産量です。

[複雑な音楽]

Lilypondで色々な音楽の植字ができます。 これより長いデモは、ソースコードPDFのダウンロードができます。 The longer demo PDF is also available in English, and the Lilypond/XeLaTeX source code is bilingual. デモから音楽を聞きたければSoundCloudに行って下さい。

TeXとLilypondではきれい音楽を作りましょう。

0 comments



(optional field)
(optional field)
Answer "bonobo" here to fight spam. ここに「bonobo」を答えてください。SPAMを退治しましょう!
I reserve the right to delete or edit comments in any way and for any reason. New comments are held for a period of time before being shown to other users.