LilyPondを使って音楽(譜面とmidi)を作る.
まず始めに, テキスト形式で文字入力で綴ったテキスト・ファイルで, 楽譜とそのmidiを作る事ができます.
テキスト形式とは, そのOSが標準で対応している文字コード(通常,キーボード上の a(A)〜z(Z)と記号(key)のみからなる入力(文字)コードで綴られている文書形式です.
キーボード(文字)入力とは, Japan Edition環境での Windows OSはshift-jisで, Linux OS の Ubuntu,Fedoraはutf-8と言った文字コードをさします.
通常,キーボード上のa(A)〜z(Z)と記号(key)のみからなる入力(文字)コードの共通項目(ASCII,ANS,shift-jis等々の符号化)を, LilyPondはこれらを認識します.




以下のように書いて(test.ly) ================= lilypondで翻訳すると譜面が表示されます.

{ c'4 d' e' f' g' a' b' c'' } \relative c' { c4 d e f g a b c' }

翻訳実行は(test.lyの有るディレクトリで)
>lilypond --png --pdf test.ly
( png,pdf共にデフォルトではA4判用紙 [音楽界size規格]で出力されます. )
[picture of music]


以下の画面表示ですが.
[picture of music]



では, 上記画面表示の"cut-譜面"を作成した test.ly と, それをlilypondでrunningするwindowsの バッチファイル lily-run.cmd の内容です.
[picture of music]
1)test.lyについて,
LilyPondの方は見ての通りです....説明を省きます.
但し, 注意として/paper{.....}の効果はpdf譜面に於いてのみです.
(pngは????....下行の中の呪文作用です)



2)lily-run.cmdについて,
Windows OS のバッチファイル(running命令記述)の拡張子は必ず .cmd です.
%1 は引数1の意味で, ユーザーの入力文字に代わります.
--------------------------------------------------------------------------------
>lily-run test[Enter]    と入力すると
>lilypond test.ly    .....となって, 以下記述されているjob指示が実行されます
---------------------------------------------------------------------------------
従って, %1.pdf | %1.png | %1.mid も実際は, test.pdf | test.png | test.mid ..... となります.
譜面原稿を書いている時, 何度も(>lily-run test)で確認しながら編集を進める事が 出来ます,
(其の都度, 同じrunning命令語の入力手間を省く事等....等々できます.)

gswin32c -sDEVICE=png16m -r100 -g680x120 -sOutputFile=%1.png -dNOPAUSE %1.ps -c quit
この文言(呪文)が上記のpngのcut譜面ファイルを作成した本文です.
gswin32cがrunningプログラムの事で, %1.psをいろいろ条件をつけて%1.pngを作成する 見取り図です.
-r100 が%1.psの其のままのサイズ, (-r180 にすると%1.psの1.8倍拡大,-r50だと 半分に縮小等々の意味)
-g680x120 が幅X高さで画面%1.psの, この例では譜面のcutサイズです.
拡大縮小率やcutサイズの入力の他は, この文言を呪文として必要な時に, 其の都度繰り返せばの理解程度で....OKです.
但し, この呪文がrunningするには, 自己のパソコンに Ghostscript と言うプログラム・パッケージを
インストールとrunningする為のPC環境設定を行わなければなりません
.

参照; Windows 用 Ghostscript と GSview のインストール詳しく解説されています.
( GSview はインストール無しでOKです, GSviewはGhostscriptのGUIでライセンス版です. )
LilyPond Windows OS版をインストールすると. 展開の中にLilyPond用にGhostscriptの linux版"gs"が用意(導入)されており,
lilypon.exe , lilypond-book.py等々の実行ファイルの内部では, パッケージ内の " gs "が呼び出されて稼動しています.
" gs "プログラムをwindows OS側から利用は避けた方が賢明です.
Windows OS 日本語環境に於いては(日本国内なら)上記の参照解説から日本版Windows用を インストール等々が推薦です.


上記のcut-譜面and midを表示演奏させた実行log表示です. (>lily-run test を実行した航跡)
[picture of music]


%1.psがページ物であったら, ページ毎のpngを処理する呪文は以下の如くです.
gswin32c -sDEVICE=png16m -r100 -sOutputFile=%1+page%%d.png -dNOPAUSE %1.ps -c quit
例えば, jmoonlight3-2.12.ly で実行 するには, 上記のlily-run.cmdを下記の如く編集して,
(オリジナルの編集物"moonlight1,2,3.tar"(original) moonlight1,2,3.tar) .
lilypond %1.ly
gswin32c -sDEVICE=png16m -r100 -sOutputFile=%1+page%%d.png -dNOPAUSE %1.ps -c quit
%1.pdf | %1.mid
>lily-run jmoonlight3-2.12 [Enter]すればページ物のpng(17ページ分)が 作成されます
(上記のlily-run.cmdの中に %1+page1.png | %1+page2.png | %1+page3.png | ...等々と 併記すれば自動表示はしますが)
(以下が, gswin32cが処理したjmoonlight3-2.12のpngファイルです.)
[picture of music]

[picture of music]
一応, 2ページ程度で此処では表示を止めます.
"-sOutputFile=%1+page%%d.png"の部分は "-sOutputFile=%1+%%d.png" でも "-sOutputFile=%1%%d.png" 等々の記述でもOKですが.
(%1と%%d.png の文言は絶対値になっています.)
>lilupond --png --pdf jmoonlight3-2.12.ly
を実行してページ作成のpngを比較して見てください, 全く同じです.
( lily-run.cmdはlilypond処理と同似のことを行っているので,当たり前ですけど.m(_ _)m )






Linux の Ubuntuで上記説明と同じcut-譜面取得runningです. [picture of music]

上記画面表示の"cut-譜面"を作成した test.ly と, それをrunningするlinuxの スクリプト lily-run の内容です.
[picture of music]
linuxでは" $1 "が引数1の意味です.

上記のcut-譜面を表示演奏させた実行log表示です. ($ ./lily-run test を実行した航跡) [picture of music]
いろいろと, 細かいところの説明記述は省かせてもらいます.m(_ _)m


$1.psがページ物であったら, ページ毎のpngを処理する呪文は以下の如くです.
gs -sDEVICE=png16m -r100 -sOutputFile=$1+page%d.png -dNOPAUSE $1.ps -c quit
例えば, jmoonlight3-2.10.ly で実行 するには, 上記のlily-runを下記の如く編集して,
(オリジナルの編集物"moonlight1,2,3.tar"(original) moonlight1,2,3.tar) .
lilypond $1.ly
gs -sDEVICE=png16m -r100 -sOutputFile=$1+page%d.png -dNOPAUSE $1.ps -c quit
evince $1.pdf | $1.mid
$ ./lily-run jmoonlight3-2.10 [Enter]すればページ物のpng(17ページ分)が 作成されます
(上記のlily-runの中に evince $1+page1.png | evince $1+page2.png | ...等々と 併記すれば自動表示はしますが)
(以下が, gsが処理したjmoonlight3-2.10のpngファイルです.)
[picture of music]

[picture of music]
一応, 2ページ程度で此処では表示を止めます.
"-sOutputFile=$1+page%d.png"の部分は "-sOutputFile=$1+%d.png" でも "-sOutputFile=$1%d.png" 等々の記述でもOKですが.
($1と%d.png の文言は絶対値になっています.)
$ lilupond --png --pdf jmoonlight3-2.10.ly
を実行してページ作成のpngを比較して見てください, 全く同じです.
lily-runはlilypond処理と全く同じことを行っているので当たり前です.m(_ _)m






Ghostscriptのhelp画面表示です.
[picture of music]
Usage: gs [switches] [file1.ps file2.ps ...] になっていますが, Windows OS版 ではgswin32cと解釈です.
used switches; このブロック部分がオプション作用コマンド名です.
Available devices:このブロックが市販プリンターのディバイスファイル群です.
(例えば, EPSファイルはepswite, PNGファイルはpng16m, 等々指定でget出来ます)
Search path:は私の環境Path値です, ここは各人の仕様環境PATH値になります.
ここでは全容を表示し切れていませんが, ご自分で実行して眺めてください.
Ghostscript配布パッケージの" ps2pdf "スクリプトを使うと,
lilypondが作成した例えば name.ps ファイルを

       >ps2pdf name.ps ( on Windows OS)
       $ ps2pdf name.ps (on Linux OS)
実行すると, name.pdf が作成されます. これは Lilypondの作成したname.pdfと 同じ物です.




LilyPondのhelp画面表示です.
[picture of music]
LilyPondには他に, lilypond-book.py と言うスクリプト・ファイルが提供されています.

lilypondのrunningは譜面原稿.lyファイルを midi(mid) , psファイル の作成まで受け持 ちます.
その png , pdf , eps ファイル等々はGhostscriptが受け持っています.

従って, lilypondはepsファイルも指定されれば作成(出来)しています.




一例;; もし, Ubuntu等々でのLilyPond versionを最新版にアップグレードするには, 管理者権限で実行してください. 例えば,
( もちろん, downloadしたファイルの有る場所でです, すこし強引 (旧版削除無し)乱暴ですがOKです. )
( 其の場合, /usr/local/lilypond/usr/share のLocationになりますが, 優先権はこちら側!! m(_ _)m )
# sh lilypond-2.12.3-1.linux-x86.sh[Enter]
下記の如く(user(yukio)に戻ってrunning), LilyPond ver2.12.3-1になっています.
( 初回runningだけ.lilypond-fonts.cache-2を(自動サーチ)作成するので...処理まで 待ちますが. )
[picture of music]