音楽におけるアノテーションとその応用

PDF
梶 克彦
名古屋大学大学院情報科学研究科
長尾 確
名古屋大学 情報メディア教育センター

1 はじめに

近年、インターネット上に氾濫するWebページやマルチメディアコンテンツを、単に視聴するだけでなく、高度に利用したいという欲求が高まっている。そのためのアプローチとして、現在それらのコンテンツに対してメタ的な情報を関連付けるアノテーションの研究が進められている。Semantic Webやセマンティック・トランスコーディングにより、コンテンツとメタ情報を用いたWebコンテンツの高度な検索や、ユーザの特性に合わせた動的なコンテンツ変換などが可能になる。

マルチメディアコンテンツに対するアノテーション研究としては、MPEG-7が挙げられる。MPEG-7では、ビデオコンテンツに潜在するシーンの内容、フレーム内のオブジェクトなどのメタ情報を明示的に記述する形式が定められている。MPEG-7により、意味的な検索や、オブジェクト、シーンの抽出を実現することができる。

音楽も同様に、検索、分類、要約など高度なサービスを実現するためには、オリジナルの音楽コンテンツが持つ情報だけでは不十分な場合が多い。しかし現在、音楽に対するアノテーションの研究はまだ十分には行われていない。そこで、多方面で利用される音楽を高度に発展させるためのアノテーションシステムを実装した。

以下、2章では本研究で実装した音楽アノテーションシステムの仕組みと機能について、続く3章ではアノテーションの応用システムについて述べる。

2 音楽アノテーションシステムMiXA

本研究では、音楽に対しアノテーションを付与するシステムとしてMiXA(MusicXML Annotator)(ミキサと発音する)を実装した。本システムにより、検索、再構成、補完、引用といった高度利用を実現する際に不足している情報を効率的に補うことができる。以下で、本システムの機能と実装方法を示し、全体のシステム構成を説明する。

2.1 XMLベースのシステム

音楽コンテンツの記述形式として、楽譜を形成するために十分な情報を記述できるMusicXMLを採用した。また音楽コンテンツに対するアノテーションの内容もXMLとして記述できるよう設計した。以降、アノテーションを記述したXMLをアノテーションXML と呼ぶ。

アノテーションXMLの一部

図1: アノテーションXMLの一部

は曲の解説に関するアノテーションを表している。アノテーションが関連付けられている先の要素は、sourceタグ内に、XPath(XML PathLanguage)の列として記述される。アノテーションの内容はinformationタグ内に記述される。dataType属性のstring とは、このアノテーションのデータ型が文字列型であることを表している。本システムでは、文字列型の他に、数字型やコード型といった複数のデータ型のアノテーションを作成することが可能である。データ型については次節において詳しく述べる。

2.2 サービスに応じた柔軟なアノテーション定義

従来の多くのアノテーションシステムは、収集するアノテーションの内容や形式が固定されている。しかし実現したいサービスによって最適なアノテーションの内容や構造が異なる場合が多い。そこでサービスに応じて柔軟に収集するアノテーションの形式を定義することができる仕組みを実装した。

XMLドキュメントに、どの要素に対して、どのような形式のアノテーションの関連付けを許すかといった定義を記述すると、システムはXMLに記述されている情報を解析し、その記述どおりの形式のアノテーションを収集するようにメニューを動的に生成する。以降、このXMLドキュメントをアノテーション定義XML と呼ぶ。

アノテーション定義XMLの一部

図2: アノテーション定義XMLの一部

のXMLは、曲の構成に関するアノテーションの定義を記述したものである。dataTypeタグではアノテーションのデータ型を、string(文字列型)、numeric(数字型)、boolean(真偽型)、chord(コード型)の4種類から選択する。コード型は、音楽における和音を記述するための型である。アノテーションの内容を選択式にする場合は、selectタグ内に選択することのできるアノテーションを記述することができる。

どの要素に対してアノテーションを許可するかを記述したのがgroupタグである。図の場合、音符、休符、歌詞を同時に複数含む要素集合に対して関連付けることができる。また、アノテーションに対してアノテーションの関連付けを許すことも可能である。コード進行のように、一つの単純なアノテーションでは記述しきれないような情報でも、階層化したアノテーションの集合により記述することが可能である。

2.3 Webブラウザを介したアノテーション

主観的な感想、意見など、楽曲の解釈に関する情報は音楽を意味的に理解するための重要な情報であるといえる。本システムは、このような主観的な情報を幅広いユーザから収集し、多くの応用システムに役立てるために、煩雑な手続きを必要としないWeb ブラウザベースのシステムを採用した。

多人数のユーザを対象とする場合、アノテーションの信頼性を考慮する必要がある。そのため、アノテーションを行うユーザはあらかじめユーザ登録を通して個人プロファイルのXMLを作成する。本システムを利用する際にはベーシック認証を通してログインする。アノテーション作成の際には、同時にユーザのID も保存するため、誰がどのアノテーションを作成したかを識別することができる。このようにアノテータを特定する機能を持っているという事実により、間違った情報の書き込みが減り、アノテーションの信頼度を高めることができる。

2.4 楽譜に対するアノテーション

従来の音楽に対するアノテーションの研究として、楽曲に対して曲調を関連付ける研究などがある。しかし多くの楽曲は認識する箇所によって印象が異なるため、詳細に曲調検索を行う場合などには情報が足りない。そのため、楽曲を構成する詳細な要素に対してもアノテーションを関連付けることができる必要がある。そこで、本システムではユーザに楽譜を提示し、楽譜中に現れる音符、歌詞などの要素に対して情報を関連付けられるようにした。また必要に応じて実際に楽曲を演奏することで直感的に楽曲中の要素を理解できるように設計した。

ユーザに提示される楽譜には、図のようにその音楽コンテンツに関連付けられているアノテーションを可視化したオブジェクトが重ね合わされて表示される。以降このオブジェクトをアノテーションオブジェクトと呼ぶ。

MiXAの画面例

図3: MiXAの画面例

アノテーションの作成手順を説明する。まず要素を選択し、必要であれば選択部分を視聴して確認する。次に図のようにメニューからアノテーションの種類を選択し、その後具体的な情報を記述する。このメニューは、あらかじめ記述されているアノテーション定義XMLに従い、選択済みのオブジェクト集合に対して関連付けを許すアノテーションの一覧を動的に生成している。

選択した要素に対するアノテーション

図4: 選択した要素に対するアノテーション

文字列型のアノテーションは、サブウィンドウのプロンプトから記入する。またアノテーション定義XMLには、指定した内容に対応する選択式のアノテーションを記述することができるが、その場合アノテーションは右クリックメニューからの選択により容易に作成することができる。一方、コード型のように複雑な構造を持つデータ型の場合は、サブウィンドウから詳細な内容を記入する。

2.5 システム構成

MiXAのシステム構成

図5: MiXAのシステム構成

は、本システムの構成の概要である。ユーザはWebブラウザからベーシック認証を通して本システムにアクセスし、一覧から、または後述する検索システムから曲を選択する。Webサーバは要求された曲のMusicXMLをデータベースから取り出し、ブラウザで表示できるSVG(Scalable Vector Graphics)形式の楽譜に変換する。各要素には、元のMusicXML のどの部分を指すオブジェクトかを指し示すXPathが付属されている。また楽譜には、該当する曲に関するアノテーションを視覚的に重ね合わせてブラウザに表示する。

アノテーションの保存の際には、アノテーションの内容や、楽譜上の座標などをサーバに送信する。サーバは、1ユーザ、1コンテンツにつき一個のアノテーションXMLを生成し、XMLデータベースに保存する。

3 アノテーションの応用

本論文ではアノテーションの応用として検索・再構成システムを想定し、収集するアノテーションを意見・感想、解説、印象、コード、曲の構成の5種類に設定し、アノテーション定義XML に記述した。また実際にこれらのアノテーションを作成した。以下に音楽検索・再構成システムについて詳細を述べる。

3.1 音楽検索

本検索システムでは、MusicXMLに記述されているタイトルや作詞・作曲者の情報に加えて、アノテーションを用いたキーワード検索、コード進行による検索、曲の構成による絞り込み検索を行い、算出された検索ランクの高い順に結果一覧を作成する。この一覧からもMiXAのアノテーション画面や、後述する再構成システムへ移行することが可能である。以下にキーワード検索、コード進行による検索、曲の構成による絞り込み検索の詳細を述べる。

3.1.1 キーワード検索

ユーザはタイトル、作詞者、作曲者、意見・感想、解説の情報に関してブラウザのフォームからキーワード検索の要求を行うことができる。Webサーバはその検索要求を受け取り、以下のようにして検索を行う。

タイトル、作詞者、作曲者の情報に関しては、MusicXMLが格納されているデータベースに対して検索を行い、該当する楽曲を得る。意見・感想、解説、印象については、まずアノテーションが格納されているデータベースに対して検索を行い、関連先のMusicXMLを取得する。検索ランクrank は同一のMusicXML に対するキーワードの出現数n とする。

3.1.2 コード進行の検索

ユーザは検索フォームのサブウィンドウから順にコードを入力していくことで、コード進行による検索をすることができる。

サーバはまず、検索要求であるコード進行から相対的な音の変化を計算する。「C G/B Dm C」というコード進行の場合は、まず最初の音C を0とし、この音と後続する音との差を計算する。CとGの差は、Cから5つキーを下げるとGになるため-5である。上記のコード進行の相対変化は「0,-5/-1,2m,0」となる。

次に、各音楽コンテンツに対して、コードのアノテーションを取得する。そして、一曲分のコードに対し、相対的な変化を前から順に照合していく。コード進行の相対変化が一致した場合、検索要求のコードとの絶対的なキーの差をdiffとし、類似度simを計算する。i番目のアノテーションのコード進行と、検索要求のコード進行との類似度sim_iは以下の式で表す。

sim_i= \frac{1}{\left(diff_i+1\right)}

順にn回コード進行の類似度計算を繰り返し、足し合わせたものが検索ランクとなる。

rank=\sum_{i=1}^{n}\left(sim_i・base\right)

3.1.3 曲の構成による絞り込み

本検索システムでは、サビが悲しい曲といった曲の構成による絞り込み検索が可能である。この場合、「サビ」が絞り込みを行う曲の構成であり、検索対象は「悲しい」という印象のアノテーションである。

まず、曲の構成以外の検索要求である「悲しい」やコード進行について、前述の検索を行う。この時の検索ランクをpriorrankとする。

次に、絞り込む曲の構成「サビ」の部分に対して、どれだけ検索対象である「悲しい」というアノテーションが含まれているかという、含有率containsを計算する。「サビ」が関連付けられている要素はo_jからo_lまでで、その要素数はl-jであるとする。また、「悲しい」が関連付けられている要素はo_iからo_kまでで、その要素数はk-i であるとし、これら二つのアノテーションが共通して関連付けられている要素は、o_jからo_kまでで、その要素数はk-jであるとすると、含有率containsは以下の式で求められる。

contains=max\left(\frac{k-j}{k-i},\frac{k-j}{l-j}\right)

さらに、最終的な絞り込み検索の検索ランクは以下の式となる。

rank=contains・priorrank

3.2 音楽再構成

再構成システムでは、歌詞、楽器パートと曲の構成から、ユーザが特に聴きたい、楽譜を表示したい部分を選択することにより、容易に曲を再構成することができる。例えば元の長い曲をイントロ→サビ→エンディングという構成に縮めるといったことが可能である。

ユーザはまず、MiXAの楽曲一覧ページや検索システムの検索結果一覧から、再構成を行いたい曲を選択する。図の左側は再構成前の楽譜を表示した画像である。ブラウザの左側のフレームから、ユーザが取得したい曲の構成、歌詞の有無や楽器パートの選択を行い再構成の要求を行うと、サーバはユーザの再構成の要求を反映させたMusicXML を作成し、楽譜のSVGに変換して図の右側のように再構成後の楽譜を表示する。再構成されたMusicXMLをダウンロードすることも可能である。

元の楽曲(左)と再構成後(右)

図6: 元の楽曲(左)と再構成後(右)

4 実験

10人の被験者にMiXAのマニュアルページを読んでもらい基本的なアノテーションの手順を習得してもらった。その後童謡9曲に対してアノテーションを行ってもらい、以下の項目について5段階評価をしてもらった。

  • 質問1: システム全体の使いやすさ

  • 質問2: 楽譜、アノテーションオブジェクトの表示

  • 質問3: 自分の思い通りにアノテーションできたか

  • 質問4: MiXAを用いてアノテーションをしたいか

今回の実験は、システムのユーザビリティに関して評価項目を設定した。アンケート結果を図に示す。

評価実験の結果

図7: 評価実験の結果

質問1の評価の平均は3.7であった。保存を行わずブラウザを終了させてしまう場合が多くみられた。アノテーションの保存を促す手段を講じる必要がある。

質問2の評価の平均は3.6であった。現在の表示方法が、十分に適切であるとはいえない結果である。アノテーションをリストで表示するなど、楽譜に重ね合わせる以外の表現手法を検討する必要がある。

質問3の評価の平均は3.2であった。質問と回答によりその曲に対する理解を深めていきたいという要求があった。アノテーションの項目についての検討が必要である。

質問4の評価の平均は3.9であり、高い評価結果となった。本システムによりユーザ同士のインタラクションが可能なため、情報収集の場となりうる。多くのユーザが集まれば、アノテーションの収集効率も高まるため、より応用サービスを高度なものにすることができる。

評価実験の結果、複数の問題点も挙がったが、本システムはアノテーションの作成支援システムとして有用性が高いと考えられる。また、本システムは、今回の評価実験によって明らかになった諸問題の多くについても今後対応できる拡張性を備えている。今後も研究を進め、これらの問題を解決していく予定である。

5 関連研究

5.1 CDDB

CDDBは音楽CDに収録された楽曲情報を検索・認識するデータベースである。CDDBは音楽コンテンツそのものに対して、タイトルなどのアノテーションを付与することができる仕組みである。しかし、音楽コンテンツの詳細な部分要素に対してのアノテーションはこの仕組みでは実現することができない。楽曲の詳細部分に対してアノテーションを行うためには、本研究で実装したように、楽譜に現れるオブジェクトに対するアノテーションなどのアプローチを取る必要がある。

5.2 パピプーーン

パピプーーンは、GTTMのタイムスパン簡約と演繹オブジェクト指向データベースを利用し、音楽を要約するシステムである。GTTM (GenerativeTheory of Tonal Music) \cite{gttm}とは、音楽理論のグルーピング構造と拍節構造を分析する代表的な手法であり、タイムスパン簡約とは、これらの構造を用いて解析されるもっとも安定的なまとまりを形成する階層構造である。パピプーーンによりユーザとのインタラクションを通じて、質の高い要約を生成することができる。要約の前処理としてTS-Editorを用いてGTTMのタイムスパン簡約に基づく曲分析を行う。MiXAは楽譜を使用しているが、TS-Editorはピアノロールとツリー形式で楽曲を表現している。

6 まとめ

本論文では、音楽コンテンツに対するアノテーションシステムMiXAについて、新規性と意義、方法について述べた。本システムは楽譜を用いて楽曲の詳細要素に対してアノテーションを関連付けることができ、多くのユーザが非同期に利用することが可能である。さらに、応用システムに応じて収集するアノテーションの形式を定義することができる機能を持つ。現在本システムを以下のURLで試験的に公開している。http://www.nagao.nuie.nagoya-u.ac.jp/demo/mixa/

また検索・再構成システムの実装とユーザビリティに関する評価実験を行い、有効性を確認した。以下に今後の課題を挙げる。

6.1 メタ情報の自動生成とその編集

曲調やコード進行のように、ある程度機械的に自動解析できる情報については、曲を登録する際にそれらの情報を自動生成することが可能である。しかしその情報は十分な精度ではない場合が多い。ユーザがその情報を編集、訂正し、精度のよい解析結果に昇華することにより、さらに高度な応用につなげることができる。このように、機械が生成した粗い情報を、人手でユーザが編集、訂正していくという方式をとれば、アノテーションのコストをかなり削減することができる。

6.2 別の視点でのアノテーション

楽譜に対してのアノテーションは関連付ける要素をを詳細に選択できるというメリットがある。しかしアノテーションを行うユーザの労力は比較的大きくなってしまう。楽譜上でのアノテーションの他に、視聴時に簡単なボタンにより印象を関連付けていく手法や、楽曲の作成時の履歴を利用するといった手法を併用し、アノテーションのコストを下げる必要がある。

6.3 アノテーション応用システムの拡張

多くのユーザは「サビの明るい曲」という検索要求を行った場合、サビの部分をまず聴きたいと考えるだろう。そこで、検索に使用された曲の構成のアノテーションを用いて検索された曲を自動的に再構成し、検索結果一覧から再構成済みの曲のプレイリストを作成することができるシステムを実装する予定である。

また遠隔音楽教育について検討中である。教師と学習者がアノテーションシステムを介してインタラクションを行うことにより、楽曲に対する理解を深めると同時に学習者の演奏練習の質を高めるシステムである。