(57)【特許請求の範囲】
【請求項１】
音楽的な対象をコンピュータによって処理する楽曲処理装置において，
楽曲に関する複数の音楽的な対象を演繹オブジェクト指向データベースにおけるオブジェクト項として表現した事例情報であって，前記複数の音楽的な対象は，
・音名，オクターブ位置または音高を属性とする一つの音，
・ｎ番目の和音という属性を持つ和音の列または和音を要素とするような線形リンク構造を属性とする和音の列，
・根音，型またはテンションを属性とする和音名，
・構造特徴音，和音名の並び，上位ケーデンスとの音程差を属性とする和音名の列，
・動作または時刻を属性とする多声の旋律，
あるいは，
・ｎ番目の音もしくは和音という属性を持つ多声の旋律，または音もしくは和音もしくは多声の旋律を要素とするような線形リンク構造を属性とする多声の旋律の列，
の少なくともいずれか複数を含むものであり，その各音楽的な対象をそれに対応する種類のオブジェクト項として表現した楽曲の事例情報を格納する事例ベースと，
楽曲を入力する楽曲入力手段と，
入力した楽曲を解析し，その楽曲から抽出した前記音楽的な対象を前記オブジェクト項の表現に変換した情報を生成するオブジェクト項記述生成手段と，
前記オブジェクト項記述生成手段によって生成されたオブジェクト項で表現された音楽的な対象と，前記事例ベースに格納された事例情報とを照合し，最も類似する事例情報を検索する事例照合手段と，
検索結果の事例情報を出力する検索結果出力手段とを備え，
前記事例照合手段は，前記演繹オブジェクト指向データベースにおけるオブジェクト項間の情報量の多少に基づく順序関係を示す包摂関係を用いて音楽的な対象間の相対的類似度を計算する相対的類似度計算手段を備える
ことを特徴とする楽曲処理装置。
【請求項２】
請求項１記載の楽曲処理装置において，
前記事例照合手段によって検索された類似する事例情報を組み合わせることにより，前記楽曲入力手段から入力された楽曲をモチーフまたはテーマとする新たな楽曲を生成する楽曲組立手段を備える
ことを特徴とする楽曲処理装置。
【請求項３】
楽曲に関する複数の音楽的な対象を演繹オブジェクト指向データベースにおけるオブジェクト項として表現した事例情報であって，前記複数の音楽的な対象は，
・音名，オクターブ位置または音高を属性とする一つの音，
・ｎ番目の和音という属性を持つ和音の列または和音を要素とするような線形リンク構造を属性とする和音の列，
・根音，型またはテンションを属性とする和音名，
・構造特徴音，和音名の並び，上位ケーデンスとの音程差を属性とする和音名の列，
・動作または時刻を属性とする多声の旋律，
あるいは，
・ｎ番目の音もしくは和音という属性を持つ多声の旋律，または音もしくは和音もしくは多声の旋律を要素とするような線形リンク構造を属性とする多声の旋律の列，
の少なくともいずれか複数を含むものであり，その各音楽的な対象をそれに対応する種類のオブジェクト項として表現した楽曲の事例情報を格納する事例ベースを備えるコンピュータによって，音楽的な対象を処理するための音楽処理用プログラムを記録した記録媒体であって，
楽曲を入力する楽曲入力手段と，
入力した楽曲を解析し，その楽曲から抽出した前記音楽的な対象を前記オブジェクト項の表現に変換した情報を生成するオブジェクト項記述生成手段と，
前記オブジェクト項記述生成手段によって生成されたオブジェクト項で表現された音楽的な対象と，前記事例ベースに格納された事例情報とを照合し，前記演繹オブジェクト指向データベースにおけるオブジェクト項間の情報量の多少に基づく順序関係を示す包摂関係を用いて音楽的な対象間の相対的類似度を計算することにより，最も類似する事例情報を検索する事例照合手段と，
検索結果の事例情報を出力する検索結果出力手段として，
前記コンピュータを機能させるためのプログラムを記録した
ことを特徴とする楽曲処理用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
請求項３記載の楽曲処理用プログラムを記録したコンピュータ読み取り可能な記録媒体において，
前記楽曲処理用プログラムは，
前記事例照合手段によって検索された類似する事例情報を組み合わせることにより，前記楽曲入力手段から入力された楽曲をモチーフまたはテーマとする新たな楽曲を生成する楽曲組立手段として，
前記コンピュータを機能させるためのプログラムを含む
ことを特徴とする楽曲処理用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，コンピュータによる楽曲の検索技術または楽曲の自動生成技術に係り，特に演繹オブジェクト指向データベース技術を用いた楽曲処理装置および楽曲処理用プログラム記録媒体に関するものである。
【０００２】
【従来の技術】
従来，楽曲の自動生成方法に関しては，関数や論理など数学的な概念を用いる方法と，自然言語，ロボティクス，ユーザインタフェースなどの応用分野から生まれたフレーム，セマンティックネットワーク，素性構造，制約，（演繹）オブジェクト指向などの方法がある。これらの方法において，楽曲を生成するために，ルールベースや事例べースを用いる方法がある。これらは公知の技術として知られている。
【０００３】
最初に，本発明に関係している演繹オブジェクト指向データベース（素性構造）についての一般的な説明を行う。なお，素性構造も本質的には演繹オブジェクト指向データベースと同じ概念であり，本明細書の全体において統一的な説明のため演繹オブジェクト指向データベースの用語を用いて説明するが，本明細書でいう演繹オブジェクト指向データベースには，素性構造の技術概念が含まれる。本明細書において，「演繹オブジェクト指向データベース」は「素性構造」と，「オブジェクト項」は「素性項」と読み替えることができる。
【０００４】
演繹オブジェクト指向データベース（ＤＯＯＤ：Ｄｅｄｕｃｔｉｖｅ  Ｏｂｊｅｃｔ−Ｏｒｉｅｎｔｅｄ  Ｄａｔａｂａｓｅ）  は，知識表現の一手法である。演繹オブジェクト指向データベースにおけるオブジェクト項の一般形は，
種類（属性１の名前＝属性１の値，属性２の名前＝属性２の値，…）
のようになっている。
【０００５】
例えば，リンゴについて，赤いリンゴ，小さいリンゴという２つの概念（実体）を表現する場合を考える。ともに種類はリンゴである。「リンゴ」の場合，特にそれ以上の特徴はないので，
リンゴ
と記述する。「赤いリンゴ」は，単なるリンゴに色が赤いという特徴が付加されたものである。そこで，
リンゴ（色＝赤）
と記述する。また，「小さいリンゴ」は，サイズが小さいという特徴が付加されたと考えられるので，
リンゴ（サイズ＝小さい）
と記述する。以上から明らかなように，「大きくて青いリンゴ」の表現は，
リンゴ（サイズ＝大きい，色＝青）
となる。実際のオブジェクト項では，属性値にオブジェクト項を書くことで，より複雑な概念や実体を表現することができる。
【０００６】
このような演繹オブジェクト指向データベースによる従来の楽曲生成は，次のように行われていた。例えば，
「Ａｒｃｏｓ，Ｊ．Ｌ．，ｄｅ  Ｍａｎｔａｒａｓ，Ｒ．Ｌ．  ａｎｄ  Ｓｅｒｒａ，Ｘ．，  ＳａｘＥｘ：  Ａ  Ｃａｓｅ−Ｂａｓｅｄ  Ｒｅａｓｏｎｉｎｇ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｇｅｎｅｒａｔｉｎｇ  Ｅｘｐｒｅｓｓｉｖｅ  Ｍｕｓｉｃａｌ  Ｐｅｒｆｏｒｍａｎｃｅｓ，  Ｉｎ  Ｐｒｏｃ．  ｏｆ  ＩＣＭＣ  １９９７」では，楽曲中の一音一音をオブジェクト項（事例）で表現し，各音について音楽理論を用いて分析した結果（前後の音，ハーモニー，拍節構造との関係等）を，そのオブジェクト項の属性としている。ここでは，一つの音の表現，例えばＣ５（音名がＣで，オクターブ位置が５番目）の音を，単にＣ５という基本オブジェクト項で表現し，ＣＭ７という和音名をＣＭ７という基本オブジェクト項で表現している。すなわち，従来の技術では，演繹オブジェクト指向データベースを用いてはいるものの，音の高さ，音の長さというような音そのものの性質，また根音，タイプ，テンションという和音そのものの性質などを属性として扱い，表現することは行っていない。
【０００７】
【発明が解決しようとする課題】
演繹オブジェクト指向データベースは，広く用いられているものの，演繹オブジェクト指向データベースで音楽的な対象を表現する方法は一通りではなく，従来の方法には次のような欠点があった。
【０００８】
・音楽的な対象を演繹オブジェクト指向データベースで表現したとき，抽象度の異なる概念を関係付けることができなかった。例えば，単なる音，Ｃの音という対象を表現するとき，単なる音がＣの音の上位概念であることは，恣意的に関係付けなければ表現できなかった。
【０００９】
・音楽的な対象を演繹オブジェクト指向データベースで表現したとき，人間の直観に沿い，かつ汎用性のある類似検索や類似度判定が実現できなかった。例えば，ある和音どうしを比較したとき，人間は似ているかどうかを判定できない場合があり，そのような場合に判定できないという出力が望まれることがあるにもかかわらず，従来の方法ではそのような出力を得ることができなかった。また，例えばある和音どうし，あるメロディどうしが類似しているか否かを判定するとき，各々の類似度判定法は異なるアルゴリズムあるいは処理法として定義されてしまった。
【００１０】
・事例ベースを用いて楽曲を生成することに関して，類似した事例を検索する方法がアドホックなため，人間の直観に合わず，適用範囲も狭かった。例えば，ユーザがある短い多声メロディやコード進行を提示し，それに類似した多声メロディやコード進行を事例ベース中から検索する場合，検索される音楽的な対象は，現実には，一つの音，和音，和音の列，和音名，和音名の列，ケーデンスの列，  多声の旋律，多声の旋律の列，ボイシング，ボイスリーディングなど多種類に渡る。従来の方法やシステムでは，これら音楽的な対象ごとに異なる類似検索手法を用いていたので，一貫性のない解が得られたり，かなり限定された入力の集合に対してのみ期待された動作をするようなシステムしか得られなかった。
【００１１】
本発明は上記問題点の解決を図り，抽象度の異なる音楽的な対象がコンピュータにおいて自然に（自動的に）関係付けられる表現法を提供すること，その表現法をもとに，人間の直観に沿いかつ汎用性のある類似検索や類似度判定を実現すること，動的に変化する知識に柔軟に対処できる事例べース推論技術において，上記表現法を適用して事例を表現し，楽曲の自動生成方法を構築することを可能にすることを目的とする。
【００１２】
【課題を解決するための手段】
本発明は，音楽に関する文献や楽譜，あるいは人間が明示的暗黙的に持っている音楽に関する情報や知識を，演繹オブジェクト指向データベース技術を用いて表現し，その演繹オブジェクト指向データベース技術を用いて表現された情報をコンピュータ内で蓄積および処理し，事例ベースからの類似事例の検索や，コード進行あるいはモチーフやテーマなどの一つの楽曲をもとにした楽曲の自動生成を行う。
【００１３】
具体的には，本発明によって項として表現される音楽的な対象には，一つの音，和音，和音の列，和音名，和音名の列，ケーデンス（音楽的に終止感や段落感をもたらす和音（名）の列）の列，多声の旋律，多声の旋律の列，ボイシング，ボイスリーディングが含まれる。
【００１４】
これら音楽的な対象をオブジェクト項として表現する際，以下のような意味を持つ属性を用いる。
0003574603.tif 000002
括弧内は属性名の例であり，実際には名称が異なる場合がある。本発明のオブジェクト項に，必ずしもこれらの全ての属性が含まれなければならないわけではなく，これらの属性を部分的に含む場合でも，本発明の実施には十分である。
【００１５】
ちなみに，上に含まれない音楽的な対象については，
0003574603.tif 000003
のように表現する。
【００１６】
本発明によって，音楽的な対象は演繹オブジェクト指向データベースにおける項として表現される。その項間の順序関係（包摂関係）は，音楽的な抽象的／具体的，音程差が小さい／大きい等といった関係に対応づけられることになる。
【００１７】
この包摂関係を用いて，相対的類似度を計算する。事例ベース推論において与えられた事例に類似した事例を検索する際，上記の包摂関係を用いて計算された相対的類似度を用いる。事例ベースで検索された結果をつなげることにより，ある一つの楽曲をもとにしたユーザの意図に沿った新しい楽曲の自動生成を行うことができる。
【００１８】
本発明の作用は，以下のとおりである。
【００１９】
本発明の表現法を用いて音楽的な対象を表現すると，その対象間に成り立つ順序関係が，自動的にオブジェクト項間の順序関係として表現される。例えばここに抽象度が異なる２つの音楽的な対象Ａ，Ｂがあり，そのＡ，Ｂの間には，ｉｓ＿ａ関係あるいはｐａｒｔ＿ｏｆ関係，スーパークラス／サブクラスの関係，上位概念／下位概念の関係，全体／部分（メンバー）の関係，抽象的／具体的の関係のいずれかが成り立っているとする。
【００２０】
ここで，本表現法を用いてＡ，Ｂをオブジェクト項Ｔａ，Ｔｂとして表現すると，ＴａとＴｂの間には，自動的に包摂関係と呼ばれる関係が成り立つ（以下，Ｔａ⊆Ｔｂと記述する）。
【００２１】
類似事例の検索等で用いる相対的類似度は，上記包摂関係を用いて定義されており，音楽的な対象Ａ，Ｂ，Ｃに関してＡ−Ｂ間とＡ−Ｃ間のどちらがより類似しているかを判定することができる。このとき，本発明の相対的類似度は，（１）Ａ−Ｂ間がより類似している，（２）Ａ−Ｃ間がより類似している，（３）判定できない，の３通りの答えを出力する。
【００２２】
また，音楽的な対象Ａ，Ｂ，Ｃが和音であってもメロディであっても，種類を問わず（つまり和音でもメロディであっても何でも構わない），同じ処理手法（アルゴリズム）で答えを計算することができる。
【００２３】
事例ベースの事例をオブジェクト項として表現すると，類似した事例の検索に相対的類似度を用いることができる。これにより，多数の種類から構成される事例に対して，一貫性のある類似検索を実現することが可能になり，人間の直観に合い，かつ汎用性の高い類似事例検索が可能となる。また，この類似検索結果から楽曲を自動生成するシステムも構築することが可能となる。
【００２４】
【発明の実施の形態】
１．楽曲処理装置の構成例
図１は，本発明に係る楽曲処理装置の構成例を示す。楽曲処理装置１０は，ＣＰＵやメモリ等と，以下に説明する各部を実現するためのソフトウェアプログラムとによって構成される。楽曲入力装置１１は，事例として蓄積する楽曲，検索キーとなる楽曲，自動生成したいモチーフ・テーマとなる楽曲等を入力する装置である。入力する方法としては，楽譜の形式で入力する方法，楽曲のエディタから入力する方法，ＭＩＤＩデータとして入力する方法，音声入力により入力する方法など，種々の方法があり，いずれの入力方法を用いてもよい。楽曲出力装置１２は，検索結果の楽曲または自動生成した楽曲を出力する装置であり，スピーカによる出力，曲名その他のテキスト情報による出力，楽譜の形式による出力，ＭＩＤＩデータによる出力など，出力方法は問わない。
【００２５】
事例ベース作成部２０は，事例となる多くの楽曲を入力し，演繹オブジェクト指向データベースに基づく事例ベース３０を作成する。事例入力部２１は，楽曲入力装置１１から事例として蓄積したい楽曲を入力する手段である。オブジェクト項記述生成部２２は，入力した楽曲を解析し，その音楽的な対象を演繹オブジェクト指向データベースにおけるオブジェクト項として表現する手段である。事例ベース格納部２３は，オブジェクト項として表現された事例を事例ベース３０に格納する手段である。
【００２６】
事例ベース検索部４０は，検索キーとなる楽曲を入力し，事例ベース３０においてその楽曲に最も類似した事例を検索する。楽曲入力部４１は，楽曲入力装置１１から検索キーとなる楽曲またはモチーフとなる楽曲を入力する手段である。入力は，通常の楽曲の一部でもよく，また単なるコード進行のようなものでもよい。オブジェクト項記述生成部４２は，入力した楽曲を解析し，その音楽的な対象を演繹オブジェクト指向データベースにおけるオブジェクト項として表現する手段である。事例照合部４３は，オブジェクト項として表現された音楽的な対象と，事例ベース３０に格納された事例とを照合し，最も類似した事例を検索する手段である。この事例との照合では，相対的類似度計算部４４によって計算した類似度を用いる。相対的類似度計算部４４は，オブジェクト項間の包摂関係を用いて対象間の類似度を計算する。検索結果出力部４５は，検索した事例の結果を楽曲出力装置１２または楽曲生成部５０に出力する。
【００２７】
楽曲生成部５０は，楽曲組立部５１によって検索された類似事例を組み合わせることにより新しい楽曲を生成し，楽曲出力装置１２に出力する。
【００２８】
２．一般的な包摂関係の説明
以下では，本発明の実施の形態を詳しく説明する前に，包摂関係（記号⊆で表す）についての説明を行う。包摂関係とは，「情報量が多いオブジェクト⊆情報量が少ないオブジェクト」ということを意味している。「具体的なオブジェクト⊆抽象的なオブジェクト」，または「特殊⊆一般」と言い換えてもよい。ただし，包摂関係自体は公知の技術である。
【００２９】
簡単な例で説明する。「リンゴ」と「赤いリンゴ」を表現するオブジェクト項間の包摂関係を考える。「赤いリンゴ」のほうが「リンゴ」より「赤い」という特徴がある分だけ具体的で情報が多いとみなせる。このようなとき，
リンゴ（色＝赤）⊆リンゴ
と表記する。
【００３０】
一般に，ｓ⊆ｔとなるためには，次の２つの条件のいずれか一方または両方が成立することが必要である。
【００３１】
条件１．  ｓ＝ｋ（…，ｌ＝ｖ，…）かつｔ＝ｋ（…）
ｓの方にｌ＝ｖという属性が余計に付加されている。
他の属性に関しては，ｓとｔは同じ属性名と属性値を持っている。
〔例：  リンゴ（色＝赤）⊆リンゴ〕
条件２．  ｓ＝ｋ（…，ｌ＝ｖ，…）かつｔ＝ｋ（…，ｌ＝ｗ，…）かつｖ⊆ｗ
ｓもｔも同じ名前の属性ｌを持っているが，その属性値の間にｖ⊆ｗという関係が成り立っている。
〔例：人間（住所＝東京（区＝新宿））⊆人間（住所＝東京）〕
３．包摂関係の定義
オブジェクト項間の包摂関係は，以下に説明する演繹規則によって定義される。今，
ｏ１  ＝ｐ（…，ｌｍ  ＝ｖ，…），ｏ２  ＝ｑ（…，ｌｎ  ＝ｗ，…）とすると，
ｏ１  ，ｏ２  間の包摂関係は，
ｏ１  ⊆ｏ２  ≡ｐ⊆ｑ∧∀ｍ∃ｌｎ  （ｌｍ  ＝ｌｎ  ∧ｖ⊆ｗ）
のように定義される。つまりｏ１  の基本項（ｐ）と全ての属性（ｌｍ  ）について，それらが全て具体的であるならば，ｏ１  の方が具体的あるいはｏ２  の方が抽象的であるという意味である。さらにｏ１  ，ｏ２  がオブジェクト項を要素に持つ集合の場合，ｏ１  ，ｏ２  間の包摂関係として様々な定義が考えられる。以下に，代表的な２つを演繹規則として記述する。
【００３２】
ｏ１  ⊆Ｈ  ｏ２  ≡∀ｓｉ  ∈ｏ１  ∃ｔｊ  ∈ｏ２  ｓｉ  ⊆ｔｊ  
ｏ１  ⊆Ｓ  ｏ２  ≡∀ｔｊ  ∈ｏ２  ∃ｓｉ  ∈ｏ１  ｓｉ  ⊆ｔｊ  
ここで「⊆Ｈ  」は，いわゆる集合のＨｏａｒｅ順序に，「⊆Ｓ  」は，Ｓｍｙｔｈ順序に等しい。例えば｛ｂ，ｄ｝⊆Ｈ  ｛ａ，ｂ，ｃ，ｄ｝，また，｛ａ，ｂ，ｃ，ｄ｝⊆Ｓ  ｛ｂ，ｄ｝のようになる。Ｈｏａｒｅ順序は，集合要素間に選言の意味がある場合に用いられ，Ｓｍｙｔｈ順序は，連言の意味がある場合に用いられる。
【００３３】
４．一つの音の表現
本表現法では音楽的な対象のうち，単なる１音，Ｃ，Ｃ５を演繹オブジェクト指向データベースを用いて以下のような項として表現する。
0003574603.tif 000004
前述の包摂関係を用いると，これらの音を表現するオブジェクト項間に下のような関係が自動的に成立する。
【００３４】
ｎｏｔｅ（ｐｉｔｃｈ＝Ｃ，ｏｃｔａｖｅ＝５）⊆ｎｏｔｅ（ｐｉｔｃｈ＝Ｃ）  ⊆ｎｏｔｅ
５．和音の表現
本表現法では音楽的な対象のうち，和音を集合として表現する。そして，集合もオブジェクト項の一種と定義する。
【００３５】
例えば，和音は以下のような項（集合項）として表現される。
0003574603.tif 000005
音の場合と同様，このようにオブジェクト項として表現された和音の間には，下のように自動的に包摂関係が成り立つ。
【００３６】
0003574603.tif 000006
６．和音の列の表現
Ｎ個の和音からなる和音の列の表現には，以下の方法ａ，ｂの２通りが考えられる。ここでは，読み易さのために，各和音をｃｈｏｒｄ１  ，ｃｈｏｒｄ２  のように表記する。
0003574603.tif 000007
方法ａは，個々の和音ごとに異なる属性を割り当てる方法である。方法ｂは，個々の和音を要素とするような線形リンク構造（［…］で表記）をある属性の属性値として持たせる方法である。
【００３７】
７．和音名の表現
一般に和音名は，根音と和音の型から構成され，ジャズの和音ではテンションと呼ばれる音が付加されることがあるので，属性として，ｒｏｏｔ，ｔｙｐｅ，ｔｅｎｓｉｏｎを考える。以下，例を挙げる。
0003574603.tif 000008
上記の和音の列の表現と同様に，和音名の列の表現も考えられる。
【００３８】
８．ケーデンスの列の表現
ケーデンスとは，音楽的に終止感や段落感をもたらす和音（名）の列のことである。和音の列を１つのケーデンスとみなし，ケーデンスの連なりをオブジェクト項の連なりとして表現する。一般に，和音の列は，ケーデンスごとにまとまりを作るとみなされることが多いので，ここでは，例えばＩＩｍ７−Ｖ７  −ＩＭ７という１つのケーデンスをオブジェクト項として表現することを取り上げる。ＩＩｍ７，Ｖ７  ，ＩＭ７は各々和音名を表し，具体的には，ＩＩｍ７は，
ｃｈｏｒｄ（ｒｏｏｔ＝ＩＩ，ｔｙｐｅ＝ｍ７）
というオブジェクト項で表現されている。
【００３９】
ケーデンスを表現するオブジェクト項が持つ属性は，構造特徴（ｐｒｏｍ），ケーデンス列（ｓｅｑ），上位ケーデンスとの音程差（ｄ）の３つである。一例を示す。
【００４０】
0003574603.tif 000009
ここで，ｓｅｑ属性の値は，ケーデンス列を要素として持つ線形リンク構造である。実際，ｃｄｃ（ｐｒｏｍ＝ＩＩｍ７）は，ＩＩｍ７という１つの和音からなるケーデンス（列）を表現している。よって，上のｃｄｃオブジェクト項全体は，ケーデンスの列を表現している。ｓｅｑ属性の値として出現するケーデンス列の中のどれか１つのケーデンスでその列全体を代表させる場合，その代表となるケーデンスを構造特徴的と呼び，構造特徴（ｐｒｏｍ）の属性値とする。
【００４１】
この例では，ｓｅｑ属性の値を見れば分かるように，ＩＩｍ７−Ｖ７  −ＩＭ７というケーデンス全体を１つのまとまりとみなして，ＩＭ７というケーデンスで全体を代表させている。
【００４２】
一方，［［ＩＩｍ７−Ｖ７  ］−ＩＭ７］というまとめ方も考えられる。この場合には，
0003574603.tif 000010
となる。ここでは，ＩＩｍ７−Ｖ７  というケーデンス全体がＶ７  という和音で代表されている。
【００４３】
９．多声の旋律の表現
旋律は時間を含む概念なので，  旋律（ｍｅｌｏｄｙ）を記述するために，ａｃｔｓ（動作）とａｔ（時刻）という属性を用いる。以下に例を挙げる。
0003574603.tif 000011
［１］の事象は，時刻ｔに動作ａが生じるという意味である。［２］の事象は，時刻ｔ１  に動作ａが，時刻ｔ１  ＋ｔ２  に動作ｂが生じるという意味である。ここで，動作ａは「ある音を演奏すること」に相当する。動作の値として，ｍｅｌｏｄｙオブジェクト項が現われるのを許すことで，多声の旋律の列の表現が可能となる。
【００４４】
ここで，新たに｛Ｓ｝⊆Ｓ（Ｓは集含）という包摂関係を公理として導入する。
【００４５】
１０．ボイシングの表現
人間の演奏家は，ある和音列やケーデンス，モチーフやテーマを見せられたとき，頭の中で，実際に演奏される音を和音列等に関連づけて多数記憶している。ここで，実際に演奏される音を元の和音列等に対するボイシングと呼ぶ。与えられた和音列等とそれに対するボイシングを，以下のようなオブジェクト項で記述することで関連付けを表現する。与えられる和音列等はｓｅｑ属性の値として表現され，下では明記していないが，ｍｅｌｏｄｙあるいはケーデンスの列である。ボイシングはｐｌａｙ属性の値で表現し，ｖｏｉｃｉｎｇオブジェクト項である。
【００４６】
0003574603.tif 000012
ここでは，‘／’という構成子によって，和音進行等と実際に演奏されるボイシングを関連付ける。‘／’の左側はｃｄｃ（…）という和音進行等を表すオブジェクト項であり，この（‘／’を含む）オブジェクト項全体の識別子として機能する。‘／’の右側には，項の識別に影響を及ぼさない属性（非固有属性）を記述する。このオブジェクト項では，ｐｌａｙ属性の属性値が様々なボイシング（ｖｏｉｃｉｎｇオブジェクト）の集合になっている。これは，例えば１つの和音列に対して複数通りの（一意に決まらない）ボイシングが考えられ，その複数通りのボイシングは識別子として機能しないからである。
【００４７】
１１．ボイスリーディングの表現
隣接する２つの和音の間で，音程の近い構成音どうしを組にし，その組の集合でボイスリーディングを表現する。例えば，次の２つの和音を考える（和音の構成音を音程を表わす整数で表現する）。
【００４８】
和音１＝｛５７，６０，６５｝
和音２＝｛５５，６０，６４｝
このとき，和音１→和音２というコード進行におけるボイスリーディングを，｛５７↓５５，６０↓６０，６５↓６４｝と表現する。ここで↓の記号は，ボイスリーディングを表現するために導入した新しい構成子であり，ｉ↓ｊは，音高ｉから音高ｊへの音高移動を表す。その音高差が小さいほど円滑な音高移動（ボイスリーディング）である。
【００４９】
ここでｉは音高を表わすとして，↓は次の６つの公理を満足する。
【００５０】
ｉ↓ｉ⊆ｉ↓ｉ＋１
ｉ↓ｉ⊆ｉ↓ｉ−１
ｉ↓ｉ＋１⊆ｉ↓ｉ＋２
ｉ↓ｉ＋１⊆ｉ↓ｉ−２
ｉ↓ｉ−１⊆ｉ↓ｉ＋２
ｉ↓ｉ−１⊆ｉ↓ｉ−２
以上，和音列の表現からボイスリーディングの表現まで，それらの間に成り立つ順序関係が，自然にオブジェクト項間の順序関係（包摂関係）として表現されることになる。
【００５１】
本実施の形態において，これまで説明したような属性値を導入して音楽的な対象をオブジェクト項として表現する。
【００５２】
１２．相対的な類似度
相対的な類似度の定義は，以下のとおりである。まず，判定のための論理式ＲＳを定義する。図２は，相対的な類似度を説明する図である。
【００５３】
0003574603.tif 000013
ここで，ｌｕｂは最小上界（ｌｅａｓｔ  ｕｐｐｅｒ  ｂｏｕｎｄ），ｇｌｂは最大下界（ｇｒｅａｔｅｓｔ  ｌｏｗｅｒ  ｂｏｕｎｄ）の意味である。ｌｕｂとｇｌｂも包摂関係を用いて標準的な方法で定義されている。
〔ｌｕｂ（Ａ，Ｂ）の定義〕
ｌｕｂ（Ａ，Ｂ）＝  ｍｉｎ（｛Ｘ｜Ａ⊆Ｘ∧Ｂ⊆Ｘ｝）
すなわち，ＡとＢよりも共通に大きい要素の中で最も小さいものである。いわば，積集合あるいは最小公倍数のようなものと考えてよい。
〔ｇｌｂ（Ａ，Ｂ）の定義〕
ｇｌｂ（Ａ，Ｂ）＝  ｍａｘ（｛Ｘ｜Ｘ⊆Ａ∧Ｘ⊆Ｂ｝）
すなわち，ＡとＢよりも共通に小さい要素の中で最も大きいものである。いわば，和集合あるいは最大公約数のようなものと考えてよい。
【００５４】
オブジェクト項Ａ，Ｂ，Ｃに関して，ＲＳ（Ａ，Ｂ，Ｃ）が成り立つとき，Ａ，Ｂ間の方がＡ，Ｃ間より類似していると定義する。定義から明らかなように，同一のオブジェクトが常に最類似である。
【００５５】
例えば，Ｇ７  （９）とＧ７  （♭１３）の類似度と，Ｇ７  （９）とＧ７  （９，♭１３）の類似度とを比較する。ここで，例えばＧ７  （９）は，
ｃｈｏｒｄ＿ｎａｍｅ  （ｒｏｏｔ＝Ｇ，ｔｙｐｅ＝７，ｔｅｎｓｉｏｎ＝｛９｝）
というオブジェクト項として表現される。
【００５６】
すると，ｌｕｂ（Ｇ７  （９），Ｇ７  （９，♭１３））⊆１ｕｂ（Ｇ７  （９），Ｇ７  （♭１３））およびｇｌｂ（Ｇ７  （９），Ｇ７  （♭１３））＝ｇｌｂ（Ｇ７  （９），Ｇ７  （９，♭１３））なので，Ｇ７  （９）とＧ７  （９，♭１３）の方がより類似していると判定される。
【００５７】
１３．相対的な類似度に基づく類似事例の検索
例えば，事例ベース３０中にｎ個の事例（Ｃ１  ，…，Ｃｎ  ）が存在し，ユーザがＱというオブジェクト項を示したとする。以下の手順で最も類似した事例を検索する。ここで，見易さのために次の記法を導入する。
【００５８】
Ａ＃Ｂ≡¬（Ａ⊆Ｂ∨Ａ⊆Ｂ∨Ａ＝Ｂ）
また，以下の式では，Ｔは世界中で最も抽象的なオブジェクト項を，⊥は世界中で最も具体的なオブジェクト項を意味する。
【００５９】
このとき，
Ｑに最も類似した事例の集合
0003574603.tif 000014
となる。上式から明らかなように，Ｑに最も類似した事例は一般に複数個存在する。
【００６０】
１４．楽曲を自動生成するための事例べースへの問合わせ方法
一つの楽曲（コード進行あるいはモチーフやテーマ）が与えられたとき，まず，その楽曲を複数の隣接したコード進行（ケーデンス）あるいは部分（多声）メロディ（モチーフ，テーマ）に分解（分断）する。
【００６１】
次に，分断したケーデンスやモチーフ単位で，事例べース３０に問合わせを発し，前記のように包摂関係を用いて相対的な類似度を計算することにより，事例ベース３０中から最も類似した事例を検索する。このとき，必ずしも曲の先頭のケーデンスやモチーフから問合わせを発行する必要はない。
【００６２】
最も類似した事例が複数個検索されてきた場合（Ｃ１  ，…，Ｃｎ  ），その中のどれか１つを選択しなければならない。そこで，以前に選択した事例から生成した隣接する楽曲部分（Ｓ，Ｔ（前，後））に対して，最も円滑に接続できる事例をＣ１  ，…，Ｃｎ  の中から１つ選び，Ｓ，Ｔに接続する。
【００６３】
１５．楽曲部分の連結
例えば，先頭楽曲部分の最後の和音をＡとし，後続楽曲部分としてｎ個の候補があり，各々の最初の和音をＢｉ  （ｉ＝１，…，ｎ）とする。このとき，隣接する楽曲部分Ａと最も円滑に接続するとは，ＡとＢｉ  （ｉ＝１，…，ｎ）の（上記で説明した）ボイスリーディングのうち，包摂関係（⊆）に関して，最小のボイスリーディングを持つＢｉ  を接続するという意味である。
【００６４】
【実施例】
図３は本発明を実施するシステム構成例，図４は事例ベース作成の処理フローチャート，図５は事例ベース検索の処理フローチャート，図６は楽曲生成の処理フローチャート，図７は実際の演奏のグルーピングを説明する図，図８は和音進行の分析を説明する図，図９は２種類の問合わせ例を示す図である。
【００６５】
図３において，和声文脈エディタ（Ｃｏｎｔｅｘｔ  Ｅｄｉｔｏｒ）６０は，図１における楽曲入力装置１１，楽曲入力部４１，オブジェクト項記述生成部４２に相当する。また，推論エンジン６１は，事例照合部４３，検索結果出力部４５，楽曲組立部５１等に相当する。
【００６６】
事例とは，元の演奏や楽曲の雰囲気を保持した最小単位であり，そのような事例をうまく組み合わせることで，元の雰囲気を保持した異なる演奏や楽曲を構成することができる。事例としては様々な候補が考えられるが，実際の音楽家が和音列にボイシングを付加するときには，和音やケーデンスを事例として解釈することが多い。以下の例ではケーデンスを事例とした。
【００６７】
和声文脈エディタ（Ｃｏｎｔｅｘｔ  Ｅｄｉｔｏｒ）６０は，本システムをインタラクティブにユーザの意図通りに操作するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）として提供され，Ｗｅｂブラウザから起動される。和声文脈エディタ６０と推論エンジン６１とは，インターネット６２を介して通信を行う。ユーザは，和声文脈エディタ６０を用いて和音進行をケーデンス木として入力する。このケーデンス木の入力編集によって和声文脈や曲の流れに関するユーザの意図や解釈が表現される。
【００６８】
推論エンジン６１では，和声文脈エディタ６０で作成された問合わせを受けて，多くの演奏例をあらかじめ登録した事例ベース３０について事例ベース推論を行い，その結果を標準ＭＩＤＩファイル（ＳＭＦ）として出力する。和声文脈エディタ６０からＭＩＤＩ  Ｐｌｕｇ−ｉｎを起動し，そのＳＭＦを視聴することができる。
【００６９】
最初にあらかじめ事例ベース３０を作成する必要がある。図４に従って，事例ベース３０の作成処理を説明する。本システムにおける１つの事例とは，非固有属性ｐｌａｙを持つｃｄｃオブジェクト項である。
【００７０】
事例ベース３０の作成のため，まず，ステップＳ１では，実際の演奏を入力する。入力方法は，楽譜の形式による入力，ＭＩＤＩデータによる入力等，どのような入力方法を用いてもよい。図７（イ）に入力された楽曲の例を示す。
【００７１】
ステップＳ２では，実際に演奏された音や和音の発音タイミングの近いものどうしをグルーピングする。図７（ロ）に，グルーピングした例を示す。図７（イ）のような実際の演奏において，音楽的に重要な音を破線で示したようにグルーピングして，図７（ロ）のような和音の列を得る。個々の和音がｖｏｉｃｉｎｇオブジェクトとして表現される。
【００７２】
次に，ステップＳ３では，演奏された曲の和音進行をケーデンス単位まで分析する。図８に，和音進行の分析例を示す。例えば，
（（Ｃｍ７−Ｆ７  −Ｂ♭Ｍ７）−Ｅ♭Ｍ７）−（Ａｍ７−Ｄ７  −ＧＭ７）
のように解釈された和音進行は，図８のようなケーデンス木として表現される。どのような調の曲にも対応できるように，ケーデンスや構造特徴和音に含まれる音名は，すべて調に対して相対化して階名で表す。そして，実際のケーデンス木では，ｋｅｙ属性の代わりにｄ属性を設けて，直上のケーデンスとの調の音程差を相対的に表す。
【００７３】
図８中，１つの台形が１つのケーデンスを表しており，最上段太字がｐｒｏｍ属性（構造特徴的な和音名）を表す。和音進行とケーデンス木の対応を上向きの矢印で示した。（ロ）中のｄ＝３は，（ハ）のＧ調に対する（ロ）のＢ♭調の音程差が半音３個分（短三度）であることを表している。ｄ＝０は，直上のケーデンスと同じ調を持っていることを表している。
【００７４】
ステップＳ４では，上記ステップＳ３で分析した各ケーデンスに，ステップＳ２で作成した対応する和音列をｐｌａｙ属性として付与する。ステップＳ５では，以上のようにしてオブジェクト項として表現された全ケーデンスを事例ベース３０に格納する。
【００７５】
以上のステップＳ１〜Ｓ５を，楽曲ごとに繰り返し（ステップＳ６），事例ベース３０に登録する全事例についての処理が終了したならば，事例ベース作成の処理を終了する。
【００７６】
次に，ユーザが入力した楽曲に類似する事例を，事例ベース３０から検索するときの処理の流れについて，図５に示すフローチャートに従って説明する。
【００７７】
ステップＳ１０では，和声文脈エディタ６０等から（未知）楽曲の和音進行を入力する。ステップＳ１１では，和声文脈エディタ６０において入力した楽曲の和音進行をケーデンス木で表現する。ここで作成するケーデンス木は，図８のケーデンス木と全く同じ構造をしている。
【００７８】
次に，ステップＳ１２では，和声文脈エディタ６０で作成したケーデンス木に対し，ボイシングを付加したい部分木を指定し，事例ベース推論のための問合わせを生成する。ここでは，例えば図９に示すようなケーデンス木とそれに対応するボイシング指示を作成する。図９中，ケーデンスを囲む二重線が「ケーデンス全体の中でこの部分にボイシングを付与せよ」という指示を表す。
【００７９】
ステップＳ１３では，問合わせのケーデンス木と事例ベース３０に登録されている事例のケーデンス木とを照合し，包摂関係を用いて，各事例のケーデンス木との相対的類似度を計算する。この類似度の計算結果から，問合わせのケーデンス木に最も類似したケーデンス木を事例ベース３０中から検索する。なお，最類似の事例は一般に複数個存在する。
【００８０】
このステップＳ１３を実現するために，前に定義した相対的類似度ＲＳ（Ａ，Ｂ，Ｃ）を用いることは前述したが，例えば図９のＱ１  は，図８の（イ）と（ニ）に照合し，Ｑ２  は（ニ）のみに照合することになる。周囲の和声文脈も含めた検索を行うと，解が絞り込まれることが分かる。
【００８１】
ステップＳ１４では，以上の検索結果を出力する。
【００８２】
次に，一つの与えられた楽曲から事例ベース３０への問合わせを行い，楽曲を自動生成するときの処理の流れを，図６に示すフローチャートに従って説明する。
【００８３】
図６のステップＳ２０では，モチーフまたはテーマとなる楽曲を入力する。以降のステップＳ２１からＳ２３までの処理は，図５で説明したステップＳ１１からＳ１３までの処理と同様である。
【００８４】
類似事例検索後のステップＳ２４では，検索結果のケーデンス木（一般には複数）から，問合わせで指定された部分木を抜き出し，そのｐｌａｙ属性を取り出し，最も滑らかなボイスリーディングを持つボイシングを選んで，順次つなげていくことにより，楽曲を生成する。ボイシングの候補が複数になるのは，最も類似した事例が複数個検索された場合と，検索された事例においてｐｌａｙ属性の値であるｖｏｉｃｉｎｇオブジェクトの集合要素が複数個の場合である。
【００８５】
今，隣接先行する楽曲部分のボイシングはすでに決定済みとし，その最後の和音をＴとする。Ｔに対して後続するボイシング列の候補がｎ個あるとし，それらボイシング列の最初の和音をＢｉ  （ｉ＝１，…，ｎ）とする。この和音ＴとＢｉ  （ｉ＝１，…ｎ）のボイスリーディングに対して，包摂関係に関する最小のボイスリーディングを探し出し，それを解とする。
【００８６】
以上の処理により，ユーザの意図がインタラクティブに伝えられて解（楽曲）が生成され，効率よく希望する解が得られることになる。また，得られた楽曲は，楽曲全体を通して一貫性のある演奏になっている。
【００８７】
以上の処理をコンピュータによって実現するためのプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができる。
【００８８】
【発明の効果】
以上説明したように，本発明によれば，オブジェクト項によって音楽的な対象を表現することによって，抽象度の異なる音楽的な対象が自然に（自動的に）関係付けられること，人間の直観に沿いかつ汎用性のある類似検索や類似度判定を実現すること，動的に変化する知識に柔軟に対処できる事例べース推論技術において，上記表現法を適用して事例を表現し，楽曲の自動生成方法を構築すること，という目的が達成される。
【図面の簡単な説明】
【図１】本発明に係る楽曲処理装置の構成例を示す図である。
【図２】相対的な類似度を説明する図である。
【図３】本発明を実施するシステム構成例を示す図である。
【図４】事例ベース作成の処理フローチャートである。
【図５】事例ベース検索の処理フローチャートである。
【図６】楽曲生成の処理フローチャートである。
【図７】実際の演奏のグルーピングを説明する図である。
【図８】和音進行の分析を説明する図である。
【図９】２種類の問合わせ例を示す図である。
【符号の説明】
１０  楽曲処理装置
１１  楽曲入力装置
１２  楽曲出力装置
２０  事例ベース作成部
２１  事例入力部
２２  オブジェクト項記述生成部
２３  事例ベース格納部
３０  演繹オブジェクト指向データベースに基づく事例ベース
４０  事例ベース検索部
４１  楽曲入力部
４２  オブジェクト項記述生成部
４３  事例照合部
４４  相対的類似度計算部
４５  検索結果出力部
５０  楽曲生成部
５１  楽曲組立部
【図１】
0003574603.tif 000015
【図２】
0003574603.tif 000016
【図３】
0003574603.tif 000017
【図４】
0003574603.tif 000018
【図５】
0003574603.tif 000019
【図６】
0003574603.tif 000020
【図７】
0003574603.tif 000021
【図８】
0003574603.tif 000022
【図９】
0003574603.tif 000023