音楽におけるアノテーションとそれに基づく検索・要約

PDF
梶 克彦
名古屋大学 工学研究科 計算理工学専攻
長尾 確
名古屋大学 情報メディア教育センター

1 はじめに

近年、コンテンツに対してメタデータ等を付加するアノテーションの必要性から、文書やビデオなど様々なデジタルコンテンツへのアノテーション情報を半自動的に作成する研究が進められている

アノテーション情報を作成することにより、コンテンツ検索の精度を上げたり、コンテンツの変換や自動編集などが可能になる。また、アノテーションを公開することで多くの人とそのコンテンツに対する有益な知識を共有することができる。

しかし、現在芸術作品に対してアノテーションを作成するという研究は、十分に行われていない。もし芸術作品に任意のアノテーション情報を付与することができれば、解説、教育、娯楽、検索など様々なサービスに役立てることができる。

2 音楽におけるアノテーション

本研究では、芸術の中でも特に音楽に注目した。音楽は様々な場所で利用されている。カラオケやピアノ教室、学校の授業といった、ただ聴くだけではなく様々な場面で利用される。このような場合、それぞれのサービスに応じて有益なアノテーションがあれば、サービス内容をより充実させることができる。

現在、曲情報をXMLで表現するMusicXMLやWEDELMUSICなどにより、コンピュータで曲を容易に扱うことが可能になった。これらのXMLを元に、楽譜を表示したり、MIDIを作成することができる。

しかし、これらのXML形式では、音楽のあらゆる情報を網羅しきれてはいない。MusicXMLを例にとると、音符一つ一つに対しては詳細に情報を記述することが可能であるが、タイトル、作曲者、発想記号、歌詞といった任意の部分へ情報を追加することはできない。

では、現在、音楽において不足しているアノテーション情報とはどういうものだろうか。まず「作者」の立場であれば、タイトルの詳細な意味、曲全体の構想などをアノテーションとして記述することにより、聴く人がその曲をイメージしやすくすることができる。「サービス提供者」であれば、提供するサービスによって曲にアノテーションを付与する。例えばピアノ教室の場合、どのように弾いたらいいかという情報を付与すれば、生徒の演奏時にリアルタイムに画面に表示することもできる。また、曲のイメージ等を詳細に記述してあれば、「今歌ったのと似た感じの曲」といった検索にも利用可能となる。

本研究では、MusicXMLをベースとして、音楽に十分な情報をアノテーションとして記述できるようにすることと、十分なアノテーション情報を持つ音楽がどのように利用できるかについて考察した。

3 MiXA (MusicXML Annotator)の実装

音楽の構成要素の任意の部分にアノテーション情報を付与できるMiXA(MusicXML Annotator)を実装した。

MiXA(MusicXML Annotator)

図1: MiXA(MusicXML Annotator)

システムの概要は以下のとおりである。

あらかじめMusicXMLはXMLデータベースであるXindiceに保存しておく。また、MusicXMLが保存されているサーバにはServletが動いている。

ユーザはInternet Explorerから特定のURLにアクセスする。するとServletは要求のあったXMLのDOM(Document Object Model)をXindiceから取り出す。さらにMusicXMLを楽譜のSVG(Scalable Vector Graphics)に変換してブラウザに表示する。SVGオブジェクトの一つ一つには、元のMusicXMLのどの部分にあたるオブジェクトかが分かるようにXPathが書かれている。ユーザは音符やタイトル、発想記号などのSVGオブジェクトをマウスで選択してその部分へのアノテーション情報を記述する。範囲指定も可能である。アノテーション情報は、元のXMLに直接付け加えられるのではなく、別のXMLとしてXindiceに保存する。アノテーション情報を直接XMLに付け加えていってしまうと、MusicXMLの仕様を変更してしまうことになり、他のアプリケーションで利用することができなくなってしまうためである。

ユーザが付与できるアノテーションは以下の通り。

  1. comment:コメントや解説

  2. performance:演奏(歌唱)する際注意する点

  3. chords:コード進行

  4. skeleton:Popsに見られるAメロ、サビなどといった曲の大まかな構成

  5. tablature:奏法に関するアノテーション

  6. something:自由なアノテーション

「something」は、ユーザが独自のアプリケーションで新しいアノテーションを利用しようとする場合のために用意した。とりあえず上記のどれにも当てはまらないアノテーションの場合は「something」としておけば後でいくらでも変更が可能である。

4 MiXAを用いた要約、プレイリスト作成

MusicXMLとMiXAで作成したアノテーション情報を用いて、曲を要約するツールとプレイリストを作成するツールを試作した。

4.1 要約ツール

ポップスを構成する要素である前奏、Aメロ、サビといった情報は、MiXA によるアノテーションの「sleketon」に記述することができる。このアノテーションを用いて、ユーザが曲を自由に要約できるシステムを試作した。ユーザはこのツールを用いて、聞きたい(歌いたい)部分を選択していくことにより、元のMusicXML で作成されたMIDIから、選択された部分のみで構成されたMIDI を新しく作り出すことができる。このシステムにより、例えばカラオケで「サビしか知らないからその部分だけ歌いたい」とか「時間があと少しだから一番だけ歌おう」といった曲のカスタマイズが可能となる。

4.2 プレイリスト作成ツール

ユーザは付加されたアノテーション内容を含めて、曲を検索することができる。この検索結果を元に曲のMIDIリストを作成するプレイリスト作成ツールを試作した。例えば「クリスマス」というキーワードでの検索結果には、タイトル、歌詞にあわせてアノテーション情報の中に「クリスマス」が含まれる曲が出力される。この検索結果を用いて、クリスマスに関係する曲プレイリストを得ることができる。また、上述の要約システムを組み合わせることにより、サビのみ、一番を集めたプレイリストといったものも作成可能である。

5 おわりに

以上、芸術、特に音楽における十分なアノテーションの必要性を述べ、MusicXMLに対するアノテーションとして、音楽に関するより詳細な情報を記述できるツールMiXAを実装した。また、MiXAで作成したアノテーション情報を用いて個人が曲を容易に要約できるツール、および個人の嗜好に基づいてプレイリストを作成するツールを試作した。

以下に今後の課題を挙げる。

コード進行の構造をさらに詳しく記述することができれば、「ここのコード進行と似たような曲」といったような検索も行える。また、演奏法(奏法譜)を記述できるようになれば、演奏をする際の支援をすることができる。現在の実装のように、ただの文字列の記述だけではこれらは実現不可能である。今後の実装では関連を表すリンクや木構造、また楽器特有の奏法譜など、多くの表現をアノテーションとして記述できるようにする必要がある。

また、今回付与した情報だけでは、音楽のすべての情報をアノテーションできているとはいいがたい。例えば演歌の場合、歌う際にこぶしの情報は欠かせないだろう。このように音楽の種類によって特有のアノテーションも必要である。さらに、アノテーションが十分に付与されている音楽の利用法についても、検索、要約のみにとどまらず、引用、補完、連想といった様々なタスクにも用いていく予定である。