JP3610017B2 - Arrangement processing method based on case, arrangement processing program based on case, and recording medium for arrangement processing program based on case - Google Patents
Arrangement processing method based on case, arrangement processing program based on case, and recording medium for arrangement processing program based on case Download PDFInfo
- Publication number
- JP3610017B2 JP3610017B2 JP2001033266A JP2001033266A JP3610017B2 JP 3610017 B2 JP3610017 B2 JP 3610017B2 JP 2001033266 A JP2001033266 A JP 2001033266A JP 2001033266 A JP2001033266 A JP 2001033266A JP 3610017 B2 JP3610017 B2 JP 3610017B2
- Authority
- JP
- Japan
- Prior art keywords
- arrangement
- case
- music
- song
- common part
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Auxiliary Devices For Music (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は,コンピュータによる楽曲の自動編曲方法に係り,特に事例の編曲を模倣して未知曲の編曲を行う編曲処理方法に関する。
【0002】
本発明では,コンピュータを用いた自動編曲のために多声旋律をオブジェクト項として表現する。音楽知識をコンピュータで取り扱うとは,まずコンピュータ上の項として表現し,それに対してある演算を施すことである。一般の知識をコンピュータ上に表現し演算する技術は,知識表現,知識処理などと呼ばれている。また,譜面上に書かれた情報をもとに,人間がどのように音楽的な処理を行っているかを探求している学問分野として音楽学が確立されている。
【0003】
知識表現については,特に演繹オブジェクト指向データベース(DOOD)技術に関連が深い。音楽学では,特にGTTM(Generative Theory of Tonal Music)のタイムスパン簡約に関連が深い。
【0004】
【従来の技術】
楽曲を与えると,それをもとに自動演奏するような機能を持つシステムは,すでに数多く市販されている。従来のシステムの多くは,ルールに基づくシステムである。ここでユーザが入力として与えるのは,和音進行,(単純な)モチーフ,ジャンル,演奏スタイル等の情報である。出力は,ピアノソロ,バンド風など様々である。ユーザから指定されたジャンルやスタイルに従って,ルールの種類を切り換える。
【0005】
出力の和声は和音記号から,出力のメロディはモチーフから生成する。このとき,和声とメロディの整合性を取ったり,フィルインと呼ばれる短い装飾音(装飾フレーズ)を音符数の少ない部分に埋め込んだりするためにもルールが用いられる。
【0006】
しかし,ルールに基づく編曲システムには,一般にルール知識の獲得,ルールが衝突した場合の解消法,暗黙的な知識の明示的な記述の点において問題があると言われている。そして,それらがそのまま従来の編曲システムの欠点となっている。
【0007】
〔多声旋律を項として表現する手法に関して〕
従来手法では,音符あるいは音符の集合の間に同時,前,後という3種類の基本関係を与えているに過ぎなかった。
【0008】
〔編曲アルゴリズムに関して〕
従来手法の多くは,前述のようにルールに基づいて編曲を行っている。その典型的なアルゴリズムは,入力情報を一旦パラメータ空間にマップし,パラメータ空間上でユーザの指示に従い演算を実行し,再びパラメータ空間から実際の多声旋律に戻し,それを出力とするものである。入力の多声旋律をパラメータ空間にマップするとき,幾つかのパラメータ,例えば音群の高さ,密度,フレーズの勾配等を予め決定しておき,与えられた多声旋律の各パラメータ値(ベクトル特徴量)を計算する。このベクトル特徴量をもって,入力多声旋律をパラメータ空間の一点に対応づける。
【0009】
ユーザの指示に従いパラメータ空間上で様々な演算を行う。例えば,より緊張感の高いフレーズを生成したり,伴奏風の演奏を生成したりする等である。そして,出力の多声旋律が持つべきベクトル特徴量が求まる。最後に,そのベクトル特徴量から実際の多声旋律を生成する。このとき,ベクトル特徴量と実際の多声旋律の関係は1対多なので,確率統計的な手法が用いられることが多い。
【0010】
形容詞的な感性語を用いて,希望する解を生成するような場合は,感性語とベクトル特徴量の相関を心理実験等により予め求めておき,その相関を満たすような出力を構成する。
【0011】
従来のコンピュータを用いた自動編曲は,以上のような方法を用いており,事例に基づく編曲アルゴリズムを用いて,実際の音楽家が行う編曲と同様な編曲を自動的に行う編曲システムはなかった。
【0012】
【発明が解決しようとする課題】
従来方法の欠点は,以下のとおりである。
【0013】
(1)内部表現が不十分なので,音楽的な意味を反映した計算の実現が困難である。
【0014】
内部表現は,2つの意味で不十分である。第1に,音符あるいは音符の集合の間に同時,前,後という単純で平板な基本関係しか与えていないので,音楽理論が教えるような多声旋律の階層的な解釈や構造を表現できない。
【0015】
第2に,多声旋律に関して,事前に予想できないような様々な処理が要求される。処理に必要なパラメータや重視すべきパラメータは,実際の処理の種類やユーザの意図に大きく依存するが,それら全てを実行前やシステム設計時に知ることは非常に困難である。
【0016】
(2)ルールを用いているので音楽的な知識に対応できない。
【0017】
一般に音楽知識には,主観,曖昧さ,暗黙がある。それらをルールで明示的にかつ正確に書き下すのは困難である。特に,作曲に関する音楽知識は,そこからいかに芸術的に逸脱するかを規定するために存在していると言っても過言ではない。ルールとして記述されたことを守って解を生成しても,音楽的に意味のある解が得られるとは限らない。
【0018】
(3)和音名(和音記号)を用いない楽曲を取り扱えない。
【0019】
上述したように,従来システムでは演奏される和音は基本的には和音名から生成される。しかし,和音名は実際の和音の響きを忠実に表現しているわけではない。一般に,1つの和音名に対し,実際に演奏される和音は幾通りもあり得るし,逆に実際に演奏したい和音を表現する和音名も幾通りもある。
【0020】
そこで和音を和音名ではなく,演奏される和音自体(音符の集合)で指定するような楽曲が存在している。そのような楽曲は,現時点においては,ジャンルを問わず特殊例ではなくなってきている(坂本龍一や小室哲哉の作品等が該当する)。
【0021】
【課題を解決するための手段】
本発明では,上記課題を解決するため,あらかじめ多声旋律として表現(音符レベルの表現)されたいくつかの編曲事例が蓄えられており,単純なモチーフが与えられると,それに類似した編曲事例を利用して編曲を行う。
【0022】
すなわち,本発明は,事例の課題曲と事例の編曲例とが格納された事例ベースを参照し,入力した楽曲について事例に基づく編曲を行うコンピュータによる編曲処理方法であって,前記事例の課題曲,前記事例の編曲例および編曲対象となる楽曲を表現する多声旋律をオブジェクト項で表現し,オブジェクト項間の包摂関係を用いて編曲対象となる楽曲に類似する事例の課題曲を検索し,検索した事例の課題曲とそれに対応する事例の編曲例と前記編曲対象となる楽曲とのオブジェクト項間の関係に基づいて前記編曲対象となる楽曲を編曲することを第1の特徴とする。
【0023】
また,前記多声旋律にグルーピング構造と時間構造に関する情報を付加することによりオブジェクト項を構成することを第2の特徴とする。これによって,ユーザの意図は,入力のモチーフ,編曲事例にあらかじめ付与されたグルーピング構造と時間構造として表現される。
【0024】
編曲のアルゴリズムに着目した場合の本発明の特徴は,編曲対象となる楽曲を入力する過程と,入力した楽曲に類似した事例の課題曲を,前記事例ベースから検索する過程と,検索した事例の課題曲と入力した楽曲との共通部分を抽出する過程と,前記事例の課題曲から前記共通部分への変換を解析し,その変換解析結果を利用して,対応する事例の編曲例から前記共通部分の編曲を作成する過程と,前記共通部分の編曲から前記入力した楽曲に対する編曲を作成する過程とを有することである。
【0025】
具体的には,最小上界を計算する関数をlub,最大下界を表す関数をglbとし,前記事例の課題曲を表すオブジェクト項をMc ,前記編曲対象となる楽曲を表すオブジェクト項をM,前記事例の編曲例を表すオブジェクト項をPc とするとき,
前記共通部分の編曲を表すオブジェクト項Pa を,
Pa =lub(M,Pc )
によって計算し,
前記入力した楽曲に対する編曲Pを,
P=glb(Pa ,Mc )
によって計算する。
【0026】
以上の各処理手段は,コンピュータとソフトウェアプログラムとによって実現可能である。そのソフトウェアプログラムは,コンピュータが読み取り可能な可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができる。
【0027】
本発明が,従来技術による編曲処理と大きく異なる点は,事例の編曲を模倣して未知曲の編曲を行うこと,事例の課題曲,事例の編曲例および編曲対象となる楽曲を表現する多声旋律をオブジェクト項で表現し,そのオブジェクト項として表現された多声旋律を操作することによって,編曲を行うことである。したがって,従来技術と比較した場合の本発明の特徴は,以下のとおりである。
【0028】
(1)十分な情報量を持った内部表現
内部構造が,そこから元の多声楽曲を常に復元できるように設計されている。つまり,入力された多声旋律にその階層構造の情報を付加したような内部構造となっており,これにより入力された多声旋律の階層構造が表現できかつ復元可能となっている。
【0029】
(2)ルールを用いず事例を用いる
編曲するにあたり,演奏者に提示された簡単な譜面と,それをもとに演奏された実際の演奏譜の組を事例とする。システムにある未知曲が提示された時,事例で行われた編曲を真似て未知曲を編曲する。
【0030】
(3)和音名を一切使わず音符レベルだけで計算を進める手法を採用
具体的には,多声旋律をオブジェクト項として表現する手法とオブジェクト項として表現された多声旋律を操作する手法からなる。
【0031】
【発明の実施の形態】
1.楽曲編曲装置の構成例
図1は,本発明に係る楽曲編曲装置の構成例を示す。楽曲編曲装置10は,CPUやメモリ等と,以下に説明する各部を実現するためのソフトウェアプログラムとによって構成される。楽曲入力装置11は,事例を利用して編曲する対象となる楽曲を入力する装置である。入力する方法としては,楽譜の形式で入力する方法,楽曲のエディタから入力する方法,MIDIデータとして入力する方法,音声入力により入力する方法など,種々の方法があり,いずれの入力方法を用いてもよい。楽曲出力装置12は,編曲結果の楽曲を出力する装置であり,スピーカによる出力,楽譜の形式による出力,MIDIデータによる出力など,出力方法は問わない。
【0032】
事例ベース作成装置20は,CPUやメモリ等と事例ベースを作成するためのソフトウェアプログラム等からなり,事例の楽曲Mc とその事例の編曲Pc とを入力し,多声旋律の分析を行って,事例の楽曲Mc とその事例の編曲Pc とをオブジェクト項で表現し,それらの組を事例ベース21に格納する。なお,楽曲編曲装置10と事例ベース作成装置20とを,同一のハードウェアを用いて構成することもできる。
【0033】
事例ベース21は,編曲事例のデータが格納されているものであり,編曲事例として,事例の楽曲Mc と音楽家が実際に楽曲Mc を編曲した結果の事例の編曲Pc との組を多数記憶している。これらの事例の楽曲Mc と事例の編曲Pc とは,後に詳しく述べる多声旋律のオブジェクト項として表現されている。
【0034】
楽曲入力部13は,楽曲入力装置11から編曲対象となる楽曲を入力する手段である。入力は,通常の楽曲の一部でもよく,また音符化されたモチーフのようなものでもよい。オブジェクト項表現生成部14は,入力した楽曲の多声旋律を分析し,その音楽的な対象を演繹オブジェクト指向データベースにおけるオブジェクト項として表現する手段である。
【0035】
事例検索部15は,オブジェクト項として表現された編曲対象の楽曲と,事例ベース21に格納された事例の楽曲Mc とを照合し,編集対象の楽曲に最も類似した事例の楽曲Mc を検索する手段である。この事例との照合では,相対的類似度計算部16によって計算した相対的な類似度を用いる。
【0036】
編曲作成部17は,事例検索部15で検索した事例の楽曲Mc とそれを編曲した事例の編曲Pc とを表すオブジェクト項をもとに,編集対象の楽曲を事例と同じように編曲した楽曲のオブジェクト項を作成する。編曲出力部18は,編曲した結果のオブジェクト項によって表現される楽曲を,必要に応じて譜面もしくはMIDIデータその他の形式に変換し,楽曲出力装置12に出力する。
【0037】
図1に示すシステムにおいて特徴的なことは,事例の楽曲(課題曲)Mc ,事例の編曲Pc ,ユーザが与える未知曲である編集対象の楽曲,編曲作成部17が作成する編曲結果のそれぞれを表現する多声旋律が,オブジェクト項で表現されることである。オブジェクト項表現の単位としては,例えば小節単位,複数小節単位,ある和音でカバーされる範囲など,任意に定めて実施することが可能である。
【0038】
2.演繹オブジェクト指向データベースについての一般的な説明
演繹オブジェクト指向データベース(DOOD:Deductive Object−Oriented Database) は,知識表現の一手法である。演繹オブジェクト指向データベースにおけるオブジェクト項の一般形は,
種類(属性1の名前=属性1の値,属性2の名前=属性2の値,…)
のようになっている。
【0039】
例えば,リンゴについて,赤いリンゴ,小さいリンゴという2つの概念(実体)を表現する場合を考える。ともに種類はリンゴである。「リンゴ」の場合,特にそれ以上の特徴はないので,
リンゴ
と記述する。「赤いリンゴ」は,単なるリンゴに色が赤いという特徴が付加されたものである。そこで,
リンゴ(色=赤)
と記述する。また,「小さいリンゴ」は,サイズが小さいという特徴が付加されたと考えられるので,
リンゴ(サイズ=小さい)
と記述する。以上から明らかなように,「大きくて青いリンゴ」の表現は,
リンゴ(サイズ=大きい,色=青)
となる。実際のオブジェクト項では,属性値にオブジェクト項を書くことで,より複雑な概念や実体を表現することができる。
【0040】
なお,素性構造も本質的には演繹オブジェクト指向データベースと同じ概念であり,本明細書の全体において統一的な説明のため演繹オブジェクト指向データベースの用語を用いて説明するが,本明細書でいう演繹オブジェクト指向データベースには,素性構造の技術概念が含まれる。本明細書において,「演繹オブジェクト指向データベース」は「素性構造」と,「オブジェクト項」は「素性項」と読み替えることができる。
【0041】
以上のように,オブジェクト項は o( …, l = v,…) と記述される。oは基本オブジェクト項,l=vは属性,lは属性ラベル,vは属性値を表す。
【0042】
属性には固有と非固有の2種類がある。固有属性とは,オブジェクトの識別に使用される属性であり,非固有属性はそうでない属性である。記法上は,
o(…,l=v, …)/( …,m=w, …)
のように,”/” の左側に固有属性,右側に非固有属性を書く。例えば,「o(a=1)/(b=2)」と「o(a=1)/(c=3)」は,同一のオブジェクトである。
【0043】
3.一般的な包摂関係の説明
事例を用いた編曲では,例えば入力した編集対象の楽曲と事例の楽曲とが類似しているかどうかを判断するための何らかの尺度が必要になる。そこで,本システムでは,音楽的な対象間に成り立つ順序関係を,オブジェクト項間の包摂関係に対応づけることにより,包摂関係を用いて対象間の相対的類似度を計算する。また,本システムにおいて包摂関係は,オブジェクト項間の共通部分の抽出,合成や,オブジェクト項の抽象化,具体化などの演算等に用いられる。以下では,この包摂関係についての説明を行う。なお,ここでは説明の都合上,包摂関係を集合の包含関係と同様な記号⊆で表す。
【0044】
包摂関係とは,「情報量が多いオブジェクト⊆情報量が少ないオブジェクト」ということを意味している。「具体的なオブジェクト⊆抽象的なオブジェクト」,または「特殊⊆一般」と言い換えてもよい。ただし,包摂関係自体は公知の技術である。
【0045】
簡単な例で説明する。「リンゴ」と「赤いリンゴ」を表現するオブジェクト項間の包摂関係を考える。「赤いリンゴ」のほうが「リンゴ」より「赤い」という特徴がある分だけ具体的で情報が多いとみなせる。このようなとき,
リンゴ(色=赤)⊆リンゴ
と表記する。
【0046】
一般に,s⊆tとなるためには,次の2つの条件のいずれか一方または両方が成立することが必要である。
【0047】
条件1. s=k(…,l=v,…)かつt=k(…)
sの方にl=vという属性が余計に付加されている。
他の属性に関しては,sとtは同じ属性名と属性値を持っている。
〔例: リンゴ(色=赤)⊆リンゴ〕。
【0048】
条件2. s=k(…,l=v,…)かつt=k(…,l=w,…)かつv⊆w
sもtも同じ名前の属性lを持っているが,その属性値の間にv⊆wという関係が成り立っている。
〔例:人間(住所=東京(区=新宿))⊆人間(住所=東京)〕。
【0049】
4.包摂関係の定義
オブジェクト項間の包摂関係は,以下に説明する演繹規則によって定義される。今,
o1 =p(…,lm =v,…),o2 =q(…,ln =w,…)とすると,
o1 ,o2 間の包摂関係は,
o1 ⊆o2 ←p⊆q∧∀m∃ln (lm =ln ∧v⊆w)
のように定義される。つまりo1 の基本項(p)と全ての属性(lm )について,それらが全て具体的であるならば,o1 の方が具体的あるいはo2 の方が抽象的であるという意味である。さらにo1 ,o2 がオブジェクト項を要素に持つ集合の場合,o1 ,o2 間の包摂関係として様々な定義が考えられる。以下に,代表的な2つを演繹規則として記述する。
【0050】
o1 ⊆H o2 ←∀si ∈o1 ∃tj ∈o2 si ⊆tj
o1 ⊆S o2 ←∀tj ∈o2 ∃si ∈o1 si ⊆tj
ここで「⊆H 」は,いわゆる集合のHoare順序に,「⊆S 」は,Smyth順序に等しい。例えば{b,d}⊆H {a,b,c,d},また,{a,b,c,d}⊆S {b,d}のようになる。Hoare順序は,集合要素間に選言の意味がある場合に用いられ,Smyth順序は,連言の意味がある場合に用いられる。
【0051】
5.ドット記法の定義
p(…,l=v, …) というオブジェクト項があるとき,vの値に注目してp.l=v と表記する。
【0052】
6.最小上界および最大下界の定義
オブジェクト項x,yが与えられたとき,xとyの最小上界 (least upper bound, lub) とは,
min({z|x⊆z∧y⊆z}) であり,「lub(x,y)」と書く。
【0053】
lubの直観的な意味は,ある二つのオブジェクトに共通で抽象的なオブジェクトのうち,最も具体的なものであり,積集合を計算するイメージである。すなわち,xとyよりも共通に大きい要素の中で最も小さいものである。いわば,積集合あるいは最小公倍数のようなものと考えてよい。
【0054】
最大下界 (greatest lower bound, glb)も同様に定義できる。オブジェクト項x,yが与えられたとき,xとyの最大下界とは,
max({z|z⊆x∧z⊆y})であり,「glb(x,y)」と書く。
すなわち,xとyよりも共通に小さい要素の中で最も大きいものである。いわば,和集合あるいは最大公約数のようなものと考えてよい。
【0055】
演繹オブジェクト指向データベースでは,lubをjoin,glbをmeetとも呼ぶ。上で定義したオブジェクト項の領域は⊆に関して完備束を構成する。このlubやglbが以下で説明する編曲アルゴリズムを構成するときの基本演算子となる。
【0056】
7.一つの音の表現
本表現法では音楽的な対象のうち,単なる1音,C,C5を演繹オブジェクト指向データベースを用いて以下のような項として表現する。
前述の包摂関係を用いると,これらの音を表現するオブジェクト項間に下のような関係が自動的に成立する。
【0057】
note(pitch=C,octave=5)⊆note(pitch=C) ⊆note
8.和音の表現
本表現法では音楽的な対象のうち,和音を集合として表現する。そして,集合もオブジェクト項の一種と定義する。
【0058】
例えば,和音は以下のような項(集合項)として表現される。
音の場合と同様,このようにオブジェクト項として表現された和音の間には,下のように自動的に包摂関係が成り立つ。
【0059】
9.和音の列の表現
N個の和音からなる和音の列の表現には,以下の方法a,bの2通りが考えられる。ここでは,読み易さのために,各和音をchord1 ,chord2 のように表記する。
方法aは,個々の和音ごとに異なる属性を割り当てる方法である。方法bは,個々の和音を要素とするような線形リンク構造([…]で表記)をある属性の属性値として持たせる方法である。
【0060】
10.和音名の表現
一般に和音名は,根音と和音の型から構成され,ジャズの和音ではテンションと呼ばれる音が付加されることがあるので,属性として,root,type,tensionを考える。以下,例を挙げる。
上記の和音の列の表現と同様に,和音名の列の表現も考えられる。
【0061】
11.多声旋律の表現
以下では,特に本システムの編曲において用いる多声旋律の表現方法について述べる。旋律や和音を構成する複数の音が楽曲の一部あるいは全体を構成する。ここでは,そのような楽曲の一部あるいは全体を多声旋律と呼ぶ。一般のピアノ譜程度の譜面を考えた場合の多声旋律の例を図17に示す。この曲(Nefertiti) は,和音名を使わずに多声旋律で和声が指定されているような楽曲である。
【0062】
本システムでは,演繹オブジェクト指向データベース(DOOD)に基づいて多声旋律を表現するためのオブジェクト項を導入する。オブジェクト項の抽象化,具体化が,多声旋律の簡単化,複雑化にうまく対応するようにオブジェクト項を設計しなければならない。
【0063】
12.グルーピング構造の表現
楽曲のグルーピング構造を表現するために,GTTMのタイムスパン簡約木(Time−Span Reduction Tree)を利用する。図2にグルーピング構造の例を示す。タイムスパン簡約木は,ボトムアップに楽曲構造的に重要な音 (和音) と,隣接する重要でない音 (和音) とをまとめて (グルーピングして) 行く様子を表現している。
【0064】
ここでは簡単化のためタイムスパン簡約木は二進木とし,重要な音を primary,そうでない音を secondaryと呼ぶ。グルーピングされた primaryと secondaryは,ある一つの音 (和音) で代表され,それをheadと呼ぶ。primary/secondary とheadの関係には,primary, fusion, transformational の3通りがある。
【0065】
タイムスパン簡約木の末端のノード (葉) は,ある時刻に生起した音 (和音) を表し,primary/secondary を持たない。タイムスパン簡約木では primaryの生起時刻が1段上のグルーピング構造の生起時刻となる。あるタイムスパン簡約木から primaryや secondaryの枝を削除すると,より簡単なタイムスパン簡約木が得られる。
【0066】
13.時間構造の表現
まず,楽曲における時間構造の抽象化,具体化の関係について考察する。通常,定量的な記述を抽象化すると定性的な記述が得られる。多声旋律中に現われる各音の生起時刻は定量的に決められるが,これを抽象化した定性的な記述とは「順序」であると考えられる。これは,厳密な時刻が分からなくても,先か後かの順番だけ記述されているという状況である。
【0067】
さらに順序は,縮退によって条件の緩い抽象的で簡単な順序になる。例えば,「イベントaが先でイベントbが後」という順序を縮退すると,「イベントaはイベントbより先あるいは同時」という順序が得られる。
【0068】
以上の考察から,時間構造のモデルは,時刻に関する定量的な情報と順序に関する情報とを分離して記述できなければならないことが分かる。
【0069】
本システムで提案する時間構造の例を図3に示す。図中 p, q, r, s はイベントである。まずイベントpの生起時刻を基準と仮定する。次にイベントsに着目すると,sはpと+ωの間に生起し (順序に関する情報) ,pから3拍半の時刻に生起する (時刻に関する定量的な情報) 。同様にqはpとsの間に生起し,pから1拍目,rはqとsの間に生起し,sから半拍目の場所に位置している。さらに,rの時刻が縮退する先は楽曲的により重要な拍であり (この場合はs) ,それが「→」で示されている。
【0070】
14.各オブジェクトの属性と属性値
本システムで実際に用いたオブジェクト項の構文規則を,図4に示す。
【0071】
この構文において,objclass(name1:objclass1,…)のobjclassはオブジェクトクラス名,name1 は固有属性名,objclass1 は属性値のオブジェクトクラス名あるいはデータ型という意味である。オブジェクトを構成する際に必須の属性と必須でない属性があり,必須でない属性名の左肩には &を付けた。
【0072】
小文字で始まる語はオブジェクト名を表し,大文字で始まる語はそれ以外のデータやデータ型を表す。Integer は整数の集合を表し,C..Bはドからシまでの11の音名からなる集合を表し,After ,Beforeは予約語であり,+ωは正の無限大の時刻,−ωは負の無限大の時刻の意味である。x|yは,xまたはyという意味である。{x}はxからなる集合を表す。
【0073】
オブジェクト項 chordのnotes 属性は和音を構成する個々の音を表し,duration属性は和音が鳴っている時間的長さを表す。notes 属性の値が singleton集合の時,それは単音と等価である。noteオブジェクトの noteNumber 属性では,音高がMIDIノートナンバによって表現されている。
【0074】
この eventオブジェクトは,時間的に重複するグルーピング構造も記述できるという点において,GTTMのタイムスパン簡約木の拡張になっている。
【0075】
15.event オブジェクトに関する包摂関係
event オブジェクトは,上述したグルーピング構造と時間構造のモデルを実現している。つまり,モデルにおける抽象化,具体化の操作がオブジェクト項の包摂関係に対応付けられている。
【0076】
グルーピング構造に関する抽象化は,楽曲構造上,重要でない音を削除することであり,これはprimary 属性や secondary属性を削除することに対応する。
【0077】
時間構造に関する抽象化は2通りある。一つは定量的な時刻の情報を削除することであり,これはdifference属性を削除することに対応する。もう一つは,拍節構造的により重要な隣接する拍に時刻が縮退することであり,このために以下のような新しい包摂関係を導入する。
【0078】
ある時刻を表現するオブジェクト項 t (t ⊆ temp)があるとき,t.reference によって指定される拍の方が拍節構造的により重要な拍である。したがって,tがt.(t.reference) に縮退すると,時間構造はより抽象的 (簡略) になることが分かる。つまり,t ⊆ t.(t.reference)である。ここで,t.reference の指定は,グルーピング構造と整合しなくてはならないことに注意されたい。
【0079】
図3の例では,時刻 tr は,
temp(after=tq, before=ts, reference=Before, difference=8分音符) というオブジェクト項で記述できるので, tr ⊆ ts となる。
【0080】
16.編曲アルゴリズム
本システムでは,音楽家がMc という簡単な楽曲を編曲してPc を創作することを模倣し,未知の簡単な楽曲Mから新しい編曲Pを合成するような編曲アルゴリズムを用いる。
【0081】
図5に,事例に基づく編曲の原理を説明するための図を示す。図5のAが編曲アルゴリズムが行う処理である。s の点線は,音楽家がMc という簡単な譜面を見たときにPc という演奏を行ったという対応関係を表している。編曲を行うときの音楽家の内省に基づき,以下のStep1〜Step4で未知の楽曲Mからそれの編曲Pを合成する。
Step1)Mに類似したMc を持つ事例を検索する。
Step2)MとMc の共通部分をMa とする。
Step3)Mc からMa への変換Fを模倣して,事例の編曲Pc をPa に変換する(F’)。
Step4)MからMa への変換Gを模倣して,さらに逆転させてPa からPを作る(G’−1)。
【0082】
Step1の最類似事例の検索は,次の参考文献1で提案した方法 (相対的類似度) を援用する。
〔参考文献1〕平田圭二,青柳龍也,パーピープン:誰でもどこでもインタラクティブに使える知的ジャズ和音生成システム,情報処理学会,音楽情報科学研究会,研究報告,99−MUS−31, pp.7−12(1999)。
【0083】
編曲アルゴリズムの設計に際して以下の仮定を置く。
〔仮定1〕MとMc とは似ている。
〔仮定2〕FとF’とは似ている。GとG’も似ている。
【0084】
ここで,〔仮定1〕はステップS1で保証される。〔仮定2〕は音楽家の内省から得られる。
【0085】
M,Mc ,Ma ,P, Pc ,Pa は,DOODのオブジェクト項として表現されるので,これらオブジェクト項間には包摂関係が成り立つ。以上から,次のように編曲アルゴリズムを設計する。
【0086】
まず,Fを実現する具体的な関数について考える。Fを特徴付ける関係は,
F(Mc )=Ma …(F1)
F(M)=M …(F2)
である。Fには様々な関数が考えられるが,MとMc の共通部分Ma を計算するには,最小上界を用いるのが自然なので,
F(X)= lub(X,M)
という定義が考えられる。Pa は,Pa =F’(Pc )として求められるが,〔仮定2〕より,
Pa =F(Pc )= lub(Pc ,M) …(式1)
を得る。
【0087】
次に,関数Gを特徴付ける関係は,
G(M)=Ma …(G1)
G(Mc )=Mc …(G2)
なので,同様に
G(X)= lub(X,Mc )
とすることができる。
【0088】
ここで,Gを特徴付ける関係G1,G2の重要度について考える。〔仮定1〕から,G1においてMをMc で置き換えた場合1と,G2においてMc をMで置き換えた場合2とを比較する。
【0089】
場合1からは,
G(Mc )=Ma かつG(Mc )=Mc より,Ma =Mc が得られる。
一方,場合2からは,
G(M)=Ma かつG(M)=Mより,Ma =M が得られるが,関係G1も考慮するとGは恒等写像になり,Gの特徴が消失する。よって,G2の方がより重要な関係であることが分かる。
【0090】
逆写像G−1を特徴付ける関係は,関係G1,G2から
G−1(Ma )=MおよびG−1(Mc )=Mc となる。上のG1とG2の重要度に関する考察と,〔仮定1〕から,前者の関係をG−1(Ma )=Mc と置き換えて,G−1を実現する関数を考える。
【0091】
単純なものとして,G−1(X)= glb(X,Mc )が考えられる。ゆえに,〔仮定2〕より,
P=G−1(Pa )= glb(Pa ,Mc ) …(式2)
である。
【0092】
以上の考察をまとめると,MからPを合成する編曲アルゴリズムAは,
式1,式2から,
A(X)= glb( lub(Pc ,X),Mc ) …(式3)
と表すことができる。
【0093】
関数Aに注釈を加える。Aはオブジェクト項の作る完備束上の連続関数である。この編曲アルゴリズムは,和音名 (コード記号) を全く使わずに音符レベルで計算を行う。Mc より抽象的な楽曲Mに対しては(Mc ⊆M),A(M)=Mc となる。
【0094】
17.具体的な処理の例
〔事例ベースの生成〕
図6に,事例ベース作成装置20が行う事例ベースの作成の処理フローチャートを示す。
【0095】
例えばジャズ等のアドリブを含む模範演奏の楽曲から事例ベース21を作成するものとする。ステップS10では,事例の楽曲の譜面を入力する。ここでは,音楽家が演奏の際に見た簡単な楽曲譜面を入力する。ステップS11では,入力した楽曲譜面について,後述する多声旋律分析(図7)を行う。
【0096】
次に,ステップS12では,事例の編曲例として,実際に演奏された音を採譜した譜面を入力する。ステップS13では,入力した譜面について,後述する多声旋律分析(図7)を行う。
【0097】
ステップS14では,ステップS11における多声旋律の分析結果とステップS13における多声旋律の分析結果とから,事例の楽曲のオブジェクト項表現と,実際の演奏を採譜した事例の編曲のオブジェクト項表現とをペアにして,それを一つの事例として事例ベース21に格納する。以上のステップS10〜S14の処理を各事例ごとに繰り返す(ステップS15)。
【0098】
〔多声旋律の分析〕
図7に,多声旋律分析の処理フローチャートを示す。本処理は,事例ベースの作成時に用いられるほか,図1の楽曲編曲装置10におけるオブジェクト項表現生成部14による処理の際にも用いられる。
【0099】
ステップS20では,多声旋律を入力する。ここでは,和音名(和音記号,コードシンボル)は考えずに,旋律や和音を表現する多数の音符から構成される楽曲の一部あるいは全体を多声旋律として入力する。
【0100】
ステップS21では,GTTMに従ってグルーピング構造を分析し,タイムスパン簡約木を得る。図8に,タイムスパン簡約木の例を示す。図8(A)に示すような音楽家の意図を表す多声旋律について,隣接した音同士をボトムアップにまとめ上げていくことにより,階層構造が得られる。今,図8(A)の最初の3個の音符に着目すると,その部分のタイム簡約木は図8(B)に示すようになり,その多声旋律の内部構造は図8(C)に示すように表される。これに対応するオブジェクト項表現は,図8(D)のようになる。ここでは,event を“e”,headを“hd”,primary を“p”,secondary を“s”と簡略化して表現している。
【0101】
ステップS22では,時間構造の分析を行い,その分析結果から時間構造ネットワークを得る。一般に,音楽家の意図は,タイミング的に重要な隣接音に依存して決まる。グルーピング構造の情報だけでは,音要素の時間的順序がわからない。そのため,時間構造を分析して,オブジェクト項表現に時間構造に関する情報を付加する。
【0102】
図9に,時間構造の分析例を示す。図9の例では,音要素t1を基準にして時間構造を分析している。図9では,tempを“t”,after を“aft”,beforeを“bfr”,reffrence を“ref”,diffrence を“diff”と簡略化して表現している。例えば,図9のt4オブジェクト項表現において,t4は,t1の後にあり,正の無限大の時刻(+ω)より前にあることを示している。また,ref=aftであるので,後続する拍のほうが前の拍より重要な拍であることを示している。diff=3は,t1との時間差が3拍であることを示している。
【0103】
ステップS23では,図4に示すオブジェクト項の構文規則に従って,タイムスパン簡約木と時間構造ネットワークをオブジェクト項表現に翻訳する。図10に,多声旋律のオブジェクト項表現の例を示す。図10(A)に示す内部構造を持つ多声旋律をオブジェクト項表現すると,図10(B)に示すようになる。なお,ここでは前述した予約語の簡略化記載に加えて,chord を“chd”,notes を“nts”,noteを“nt”,noteNumberを“nn”,durationを“dur”と簡略化して表現している。以上が多声旋律分析の処理である。
【0104】
〔編曲の処理〕
次に,図1の楽曲編曲装置10が行う編曲の処理の流れについて説明する。図11にその処理フローチャートを示す。また,図12および図13に,編曲の処理を説明するための例を示す。
【0105】
ステップS30では,編曲対象となる未知の楽曲Mを入力する。楽譜による入力,MIDIデータによる入力など,入力方法は問わない。ステップS31では,図7で説明した多声旋律分析の処理により,未知の楽曲Mについてオブジェクト項表現に変換する。多声旋律分析の結果,図12に示すMのような階層構造(グルーピング構造)と時間構造が付加されたオブジェクト項表現が得られる。課題は,これから,編曲結果のPとしてどのような階層構造と時間構造を持った多声旋律を生成するかである。
【0106】
ステップS32では,未知の楽曲Mに類似した事例の楽曲Mc を,相対的類似度の計算によって事例ベース21から検索する。これによって,図12に示すような事例の楽曲Mc とその事例の編曲Pc とが得られる。
【0107】
ステップS33では,未知の楽曲Mと事例の楽曲Mc との共通部分Ma を求める。オブジェクト項の共通部分を計算する処理については後述する。
【0108】
ステップS34では,事例の楽曲Mc から共通部分Ma への変換Fを模倣し,事例の編曲Pc を共通部分の編曲Pa に変換する。編曲アルゴリズムの設計で述べた(式1)のように,共通部分の編曲Pa は,
Pa =F(Pc )= lub(Pc ,M) …(式1)
から求められる。図13(A)にその様子を示す。なお,上下に並んだ白丸の音符は,上または下のどちらかという意味である。実際に最小上界(lub)を計算する際には,隣接した音や1オクターブ離れた音は似ているとみなして「同じ」に準じ,lubの結果に残す。
【0109】
次に,ステップS35では,未知の楽曲Mから前記共通部分Ma への変換Gを模倣して,さらに変換を逆転させて,共通部分の編曲Pa から未知の楽曲の編曲Pを作る。具体的には,編曲アルゴリズムの設計で述べた(式2)のように,未知の楽曲の編曲Pは,
P=G−1(Pa )= glb(Pa ,Mc ) …(式2)
から求められる。すなわち,ステップS34およびS35による編曲アルゴリズムAは,図13(B)に示すような式の計算になる。なお,図13(B)における白丸の音符は,和音の協和を考慮して出力するかどうかを決める。
【0110】
A(M)= glb( lub(M,Pc ),Mc ) …(式3)
ステップS36では,未知の編曲の楽曲Pを,指定された形式でディスプレイ,プリンタ,スピーカ,外部記憶装置その他の楽曲出力装置12に出力する。
【0111】
〔相対的類似度の計算〕
図14は,事例ベース21の検索等で用いる相対的類似度の計算に関する処理フローチャートである。まず,ステップS40では,相対的類似度を計算したい3つのオブジェクト項a,b,c を入力する。ここで,比較したい類似度は,a−b間とa−c間とする。すなわち,a−b間とa−c間のどちらがより類似しているかを求めるものとする。
【0112】
ステップS41では,後述するオブジェクト間の共通部分計算のルーチン(図15)を呼び出し,aとbの共通部分(これをlabとする)を再帰的に計算する。ステップS42では,後述するオブジェクト間の合体部分計算のルーチン(図16)を呼び出し,aとbの合体部分(これをgabとする)を再帰的に計算する。
【0113】
同様に,ステップS43では,後述するオブジェクト間の共通部分計算のルーチン(図15)を呼び出し,aとcの共通部分(これをlacとする)を再帰的に計算する。ステップS44では,後述するオブジェクト間の合体部分計算のルーチン(図16)を呼び出し,aとcの合体部分(これをgacとする)を再帰的に計算する。
【0114】
ステップS45の判定により,もし,lac⊆labかつgac⊇gabならば,a−b間がa−c間より類似していると認定する(ステップS46)。また,ステップS47の判定により,もし,lac⊇labかつgac⊆gabならば,a−c間がa−b間より類似していると認定する(ステップS48)。それ以外の場合には,どちらが類似しているとも判定できないので,相対的類似度は不明とする(ステップS49)。
【0115】
〔オブジェクト項の共通部分計算〕
図15は,オブジェクト項の共通部分計算に関する処理フローチャートである。ここでは,自ルーチンの中で自ルーチンを呼び出す再帰的な処理を行う。まず,ステップS50では,共通部分を計算したい2つのオブジェクト項x,yを入力する。
【0116】
もし,xとyが記号で,かつx=yならば,解はxとする。もし,xとyが記号で,かつx≠yならば,解はトップ(top)とする(ステップS51〜S54)。ここでトップとは,数値でたとえると無限大というように,あらゆる要素の中で最大の要素を意味する。それ以外の場合には,ステップS55へ進む。
【0117】
次に,ステップS55では,x,yで共通する属性zを探す。ステップS56では,xのz属性値をxzとし,yのz属性値をyzとする。その後,ステップS57によって,オブジェクト項の共通部分計算を処理する自ルーチンを呼び出し,xzとxyの共通部分xyzを再帰的に計算する。
【0118】
ステップS58では,解のオブジェクト項のz属性の属性値をxyzに設定する。その後,共通している全ての属性の処理が終了するまで,ステップS56へ戻り,共通している全ての属性に対する処理を同様に繰り返す(ステップS59)。
【0119】
〔オブジェクト項の合体部分計算〕
図16は,オブジェクト項の合体部分計算に関する処理フローチャートである。ここでは,共通部分の計算の場合と同様に,自ルーチンの中で自ルーチンを呼び出す再帰的な処理を行う。まず,ステップS60では,合体部分を計算したい2つのオブジェクト項x,yを入力する。
【0120】
もし,xとyが記号で,かつx=yならば,解はxとする。もし,xとyが記号で,かつx≠yならば,解はボトム(bottom)とする(ステップS61〜S64)。ここでボトムとは,数値でたとえると無限小というように,あらゆる要素の中で最小の要素を意味する。それ以外の場合には,ステップS65へ進む。
【0121】
次に,ステップS65では,x,yで共通する属性zを探す。なお,共通していない属性をz’とする。
【0122】
ステップS66では,xのz属性値をxzとし,yのz属性値をyzとする。その後,ステップS67によって,オブジェクト項の合体部分計算を処理する自ルーチンを呼び出し,xzとyzの合体部分xyzを再帰的に計算する。ステップS68では,解のオブジェクト項のz属性の属性値をxyzに設定する。
【0123】
その後,共通している全ての属性の処理が終了するまで,ステップS66へ戻り,共通している全ての属性に対する処理を同様に繰り返す(ステップS69)。ステップS70では,共通していない属性z’に関して,属性z’とその属性値をそのまま解のオブジェクト項に設定する。
【0124】
【実施例】
以下では,実際に本発明を適用した例について説明する。
【0125】
1.事例としての eventオブジェクト
本システムにおける事例は,和声(H),課題楽曲あるいは旋律パート(M),それに対する編曲あるいは演奏例(P)の組から構成される。Hは eventオブジェクトとして表現され,MとPの組はHを表現する eventオブジェクトの非固有属性として表現される。
【0126】
以下に,非固有属性plays を持つevent オブジェクト項の定義例を示す。
Hは事例楽曲の和音進行に関するグルーピング構造や時間構造を表す。和声の上方は,固有属性 (”/” の左辺) を用いて記述されているので, eventオブジェクトの識別子として機能する。
【0127】
plays は非固有属性であり,固有属性で識別された和声の雰囲気や文脈における編曲を表している。一つの和声に対して複数の課題楽曲とその編曲が考えられるので,plays 属性値は集合となっている。plays は非固有属性なので,システム動作中にその属性値が変化してもオブジェクトの同一性が保たれる。
【0128】
playオブジェクトのmelody属性でMを記述し,perform 属性でPを記述する。一つの課題楽曲に対して複数の編曲が考えられるので,perform 属性値は集合となっている。また,H,M, Pの全てが eventオブジェクトによって表現される。Hを表現する全 eventオブジェクトが必ず plays属性を持つとは限らないが,事例である eventオブジェクトは plays属性を持つ。
【0129】
図17の例を用いて説明する。図の上方には和声Hのタイムスパン簡約木を描いた。e1 は,C2 を primaryな部分木として,C1 を secondaryな部分木として持つ eventオブジェクトを表している。同様に,e2 はC3 を primaryな部分木として,e1 を secondaryな部分木として持つような eventオブジェクトを表している。
【0130】
例えばe1 を事例とする場合を考える。この事例には,先頭2小節分のH, M, Pが含まれる。それぞれを表現する eventオブジェクトをeH ,eM ,eP とすると,事例e1 は,
eH /(plays ={play(melody =eM , perform ={eP }) })
と書ける。このとき,eH の primaryと secondaryの属性値として,C1 とC2 を表現する eventオブジェクト(それぞれeC1, eC2とする) が出現している。しかし,eC1, eC2は plays属性を持つ必要がない。つまり,事例を構成するトップのeH オブジェクトのみplays 属性を持つ。
【0131】
event オブジェクトは,その定義から明らかなように再帰的な構造をしている。したがって,事例の粒度は単和音から楽曲全体まで変化し得る。つまり,e1 以外にもe2 ,e3 を事例とすることもできるし,逆にC1 ,C2 の個々の和音を事例とすることもできる。
【0132】
事例の粒度は,推論を行う範囲 (拍数,小節数) を規定する。事例の粒度が小さいと1回の推論で生成する編曲の範囲は小さくなる。このとき,類似した事例を多く検索することができるが,大域的な曲の流れを考慮した編曲は難しくなる。一方,粒度が大きいと1回の推論で生成する編曲の範囲は大きくなり,粒度が小さい場合と逆の特徴を示す。本実施例のシステムでは,簡単のため,一つの和音でカバーされた範囲の楽曲部分と編曲部分を一つの事例としている。
【0133】
2.事例ベース推論
本システムの事例は,一般に,
eH /(plays ={play(melody =eM , perform={eP }) })
のように書ける。ここで,eH は楽曲部分の和声を,eM は対応する旋律を,eP は対応する編曲 (演奏例) を表している。
【0134】
本システムに未知曲が与えられたとき,その和音列をC1 ,C2 ,C3 ,…とすると,以下のように処理が進む。
(1)事例ベース中からCi に最も類似したeH を持つ事例を選ぶ。このとき,前記参考文献1で提案された相対的類似度を用いる。
(2)さらに,未知曲の旋律mに最も類似したeM を持つ事例に絞り込む。
(3)選ばれた事例を用いて,Ci のカバーする範囲の編曲A(m)を計算する。
【0135】
上記(1)のステップにおいて,先に和声の類似性で事例を選択するのは,編曲という応用の性質を考慮し,和声の類似性の方が旋律の類似性よりも重要であると考えたからである。
【0136】
【発明の効果】
本発明に含まれる多声旋律をオブジェクト項として表現する手法や編曲アルゴリズムは,音楽家の内観に比較的忠実である。従って,本発明を利用するユーザ(音楽家)は実世界で作業する場合とほぼ同じメンタルモデルが適用できる。
【0137】
本発明に従えば,多声旋律を一旦オブジェクト項で表現してしまうと,後は機械的に計算を進めることができる。よって,恣意的な処理は多声旋律をオブジェクト項表現に変換する部分だけに限定される。もしシステムがユーザの意図に沿わない動作をした場合には,多声旋律をオブジェクト項表現に変換する部分だけを変更,修正すればよい。
【図面の簡単な説明】
【図1】本発明に係る楽曲編曲装置の構成例を示す図である。
【図2】グルーピング構造の例を示す図である。
【図3】時間構造の例を示す図である。
【図4】本システムで用いたオブジェクト項の構文規則の例を示す図である。
【図5】事例に基づく編曲の原理を説明するための図である。
【図6】事例ベースの作成の処理フローチャートである。
【図7】多声旋律分析の処理フローチャートである。
【図8】タイムスパン簡約木の例を示す図である。
【図9】時間構造の分析例を示す図である。
【図10】多声旋律のオブジェクト項表現の例を示す図である。
【図11】編曲の処理フローチャートである。
【図12】編曲の処理を説明するための例を示す図である。
【図13】編曲の処理を説明するための例を示す図である。
【図14】相対的類似度の計算に関する処理フローチャートである。
【図15】オブジェクト項の共通部分計算に関する処理フローチャートである。
【図16】オブジェクト項の合体部分計算に関する処理フローチャートである。
【図17】eventオブジェクトによる事例の表現を説明する図である。
【符号の説明】
10 楽曲編曲装置
11 楽曲入力装置
12 楽曲出力装置
13 楽曲入力部
14 オブジェクト項表現生成部
15 事例検索部
16 相対的類似度計算部
17 編曲作成部
18 編曲出力部
20 事例ベース作成装置
21 事例ベース[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a music automatic arrangement method by a computer, and more particularly to an arrangement processing method for arranging an unknown music by imitating an arrangement of a case.
[0002]
In the present invention, polyphonic melody is expressed as an object term for automatic arrangement using a computer. Handling music knowledge with a computer means first expressing it as a term on the computer and then performing some operation on it. Techniques for expressing and calculating general knowledge on a computer are called knowledge representation and knowledge processing. Musicology has also been established as an academic field that explores how humans perform musical processing based on information written on musical scores.
[0003]
Knowledge representation is particularly relevant to deductive object-oriented database (DOOD) technology. In music studies, GTTM (General Theory of Tonal Music) is particularly related to time span reduction.
[0004]
[Prior art]
There are already many systems on the market that have the function of automatically playing music based on music. Many conventional systems are rule-based systems. Here, the user gives information such as chord progression, (simple) motif, genre, performance style, etc. as input. There are various outputs such as piano solo and band style. The rule type is switched according to the genre and style specified by the user.
[0005]
The output harmony is generated from a chord symbol, and the output melody is generated from a motif. At this time, the rules are also used to ensure harmony between the harmony and the melody, and to embed a short decoration sound (decoration phrase) called fill-in in a portion with a small number of notes.
[0006]
However, it is said that rule-based arrangement systems are generally problematic in terms of acquiring rule knowledge, solving a rule conflict, and explicitly describing implicit knowledge. These are the disadvantages of the conventional arrangement system.
[0007]
[Regarding the method of expressing polyphonic melody as a term]
In the conventional method, there are only three basic relationships between a note or a set of notes: simultaneous, before and after.
[0008]
[Regarding Arrangement Algorithm]
Many of the conventional methods arrange music based on rules as described above. The typical algorithm is to map the input information to the parameter space once, execute the operation according to the user's instruction on the parameter space, return to the actual polyphonic melody again from the parameter space, and output it. . When mapping the input polyphonic melody to the parameter space, several parameters such as pitch, density, phrase gradient, etc. are determined in advance, and each parameter value (vector Feature). With this vector feature, the input polyphonic melody is associated with a point in the parameter space.
[0009]
Various operations are performed on the parameter space in accordance with user instructions. For example, a phrase with higher tension is generated, or an accompaniment-like performance is generated. Then, the vector feature value that the output polyphonic melody should have is obtained. Finally, an actual polyphonic melody is generated from the vector features. At this time, since the relationship between the vector feature quantity and the actual polyphonic melody is one-to-many, a stochastic method is often used.
[0010]
When a desired solution is generated using an adjective sensitivity word, a correlation between the sensitivity word and the vector feature amount is obtained in advance by a psychological experiment or the like, and an output that satisfies the correlation is configured.
[0011]
The conventional automatic arrangement using a computer uses the above-described method, and there is no arrangement system that automatically performs arrangement similar to the arrangement performed by an actual musician using an arrangement algorithm based on cases.
[0012]
[Problems to be solved by the invention]
The disadvantages of the conventional method are as follows.
[0013]
(1) Since the internal representation is insufficient, it is difficult to realize calculation that reflects musical meaning.
[0014]
Internal representation is insufficient in two ways. First, since only a simple, flat, basic relationship between a note or a set of notes is given at the same time, before and after, a hierarchical interpretation and structure of polyphonic melody as taught by music theory cannot be expressed.
[0015]
Second, regarding polyphonic melody, various processes that cannot be predicted in advance are required. Parameters required for processing and parameters to be emphasized depend greatly on the actual processing type and user's intention, but it is very difficult to know all of them before execution or at the time of system design.
[0016]
(2) Since rules are used, musical knowledge cannot be handled.
[0017]
Music knowledge generally has subjectivity, ambiguity, and tacitness. It is difficult to write them down explicitly and accurately in the rules. In particular, it is no exaggeration to say that musical knowledge about composition exists to define how artistic deviations from it exist. Even if a solution is generated while observing what is described as a rule, a musically meaningful solution is not always obtained.
[0018]
(3) Music that does not use chord names (chord symbols) cannot be handled.
[0019]
As described above, in the conventional system, the chord to be played is basically generated from the chord name. However, chord names do not faithfully represent the sound of actual chords. In general, there can be a number of chords that are actually played for one chord name, and there are also a number of chord names that represent chords that are actually desired to be played.
[0020]
Therefore, there is a song in which a chord is specified not by the chord name but by the chord itself to be played (a set of notes). At present, such music is no longer a special case regardless of genre (this includes works by Ryuichi Sakamoto and Tetsuya Komuro).
[0021]
[Means for Solving the Problems]
In the present invention, in order to solve the above-mentioned problem, several arrangement examples that are expressed in advance as polyphonic melody (note level expression) are stored. If a simple motif is given, arrangement examples similar to the arrangement examples are stored. Arrange using it.
[0022]
That is, the present invention relates to an arrangement processing method by a computer that performs arrangement based on a case for an inputted piece of music with reference to a case base in which case example pieces and case arrangement examples are stored. , The arrangement example of the case and the polyphonic melody expressing the piece of music to be arranged are represented by object terms, and the subject song of the case similar to the piece of music to be arranged is searched using the inclusion relationship between the object terms, The first characteristic is that the music to be arranged is arranged based on the relationship between the object items of the searched example assignment music, the arrangement example of the corresponding case, and the music to be arranged.
[0023]
A second feature is that an object term is configured by adding information on a grouping structure and a time structure to the polyphonic melody. As a result, the user's intention is expressed as a grouping structure and a time structure given in advance to the input motif and arrangement examples.
[0024]
The feature of the present invention when focusing on the arrangement algorithm is that the process of inputting the music to be arranged, the process of searching the subject music of the case similar to the input music from the case base, and the case of the searched case The process of extracting the common part between the subject music and the input music, and the conversion from the subject music in the case to the common part, and using the conversion analysis result, the common example from the arrangement example of the corresponding case A process of creating a part arrangement, and a process of creating an arrangement for the input music from the arrangement of the common part.
[0025]
Specifically, the function for calculating the minimum upper bound is lub, the function representing the maximum lower bound is glb, the object term representing the subject song of the case is Mc, the object term representing the music to be arranged is M, When the object term representing the arrangement example of the case is Pc,
An object term Pa representing the arrangement of the common part is
Pa = lub (M, Pc)
Calculated by
Arrangement P for the input music
P = glb (Pa, Mc)
Calculate by
[0026]
Each of the above processing means can be realized by a computer and a software program. The software program can be stored in an appropriate recording medium such as a portable medium memory, a semiconductor memory, or a hard disk that can be read by a computer.
[0027]
The present invention is greatly different from the arrangement processing according to the prior art in that it arranges an unknown song by imitating the arrangement of the case, the problem piece of the case, the example of arrangement of the case, and the polyphony expressing the music to be arranged. The melody is expressed by an object term, and the arrangement is performed by manipulating the polyphonic melody expressed as the object term. Therefore, the features of the present invention compared with the prior art are as follows.
[0028]
(1) Internal representation with sufficient amount of information
The internal structure is designed so that the original polyphonic music can always be restored from it. In other words, the internal structure is such that the information of the hierarchical structure is added to the input polyphonic melody, so that the hierarchical structure of the input polyphonic melody can be expressed and restored.
[0029]
(2) Use cases without using rules
In arranging, we take a simple musical score presented to the performer and a set of actual musical performances based on it. When an unknown song in the system is presented, the unknown song is arranged by imitating the arrangement performed in the case.
[0030]
(3) Adopting a method that advances calculations only with the note level without using any chord names
Specifically, it consists of a technique for expressing polyphonic melody as an object term and a technique for manipulating polyphonic melody expressed as an object term.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
1. Composition example of music arrangement device
FIG. 1 shows a configuration example of a music arrangement device according to the present invention. The
[0032]
The case
[0033]
The
[0034]
The
[0035]
The
[0036]
The
[0037]
What is characteristic in the system shown in FIG. 1 is that each of the example song (task song) Mc, the example arrangement Pc, the song to be edited, which is an unknown song given by the user, and the arrangement result created by the
[0038]
2. General description of deductive object-oriented databases
A deductive object-oriented database (DOOD: Dedicated Object-Oriented Database) is a technique of knowledge representation. The general form of object terms in deductive object-oriented databases is
Type (
It is like this.
[0039]
For example, consider the case of expressing two concepts (substances) of red apple and small apple. Both types are apples. In the case of “apple”, there is no particular feature.
Apple
Is described. The “red apple” is a simple apple with the feature that its color is red. there,
Apple (color = red)
Is described. In addition, since “small apples” are thought to have a small size,
Apple (size = small)
Is described. As is clear from the above, the expression “large and blue apple”
Apple (size = large, color = blue)
It becomes. In the actual object term, more complex concepts and entities can be expressed by writing the object term in the attribute value.
[0040]
Note that the feature structure is essentially the same concept as the deductive object-oriented database, and will be described using deductive object-oriented database terms for a unified explanation throughout this specification. The object-oriented database includes the technical concept of feature structure. In this specification, “deductive object-oriented database” can be read as “feature structure” and “object term” can be read as “feature term”.
[0041]
As described above, the object term is described as o (..., L = v,...). o is a basic object term, l = v is an attribute, l is an attribute label, and v is an attribute value.
[0042]
There are two types of attributes: unique and non-unique. A unique attribute is an attribute used to identify an object, and a non-unique attribute is an attribute that is not. In notation,
o (..., l = v, ...) / (..., m = w, ...)
Like this, write the unique attribute on the left side of “/” and the non-unique attribute on the right side. For example, “o (a = 1) / (b = 2)” and “o (a = 1) / (c = 3)” are the same object.
[0043]
3. Explanation of general inclusion relations
In the arrangement using the case, for example, some scale is required for judging whether or not the inputted music to be edited and the music in the case are similar. Therefore, in this system, the relative relationship between objects is calculated using the inclusion relation by associating the order relation established between musical objects with the inclusion relation between object terms. In this system, the inclusion relation is used for operations such as extraction and synthesis of common parts between object terms, and abstraction and materialization of object terms. In the following, this inclusion relationship will be explained. Here, for convenience of explanation, the inclusion relation is represented by the symbol ⊆ similar to the inclusion relation of the set.
[0044]
The inclusion relationship means “an object with a large amount of information⊆an object with a small amount of information”. In other words, it may be referred to as “specific object ⊆ abstract object” or “special ⊆ general”. However, the inclusion relationship itself is a known technique.
[0045]
A simple example will be described. Consider the inclusion relationship between object terms representing "apple" and "red apple". The “red apple” can be regarded as being more specific and more informational than the “apple” because it has the characteristic of “red”. When this happens,
Apple (color = red) ⊆ Apple
Is written.
[0046]
In general, one or both of the following two conditions must be satisfied in order to satisfy s 次 t.
[0047]
An attribute of l = v is added to s.
For other attributes, s and t have the same attribute name and attribute value.
[Example: Apple (color = red) ⊆apple].
[0048]
Both s and t have the attribute l having the same name, but the relationship of v⊆w is established between the attribute values.
[Example: Human (address = Tokyo (ku = Shinjuku)) ⊆ Human (address = Tokyo)].
[0049]
4). Definition of inclusion relationship
The inclusion relationship between object terms is defined by the deductive rules described below. now,
o1= P (..., lm= V, ...), o2= Q (..., ln= W, ...)
o1, O2The inclusion relationship between
o1⊆o2← p⊆q∧∀m∃ln(Lm= Ln∧v⊆w)
Is defined as follows. That is o1Basic term (p) and all attributes (lmO) if they are all concrete, o1Is more specific or o2Means that is more abstract. O1, O2O is a set with an object term as an element, o1, O2Various definitions can be considered as inclusion relations. The following are two typical deduction rules.
[0050]
o1⊆Ho2← ∀si∈o1∃tj∈o2si⊆tj
o1⊆So2← ∀tj∈o2∃si∈o1si⊆tj
Where `` ⊆H"Is the so-called Hoare order of the set," ⊆S"Is equal to the Smith order. For example, {b, d} ⊆H{A, b, c, d} and {a, b, c, d} ⊆S{B, d} The Hoare order is used when there is a meaning of disjunction between the set elements, and the Mymy order is used when there is a meaning of conjunction.
[0051]
5). Definition of dot notation
When there is an object term p (..., l = v,...), pay attention to the value of v. It is expressed as l = v.
[0052]
6). Definition of minimum upper bound and maximum lower bound
Given the object terms x and y, the minimum upper bound (lub) of x and y is
min ({z | x⊆z∧y⊆z}), which is written as “lub (x, y)”.
[0053]
The intuitive meaning of lub is the most specific of the abstract objects common to two objects, and is an image for calculating a product set. In other words, it is the smallest element that is larger than x and y in common. It can be thought of as a product set or least common multiple.
[0054]
The maximum lower bound (glb) can be defined similarly. Given object terms x and y, the maximum lower bound of x and y is
max ({z | z⊆x∧z⊆y}), which is written as “glb (x, y)”.
That is, it is the largest among the elements that are smaller than x and y in common. In other words, you can think of it as a union or the greatest common divisor.
[0055]
In a deductive object-oriented database, lub is also called join and glb is also called meet. The domain of object terms defined above constitutes a complete bundle with respect to the bag. The lub and glb serve as basic operators when configuring an arrangement algorithm described below.
[0056]
7). Representation of one sound
In this expression method, a simple sound, C, C5 among musical objects is expressed as the following terms using a deductive object-oriented database.
Using the above-mentioned inclusion relationship, the following relationship is automatically established between the object terms representing these sounds.
[0057]
note (pitch = C, octave = 5) ⊆note (pitch = C) ⊆note
8). Chord expression
In this expression method, chords are expressed as a set of musical objects. A set is also defined as a kind of object term.
[0058]
For example, chords are expressed as the following terms (set terms).
As in the case of sound, an inclusion relation is automatically established between chords expressed as object terms in this way.
[0059]
9. Chord sequence representation
The following two methods a and b can be considered to represent a chord string composed of N chords. Here, chords are chorded for readability.1, Chord2Notation is as follows.
Method a is a method of assigning different attributes to each chord. Method b is a method of giving a linear link structure (indicated by [...]) Having individual chords as elements as attribute values of certain attributes.
[0060]
10. Chord name expression
Generally, a chord name is composed of root and chord types, and a jazz chord may be added with a tone called a tension, so consider root, type, and tension as attributes. Here are some examples:
Similar to the above chord string representation, a chord name string representation is also conceivable.
[0061]
11. Expression of polyphonic melody
The following describes the polyphonic melody expression method used in the arrangement of this system. A plurality of sounds constituting a melody or a chord constitute a part or the whole of the music. Here, some or all of such music is called polyphonic melody. FIG. 17 shows an example of polyphonic melody when a musical score of a general piano score is considered. This song (Nefertiti) is a song in which a harmony is designated by polyphonic melody without using a chord name.
[0062]
This system introduces an object term for expressing polyphonic melody based on deductive object-oriented database (DOOD). The object term must be designed so that the abstraction and realization of the object term can cope with simplification and complexity of polyphonic melody.
[0063]
12 Grouping structure representation
In order to express the grouping structure of music, a GTTM Time-Span Reduction Tree is used. FIG. 2 shows an example of the grouping structure. The time-span reduction tree expresses the bottom-up process of grouping important sounds (chords) and adjacent unimportant sounds (chords).
[0064]
Here, for simplicity, the time span reduction tree is a binary tree, and important sounds are called primary and other sounds are called secondary. The grouped primary and secondary are represented by a single sound (chord), which is called head. There are three relations between primary / secondary and head: primary, fusion, and transformational.
[0065]
The node (leaf) at the end of the time span reduction tree represents a sound (chord) generated at a certain time and does not have primary / secondary. In the time span reduction tree, the primary occurrence time is the occurrence time of the grouping structure one level higher. If a primary or secondary branch is deleted from a time span reduction tree, a simpler time span reduction tree can be obtained.
[0066]
13. Representation of time structure
First, let us consider the relationship between abstraction and realization of time structure in music. Usually, qualitative descriptions can be obtained by abstracting quantitative descriptions. The occurrence time of each sound that appears in polyphonic melody is determined quantitatively, but the qualitative description that abstracts this is considered to be “order”. This is a situation where the exact time is described only in the order of the first or last, even if the exact time is not known.
[0067]
Furthermore, the order becomes an abstract and simple order with loose conditions due to degeneracy. For example, if the order of “event a precedes and event b follows” is degenerated, the order “event a precedes or coincides with event b” is obtained.
[0068]
From the above considerations, it can be seen that the time structure model must be able to separate quantitative information about time and information about order.
[0069]
An example of the time structure proposed in this system is shown in FIG. In the figure, p, q, r, and s are events. First, it is assumed that the occurrence time of the event p is a reference. Next, focusing on the event s, s occurs between p and + ω (information about the order), and occurs at a time of three and a half beats from p (quantitative information about the time). Similarly, q occurs between p and s, the first beat from p, and r occurs between q and s, and is located at the half beat from s. Furthermore, the point where r's time degenerates is a musically more important beat (in this case, s), which is indicated by “→”.
[0070]
14 Attributes and attribute values for each object
The syntax rules for the object terms actually used in this system are shown in FIG.
[0071]
In this syntax, objclass of objclass (name1: objclass1,...) Is an object class name, name1 is a unique attribute name, and objclass1 is an object class name or data type of an attribute value. There are required attributes and non-essential attributes when constructing an object, and "&" is added to the left shoulder of non-essential attribute names.
[0072]
Words that begin with a lowercase letter represent an object name, and words that begin with an uppercase letter represent other data or data types. Integer represents a set of integers. . B represents a set of eleven pitch names from “do” to “shi”, “After” and “Before” are reserved words, + ω means positive infinity time, and −ω means negative infinity time. x | y means x or y. {X} represents a set of x.
[0073]
The “notes” attribute of the object term “chord” represents individual sounds constituting the chord, and the “duration” attribute represents the length of time that the chord is sounded. When the value of the notes attribute is a singleton set, it is equivalent to a single note. In the noteNumber attribute of the note object, the pitch is expressed by a MIDI note number.
[0074]
This event object is an extension of the GTTM time span reduction tree in that it can also describe temporally overlapping grouping structures.
[0075]
15. Inclusion relations for event objects
The event object realizes the above-described grouping structure and time structure model. That is, the abstraction and materialization operations in the model are associated with the inclusion relations of the object terms.
[0076]
The abstraction related to the grouping structure is to delete sounds that are not important in the music structure, and this corresponds to deleting the primary attribute and the secondary attribute.
[0077]
There are two types of abstraction regarding the time structure. One is to delete quantitative time information, which corresponds to deleting the difference attribute. The other is that the time degenerates to adjacent beats, which are more important in the syllable structure. For this purpose, the following new inclusion relation is introduced.
[0078]
When there is an object term t (t ⊆ temp) representing a certain time, t. The beat specified by reference is the more important beat in the syllable structure. Therefore, t is t. It can be seen that the time structure becomes more abstract (simplified) when degenerate to (t.reference). That is, t ⊆ t. (T.reference). Here, t. Note that the reference specification must be consistent with the grouping structure.
[0079]
In the example of FIG. 3, the time tr is
Since it can be described by an object term temp (after = tq, before = ts, reference = Before, difference = eighth note), tr ⊆ ts.
[0080]
16. Arrangement algorithm
In this system, an arrangement algorithm is used in which a musician arranges a simple song called Mc to create Pc and composes a new arrangement P from an unknown simple song M.
[0081]
FIG. 5 is a diagram for explaining the principle of arrangement based on examples. A in FIG. 5 is processing performed by the arrangement algorithm. The dotted line of s represents the correspondence that the musician performed the performance Pc when he saw the simple music score Mc. Based on the introspection of the musician when performing the arrangement, the arrangement P is synthesized from the unknown music M in the
Step 1) Search for cases having Mc similar to M.
Step 2) Let Ma be the common part of M and Mc.
Step 3) The arrangement Fc of the case is converted to Pa by imitating the conversion F from Mc to Ma (F ′).
Step 4) Imitate the conversion G from M to Ma, and further reverse it to make P from Pa (G ′-1).
[0082]
The search for the most similar case in
[Reference 1] Shinji Hirata, Tatsuya Aoyagi, Purippun: Intelligent jazz chord generation system that can be used interactively by anyone anywhere, Information Processing Society of Japan, Music Information Science Society, Research Report, 99-MUS-31, pp. 7-12 (1999).
[0083]
The following assumptions are made when designing an arrangement algorithm.
[Assumption 1] M and Mc are similar.
[Assumption 2] F and F 'are similar. G and G 'are similar.
[0084]
Here, [Assumption 1] is guaranteed in step S1. [Assumption 2] is obtained from the musician's introspection.
[0085]
Since M, Mc, Ma, P, Pc, and Pa are expressed as DOOD object terms, an inclusion relationship is established between these object terms. From the above, the arrangement algorithm is designed as follows.
[0086]
First, consider a specific function that realizes F. The relationship that characterizes F is
F (Mc) = Ma (F1)
F (M) = M (F2)
It is. Although various functions can be considered for F, since it is natural to use the minimum upper bound to calculate the common part Ma of M and Mc,
F (X) = lub (X, M)
The definition can be considered. Pa is obtained as Pa = F ′ (Pc). From [Assumption 2],
Pa = F (Pc) = lub (Pc, M) (Formula 1)
Get.
[0087]
Next, the relationship that characterizes the function G is
G (M) = Ma (G1)
G (Mc) = Mc (G2)
So similarly
G (X) = lub (X, Mc)
It can be.
[0088]
Here, the importance of the relationships G1 and G2 that characterize G will be considered. From [Assumption 1], 1 is compared when M is replaced with Mc in G1, and 2 is compared when Mc is replaced with M in G2.
[0089]
From
From G (Mc) = Ma and G (Mc) = Mc, Ma = Mc is obtained.
On the other hand, from
From G (M) = Ma and G (M) = M, Ma = M is obtained. However, when the relationship G1 is also taken into consideration, G becomes an identity map and the characteristics of G disappear. Therefore, it can be seen that G2 is a more important relationship.
[0090]
Inverse mapping G-1The relation characterizing is from relations G1 and G2.
G-1(Ma) = M and G-1(Mc) = Mc. From the above consideration on the importance of G1 and G2 and [Assumption 1], the relationship between the former-1Replace (Ma) = Mc with G-1Consider a function that realizes
[0091]
As simple, G-1(X) = glb (X, Mc) is considered. Therefore, from [Assumption 2]
P = G-1(Pa) = glb (Pa, Mc) (Formula 2)
It is.
[0092]
In summary, the arrangement algorithm A for synthesizing P from M is
From
A (X) = glb (lub (Pc, X), Mc) (Formula 3)
It can be expressed as.
[0093]
Annotate function A. A is a continuous function on the complete bundle created by the object term. This arrangement algorithm calculates at the note level without using any chord names (chord symbols). For a song M more abstract than Mc, (MccM), A (M) = Mc.
[0094]
17. Specific processing examples
[Generation of case base]
FIG. 6 shows a processing flowchart of case base creation performed by the case
[0095]
For example, it is assumed that the
[0096]
Next, in step S12, a musical score obtained by recording the actually played sound is input as an example arrangement. In step S13, polyphonic melody analysis (FIG. 7) described later is performed on the input musical score.
[0097]
In step S14, from the analysis result of the polyphonic melody in step S11 and the analysis result of the polyphonic melody in step S13, the object term representation of the example musical composition and the object term representation of the arrangement of the example that recorded the actual performance are obtained. The data is paired and stored in the
[0098]
[Analysis of polyphonic melody]
FIG. 7 shows a processing flowchart of polyphonic melody analysis. This process is used at the time of creation of the case base, and is also used at the time of processing by the object term
[0099]
In step S20, a polyphonic melody is input. Here, a part or the whole of a music composed of a large number of notes expressing a melody or a chord is input as a polyphonic melody without considering chord names (chord symbols, chord symbols).
[0100]
In step S21, the grouping structure is analyzed according to GTTM to obtain a time span reduction tree. FIG. 8 shows an example of a time span reduction tree. With respect to the polyphonic melody representing the musician's intention as shown in FIG. 8A, a hierarchical structure is obtained by bringing together adjacent sounds bottom-up. Now, paying attention to the first three notes in FIG. 8 (A), the time reduction tree of that portion is as shown in FIG. 8 (B), and the internal structure of the polyphonic melody is shown in FIG. 8 (C). Represented as shown. The object term representation corresponding to this is as shown in FIG. Here, event is simply expressed as “e”, head as “hd”, primary as “p”, and secondary as “s”.
[0101]
In step S22, the time structure is analyzed, and a time structure network is obtained from the analysis result. In general, a musician's intent is determined by the adjacent sounds that are important in terms of timing. Only the information of the grouping structure does not reveal the temporal order of sound elements. Therefore, the time structure is analyzed and information about the time structure is added to the object term representation.
[0102]
FIG. 9 shows an analysis example of the time structure. In the example of FIG. 9, the time structure is analyzed based on the sound element t1. In FIG. 9, temp is simply expressed as “t”, after as “aft”, before as “bfr”, reference as “ref”, and difference as “diff”. For example, in the t4 object term representation of FIG. 9, t4 is after t1, indicating that it is before the positive infinity time (+ ω). Further, since ref = aft, it indicates that the following beat is more important than the previous beat. diff = 3 indicates that the time difference from t1 is 3 beats.
[0103]
In step S23, the time span reduction tree and the time structure network are translated into object term representations according to the object term syntax rules shown in FIG. FIG. 10 shows an example of polyphonic melody object term representation. When the polyphonic melody having the internal structure shown in FIG. 10A is expressed as an object term, it is as shown in FIG. Here, in addition to the simplified description of the reserved word described above, chord is represented as “chd”, notes as “nts”, note as “nt”, noteNumber as “nn”, and duration as “dur”. doing. The above is the process of polyphonic melody analysis.
[0104]
[Arrangement processing]
Next, the flow of the arrangement process performed by the
[0105]
In step S30, an unknown song M to be arranged is input. There is no limitation on the input method such as input by musical score or input by MIDI data. In step S31, the unknown musical piece M is converted into an object term expression by the polyphonic melody analysis process described in FIG. As a result of polyphonic melody analysis, an object term representation to which a hierarchical structure (grouping structure) such as M shown in FIG. 12 and a time structure are added is obtained. The problem is how to generate a polyphonic melody having a hierarchical structure and a time structure as P of the arrangement result.
[0106]
In step S32, the music Mc of the case similar to the unknown music M is searched from the
[0107]
In step S33, the common part Ma of the unknown music M and the example music Mc is obtained. Processing for calculating the common part of the object terms will be described later.
[0108]
In step S34, the conversion F of the case music Mc to the common part Ma is imitated, and the case arrangement Pc is converted into the common part arrangement Pa. As in (Equation 1) described in the design of the arrangement algorithm, the arrangement part Pa of the common part is
Pa = F (Pc) = lub (Pc, M) (Formula 1)
It is requested from. FIG. 13A shows this state. Note that the white circled notes lined up and down mean either up or down. When actually calculating the minimum upper bound (lub), adjacent sounds and sounds that are one octave apart are considered to be similar and follow the “same” and remain in the lub result.
[0109]
Next, in step S35, the conversion G from the unknown music M to the common part Ma is imitated, and the conversion is further reversed to create the arrangement P of the unknown music from the arrangement Pa of the common part. Specifically, as described in the design of the arrangement algorithm (Equation 2), the arrangement P of the unknown song is
P = G-1(Pa) = glb (Pa, Mc) (Formula 2)
It is requested from. That is, the arrangement algorithm A in steps S34 and S35 is calculated as shown in FIG. Note that white circles in FIG. 13B determine whether or not to output in consideration of the harmony of chords.
[0110]
A (M) = glb (lub (M, Pc), Mc) (Formula 3)
In step S36, the music piece P of an unknown arrangement is output to the
[0111]
[Calculation of relative similarity]
FIG. 14 is a process flowchart relating to the calculation of the relative similarity used for searching the
[0112]
In step S41, a routine for calculating a common part between objects (to be described later) (FIG. 15) is called, and a common part of a and b (referred to as lab) is recursively calculated. In step S42, a merged part calculation routine between objects (described later) (FIG. 16) is called to recursively calculate the merged part of a and b (referred to as gab).
[0113]
Similarly, in step S43, a routine for calculating a common part between objects (to be described later) (FIG. 15) is called, and a common part of a and c (referred to as lac) is recursively calculated. In step S44, a merged part calculation routine (FIG. 16) between objects described later is called to recursively calculate the merged part of a and c (referred to as gac).
[0114]
If it is determined in step S45 that lac⊆lab and gac⊇gab, it is determined that ab is more similar than ac (step S46). If lac⊇lab and gac⊆gab are determined in step S47, it is determined that a-c is more similar than a-b (step S48). In other cases, since it cannot be determined which is similar, the relative similarity is unknown (step S49).
[0115]
[Calculation of common parts of object terms]
FIG. 15 is a processing flowchart regarding the common part calculation of the object term. Here, recursive processing for calling the routine is performed in the routine. First, in step S50, two object terms x and y whose common parts are to be calculated are input.
[0116]
If x and y are symbols and x = y, the solution is x. If x and y are symbols and x ≠ y, the solution is top (steps S51 to S54). Here, the top means the largest element among all elements, such as infinity in numerical terms. In cases other than that described here, process flow proceeds to Step S55.
[0117]
Next, in step S55, an attribute z common to x and y is searched. In step S56, the z attribute value of x is set to xz, and the z attribute value of y is set to yz. Thereafter, in step S57, the routine for processing the common part calculation of the object term is called, and the common part xyz of xz and xy is recursively calculated.
[0118]
In step S58, the attribute value of the z attribute of the solution object term is set to xyz. Thereafter, the process returns to step S56 until the processes for all the common attributes are completed, and the processes for all the common attributes are similarly repeated (step S59).
[0119]
[Calculation of union part of object term]
FIG. 16 is a process flowchart relating to the merged part calculation of object terms. Here, as in the case of calculation of the common part, recursive processing for calling the routine is performed in the routine. First, in step S60, two object terms x and y for which a combined part is to be calculated are input.
[0120]
If x and y are symbols and x = y, the solution is x. If x and y are symbols and x ≠ y, the solution is a bottom (steps S61 to S64). Here, the bottom means the smallest element among all elements, such as infinitesimal values. Otherwise, the process proceeds to step S65.
[0121]
Next, in step S65, an attribute z common to x and y is searched. Note that an attribute that is not common is z '.
[0122]
In step S66, the z attribute value of x is xz, and the z attribute value of y is yz. Thereafter, in step S67, a self-routine for processing the merged portion calculation of the object term is called, and the merged portion xyz of xz and yz is recursively calculated. In step S68, the attribute value of the z attribute of the solution object term is set to xyz.
[0123]
Thereafter, the process returns to step S66 until the process for all the common attributes is completed, and the process for all the common attributes is similarly repeated (step S69). In step S70, for the attribute z 'that is not common, the attribute z' and its attribute value are set as they are in the solution object term.
[0124]
【Example】
Hereinafter, an example in which the present invention is actually applied will be described.
[0125]
1. Event object as an example
Examples in this system are composed of a set of harmony (H), task music or melody part (M), and arrangement or performance example (P). H is represented as an event object, and a set of M and P is represented as a non-unique attribute of the event object representing H.
[0126]
A definition example of an event object term having non-unique attribute “plays” is shown below.
H represents a grouping structure or a time structure related to the chord progression of the example tune. Since the upper part of the harmony is described using a unique attribute (the left side of “/”), it functions as an event object identifier.
[0127]
“plays” is a non-unique attribute, and represents an arrangement of harmony atmosphere and context identified by the unique attribute. Since a plurality of task songs and their arrangements can be considered for one harmony, the plays attribute value is a set. Since “plays” is a non-unique attribute, even if the attribute value changes during system operation, the identity of the object is maintained.
[0128]
M is described by the melody attribute of the play object, and P is described by the perform attribute. Since a plurality of arrangements can be considered for one subject music, the form attribute value is a set. In addition, all of H, M, and P are represented by an event object. Not all event objects expressing H necessarily have a “plays” attribute, but an event object that is an example has a “plays” attribute.
[0129]
This will be described with reference to the example of FIG. In the upper part of the figure, a time span reduction tree of harmony H is drawn. e1Is C2C as the primary subtree1Represents an event object having as a secondary subtree. Similarly, e2Is C3As a primary subtree1Represents an event object having as a secondary subtree.
[0130]
E.g.1Consider the case of. This example includes H, M, and P for the first two bars. The event object that represents each eH, EM, EPThen case e1Is
eH/ (Plays = {play (melody = eM, Perform = {eP})})
Can be written. At this time, eHAttribute value of primary and secondary of C1And C2Event objects representing each (eC1, EC2Appears). But eC1, EC2Need not have a plays attribute. In other words, the top eHOnly objects have a plays attribute.
[0131]
The event object has a recursive structure as apparent from its definition. Thus, the granularity of the case can vary from a single chord to the entire song. That is, e1Besides e2, E3Can be used as an example, and conversely C1, C2It is also possible to use individual chords as examples.
[0132]
The granularity of the case prescribes the range (number of beats, number of bars) for inference. If the granularity of the case is small, the range of the arrangement generated by one inference becomes small. At this time, many similar cases can be searched, but it is difficult to arrange in consideration of the global flow of music. On the other hand, if the granularity is large, the range of the arrangement generated by one inference becomes large, which shows the opposite characteristics to the case where the granularity is small. In the system of this embodiment, for the sake of simplicity, the musical piece portion and the arrangement portion in the range covered by one chord are taken as one example.
[0133]
2. Case-based reasoning
Examples of this system are generally
eH/ (Plays = {play (melody = eM, Perform = {eP})})
It can be written as Where eHIs the harmony of the music part, eMIs the corresponding melody, ePIndicates the corresponding arrangement (performance example).
[0134]
When an unknown song is given to this system, the chord string is converted to C1, C2, C3, ..., the process proceeds as follows.
(1) From the case base CiE most similar toHChoose a case with At this time, the relative similarity proposed in
(2) Furthermore, e that is most similar to the melody m of the unknown songMNarrow down to cases with
(3) Using the selected case, CiArrangement A (m) in the range covered by.
[0135]
In the step (1) above, the reason for selecting the case based on the similarity of the harmony is that the similarity of the harmony is more important than the similarity of the melody in consideration of the nature of the application of the arrangement. Because I thought.
[0136]
【The invention's effect】
The technique and arrangement algorithm for expressing the polyphonic melody included in the present invention as an object term are relatively faithful to the introspection of the musician. Therefore, a user (musician) who uses the present invention can apply almost the same mental model as when working in the real world.
[0137]
According to the present invention, once the polyphonic melody is expressed by an object term, the calculation can be advanced mechanically thereafter. Therefore, arbitrary processing is limited to only the part that converts polyphonic melody into object term representation. If the system operates in ways that do not match the user's intentions, only the part that converts polyphonic melody to object term representation needs to be changed and modified.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration example of a music arrangement device according to the present invention.
FIG. 2 is a diagram illustrating an example of a grouping structure.
FIG. 3 is a diagram illustrating an example of a time structure.
FIG. 4 is a diagram showing an example of syntax rules for object terms used in the present system.
FIG. 5 is a diagram for explaining the principle of arrangement based on examples.
FIG. 6 is a processing flowchart of creation of a case base.
FIG. 7 is a processing flowchart of polyphonic melody analysis.
FIG. 8 is a diagram illustrating an example of a time span reduction tree.
FIG. 9 is a diagram illustrating an analysis example of a time structure.
FIG. 10 is a diagram illustrating an example of object term representation of polyphonic melody.
FIG. 11 is a process flowchart of arrangement.
FIG. 12 is a diagram illustrating an example for explaining an arrangement process.
FIG. 13 is a diagram illustrating an example for explaining arrangement processing.
FIG. 14 is a processing flowchart regarding calculation of relative similarity.
FIG. 15 is a processing flowchart regarding common part calculation of object terms.
FIG. 16 is a process flowchart relating to a combined part calculation of object terms.
FIG. 17 is a diagram illustrating expression of a case by an event object.
[Explanation of symbols]
10 Music arrangement device
11 Music input device
12 Music output device
13 Music input section
14 Object term expression generator
15 Case Search Department
16 Relative similarity calculator
17 Arrangement creation department
18 Arrangement output section
20 Case base creation device
21 Case base
Claims (5)
編曲対象となる楽曲を入力する過程と,
前記入力した編曲対象となる楽曲を表現する多声旋律を,オブジェクト項で表現し記憶する過程と,
前記編曲対象となる楽曲のオブジェクト項と前記事例ベースに格納された事例の課題曲のオブジェクト項とのオブジェクト項間の包摂関係を用いて編曲対象となる楽曲に類似する事例の課題曲を検索する過程と,
検索した事例の課題曲と前記編曲対象となる楽曲とのオブジェクト項の共通部分を抽出する過程と,
前記事例の課題曲から前記共通部分へのオブジェクト項の変換を解析し,その変換解析結果を利用して,前記事例の課題曲に対応する事例の編曲例から前記共通部分の編曲を作成する過程と,
前記編曲対象の課題曲から前記共通部分へのオブジェクト項の変換を解析し,その変換解析結果を利用して,前記共通部分の編曲から前記編集対象の楽曲に対する編曲を作成する過程とを有する
ことを特徴とする事例に基づく編曲処理方法。Refers to a case base that contains case information in which the polyphonic melody that expresses these pieces of music is expressed as an object term in a deductive object-oriented database . A computer-based arrangement processing method for arranging input music based on examples,
The process of inputting the music to be arranged;
A process of expressing and storing the polyphonic melody expressing the inputted music to be arranged in an object term ;
Search repertoire of cases similar to the song to be arranger subject using subsumption relation between objects section with objects section repertoire cases stored with object term for a piece of music the arrangement subject to the case base Process,
A process of extracting the common part of the object term of the searched subject matter song and the song to be arranged;
A process of analyzing the conversion of the object term from the task song of the case to the common part and creating the arrangement of the common part from the example of arrangement of the case corresponding to the task song of the case using the conversion analysis result When,
Analyzing the conversion of the object term from the task music to be arranged to the common part and using the result of the conversion analysis to create an arrangement for the music to be edited from the arrangement of the common part. An arrangement processing method based on a case characterized by the above.
ことを特徴とする請求項1記載の事例に基づく編曲処理方法。2. The arrangement processing method based on an example according to claim 1, wherein an object term is configured by adding information on a grouping structure and a time structure to the polyphonic melody.
前記共通部分の編曲を表すオブジェクト項Pa を,
Pa =lub(M,Pc )
によって計算し,
前記編曲対象となる楽曲に対する編曲Pを,
P=glb(Pa ,Mc )
によって計算する
ことを特徴とする請求項1または請求項2記載の事例に基づく編曲処理方法。The function that calculates the minimum upper bound is lub, the function that expresses the maximum lower bound is glb, the object term that represents the subject song of the case is M, the object term that represents the song to be arranged is M, and the arrangement example of the case When the object term to be represented is Pc,
An object term Pa representing the arrangement of the common part is
Pa = lub (M, Pc)
Calculated by
The arrangement P for music to be the arranger target,
P = glb (Pa, Mc)
The arrangement processing method based on the example according to claim 1, wherein the arrangement processing method is calculated by the following.
編曲対象となる楽曲を入力する処理と,
前記入力した編曲対象となる楽曲を表現する多声旋律を,オブジェクト項で表現し記憶する処理と,
前記編曲対象となる楽曲のオブジェクト項と前記事例ベースに格納された事例の課題曲のオブジェクト項とのオブジェクト項間の包摂関係を用いて編曲対象となる楽曲に類似する事例の課題曲を検索する処理と,
検索した事例の課題曲と前記編曲対象となる楽曲とのオブジェクト項の共通部分を抽出する処理と,
前記事例の課題曲から前記共通部分へのオブジェクト項の変換を解析し,その変換解析結果を利用して,前記事例の課題曲に対応する事例の編曲例から前記共通部分の編曲を作成する処理と,
前記編曲対象の課題曲から前記共通部分へのオブジェクト項の変換を解析し,その変換解析結果を利用して,前記共通部分の編曲から前記編集対象の楽曲に対する編曲を作成する処理とを,
コンピュータに実行させるための事例に基づく編曲処理プログラム。An arrangement processing program for causing a computer to perform arrangement based on a case for an input piece of music by referring to a case base in which a problem piece of case and an example arrangement are stored.
A process of inputting the music to be arranged;
A process for expressing and storing the polyphonic melody expressing the input music to be arranged in an object term ;
Search repertoire of cases similar to the song to be arranger subject using subsumption relation between objects section with objects section repertoire cases stored with object term for a piece of music the arrangement subject to the case base Processing,
A process of extracting a common part of object terms of the searched subject music and the music to be arranged;
A process of analyzing the conversion of the object term from the task song of the case to the common part and using the result of the conversion analysis to create the arrangement of the common part from the example of the case corresponding to the task song of the case When,
Analyzing the conversion of the object term from the subject song to be arranged to the common part, and using the conversion analysis result to create an arrangement for the music to be edited from the arrangement of the common part,
Arrangement processing program based on examples to be executed by a computer.
編曲対象となる楽曲を入力する処理と,
前記入力した編曲対象となる楽曲を表現する多声旋律を,オブジェクト項で表現し記憶する処理と,
前記編曲対象となる楽曲のオブジェクト項と前記事例ベースに格納された事例の課題曲のオブジェクト項とのオブジェクト項間の包摂関係を用いて編曲対象となる楽曲に類似する事例の課題曲を検索する処理と,
検索した事例の課題曲と前記編曲対象となる楽曲とのオブジェクト項の共通部分を抽出する処理と,
前記事例の課題曲から前記共通部分へのオブジェクト項の変換を解析し,その変換解析結果を利用して,前記事例の課題曲に対応する事例の編曲例から前記共通部分の編曲を作成する処理と,
前記編曲対象の課題曲から前記共通部分へのオブジェクト項の変換を解析し,その変換解析結果を利用して,前記共通部分の編曲から前記編集対象の楽曲に対する編曲を作成する処理とを,
コンピュータに実行させるためのプログラムを記録した
ことを特徴とする事例に基づく編曲処理プログラムの記録媒体。A computer-readable recording medium that records a program for causing a computer to perform arrangement based on a case with reference to a case base in which case subject songs and case arrangement examples are stored.
A process of inputting the music to be arranged;
A process for expressing and storing the polyphonic melody expressing the input music to be arranged in an object term ;
Search repertoire of cases similar to the song to be arranger subject using subsumption relation between objects section with objects section repertoire cases stored with object term for a piece of music the arrangement subject to the case base Processing,
A process of extracting a common part of object terms of the searched subject music and the music to be arranged;
A process of analyzing the conversion of the object term from the task song of the case to the common part and using the result of the conversion analysis to create the arrangement of the common part from the example of the case corresponding to the task song of the case When,
Analyzing the conversion of the object term from the subject song to be arranged to the common part, and using the conversion analysis result to create an arrangement for the music to be edited from the arrangement of the common part,
A recording medium for an arrangement processing program based on an example, wherein a program for causing a computer to execute is recorded.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001033266A JP3610017B2 (en) | 2001-02-09 | 2001-02-09 | Arrangement processing method based on case, arrangement processing program based on case, and recording medium for arrangement processing program based on case |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001033266A JP3610017B2 (en) | 2001-02-09 | 2001-02-09 | Arrangement processing method based on case, arrangement processing program based on case, and recording medium for arrangement processing program based on case |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002236484A JP2002236484A (en) | 2002-08-23 |
| JP3610017B2 true JP3610017B2 (en) | 2005-01-12 |
Family
ID=18897045
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001033266A Expired - Fee Related JP3610017B2 (en) | 2001-02-09 | 2001-02-09 | Arrangement processing method based on case, arrangement processing program based on case, and recording medium for arrangement processing program based on case |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3610017B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5051539B2 (en) * | 2008-02-05 | 2012-10-17 | 独立行政法人科学技術振興機構 | Morphing music generation device and morphing music generation program |
-
2001
- 2001-02-09 JP JP2001033266A patent/JP3610017B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002236484A (en) | 2002-08-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11037538B2 (en) | Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system | |
| US10964299B1 (en) | Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions | |
| US11024275B2 (en) | Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system | |
| Anders et al. | Constraint programming systems for modeling music theories and composition | |
| US11646007B1 (en) | Generative composition with texture groups | |
| US11978426B2 (en) | System and methods for automatically generating a musical composition having audibly correct form | |
| EP4068273A2 (en) | System and methods for automatically generating a musical composition having audibly correct form | |
| Ramalho et al. | An artificially intelligent jazz performer | |
| Sturm et al. | Folk the algorithms:(Mis) Applying artificial intelligence to folk music | |
| Adiloglu et al. | A machine learning approach to two-voice counterpoint composition | |
| JP3610017B2 (en) | Arrangement processing method based on case, arrangement processing program based on case, and recording medium for arrangement processing program based on case | |
| JP3987427B2 (en) | Music summary processing method, music summary processing apparatus, music summary processing program, and recording medium recording the program | |
| De Prisco et al. | Creative DNA computing: splicing systems for music composition | |
| GB2615222A (en) | System and methods for automatically generating a musical composition having audibly correct form | |
| Hamanaka et al. | Time-span tree analyzer for polyphonic music | |
| US20250200103A1 (en) | Media content processing for characteristic extraction and analysis | |
| Crestel | Neural networks for automatic musical projective orchestration | |
| Samuel | Artificial composition of multi-instrumental polyphonic music | |
| Fox | MusicHastie: field-based hierarchical music representation | |
| OA21655A (en) | System and methods for automatically generating a musical composition having audibly correct form. | |
| JP2001265349A (en) | Music processing device and music processing program recording medium | |
| Adler-Berman | A method for discovering musical patterns through time series analysis of symbolic data | |
| GB2615221A (en) | System and methods for automatically generating a musical composition having audibly correct form | |
| Reese | Computationally generated music using reinforcement learning | |
| Smith | A cognition-analogous approach to early-stage creative ideation support in music composition software |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040420 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040427 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040625 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041012 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041015 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071022 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081022 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091022 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101022 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101022 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111022 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |