XMLDB.jp

XML技術
HOME  >  XML技術  >  探検 XMLボキャブラリの世界 第10回

探検 XMLボキャブラリの世界 第10回

第10回:楽譜のボキャブラリ ~MusicXML~
2008年2月28日 更新


著者:岸 和孝(JAGAT客員研究員)


今回は,今までと趣きを少し変えて楽譜のボキャブラリについてお話しします。音楽と言えば,筆者は聞き流す程度で演奏や作曲は全くできません。したがって,この話には余り自信がありませんが,何とか説明することにいたしましょう。


MIDIとSMDL

音楽とコンピュータの関係は1970年代末から始まっており,実に多くの様々な楽譜の表現形式が開発されています。中でも,コンピュータによる自動演奏を目的としたMIDI(Musical Instrument Digital Interface)はよく知られています。MIDIデータは,当時のコンピュータの低い能力を考慮してバイナリーで表わされており,シンセサイザやシーケンサといったMIDI装置を駆動します。MIDIは演奏を主目的としていますので,楽譜の表現能力は十分ではありません。ちなみに,現在では,MIDI装置を接続していないパソコンでもMIDIデータをソフトウェア的に演奏できるようになっています。


演奏と楽譜表現を共に満足するテキスト形式,とりわけSGMLで表現する試みがありました。SMDL(Standard Music Description Language)は,SGMLの応用であるHyTime(ISO/IEC 10744:Hypermedia/Timebased Structuring Language)で表わす楽譜の表現形式です。SMDLはISO/IEC 10743として草案段階まで行きましたが,なぜかそのプロジェクトは2003年に中止されました。SMDLが複雑すぎて応用ソフトウェアがほとんど作られなかったことと,XMLによる見直しが始まったことが,その中止の理由ではなかろうかと推測しています。


MusicXML

さて現在,楽譜のXMLボキャブラリとして,MusicXMLWEDELMUSICを挙げることができます。MusicXMLは,Recordare LLC社によって開発され2004年に公表されました。MusicXMLが前述のSMDLとどのように違うのかはまだ調べていませんが,FinaleSibeliusスコアメーカーFX Proといった著名な作譜ソフトウェアで広く採用されており,事実上の標準と言えるでしょう。MusicXMLの著作権は同社に属しますが,その使用については無償ですから,音楽界のPDFのような存在と言えます。一方,WEDELMUSICは,WEDELMUSICプロジェクトで開発され2002年に公表されていますが,普及の程度は分かりません。


紛らわしいことにMusicXMLという同じ名前の楽譜のボキャブラリがもう一つ存在します。そのMusicXMLは,わが国のミュージカル・プラン社が開発し販売しているソフトウェアで使われています。しかし,肝心なそのボキャブラリ定義は公表されていません。インスタンスから想像する限りボキャブラリはRecordare LLC社のMusicXMLとは全く別物です。同社のホームページによると,そのMusicXMLは情報処理振興事業協会の公募事業の採択を受けて楽譜表記用に制定したとありますが,同社の各種音楽ソフトウェアがよくできているだけに,公表されていないことが不思議です。以後,MusicXMLと言った場合は,Recordare LLC社のMusicXMLを指すものとします。


MusicXMLの例

ここで,日本古謡の「さくらさくら」[図1を参照]をMusicXMLで表わしてみましょう[図2を参照]。


図2の注釈を読めば,MusicXMLのおおよその働きは理解できるでしょう。蛇足ながら,音名は,イタリア語の「ド,レ,ミ,ファ,ソ,ラ,シ」,あるいは日本語の「ハ,ニ,ホ,ヘ,ト,イ,ロ,ハ」ですが,MusicXMLでは英語の「C,D,E,F,G,A,B」で表わします。音名はstep(音程)要素で指定します。その他の要素名は,measure(小節),note(音符),pitch(調子),stem(符尾),lyric(歌詞),chord(和音)などとなっていますので,筆者のように音楽に疎くても,だいたい理解できるでしょう。


▼図1 「さくらさくら」の楽譜

voc10-fig1.png


▼図2 MusicXML文書インスタンスの例

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE score-partwise
          PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
                 "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="1.1">
  <movement-title>さくらさくら</movement-title>
  <identification>
    <!-- 作曲者,編曲者,作詞者について(略) -->
    <!-- 符号化したソフトウェアについて(略) -->
  </identification>
  <defaults>
    <!-- 五線譜について(略) -->
    <!-- 楽譜のレイアウトについて(略) -->
    <!-- 印刷について(略) -->
    <!-- フォントについて(略) -->
  </defaults>
  <part-list>  <!-- 総譜(フルスコア) -->
    <score-part id="P1">
      <part-name>Part1</part-name>
      <!-- 演奏楽器について(略) -->
      <!-- MIDI楽器について(略) -->
    </score-part>
  </part-list>
  <part id="P1">  <!-- パート -->
    <measure number="1" width="279">  <!-- 第1小節 -->
      <!-- 印刷について(略) -->
      <attributes>
        <divisions>1</divisions>
        <key>  <!-- 調 -->
          <fifths>0</fifths><mode>major</mode>  <!-- 長調 -->
        </key>
        <time>  <!-- 拍子 -->
          <beats>4</beats>  <!-- 4分の4拍子 -->
          <beat-type>4</beat-type>
        </time>
        <clef>  <!-- 音部記号 -->
          <sign>G</sign><line>2</line>  <!-- ト音記号 -->
        </clef>
      </attributes>
      <note>  <!-- 全休符 -->
        <rest/>
        <duration>4</duration><voice>1</voice>
        <type>whole</type>
      </note>
    </measure>
    <measure number="2" width="360">  <!-- 第2小節 -->
      <print/>
      <note>  <!-- ラ,4分音符 -->
        <pitch><step>A</step><octave>4</octave></pitch>
        <duration>1</duration><voice>1</voice>
        <type>quarter</type><stem>up</stem><notations/>
        <lyric number="1">
          <syllabic>single</syllabic><text>さ</text>
        </lyric>
      </note>
      <note>  <!-- ラ,4分音符 -->
        <pitch><step>A</step><octave>4</octave></pitch>
        <duration>1</duration><voice>1</voice>
        <type>quarter</type><stem>up</stem><notations/>
        <lyric number="1">
          <syllabic>single</syllabic><text>く</text>
        </lyric>
      </note>
      <note>  <!-- シ,2分音符 -->
        <pitch><step>B</step><octave>4</octave></pitch>
        <duration>2</duration><voice>1</voice>
        <type>half</type><stem>down</stem><notations/>
        <lyric number="1">
          <syllabic>single</syllabic><text>ら</text>
        </lyric>
      </note>
    </measure>
    <measure number="3" width="360"> <!-- 第3小節 -->
      <print/>
      <note>    <!-- 1オクターブ上のラ,2分音符 -->
        <pitch><step>A</step><octave>5</octave></pitch>
        <duration>1</duration><voice>1</voice>
        <type>quarter</type><stem>up</stem><notations/>
        <lyric number="1">
          <syllabic>single</syllabic><text>さ</text>
        </lyric>
      </note>
      <note>  <!-- 和音,ラ,2分音符 -->
        <chord/>
        <pitch><step>A</step><octave>4</octave></pitch>
        <duration>1</duration><voice>1</voice>
        <type>quarter</type><stem>up</stem><notations/>
      </note>
      <note>  <!-- 和音,ミ,2分音符 -->
        <chord/>
        <pitch><step>E</step><octave>4</octave></pitch>
        <duration>1</duration><voice>1</voice>
        <type>quarter</type><stem>up</stem><notations/>
      </note>
      <note>  <!-- 1オクターブ上のシ,2分音符 -->
        <pitch><step>B</step><octave>5</octave></pitch>
        <duration>1</duration><voice>1</voice>
        <type>quarter</type><stem>up</stem><notations/>
        <lyric number="1">
          <syllabic>single</syllabic><text>く</text>
        </lyric>
      </note>
      <note>  <!-- 和音,ラ,2分音符 -->
        <chord/>
        <pitch><step>A</step><octave>4</octave></pitch>
        <duration>1</duration><voice>1</voice>
        <type>quarter</type><stem>up</stem><notations/>
      </note>
      <note>  <!-- 和音,ミ,2分音符 -->
        <chord/>
        <pitch><step>E</step><octave>4</octave></pitch>
        <duration>1</duration><voice>1</voice>
        <type>quarter</type><stem>up</stem><notations/>
      </note>
      <note>  <!-- 1オクターブ上のシ,2分音符 -->
        <pitch><step>B</step><octave>5</octave></pitch>
        <duration>2</duration><voice>1</voice>
        <type>half</type><stem>down</stem><notations/>
        <lyric number="1">
          <syllabic>single</syllabic><text>ら</text>
        </lyric>
      </note>
      <note>  <!-- 和音,シ,2分音符 -->
        <chord/>
        <pitch><step>B</step><octave>4</octave></pitch>
        <duration>2</duration><voice>1</voice>
        <type>half</type><stem>down</stem><notations/>
      </note>
      <note>  <!-- 和音,ミ,2分音符 -->
        <chord/>
        <pitch><step>E</step><octave>4</octave></pitch>
        <duration>2</duration><voice>1</voice>
        <type>half</type><stem>down</stem><notations/>
      </note>
    </measure>
  </part>

</score-partwise>

作譜ソフトウェア

MusicXMLを扱える作譜ソフトウェアには,面白いものがたくさんあります。その多くは商用製品ですが「お試し版」がダウンロードできますので,この機会に体験されるといいでしょう。私が試したのは次のとおりです。


MusicEaseは,MusicXMLデータを入力して譜面を表示します。その譜面は自由に編集でき,それをMIDI装置で演奏できます。その結果はMIDI形式で出力できますが,MusicXML形式では出力できません。


SharpEye Music Readerは,紙に印刷された譜面をスキャナーで取り込んだアナログ画像を解析して譜面をデジタルに変換し,MIDI形式やMusicXML形式で出力できます。紙に印刷された活字の文書をスキャナーで取り込んで文字データをPDF文書へ変換するソフトウェアがありますが,それと同様です。


スコアメーカーFX Proは,SharpEye Music Readerと同様にアナログの譜面からデジタルの譜面に変換できます。その譜面は自由に編集でき,それをMIDI装置で演奏できます。さらにその結果はMusicXML形式やHTML形式などで出力できます。ここで,HTML形式とは,専用のプラグインで再生する楽曲データを指しています。なお,このソフトウェアでは,MusicXMLデータの入力はできないようです。


中でも,ぜひお試しいただきたいのは,Xenoage MusicXML PlayerMusicXML to MP3です。MusicXML Playerは,MusicXMLデータを入力してMIDI装置で演奏できます。その結果はもちろんMIDI形式で出力できます。このソフトウェアはフリーウェアで,しかもJavaで書かれていますので,Windows,MacOS,Linuxで動かすことができます。MusicXML to MP3は,MusicXMLデータをサーバーへ送信すると,MIDI形式やMP3(MPEG-1 Audio Layer-3)形式に変換して返してくれます。この二つは,無償であることやプラットフォームに依存しないことから,MusicXMLを学ぶ人々にとって有用なものでしょう。


今後のパラダイム

現在,iPodを筆頭にしてモバイル型プレーヤーが急速に普及しています。そのプレーヤーは廉価・超小型・軽量で,まずまずの音質を実現しており,様々なジャンルの楽曲データを廉価で手軽に購入できるネットワークシステムが用意されています。そのことが大流行の背景にありそうです。そうした楽曲データの大半はMPEG-4 AAC形式です。多くの人々は録音された楽曲を聴くだけなので,MPEG-4 AAC形式で十分であり,MusicXML形式が求められることはほとんどないでしょう。しかし,音楽業界や音楽教育の場では,MusicXML形式が今後広く使われるようになると予想しています。また,通信カラオケにおける楽曲データの形式については不明ですが,MusicXML形式が要求機能を満たせば,採用されるかもしれません。


今までの印刷では,数式,分子構造図,地図,楽譜といった分野は専門的な組版技術が要求されるために,それらを得意とする専門業者が扱っていました。大半の印刷会社では,それらを部分的に扱わなければならない場合,それらはすべて作図ソフトウェアで作り,あくまでも画像として扱っていました。しかし,これからはそうしたパラダイムは変わるでしょう。この連載でお話ししてきましたように,今後は,それらがMathMLCMLGML,MusicXMLというXMLボキャブラリで一元的に表わされるようになり,それらが混在した複合文書の流通するようになるからです。すでに複合文書を閲覧できるWebブラウザが登場しつつありますので,複合文書を紙媒体へ印刷することも当然のように求められるでしょう。そうしたことへの対応も,クロスメディアの課題のひとつと言えます。


社団法人日本印刷技術協会(JAGAT) PrintersCircle 2007年4月号より転載




社団法人日本印刷技術協会(JAGAT) 探検 XMLボキャブラリの世界


▲このページのTOPへ

  • 無償で使える!XMLDB「NeoCore」
  • サイバーテック求人情報
  • メールマガジン申し込み
  • TEchScore

  • ▲NeoCoreについて記載されています!

  • ▲XMLマスター教則本です。試験対策はこれでばっちり!
Copyright (c) CyberTech corporation ltd. All ights Reserved. | サイバーテックについて | ご利用ガイド