LilyPond ver2.12(Introduction)


Next: , Previous: (dir), Up: (dir)


Next: , Previous: Top, Up: Top


Next: , Previous: Index, Up: Top

First steps

• 始めの一歩
例えば, 何かまわず以下のようにテキストファイルへtypingして, LilyPondで コンパイルすると.

{ c d e f g a b }


結果の表示です(A4版で組版されます, 此処ではobje部分だけを切り抜いて表示).
exa-a.png
• テキストファイルはWindows OSの「メモ帳」等々を使用して作成できます.
• ファイルネームは任意ネームで, 例えばexa-a.ly等々と名前をつけます (和語名は駄目です, 半角アルファベットa......zの26文字です).

ここで注意は拡張子を必ず .ly にします.

• コンパイルは, Windows OS のコマンドプロンプト(cmd.exe 通称dos窓) を開いて

(exa-a.lyのある場所で)
>lilypond exa-a.ly と入力し[Enter]を押せばOKです.

色々表示しますが(文字化けは無視してください(これは正常な証です).
Windows OS(のコマンドプロンプト–cmd.exe–)が和語表示はSIFT-JISコード標準 だからで, lilypond.exeの(メッセージ)言語(出力)表示はutf-8コードです
最終的に, 例ですと...exa-a.ps exa-a.pdf (命令(\midi{})が有ればmid等々 が作成されています.

• 拡張子 .ps .pdfファイルが譜面ファイルで, アクロバット等々で 表示印刷出来ます.
• 拡張子 .midが, 通称midiファイルと呼ばれてファイルで, Windows メディア プレーヤーで音(音楽)が鳴ります.
(Windows OS のMIDI音源モジュールは, ライセンス版;Roland社(米国)GM/GS(R)です)

LilyPondが作成したmidファイルはMIDI規格標準のformat1 typeで, MIDI interfaceが備え 付けられている電子機器で, これらmid(midi)ファイルをその音楽編集装置に取り組む事は (DAWソフトで)可能です. 但し, パソコン内の設定や音楽編集ソフトの設定およびmidiと オーディオ(Audo)関連に, 相当に詳細な知識と技術を持つ必要があります.



• もう少し整理(清書)しますと......

{ \clef treble \key c\major \time 4/4
c'4 d' e' f' | g' a' b' r \bar "|." }


結果の表示です(obje部分を切り抜いて表示).
exa-a2.png

• { ...... } で囲む事をグルーピングと言いますが, 通常は ここから......此処までとcpuに計算の範囲を知らせます. このグルーピングは { ...... { ...... } ...... { ...... } }等と 多くのこの手のソフトプログラミングはネステング(ネスト構造)にも対応しています.

• \文字列 の\は一般的にエスケープ文字と通称して, \文字列 で明示的に 機能(コマンド)を意明しています. \clefの和語訳は"音部記号"の意味でtrebleはその記号種の 中の一つにすぎません, 他にbass等々LilyPondは多くをサポートしてあります, それらは 全て\key"調号"と密接に繋がって\clefも\keyも\Staffや\Voiceに絡んでいます. つまり, \Staffや\Voiceが無い所ではまったく何も作用もしません. プログラマーは良く \clefのvalue(値)はtreble等々と言います. 同様に\timeの値は4/4等となりますが, どちらも 値は文字列です. LilyPond laungage に於いて数字をcpuに数値と認識させるには接頭語#を 付けて, 例えば\hspace #3.5とか\hspace #-2等と記述します.

• プログラマーは, また, 広義の意味でならキーボードからの打ち 込み(入力)は全てコマンドなのですと指摘します. そこまで行かなくとも, 上記2例(楽譜)の LilyPondのコード記述は全てコマンドを意味している事(文字出力でなく)が分かると思います. LilyPondでの文字列(譜面表示のテキスト)の入力は通常\markup{...テキスト...} と括って記述します, \Lyrics(歌詞パート)の中での記述は, もちろん歌詞の文字列と認識 されます.



上記これら2例は単なるlilyPond単純理解表示の為のものです.
つまり, このように記述して. ファイル名前を 任意名.lyで作成し,
cmd.exe(Windows OS コンソール画面, プロンプト) >lilypond 任意名.ly[Enter]で
楽譜やそのmid(曲)を作成できます.
従いまして, lilyPondが解釈できるシーケンス(処理命令文字列), コマンド(処理命令), lilyPondの決まりごとに則って,
著者は原稿ファイルを記述しなければなりません.
上記2例はその一部分で LilyPondのデフォルト処理の結果を示しています.
注意が必要なのは, 始めてLilyPondコード記述の体験ならキーボードからの 入力ミスは必ず付き物です. 慣れてくれば入力ミスの頻度は殆ど無くなる様になり ます.

音(階)はc d e f g a bのみです, 半音の上下はisesを添え付けてaisやaesと 記述し, 音(符)は1 2 4 8 16 32 64と数字を添え付けて例えばa1やaes8等々と記述を します. また, Octave上がる毎に'を追加し, Octave下降する度に,を追加し例えば aes”4とかa,2等々と記述する. 基本的にはたったこれだけです, これらの展開に\clefや \majorや\keyや\timeや\tempo等々があり, これらが基本的には音楽製作現場で飛び交い, あるいは, 曲作成原稿ファイルに書き込みます. LilyPondの基本的な音楽書き込みは これだけです. 上記2例の如く書き込みすれば, その楽譜もmid(曲)も作成してくれます.
(r, R音符は休符を意味し, s音符はLilyPond独特の幽霊音符を表します)

LilyPondのデフォルト処理とは, 著者が何も指定していなければ, その部分は LilyPond(プログラム)自身の設定に沿って補完をして, runing処理をする意味です.
midiの作成に関しては, \midi{ } の指定が書かれていない限り作成はしないです.







• 1). 本格的な清書記述の一例です......

     \version "2.12.1"
     exa = {
              c'4 d' e' f' | g' a' b' r \bar "|."
            \break
           }
     \score { \new Staff {
                          \clef treble \key c\major \time 4/4 \tempo 4 = 80
                           \exa
                          }
     
             \layout {}
             \midi {}
            }

結果の表示です(obje部分を切り抜いて表示).
exa-a3.png
解説
\version "2.12.1"
これは, "譜面原稿ファイルはLilyPond version 2.12.版で記述しました" の意味です. LilyPondは絶えず美的楽譜追求へ変貌し続けています(演奏者がおもわず弾きたく なるような譜面組版). 従って...versionによってlilypond自身の内部処理に差異が 激しく生じます. 譜面原稿ファイルへversion情報記述は極めて重要です.
(ver2.12.であるなら, それ以後の数字はマイナーレベルなので, ver2.12.2でも, ver2.12.12-4 等々に進化してもOKです)
マイナーレベルとは, ある種の環境(特殊環境)による不都合を修正した版で, ver2.12の メジャー版にはまったく影響を及ばさないプログラム記述修正版です)

exa = { ...... }
exaという名前付けは任意名前でOKです.
この記述方式(方法は)はマクロ記述フォームです. 譜面コード記述を書き終えたら 必ず } で閉じます, この閉じコード記述を忘れると lilypondコンパイルはその時点で解釈不能...中止終了します.

c'4 d' e' f' | g' a' b' r \bar "|."
\break
\clef treble \key c\major \time 4/4 \tempo 4 = 80
具体的な, これらのコーデング文字意味等々は Notation Reference (in one big page ~ 4 MB, in PDF)--LilyPond.pdf等々を参照して ください. 内容は譜面知識さえお持ちなら理解できます(英語は関係ない).

\score { ... }
\score { はlilypondの楽譜や譜面処理の開始命令です. 音楽原稿ファイルを処理すべき 様々な内部ファイルが読み込まれ, 著者の原稿を処理できるように用意されます. これも 従いまして, } で閉じ—此処で楽譜や譜面の処理範囲終了明示—がなければ なりません. 忘れるとlilypondは処理を中止します.
(正確に言及すると, 最初に\book {...... の宣言があり, その原稿ファイルの 一番最終行で...... }の綴じで全てが終了です, これは省略でき多くのLilyPond紹介 では省略して行っています)

\new Staff { ... }
読み込んだ著者の楽曲原稿ファイルを, 音楽の五線譜上で組版処理しなさいです. 明確のように } でその範囲終了を忘れないでください.

\exa
exa名前で記述した音楽コーデングをこの場所に呼び込んで処理してくださいの意味です.
このexa名前付けは任意命名です. 呼び出すときはLilyPondエスケープ文字"\"を接頭語に 付けます.

\layout { }
これは, 処理音楽情報(組版処理)を楽譜(譜面)としたファイル作成せよの命令です.
defaultは音楽界A4版譜面用紙になります(文書用A4版より約10.00mmm大きいです)
{ ...... } の中に組版の際の様々なパラメータを指定できます.
更に, 上記の\new Staff での呼び出すStaffへの注文設定も, 此処で記述できます

LilyPondプログラム内部構築(architecture)部分でなら, ここから, 外部ソフト gs(unix=Windows)へ処理メモリーが渡され, gsソフトによってps,eps,png.pdf(楽譜)処理 へと移行します[注意: Winodws版もunix版も同じLilyPond内でgs(unix系用)を用いています].
gsとはGhostscriptの略語でPostScript(Adobe Systems compay開発ライセンス)のページ記述 言語の事で, Adobe社の了解を得たフリーライセンス版です(Adobe社の製品版はAcrobat). gsと言えども, 法人でお使いの場合は使用書体ともどもURLには注意が必要です.


\midi {}
これは, 処理音楽情報をmid(曲)ファイルとして作成せよの命令です.
{ ...... } の中にdynamics設定等々様々な曲に関係する パラメーターを記述できます.
midデーターはLilyPondでは C:\Program Files\LilyPond\usr\lib\lilypond\current\python2.4\のパッケージファイル群 によって裁かれます(専用Windows OS用へのファイル有り) が. midファイルフォーマットは多分にtype1の世界標準になっています. 従って, 市販の音楽制作pcソフト(録音スタジオデスクトップ環境ソフト)に呼び込んでも mid情報は再現します. つまり, イベントリストに仕分けられたLilyPondのmid情報は 参照できます. である限り, LilyPondのmid情報を音楽制作pcソフト(録音スタジオデスク トップ環境ソフト)で再編集は可能です(LilyPondのmidへ更なる. 音の幅や深さや曲感を 求めるなら, mid編集ソフト側に呼び込んでmid情報を再制御)

LilyPond(言語記述)でどの様な命令であれ, { で記述を始まりだしたら 必ず } でその範囲終了を確実に明示しなければなりません...これは lilypond(言語記述)の法則です. 余談ですがLilyPondはmusic typestterと言う オペーレーション(OS)でWindows OSやUNIX(Linux)等々と同じです. ただ, 印刷や 表示等々を独自に用意するのではなくWindows OSやUNIX等々のAPIを利用する方法を 採っているに過ぎません.

LilyPondが楽譜を組版処理するとき, 従来からの音楽界の法則に則って処理をします. LilyPondが独自に決めて処理しているわけでは有りません. ですが, LilyPondの内部処理コード(プログラム言語)に長じているなら自己独自の 音楽記号等々など楽譜ファイルへ組版可能です. LilyPondの楽譜部分のプログラム言語は "scheme"であり, 且つ"python"で運転を行い. コンピューターCPUとの会話は等々(shell)は "bash"(UNIX(Linux), cygwin)や"cmd.exe"(Windows OS)です.

\new Staff {.........} , \new Voice {.........} の代わりに,
\context Staff = "任意命名 ID名前" {...} や
\context Voice = "任意命名 ID名前" {...} のコーデングもあります
.
これらは, より詳細でより複雑な階層的な音楽記述するときに利用します(組版結果が単純でも 音楽記述が複雑な場合). プログラム的に言うと, 翻訳(計算)し終わった作用後(結果)を 格納しているメモリーに名前(メモリー番地)を付けている行為です.
これは, 名前をつけていれば......何時でも何処にでも......その メモリー(結果)を譜面や紙面に呼び出す事が出来る, その名前のStaff, Voiceへ 後からいろいろと追加作業が出来るからです.
\new Staff\new Voiceは, 名前が無いので其のまま次のjob-objeへと時系列で 流れ込みであり, 振り返っても, これから起こるずっと先からでも, その結果を利用で きません. 一回限りの終了です.


個々のコマンドは夫々の\Voice or \Staff or \scoreのどれかに所属していま すが, 一番始めに(最底部分)Voice Contextの所属するコマンドが翻訳を実行, それを Staff Contextへ収検され, Score Contex によって楽譜情報となり. それらがPostScript言語 に直訳され......Ghostscriptのps2pdf等々で譜面になり印刷・表示となる.
これがLilyPondの処理の流れですが, 気を付けるのは, 作用設定の変更は, 其の所属する Contextの中で行うです.
また, いきなり\new Staff宣言で音符等々を書き始めているのは, Staff Contextは Voice Contextを受け取る......事が出来る. この文言の一文があるので, 多くのuserは\new Staff 等々からはじめています.
従って, \new Staffで音楽を書き始めてVoice所属のコマンドを \overrideで修正しようとも......それは出来ません.

どのコマンドが何処に所属しているかは,
C:\Program Files\LilyPond\usr\share\lilypond\current\ly\engraver-init.ly を参照 願います.


Next: , Previous: First steps, Up: Top

Second steps

• lilypondコードに於ける" s "の役割
LilyPondに於ける" s "音符コードは非常に重要です. 一つのサンプルコード例です.

     \version "2.12.1"
     exa = {
              s1_\markup{ \large \box {s } is ghost! } | s2 s |
              s4^\< s s\sustainOn s\! | s2^\> s\! | s1^\fermata \bar "|."
              \break
           }
     
     \score { \context Staff = "example4" {
                          \clef treble \key c\major \time 4/4 \tempo 4 = 80
                           \exa
                          }
     
             \layout {}
             \midi {}
            }

結果の表示です(obje部分を切り抜いて表示).
exa-a4.png

" s "音符コードで記述した音符は幽霊です! lilypondコンパイル上はrunしますが, 組版結果には音符が幽霊で存在しませんし, 作成指示したmidへも作用しません.
しかし, 音楽処理(パソコンのCPU 計算)上では例の如く正常に計算されています. 姿が透明だけに色々様々に組版では利用価値があります.

注意; LilyPond特有のこの発明s音符は, 各人のデスクトップ環境の"録音スタジオ編集 ソフト"(音楽制作ソフト)には無い機能です. 現在(2008 year)の代表的なこれら高価なソフト 群では, 同じmid規格でも対応されていないはずです. midを呼び込んだときに注意が必要 です. LilyPondで音楽原稿ソース記述の時に楽譜譜面outとmid(音楽曲)outをセパレートで 記述してあり, mid-out記述にはs音符の無い事を確認していれば関係ないですが.


• 譜面記述テクニック" s "の役割
下記の記述を見てください, 譜面記述で......悩んだ時" s "音符を 思い出してください.
—更に, 一気にLilyPondの音楽処理モード説明に入ります—

\version "2.12.1"
exa = {
         \clef bass \key e\major \time 2/4
         r8 b,8^\mp^\<  fis[ cis']\! | % 1小節
          cis'8^\> b4.*1/3 s4.*1/3 s4.*1/3\! | % 2小節 
         \break
         \clef treble \key c\major \time 4/4
         << { c''4^\ff c'' c'' c''\( } \\ { e'2 e' } >> | % 3小節
          << { g'2\) s2 } \\ { s2 f'\( } >> | % 4小節 
         << { d''1 } \\ { c'4\) d'8[ e' f'] a'4. } >> \bar "|." % 5小節
        \break
      }

   

\score { \context Staff = "example5" { \tempo 8 = 40 \override Score.BarNumber #'break-visibility = #all-visible \override Score.BarNumber #'break-visibility = #end-of-line-invisible \override Score.BarNumber #'stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print) \exa }

\layout { } \midi {} }


結果の表示です(obje部分を切り抜いて表示).
exa-a5.png
(mid曲を検証してみてください. mp,ff,(de)crescendiが曲に反映されています)
2小節目と4小節目が" s "を使った組版です.
4小節目のコーデングに注意してください. ちなみに, ここを g'2\) f'\( と 記述してコンパイルすると, Slurの処理error("原稿記述のSlurの閉じ記述に誤り有り"意味) メッセージが画面に表示されますが, コンパイルは原稿譜面もmidも作成します. 比較する と一目瞭然でslur部分(弧線)が組版外になっています.

3小節目以後のコーデングに見られる譜面組版コーデングですが.
<< {五線譜上位置} \\ {五線譜下位置} >> これがLilyPondの法則です. もちろん, "上位置\\下位置"の小節個数は一致していなければなりません.
—4小節目が単一に見えますが...実態は上下に音符を持った譜面です—
このサンプルが意味しているのは,

LilyPondに於いて << {五線譜上位置} \\ {五線譜下位置} >> で コーデングを始めた時に, "五線譜上位置で発信した属性は必ず五線譜上位置で受け止める" "五線譜下位置で発信した属性は必ず五線譜下位置で受け止める" これは鉄則です.
この意味でも, 幽霊音符" s "(実態は有るけれど姿は透明な音符)利用の一つの 例です. プログラミングで語るとcpu計算上は実態があって計算され, 型(譜面/mid)を 持つとき透明化してしまうobjeという意味になります.
但し, いくら" s "音符が透明でも実態は存在しているので音符のカウントは なされています. 例えば, \time 2/4で1小節内に4分音符で2個以上の値の 音符を" s "だからといって記述は出来ません. それが, 上例2小節目での コーデング意味になっています.


• 和音的の組版
Polyphonyのもう一つの和音的組版例です, exa-a6.png 和音コード類似のコーデングの組版です. c d e f g a bを一気に4分音符と 全音符で弾かしてみました. ソースコーデングは以下の簡単な実験的な記述です.
     \score{ {<c' d' e' f' g' a' b'>4 r2. | <c' d' e' f' g' a' b'>1 | }
              \layout { indent = 0.00\mm line-width = 60.00\mm } \midi{} }

ご自分でテキストファイルへコーデングして, lilypondでコンパイルしてmidを聴いて 見てください. 上記のようなコーデングはゲーム感覚で実験的な遊び要素的な 楽しみです. パソコンの前で......いくらでも, ご自分の創意で楽しめます.
\layout { indent = 0.00\mm line-width = 60.00\mm }はこの文書での 貼り付けの為に記述したのであって, 実際の実験では\layout{}で済みます.

ちなみに, Windows OSのワードプロセッサーであるワードや, 非常に優れたソフト・ エクセルへも, この文書の様に文章の中に譜面を貼り付けは可能です.
music typesetterであるLilyPondは, 使いようによってMusic Gameソフトとして パソコン上で遊べます.



• LilyPondで遊ぶ楽しむ(音のゲーム)
この文書の最終的な目標は, このLilyPondでゲームを始めよう! が目的でした. まず第一に LilyPondコンパイル後に自動で譜面表示/mid奏でを自動で行う, 簡単なバッチファイル の作成から始めます.
以下の内容を記述したファイルを作成します. ファイルネームly-run.cmd
(バッチファイルの名前は, 任意名.cmd が鉄則です(Windows OS側の法規).
     lilypond %1.ly
     %1.pdf | %1.mid

これは, lilypondの任意名前の原稿ファイルをコンパイル後にpdfファイルと midファイルを自動openする極めて簡単なWindows OS でのバッチファイルです.
(注意; Windows OSのバッチファイル(***.cmd or ***.bat)内での記述の %はWindows OSのみ参照の引数機能で, LilyPond等々他には関係ないです)


例えば,以下の原稿記述でファイルを新規作成しまして, ファイルネームtest.ly
(音楽原稿ファイル名前は, 任意名.lyが鉄則です(LilyPond OS側の法規).
     \score{ {\key c\major <c' e' g'>1 | \key a\major <cis' e' gis'>1} \layout{} \midi{} }

ファイル名をtest.ly等と名づけて保存し,
cmd.exe(コマンドプロンプト)で >ly-run test[Enter] とすれば, test.pdfと test.midが自動でopenします.
test.png


ここで, 注意が必要なのは. ly-run.cmdもtest.lyも同じ場所内 (フォルダー or ディレクトリ)に有ることです(一番簡単な方法). その場所内で, cmd.exe(コマンドプロンプト)で >ly-run test[Enter]と実地すること, 曲終了後は, wmplayer.exe(Windows Media Player)を必ず閉じること. 以上です.


test.lyの遊びは, <c' e' g'>1の響きのc,gを半音高くして響きを聴いてみたのですが,
これを, 音楽的なややっこしい(難しい語で)解説すると. 音楽界のデフォルト常識である 4/4拍子ハ長調ト音記号位置c d gの和音響きを, イ長調で響かせ聴いてみた ......と言った説明になります.
LilyPondのデフォルト組版は, この文書の初期の2例で検証済みです. 四分音符・4/4拍子・へ音記号・ハ長調で組版出力されます. midは指定楽器がなければ, "acoustic grand"(ピアノ)で作成されます.

理論は別として\score{{...music code...}\layout{}\midi{}}*****.lyでsaveして, ly-run.cmdと実行すれば, 譜面表示とmidが鳴り出します.
では, a\major <cis' e' gis>1をtrumpetで鳴らしてみます(test-2.ly).

     \score{{\key a\major\set Staff.midiInstrument="trumpet"<cis' e' gis'>1}\layout{}\midi{}}
test-2.png

実行は, (cmd.exe) >ly-run test-2[Enter] で......自動車の警笛音響きに 類似音でしょうか.

test.ly とtest-2.lyのコーデングで半角空白の有無の差違が 見てとられると思います. 通常は
\key a \major \set Staff.midiInstrument ... \layout{} \midi{} ですが,
\key a\major\set Staff.midiInstrument ... \layout{}\midi{} は許されます,
\keya \major\set Staff.midiInstrument ... \layout{}\midi{} は駄目です.
"テキスト文字" or "\文字列" の後に明確である"\文字列"(命令語)等々が続くときは, 半角 空白は概ね省略できる.
"\文字列" の後に"テキスト文字" が続く場合には, 明示的に命令語文字列は此処で終わり を知らせる為に, 半角空白が必要になります.
またlilyPondのシーケンス文字列の内には半角空白を入れたシーケンス(配列綴り)が 存在します, それも絶対に省略できません.
コーデングに於ける改行は, 明示的に文字列(単語)の終わりで改行です. テキスト文字列 といえども文字列(単語)の途中では改行をしないほうが良いです.
(コード記述に於いて和語特有の全角空白は絶対に使用禁止です )

行内での % 以後一行以内 はLilyPondではコメント開始で"%"以後の文字列は 改行まで無視されます. 数行に渡るコメント記述は, 行頭を%{だけで改行します. 次行からコメント文章を開始し...コメント文最終で, 改行し次行頭で%}と宣言す れば, その間の記述は全て無視されます. これらは, 著者の覚書(備忘録)用です.

%{
Juy 31, 2009
編集; 段落を持つコメント文章の書き方
この様な, 記述になります. この空間をLilyPondのrunningは無視をします.
%}

LilyPondの解説書はそのバージョンによる, オンラインファイルである,
http://lilypond.org/doc/v2.12/Documentation/
に存在しています, また, 音楽記法に関係する情報がサンプルとして格納されています.
譜面知識さえ持っていれば, 英文の説明に頼らずともLilyPondの作用と結果は 自ずと読み取る事が可能になっています.






Windows OSのCLI(コマンドラインインターフェイス)
cmd窓で >help > cmd-list.txt[Enter]
コマンドラインの命令語類とその解説がcmd-list.txtファイル名で作成されますので, コマンドの検証はそちらで可能です(ユーザー入力(二番目)の">"はOSのパイプ機能です).
また, 命令の個別に欲しい時(例えばcopyコマンド)は.
>help copy >> cmd-list.txt[enter] で, 上記のcmd-list.txtの最終行から 追加上書きで取得できます. Windows OSのCLI詳細理解追求は市販本でお願いします.




• LilyPondで遊ぶ楽しむ・ゲーム
play.png
この後に続くと言うか, 来るべき音(or メロディー)は......? 人それぞれで しょう, 貴方ならこの後をどう展開するか? (以下, Draft Source code)

     %% -*- Coding: utf-8 -*-
     \version "2.12.1"
     
     \header {
       dedication = "Enjoy by LilyPond"
       title = "As for coming next, what kind of sound? "
       subtitle = "Piano "
       subsubtitle = " Key e minor "
       instrument = " "
       poet = ""
       composer = \markup{\italic "your name"}
       arranger = \markup{\tiny "date"}
     }
     
     play = { \autoBeamOff
     %1-6
              \repeat volta 2 { r8 e'8_\pp fis'8[^\< a'] g'4 | b' c''8[ e''] d''4\! | }
               e'4 fis' g' | c'8[ e'16 g'] c''8[ b'] a'4 | fis'2.( | e'2.) |
     \break
     %%7- ここから描き始める
     
            }
     
     %% get music sheet ----------------------------------------------------------
     \score { \new Staff { \clef treble \key e\minor \time 3/4 \tempo 8 = 180
                            \play
                          }
     \layout {}
             }
     
     %% get music midi ------------------------------------------------------------
     \score { \new Staff { \clef treble \key e\minor \time 3/4 \tempo 8 = 180
                            \unfoldRepeats \play
                          }
     \midi {}
            }

たとえば, ファイル名をplay.lyとsaveして, 既述の >ly-run play で 譜面とmidを検証しながらコーデングを繰り返し, 自分が納得できる作りが出来たら このゲーム貴方の勝ちです!
私の描き上げた作品; http://www.ipika.info/Poem/html/2007-mind2.html





Previous: Second steps, Up: Top

Concept Index





LilyPond Windows版 --- 環境構築 ---

OSはWindows XP(sp3)での説明になります, ここでの 私の例を用いての説明です.
●●● インストール方法●●●●●●●●●●●●●●●●●●●●●●
Lilypond公式サイト http://lilypond.org/web/

日本からのアクセスは和語表示になっていますので一目瞭然だと思います.
下記記述は念のためです.
 (1)  画面,右フレーム(クイックリンク) "安定版  2.12.??-?  ダウンロード"をクリック.
 (2)  Micrsoft Windows ME,NT,2000,XP  Install(インストール) を クリックします.
(2.12.までがメジャー番号で, 以後はマイナー番号で2.12.であればOKです)
(3) lilypond-2.12.??-?.mingw.exe
実行 保存 キャンセル
の窓がポップアップしますので, 保存を選択(クリック)します.
— download(格納) 場所は前もって決めて置いてください
(4) 上記ファイルのダウンロードがありますので, download終了後に実行します.
(download-格納した場所でlilypond-2.12.??-?.mingw.exeをクリック)
(5) デフォルトで. C:\Program Files\LilyPond へインストされます.
(6) Windows XP の環境設定PATHへ
C:\Program Files\LilyPond\usr\bin の記述済みを確認します.
(7) 和語.ttfの格納場所.
C:\Program Files\LilyPond\usr\share\lilypond\current\fonts\otf\内に格納します.
     ( 例:True Type = sazanami font)
     C:\Program Files\LilyPond\usr\share\lilypond\current\fonts\otf\sazanami-mincho.ttf
     C:\Program Files\LilyPond\usr\share\lilypond\current\fonts\otf\sazanami-gothic.ttf
さざなみフォント downloadについて
http://sourceforge.jp/projects/efont/ からターゲット場所へ進んでください.
sazanami-20040629.tar.bz2 8.4Mbytes 展開(解凍)すると.
sazanami-gothic.ttf 7,688,808 bytes
sazanami-mincho.ttf 10,501,044 bytes

LilyPondの実行でもし, png, pdf 表示のどちらかに失敗するなら, Sazanami-Gothic.ttf , Sazanami-Mincho.ttf 等々......に名前を変更してみてください.

以上でWindows cmd(win32)窓でlilypond.exeが実行run可能です.
デフォルトで, C:\Program Files\LilyPond のなかにインストールされます.
LilyPondの実行は, OSへの環境設定を行っているなら, cmd窓で;
>lilypond --pdf --png name.ly
です.
あるいは, 直に
>C:"\Program Files\LilyPond\usr\bin\"lilypond --pdf --png name.ly
です.
Windows版LilyPondはデスクトップ画面にもショートカットされています. このアイコンへ譜面原稿をスクロールすればcmd.exe経由でLilyPondは実行されます.
また, スタートメニューにも設定されていますが
しかし, これらは逆にWindows OSでは使い難いですし, 実用的ではないです. LilyPondのrunningは上記のようにコマンドライン入力実行インターフェスで使用が 実践的です.
Unintall 項目も有ります.
LilyPondのUninstallは, コントロール・パネルの"プログラムの追加と削除"で LilyPondをクッリク(削除表示ポップアップ)すればOKです. 後は空のフォルダ(残って いるなら)を削除します.

Windows版LilyPondはcmd.exeを通して全てLilyPondパッケージ内で働きWindows側の物は 利用しません. 譜面表示やmidiの演奏はもちろんWindows側へその手のアプリ (アクロバット・リーダー, メディアプレイヤー限定)へ渡します.
(LilyPondでの和語環境は和語フォントの置き場所によります, 自動でwindows OSの fontsフォルダーを検索してターゲット和語フォント名を探しますけど)
もし, gsview32.exe, gswin32.exe (TeX経由 dviout.exe,)環境が存在すれば, これらでも 譜面は表示可能です. midi音源が存在するプレイヤーなら, その作成midもプレーします.

Windows OS環境と言えども, Linux(unix)系対応アプリケーションを構築するなら, 環境設定で自己のホーム・ディレクトリを設定して置く事を推薦します. この場所に プログラム側が様々なrun参照するファイルを作成して置きます.

LilyPondに於ける記述コードはutf-8コード記述を推薦です, "特に歌詞部分"は完全に utf-8の言語コード指定ですので.

日本語Windows OS環境での system key 割り当て共通部分は以下を認識します.
ASCII(American Standard Code for Information Interchange)
ANSI(American National Standards Institute)
Shift JIS(Japanese Industrial Standard)