GitBook
に MusicXML
を埋め込むというのを試してみたので紹介。
MusicXML
はFinale
やSibelius
などのミュージックノーテーションソフトなら大体対応しているフォーマットなので、MusicXML
がGitBook
でそのまま扱えれば楽譜ファイルはMusicXML
だけ管理すればいいことになるので非常によさそうです。
設定
難しいことは特にする必要がなく、gitbook-plugin-musicxml というプラグインがあるので、インストールするだけです。
boook.json
の plugins
に musicxml
を追加。
{
"plugins": ["musicxml"]
}
インストールを実行
$ gitbook install
使い方
書式はこのような感じです。
{% musicxml %}xmlファイルのパスを指定{% endmusicxml %}
パスはrootからの相対パスで指定します。
GitBookディレクトリ/assets/musicxml/myscore.xml
にファイルがあれば、
{% musicxml %}assets/musicxml/myscore.xml{% endmusicxml %}
という感じです。
実際に作ってみるとこんな感じになります。
# MusicXML with GitBook
MusicXML を GitBook で表示させるとこのようになります。
{% musicxml %}assets/musicxml/myscore.xml{% endmusicxml %}
カンタンですね。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.1">
<work>
<work-number>UWV. 911</work-number>
<work-title>just Do it.</work-title>
</work>
<part-list>
<score-part id="P1">
<part-name>pf</part-name>
</score-part>
</part-list>
<part id="P1">
<measure number="1">
<attributes>
<divisions>1</divisions>
<key>
<fifths>0</fifths>
</key>
<time>
<beats>4</beats>
<beat-type>4</beat-type>
</time>
<clef>
<sign>G</sign>
<line>2</line>
</clef>
</attributes>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>whole</type>
</note>
</measure>
</part>
</score-partwise>
$ gitbook serve
して http://localhost:4000
をひらくと
うまくいきました。
やってみて分かったのですが、現在はPDF
やePub
、mobi
などの出力には対応していません(対応する気配はなさそう)。
↑このように何もなかったことのようになる。
最近のミュージックノーテーションソフトならSVG
出力に対応しているので、PDF
などに出力したい場合はSVG
ファイルを埋め込むのが良さそうかなという感じです。
ただ、やはり楽譜ファイルと画像ファイル両方を管理しないといけないと言うのはスマートじゃないですよね。
なにか良い方法を知っている方は教えてくださると嬉しいです。