(57)【特許請求の範囲】
【請求項１】
楽曲の特徴情報を含む複数の曲テンプレートを記憶するデータベースと、
使用者から入力される作曲すべき楽曲の特徴情報を含む作曲条件に基づいて、前記データベースを検索する手段であって、前記作曲条件に含まれる特徴情報と一致する特徴情報を含む曲テンプレート、および前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートの双方を候補として抽出する検索手段と、
前記検索手段により抽出された１ないし複数の曲テンプレートから１つを選択する選択手段と、
前記選択手段により選択された曲テンプレートに基づいて楽曲を作曲する作曲手段と
を具備することを特徴とする自動作曲装置。
【請求項２】
前記複数の曲テンプレートの各々は、特徴情報として楽節毎の楽節記号情報を複数含み、
前記作曲条件は、特徴情報として楽節毎の楽節記号情報を複数含み、
前記検索手段は、前記作曲条件に含まれる各々の楽節記号情報と前記曲テンプレートに含まれる各々の楽節記号情報とが類似する場合に、該曲テンプレートを前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートとして抽出する
ことを特徴とする請求項１に記載の自動作曲装置。
【請求項３】
前記検索手段で抽出される、前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートは、前記曲テンプレートに含まれる各々の楽節記号情報の並び順を入れ替えたものである
ことを特徴とする請求項２に記載の自動作曲装置。
【請求項４】
前記検索手段で抽出される、前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートは、前記曲テンプレートに含まれる楽節記号情報の一部を該楽節記号情報に類似の、該曲テンプレートに含まれる楽節記号情報で代用したものである
ことを特徴とする請求項２に記載の自動作曲装置。
【請求項５】
前記検索手段で抽出される、前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートは、前記曲テンプレート中に含まれ前記作曲条件には含まれていない楽節記号情報を、前記曲テンプレート及び前記作曲条件に共通に含まれる楽節記号情報で代用したものである
ことを特徴とする請求項２に記載の自動作曲装置。
【請求項６】
前記複数の曲テンプレートの各々は特徴情報としてフレーズ数を表す情報を含み、
前記作曲条件はフレーズ数を含み、
前記検索手段は、さらに、前記作曲条件に含まれるフレーズ数と曲テンプレートに含まれるフレーズ数とが一致するように該曲テンプレートを変形するフレーズ代用手段を具備する
ことを特徴とする請求項１記載の自動作曲装置。
【請求項７】
前記フレーズ代用手段は、前記作曲条件に含まれるフレーズ数が複数である場合には、変形後の曲テンプレートにおいて、該作曲条件に含まれる最後のフレーズに対応するフレーズが変形前の曲テンプレートの最後のフレーズと一致するよう曲テンプレートを変形する
ことを特徴とする請求項６記載の自動作曲装置。
【請求項８】
前記複数の曲テンプレートの各々は特徴情報として小節数を表す情報を含み、
前記作曲条件は小節数を含み、
前記検索手段は、さらに、前記作曲条件に含まれる小節数が曲テンプレートに含まれる小節数より少ない場合には両小節数が一致するよう該曲テンプレートを変形し前記候補として抽出し、前記作曲条件に含まれる小節数が曲テンプレートに含まれる小節数より多い場合には該曲テンプレートを前記候補としない小節代用手段を具備する
ことを特徴とする請求項１記載の自動作曲装置。
【請求項９】
前記小節代用手段は、前記作曲条件に含まれる小節数が複数である場合には、変形後の曲テンプレートにおいて、該作曲条件に含まれる最後の小節に対応する小節が変形前の曲テンプレートの最後の小節に一致するよう曲テンプレートを変形する
ことを特徴とする請求項８記載の自動作曲装置。
【請求項１０】
楽曲の特徴情報を含む複数の曲テンプレートを記憶するデータベースと、
入力される作曲すべき楽曲の歌詞から当該楽曲の特徴情報を検出し、検出した曲の特徴情報に基づいて前記データベースを検索する手段であって、前記検出した楽曲の特徴情報と一致する特徴情報を含む曲テンプレート、および前記検出した特徴情報に類似した特徴情報を含む曲テンプレートの双方を前記候補として抽出する検索手段と、
前記検索手段により抽出された１ないし複数の曲テンプレートから１つを選択する選択手段と、
前記選択手段により選択された曲テンプレートに基づいて楽曲を作曲する作曲手段と
を具備することを特徴とする自動作曲装置。
【請求項１１】
コンピュータを、
楽曲の特徴情報を含む複数の曲テンプレートを記憶するデータベースと、
使用者から入力される作曲すべき楽曲の特徴情報を含む作曲条件に基づいて、前記データベースを検索する手段であって、前記作曲条件に含まれる特徴情報と一致する特徴情報を含む曲テンプレート、および前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートの双方を候補として抽出する検索手段と、
前記検索手段により抽出された１ないし複数の曲テンプレートから１つを選択する選択手段と、
前記選択手段により選択された曲テンプレートに基づいて楽曲を作曲する作曲手段
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
コンピュータを、
楽曲の特徴情報を含む複数の曲テンプレートを記憶するデータベースと、
入力される作曲すべき楽曲の歌詞から当該楽曲の特徴情報を検出し、検出した曲の特徴情報に基づいてデータベースを検索する手段であって、前記検出した楽曲の特徴情報と一致する特徴情報を含む曲テンプレート、および前記検出した特徴情報に類似した特徴情報を含む曲テンプレートの双方を前記候補として抽出する検索手段と、
前記検索手段により抽出された１ないし複数の曲テンプレートから１つを選択する選択手段と、
前記選択手段により選択された曲テンプレートに基づいて楽曲を作曲する作曲手段
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、作曲条件に基づいて曲テンプレートを選択し、選択した曲テンプレートを使用して楽曲を作曲する自動作曲装置と、コンピュータ等により読み出して実行することにより当該自動作曲装置を構成するソフトウェアを記録した記録媒体とに関する。
【０００２】
【従来の技術】
従来より、作曲者の負担を軽減するために、自動作曲を行うための種々の自動作曲装置が提案されている。この種の自動作曲装置として、本出願人は、曲テンプレートに基づいてメロディを自動生成する自動メロディ生成装置を提案している（特願平８−１３２２０８号の特許願に添付した明細書および図面参照）。この自動メロディ生成装置は、使用者が設定した作曲条件をキーとして、予め記憶した複数の曲テンプレートを検索し、当該作曲条件に一致した曲テンプレートを候補として抽出する。そして、使用者の指示に応じて、上記候補から１つの曲テンプレートを選択し、選択した曲テンプレートを必要に応じて修正し、選択（および修正）された曲テンプレートを用いてメロディを生成する。なお、「曲テンプレート」とは、１曲分のピッチパターンおよびリズムパターンを記憶したメロディの雛形であり、上位から楽曲全体、楽節、フレーズ、小節などという順序で階層化された構造を有する。
上記自動メロディ生成装置では、使用者が設定する作曲条件としては、楽曲全体に対して楽曲の拍子、ジャンル（例えば８ビート）、調（長調／短調）、メロディック（流れるようなメロディ）／リズミック（刻むようなメロディ）の別、テンポ、音域の幅、最短音長、楽節数などを、楽節に対してフレーズ数、楽節記号、楽節の先頭コードおよび終了コードの組などを、フレーズに対して小節数などを、小節に対して音節数などを用いている。なお、歌詞無しの場合には、上記音節数は未定義となる。
【０００３】
【発明が解決しようとする課題】
ところで、従来の自動作曲装置では、入力された作曲条件（入力条件）に一致する曲テンプレートが存在しない場合には、入力条件の項目を減らして、すなわち検索条件を緩くして再検索せざるを得なかった。また、例えば、入力条件において、楽節記号が「Ａ」、「Ｂ」、「Ａ′」、「Ｂ′」と並んでいる場合には、「Ａ」、「Ｂ」、「Ａ」、「Ｂ′」という並びの楽節記号を有する曲テンプレートは候補になり得ないので、検索結果として得られる候補数が少ないことが予想される。なお、ダッシュ記号「′」は類似関係を表すものであり、例えば、楽節記号「Ａ′」は、楽節記号「Ａ」で表される楽節に類似した楽節に対して付与される。
このように、検索結果として得られる候補の数が少ない場合には、何れの候補を選択するにせよ、生成可能なメロディの多彩さに欠けてしまう。すなわち、作曲の自由度が低いという欠点があった。もちろん、曲テンプレートを使用せずに作曲作業を行うことは可能であるが、その場合には、自動メロディ生成装置を使用することの利点（作曲作業の効率化）はほとんど失われてしまう。
この発明は上述した事情に鑑みてなされたもので、再検索せずとも、作曲の自由度を十分に高く維持できる程度に多数の曲テンプレートの候補を抽出することができる自動作曲装置および記録媒体を提供することを目的としている。
【０００４】
【課題を解決するための手段】
上記課題を解決するために、本発明は、基本的に、入力条件に一致した曲テンプレートのみならず、入力条件に類似した曲テンプレートをも候補として抽出することにより曲テンプレートの候補の数を増大させており、その構成は以下に述べる通りである。
【０００５】
請求項１記載の自動作曲装置は、楽曲の特徴情報を含む複数の曲テンプレートを記憶するデータベースと、使用者から入力される作曲すべき楽曲の特徴情報を含む作曲条件に基づいて、前記データベースを検索する手段であって、前記作曲条件に含まれる特徴情報と一致する特徴情報を含む曲テンプレート、および前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートの双方を候補として抽出する検索手段と、前記検索手段により抽出された１ないし複数の曲テンプレートから１つを選択する選択手段と、前記選択手段により選択された曲テンプレートに基づいて楽曲を作曲する作曲手段とを具備することを特徴としている。
【０００６】
また、請求項２記載の自動作曲装置は、請求項１記載のものにおいて、前記複数の曲テンプレートの各々は、特徴情報として楽節毎の楽節記号情報を複数含み、前記作曲条件は、特徴情報として楽節毎の楽節記号情報を複数含み、前記検索手段は、前記作曲条件に含まれる各々の楽節記号情報と前記曲テンプレートに含まれる各々の楽節記号情報とが類似する場合に、該曲テンプレートを前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートとして抽出することを特徴としている。
【０００７】
さらに、請求項３記載の自動作曲装置は、請求項２記載のものにおいて、前記検索手段で抽出される、前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートは、前記曲テンプレートに含まれる各々の楽節記号情報の並び順を入れ替えたものであることを特徴としている。
【０００８】
また、請求項４記載の自動作曲装置は、請求項２記載のものにおいて、前記検索手段で抽出される、前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートは、前記曲テンプレートに含まれる楽節記号情報の一部を該楽節記号情報に類似の、該曲テンプレートに含まれる楽節記号情報で代用したものであることを特徴としている。
【０００９】
さらに、請求項５記載の自動作曲装置は、請求項２記載のものにおいて、前記検索手段で抽出される、前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートは、前記曲テンプレート中に含まれ前記作曲条件には含まれていない楽節記号情報を、前記曲テンプレート及び前記作曲条件に共通に含まれる楽節記号情報で代用したものであることを特徴としている。
【００１０】
また、請求項６記載の自動作曲装置は、請求項１記載のものにおいて、前記複数の曲テンプレートの各々は特徴情報としてフレーズ数を表す情報を含み、前記作曲条件はフレーズ数を含み、前記検索手段は、さらに、前記作曲条件に含まれるフレーズ数と曲テンプレートに含まれるフレーズ数とが一致するように該曲テンプレートを変形するフレーズ代用手段を具備することを特徴としている。
【００１１】
さらに、請求項７記載の自動作曲装置は、請求項６記載のものにおいて、前記フレーズ代用手段は、前記作曲条件に含まれるフレーズ数が複数である場合には、変形後の曲テンプレートにおいて、該作曲条件に含まれる最後のフレーズに対応するフレーズが変形前の曲テンプレートの最後のフレーズと一致するよう曲テンプレートを変形することを特徴としている。また、請求項８に記載の自動作曲装置は、請求項１記載のものにおいて、前記複数の曲テンプレートの各々は特徴情報として小節数を表す情報を含み、前記作曲条件は小節数を含み、前記検索手段は、さらに、前記作曲条件に含まれる小節数が曲テンプレートに含まれる小節数より少ない場合には両小節数が一致するよう該曲テンプレートを変形し前記候補として抽出し、前記作曲条件に含まれる小節数が曲テンプレートに含まれる小節数より多い場合には該曲テンプレートを前記候補としない小節代用手段を具備することを特徴としている。また、請求項９に記載の自動作曲装置は、請求項８記載のものにおいて、前記小節代用手段は、前記作曲条件に含まれる小節数が複数である場合には、変形後の曲テンプレートにおいて、該作曲条件に含まれる最後の小節に対応する小節が変形前の曲テンプレートの最後の小節に一致するよう曲テンプレートを変形することを特徴としている。また、請求項１０に記載の自動作曲装置は、楽曲の特徴情報を含む複数の曲テンプレートを記憶するデータベースと、入力される作曲すべき楽曲の歌詞から当該楽曲の特徴情報を検出し、検出した曲の特徴情報に基づいて前記データベースを検索する手段であって、前記検出した楽曲の特徴情報と一致する特徴情報を含む曲テンプレート、および前記検出した特徴情報に類似した特徴情報を含む曲テンプレートの双方を前記候補として抽出する検索手段と、前記検索手段により抽出された１ないし複数の曲テンプレートから１つを選択する選択手段と、前記選択手段により選択された曲テンプレートに基づいて楽曲を作曲する作曲手段とを具備することを特徴としている。また、請求項１１に記載のコンピュータ読み取り可能な記録媒体は、コンピュータを、楽曲の特徴情報を含む複数の曲テンプレートを記憶するデータベースと、使用者から入力される作曲すべき楽曲の特徴情報を含む作曲条件に基づいて、前記データベースを検索する手段であって、前記作曲条件に含まれる特徴情報と一致する特徴情報を含む曲テンプレート、および前記作曲条件に含まれる特徴情報に類似した特徴情報を含む曲テンプレートの双方を候補として抽出する検索手段と、前記検索手段により抽出された１ないし複数の曲テンプレートから１つを選択する選択手段と、前記選択手段により選択された曲テンプレートに基づいて楽曲を作曲する作曲手段として機能させるためのプログラムを記録したことを特徴としている。また、請求項１２に記載のコンピュータ読み取り可能な記録媒体は、コンピュータを、楽曲の特徴情報を含む複数の曲テンプレートを記憶するデータベースと、入力される作曲すべき楽曲の歌詞から当該楽曲の特徴情報を検出し、検出した曲の特徴情報に基づいてデータベースを検索する手段であって、前記検出した楽曲の特徴情報と一致する特徴情報を含む曲テンプレート、および前記検出した特徴情報に類似した特徴情報を含む曲テンプレートの双方を前記候補として抽出する検索手段と、前記検索手段により抽出された１ないし複数の曲テンプレートから１つを選択する選択手段と、前記選択手段により選択された曲テンプレートに基づいて楽曲を作曲する作曲手段として機能させるためのプログラムを記録したことを特徴としている。
【００１２】
【発明の実施の形態】
以下、図面を参照して、この発明の一実施形態について説明する。
本実施形態のハードウェア部分は汎用パーソナルコンピュータによって実現され、ソフトウェア部分は当該汎用パーソナルコンピュータのアプリケーションソフトウェアの一つとして実現される。まず、ハードウェア部分について説明する。
【００１３】
１：実施形態の構成
図１は本実施形態による自動作曲装置のハードウェア構成を示すブロック図である。この図において、１はＣＰＵ（中央処理装置）であり、後述する処理プログラムに基づいて他の構成要素を制御する。２はＲＡＭ（ランダムアクセス・メモリ）、３はＲＯＭ（リード・オンリィ・メモリ）であり、バス６を介してＣＰＵ１によってアクセスされる。ＲＯＭ３にはイニシャルプログラムローダ等が記憶されている。
４はハードディスクドライブやフロッピーディスクドライブ、ＣＤ−ＲＯＭ（コンパクトディスク・リード・オンリィ・メモリ）ドライブ、光磁気ディスク（ＭＯ）ドライブ、ＤＶＤ（デジタル多目的ディスク）装置等の外部記憶装置であり、その内部には、オペレーティングシステム、アプリケーションソフトウェア（制御プログラム）あるいは各種データを記憶した記憶（記録）媒体（ハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ、光磁気ディスク）が設けられている。
上記ソフトウェア（プログラムおよびデータを含む）は、ハードディスク上に展開された後に、あるいは直接、ＲＡＭ２上に展開される。なお、ＲＯＭ３に上記ソフトウェアを書き込み、これを利用するようにしてもよいが、ハードディスク等にソフトウェアをインストールしておく方法を採用することにより、制御プログラムの追加やバージョンアップ等を容易に行うことができるという利点が生まれる。
５はＣＲＴや液晶ディスプレイ等の表示回路であり、ＣＰＵ１の制御の下、各種の情報を表示する。７はキーボード、８はマウスやタブレット等のポインティングデバイス、９は音源であり、ＣＰＵ１から供給された演奏情報に基づいて楽音信号を合成する。１０はサウンドシステムであり、音源９によって合成された楽音信号を発音する。１１はＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）あるいは外部機器とのインタフェースである。
【００１４】
２：実施形態の動作
次に、上述した構成の自動作曲装置の動作について説明する。本実施形態に係る自動作曲装置は、歌詞やその他の音楽条件（作曲条件）に応じて「曲テンプレート」を選択し、この曲テンプレートに基づいてメロディを自動的に生成するものである。ここで、本実施形態における曲テンプレートのデータ構造例を図２に示す。曲テンプレートは楽曲全体（１曲）に対応したものであり、楽曲全体についての特徴情報、各楽節についての特徴情報およびメロディデータ（リズムパターンおよびピッチパターン）を有する。楽曲全体は、楽節、フレーズ、小節という順序で階層化された構造を有する。例えば、図２において、楽曲全体は第１〜第４楽節を、第１楽節は第１〜第２フレーズを、第１フレーズは第１〜第２小節を包含しており、第１小節にはリズムパターン（打点パターン）およびピッチパターンが対応付けられている。
【００１５】
なお、図２において、楽節記号（例えば、「Ａ」、「Ｂ」、「Ａ′」、「Ａ″」など）は、楽節の形式を表しており、通常は楽節の類似の度合を表すように体系化される。例えば、「Ａ」と「Ｂ」のように楽節記号のアルファベット部分が異なる楽節は、特徴情報やメロディ自体（すなわち各楽節のフレーズ構成、小節構成、メロディのリズムパターンやピッチパターンなど）が全く異なる楽節であり、「Ａ」、「Ａ′」、「Ａ″」のように、アルファベット部分が同一でダッシュ記号の数が異なる楽節は、似てはいるが若干異なる楽節、すなわち特徴情報やメロディ自体の多くが共通する楽節であることを表している。また、一般には、ダッシュ記号の数が近い程、共通する特徴情報やメロディ自体が多いことを表す。例えば、楽節記号が「Ａ″」の楽節よりも「Ａ′」の楽節の方が、より「Ａ」の楽節に類似している。
また、曲テンプレートに含まれる特徴情報としては、前述したように、楽曲全体に対して楽曲の拍子、ジャンル（例えば８ビート）、調（長調／短調）、メロディック（流れるようなメロディ）／リズミック（刻むようなメロディ）の別、テンポ、音域の幅、最短音長、楽節数などが、楽節に対してフレーズ数、楽節記号、楽節の先頭コードおよび終了コードの組などが、フレーズに対して小節数などが、小節に対して音節数などが対応付けられている。
【００１６】
２−１：作曲処理（全体）
ここで、上述した曲テンプレートを用いた作曲処理について説明する。ただし、メロディ生成処理などの本発明と直接的に関連しない処理については、説明の繁雑化回避のため、その説明を省略する。
図３に、本実施形態による自動作曲装置による楽節データの入力処理およびメロディ生成処理の流れを示すフローチャートを示す。この図に示されるように、まず、自動作曲装置は、キーボード７やポインティングデバイス８を用いて入力される使用者の指示に基づいて、作曲しようとする楽曲に歌詞が有るか否かを判定し（ステップＳＡ１）、歌詞が有る場合には、歌詞の入力処理を行い、入力終了後に、入力された歌詞から曲の構成（楽節数、楽節毎のフレーズ数、フレーズ毎の小節数、小節毎の音節数）を検出する（ステップＳＡ２〜ＳＡ３）。ただし、楽節、フレーズ、小節などの区切り位置には、各区切りを示す記号が歌詞の中に含まれているものとし、ステップＳＡ３では各区切り記号を検出することにより曲の構成を検出する。この歌詞構成の検出処理の後、あるいはステップＳＡ１にて歌詞がないと判定した後に、本装置は、使用者が指定する作曲条件を入力する（ステップＳＡ４）。ここで入力する作曲条件には、楽曲全体の作曲条件である全体作曲条件と、楽節毎の作曲条件である楽節作曲条件とが含まれる。なお、ステップＳＡ２，ＳＡ３で歌詞の入力および曲の構成検出がなされなかったときは、ステップＳＡ３にて曲の構成（楽節数、楽節毎のフレーズ数、フレーズ毎の小節数、小節毎の音符数）を入力する。
【００１７】
作曲条件の入力が終了すると、本装置は、検出した歌詞構成と、入力した全体作曲条件と、入力した楽節作曲条件とに適合した曲テンプレート候補を抽出する（ステップＳＡ５）。この曲テンプレート候補の抽出処理は本装置に特有の処理であり、後に詳述するように、曲テンプレートの要素を組み替えることによって初めて上記曲構成および作曲条件を満たす曲テンプレートをも候補として抽出する。次に、本装置は、ステップＳＡ５で抽出した候補の１つを選択し（ステップＳＡ６）、選択した候補のメロディの音節数を歌詞の音節数あるいは入力された音符数に合わせてリズムパターンを決定し（ステップＳＡ７）、ピッチを決定し（ステップＳＡ８）、メロディを変形する（ステップＳＡ９）。こうしてＲＡＭ２上にメロディ等の情報が生成される。
【００１８】
２−２：候補抽出処理
次に、上述した作曲処理における曲テンプレート候補の抽出処理について説明する。図４は本装置による候補抽出処理を説明するための図であり、１つの入力条件（入力した楽節作曲条件）と５つの曲テンプレートとが対比して示されている。なお、この図に示す５つの曲テンプレートは、当該テンプレートに含まれる全体特徴情報が、入力した全体作曲条件と一致していると判定されたテンプレートである。
【００１９】
この図において最上段の曲テンプレートは、全ての楽節特徴情報が入力作曲条件と一致しており（完全一致）、このような曲テンプレートは本処理によって候補として抽出される。また、２段目の曲テンプレートでは、一部（第４楽節）の楽節特徴情報が入力作曲条件と一致していないが、当該曲テンプレート上の他の楽節特徴情報を不一致部分に代用（具体的には楽節特徴情報が類似する第２楽節の「Ａ′」を「Ａ″」の代わりとし、かつ第４楽節に適用）することで「一致」とみなすことが可能であり（代用一致）、このような曲テンプレートは本処理によって候補として抽出される。また、３段目の曲テンプレートでは、一部（第３楽節と第４楽節）の楽節特徴情報が入れ替わっているが、当該曲テンプレート上の一部の楽節特徴情報を入れ替える（具体的には第３楽節と第４楽節を入れ替える）ことで「一致」とみなすことが可能である（代用一致）。また、４段目の曲テンプレートでは、一部（第２楽節と第４楽節）の楽節特徴情報が入力条件と一致しておらず、かつ、入力作曲条件には含まれない楽節特徴情報（「Ｃ」）が存在しているが、当該入力作曲条件には含まれない楽節を無効とし、代わりに他の楽節特徴情報を不一致部に代用（具体的には第１楽節の「Ａ」を「Ａ′」および「Ａ″」の代わりとし、かつ、第２楽節および第４楽節に適用）することで「一致」みなすことが可能である（代用一致）。一方、最下段の曲テンプレートでは、一部の楽節特徴情報が入力作曲条件と一致しておらず、かつ、当該テンプレート上の他の楽節特徴情報を不一致部分に適用する、あるいは楽節特徴情報が類似する楽節の特徴情報を当該楽節の楽節特徴情報の代わりとするなどの代用が効かないため、「一致」または「類似」とみなすことはできない。したがって、このような曲テンプレートは本処理によって候補から除外される。以下、上述した一致（類似）／不一致（非類似）の判定処理および代用処理の詳細について、図４〜図６を参照して説明する。
【００２０】
図５および図６は、１つの曲テンプレートに対する判定処理および代用処理の一例を示す図であり、接続点Ａ，Ｂ，Ｃ，Ｄにおいて接続され、１つのフローチャートを構成する。
図５および図６に示すように、本装置は、まず、変数として用意した曲テンプレートカウンタに１を代入し（ステップＳＢ１）、以後、データベース中の全ての曲テンプレートに対してステップＳＢ５以降の判定処理（および代用処理）が終了するまで、１つの曲テンプレートに対する判定処理（および代用処理）を終える毎に曲テンプレートカウンタの値をインクリメントする（ステップＳＢ２，ＳＢ３）。そして、全ての曲テンプレートに対する判定処理（および代用処理）を完了すると、本装置は、全てのデータに対する処理を終えたことを表すデータエンドマークをＲＡＭ２の所定領域へ追記し、図３のステップＳＡ６の処理に移行する。
【００２１】
次に、ステップＳＢ５にてデータベースから読み出された１つの曲テンプレートに対する判定処理（および代用処理）について説明する。以下の説明では、まず、入力条件や曲テンプレートに依存しない共通処理について説明し、続いて、入力条件および曲テンプレートに応じて行われる個別処理について説明する。なお、以降の説明において、特に断らない限り、動作の主体は本装置であるものとする。
【００２２】
（ａ）共通処理
ステップＳＢ５にてデータベースから１つの曲テンプレートを読み出した本装置は、まず、比較の対象とする楽節（対象楽節）を表す変数である楽節カウンタに１を代入する（ステップＳＢ６）。すなわち、第１楽節を対象楽節とする。以後、最後の楽節（例えば第４楽節）に対する比較処理（ステップＳＢ１４以降の処理）が完了するまで、対象楽節について曲テンプレートとの比較を行うとともに楽節カウンタをインクリメントする（ステップＳＢ７，ＳＢ８）。
最後の楽節に対する比較処理が完了すると、フレーズの代用処理（ステップＳＢ９）、小節の代用処理（ステップＳＢ１０）が行われ、代用処理が成功した場合（代用一致の場合）には、当該曲テンプレートを候補とし、その番号をＲＡＭ２の所定領域に追記し、各候補の区切りを表す１曲エンドマークを所定のタイミングでＲＡＭ２の所定領域に追記し、ステップＳＢ２の処理に移行する（ステップＳＢ１１，ＳＢ１２）。ただし、最後の楽節に対する比較処理が完了する前に不一致と判定した場合（代用一致の可能性すら存在しない場合）や、代用処理に失敗した場合には、当該曲テンプレートを候補とせず（ＲＡＭ２の所定領域にデータを追記することなく）、ステップＳＢ２の処理に移行する（ステップＳＢ１３）。なお、ステップＳＢ１３の処理において、対象曲テンプレートに関するデータがＲＡＭ２の所定領域に既に格納されている場合には、これを消去する。
【００２３】
ここで、本装置における楽節記号の採用（あるいは代用）方針を以下に示す。
（１）入力条件の対象楽節に対応する対象曲テンプレート上の楽節が同一の楽節記号を有する場合には、その楽節記号を採用する（一致による採用）。
（２）入力条件の対象楽節に対応する対象曲テンプレート上の楽節には同一の楽節記号が存在しないが、対象曲テンプレート上の他の楽節に同一の楽節記号が与えられている場合には、その楽節記号を採用する（代用）。
（３）入力楽節に対応する対象曲テンプレート上の楽節が、入力条件における楽節記号の同じ種類の記号であって、ダッシュ（′）の数が少ないものである（＝類似楽節記号である）場合には、その楽節記号を採用する（代用）。
（４）入力条件の対象楽節に対応する対象曲テンプレート上の楽節には類似の楽節記号が存在しないが、対象曲テンプレート上の他の楽節に類似の楽節記号が与えられている場合には、その楽節記号を採用する（代用）。
なお、上記（２）あるいは（４）に該当したとき、入力条件の対象楽節に対応する対象曲テンプレート上の楽節に存在する楽節記号は、他の楽節に与えられている楽節記号に置き換えられるため、入力条件には存在しない楽節特徴情報が曲テンプレート上に存在する場合であっても、該曲テンプレートが採用される可能性がある。
【００２４】
（ｂ）個別処理
ステップＳＢ１４以降の処理が個別処理に相当する。まず、処理の概要を説明し、その後、ケース毎に処理の流れを説明する。なお、ケース▲１▼、▲２▼、▲３▼、▲４▼は一致または類似と判定されるケースであり、ケース▲５▼は不一致と判定されるケースである。
【００２５】
［概要説明］
まず、入力条件における対象楽節（最初は第１楽節）の楽節記号（例えば「Ａ」）を変数ｋＸ  に代入する（ステップＳＢ１４）。次に、変数ｋＸ  の内容（例えば「Ａ」）と同一の楽節記号を有する楽節が対象曲テンプレート内に存在するか否かを判定する（ステップＳＢ１５）。存在する位置は対象曲テンプレート内であればどこでもよく、対象曲テンプレート内のいずれかの位置に存在すれば対象楽節と同じ楽節でなくとも「ＹＥＳ」と判定される。この判定結果が「ＹＥＳ」であればステップＳＢ１６へ進み、「ＮＯ」であればステップＳＢ１８へ進む。ステップＳＢ１６では、対象曲テンプレート内に存在する対象楽節記号と同一の楽節記号を採用し、続くステップＳＢ１７では、該楽節記号をＲＡＭ２に格納する。
【００２６】
一方、対象楽節の楽節記号と同一の楽節記号が対象曲テンプレート内に存在しないときは、変数ｋＸ  のダッシュ記号部Ｘの内容が「′」であるか否かを判定する（ステップＳＢ１８）。この判定結果が「ＹＥＳ」ならば、変数ｋの内容と同一の楽節記号が対象曲テンプレート内に存在するか否かが判定される（ステップＳＢ２２）。この判定結果が「ＹＥＳ」ならば、該当記号を採用し（ステップＳＢ２３）、続くステップＳＢ１７では、該楽節記号をＲＡＭ２に格納する。一方、ステップＳＢ２２の判定結果が「ＮＯ」ならば、当該曲テンプレートは楽節記号が相違し、かつ代用不可能であるため、候補とはせず（ステップＳＢ１３）、ステップＳＢ２の処理に移行する。
【００２７】
ステップＳＢ１８で「ＮＯ」と判定されたときは、変数ｋＸ  のダッシュ記号部Ｘの内容が「″」であるか否かを判定する（ステップＳＢ１９）。この判定結果が「ＹＥＳ」ならば変数ｋ′の内容と同一の楽節記号が対象曲テンプレート内に存在するか否かが判定される（ステップＳＢ２０）。ここでも「ＹＥＳ」ならば該楽節記号を採用し（ステップＳＢ２１）、続くステップＳＢ１７では、当該楽節記号をＲＡＭ２に格納する。この結果、対象楽節の楽節記号がｋ″であったとき、対象曲テンプレート内のいずれかの位置にｋ′が存在していれば、該ｋ′がｋ″の代わりに採用される。一方、ステップＳＢ２０で「ＮＯ」と判定されたときは、変数ｋの内容と同一の楽節記号が対象曲テンプレート内に存在するか否かが判定される（ステップＳＢ２４）。この判定結果が「ＹＥＳ」ならば該楽節記号を採用し（ステップＳＢ２５）、続くステップＳＢ１７では、当該楽節記号をＲＡＭ２に格納する。この結果、対象楽節の楽節記号がｋ″であったとき、対象曲テンプレート内のいずれかの位置にｋが存在していれば、該ｋがｋ″の代わりに採用される。つまり、ｋ″が対象曲テンプレート内に存在しないとき、まずｋ′を探して、あればｋ′を採用し、ないときはｋを探して、あればｋを採用する。
【００２８】
ステップＳＢ２４で「ＮＯ」と判定された場合には、当該曲テンプレートは楽節記号が相違し、かつ代用不可であるため、候補とはせず（ステップＳＢ１３）、ステップＳＢ２の処理に移行する。また、ステップＳＢ１９で「ＮＯ」と判定されたときも、上述と同様に当該曲テンプレートを候補とせず、ステップＳＢ１３を介してステップＳＢ２の処理に移行する。
【００２９】
［ケース毎の処理］
続いて、各ケース毎に処理の流れを説明する。ただし、いずれのケースにおいても、入力条件は「Ａ，Ａ′，Ｂ，Ａ″」であるものとする。
ケース▲１▼：対象曲テンプレートが「Ａ，Ａ′，Ｂ，Ａ″」の場合（図４の▲１▼の場合）
まず、第１楽節については、対象楽節の楽節記号が「Ａ」であり、対象曲テンプレートにおける第１楽節の楽節記号も「Ａ」であるので、ステップＳＢ１４、ステップＳＢ１５を介してステップＳＢ１６にて楽節記号「Ａ」が採用される。第２楽節、第３楽節、第４楽節についても同様に対象楽節同士の楽節記号が一致するので、それぞれ上記と同様の処理によって「Ａ′」、「Ｂ」、「Ａ″」が採用され、その結果、当該対象曲テンプレートは全ての楽節について楽節記号が採用されることになる。よって、「楽節記号に関して一致」とされ、以後、ステップＳＢ９以下の処理が行われる。
【００３０】
ケース▲２▼：対象曲テンプレートが「Ａ，Ａ′，Ｂ，Ａ」の場合（図４の▲２▼の場合）
第１楽節、第２楽節、第３楽節については、上記ケース▲１▼の場合と同様に、入力条件と対象曲テンプレートにおける各楽節の楽節記号が等しいため、ステップＳＢ１４、ステップＳＢ１５を介して、ステップＳＢ１６にてそれぞれ楽節記号「Ａ」、「Ａ′」、「Ｂ」が採用される。上述したケース▲１▼の場合と大きく異なる部分は、対象楽節が第４楽節のときの処理である。対象楽節が第４楽節の場合、入力条件の楽節記号は「Ａ″」であるが、対象曲テンプレートには、「Ａ″」の楽節記号を有する楽節は存在しない。このため、ステップＳＢ１５において「ＮＯ」と判定され、さらに、当該楽節記号「Ａ″」のダッシュ記号部Ｘの内容は「″」であるため、ステップＳＢ１８においても「ＮＯ」と判定されて、ステップＳＢ１９へと進む。そして、ステップＳＢ１９においては「ＹＥＳ」と判定され、かつ対象曲テンプレート中にｋが等しく、ダッシュ記号部が「′」である楽節記号「Ａ′」が存在するため、ステップＳＢ２０にて「ＹＥＳ」と判定され、ステップＳＢ２１で該楽節記号「Ａ′」が採用（代用）される。その結果、当該対象曲テンプレートは全ての楽節について楽節記号が採用されたために、「楽節記号に関して代用可能」とされ、以後、ステップＳＢ９以下の処理が行われる。
【００３１】
ケース▲３▼：対象曲テンプレートが「Ａ，Ａ′，Ａ″，Ｂ」の場合（図４の▲３▼の場合）
第１楽節、第２楽節については、上記ケース▲１▼の場合と同様に、入力条件と対象曲テンプレートにおける各楽節の楽節記号が等しいため、ステップＳＢ１４、ステップＳＢ１５を介して、ステップＳＢ１６にてそれぞれ楽節記号「Ａ」、「Ａ′」が採用される。しかし、対象楽節が第３楽節と第４楽節についても、入力条件と対象曲テンプレートにおける対象楽節同士の楽節記号は一致しないものの、対象曲テンプレート中の他の楽節において、それぞれの楽節記号が存在する。すなわち、入力条件の第３楽節における楽節記号「Ｂ」は対象曲テンプレートにおける第４楽節に存在し、入力条件の第４楽節における楽節記号「Ａ″」は対象曲テンプレートにおける第３楽節に存在する。したがって、これら第３楽節、第４楽節においても、ステップＳＢ１４、ステップＳＢ１５を介してステップＳＢ１６にて楽節記号「Ｂ」、「Ａ″」がそれぞれ採用され、その結果、当該対象曲テンプレートは全ての楽節について楽節記号が採用されたために、「楽節記号に関して代用可能」とされ、以後、ステップＳＢ９以下の処理が行われる。
【００３２】
ケース▲４▼：対象曲テンプレートが「Ａ，Ａ，Ｂ，Ｃ」の場合（図４の▲４▼の場合）
第１楽節、第３楽節については、上記▲１▼の場合と同様に、入力条件と対象曲テンプレートにおける各楽節の楽節記号が等しいため、ステップＳＢ１４、ステップＳＢ１５を介して、ステップＳＢ１６にてそれぞれ楽節記号「Ａ」、「Ｂ」が採用される。また、第２楽節については、入力条件の楽節記号は「Ａ′」であるが、対象曲テンプレートには「Ａ′」の楽節記号を有する楽節は存在しない。このため、ステップＳＢ１５において「ＮＯ」と判定される。そして、ステップＳＢ１８にて「ＹＥＳ」と判定され、対象曲テンプレートの第１楽節および第２楽節に楽節記号「Ａ」が存在するため、ステップＳＢ２２にて「ＹＥＳ」と判定されて、ステップＳＢ２３にて楽節記号「Ａ」が採用（代用）される。また、第４楽節については、入力条件の楽節記号は「Ａ″」であるが、対象曲テンプレートには、「Ａ″」の楽節記号を有する楽節は存在しない。このため、ステップＳＢ１５、ステップＳＢ１８でそれぞれ「ＮＯ」と判定され、ステップＳＢ１９へ進む。当該楽節記号「Ａ″」のダッシュ記号部Ｘの内容は「″」であるため、ステップＳＢ１９においては「ＹＥＳ」と判定される。対象曲テンプレート中にｋが等しく、ダッシュ記号部が「′」である楽節記号「Ａ′」は存在しないため、ステップＳＢ２０では「ＮＯ」と判定される。対象曲テンプレートの第１楽節および第２楽節に楽節記号「Ａ」が存在するため、ステップＳＢ２４にて「ＹＥＳ」と判定され、ステップＳＢ２５で該楽節記号「Ａ」が採用（代用）される。その結果、当該対象曲テンプレートは全ての楽節について楽節記号が採用されたために、「楽節記号に関して代用可能」とされ、ステップＳＢ９以下の処理へ渡される。
【００３３】
ケース▲５▼：入力条件が「Ａ，Ａ′，Ｂ，Ａ″」、対象曲テンプレートが「Ａ，Ａ′，Ａ，Ａ″」の場合（図４の▲５▼の場合）
第１楽節、第２楽節については、上記▲１▼の場合と同様に、入力条件と対象曲テンプレートにおける各楽節の楽節記号が等しいため、ステップＳＢ１４、ステップＳＢ１５を介して、ステップＳＢ１６にてそれぞれ楽節記号「Ａ」、「Ａ′」が採用される。ところが、第３楽節の楽節記号「Ｂ」に関して、対象曲テンプレート中には、アルファベット部分が「Ｂ」の楽節記号を有する楽節が存在しない。したがって、ステップＳＢ１５、ステップＳＢ１８、ステップＳＢ１９の判定結果はそれぞれ「ＮＯ」となり、当該曲テンプレートを候補とすることなく（ステップＳＢ１３）、ステップＳＢ２の処理に移行する。すなわち、図４の曲テンプレート▲５▼には、入力条件に含まれる楽節記号「Ｂ」に代用可能な楽節が存在しないため、「楽節記号に関して代用不可能」とされる。
【００３４】
２−３：フレーズ代用処理
次に、上述した処理に内包されるフレーズの代用処理について説明する。
図７は本装置によるフレーズ代用処理において採用されている代用ルールを表す図であり、入力条件中の１つの楽節に含まれる各フレーズに対して採用される対象曲テンプレート中の対応する楽節内のフレーズを示している。この図においては、以下の（α）〜（γ）で述べるように、入力条件中の１つの楽節が包含するフレーズ数毎に代用（使用）パターンが示されている。
【００３５】
（α）入力条件中の１つの楽節が１つのフレーズ（第１フレーズ）を包含する場合
この場合には、対象曲テンプレートの対象楽節が包含するフレーズの数が１（フレーズ▲１▼），２（フレーズ▲１▼，▲２▼），３（フレーズ▲１▼，▲２▼，▲３▼）のいずれであっても、第１フレーズにはフレーズ▲１▼を代用（使用）する。
【００３６】
（β）入力条件中の１つの楽節が２つのフレーズ（第１、第２フレーズ）を包含する場合
この場合には、対象曲テンプレートの対象楽節が包含するフレーズの数に応じて、以下に示す３通りの代用（使用）パターンがあり得る。
（β−１）対象曲テンプレートの対象楽節が包含するフレーズがフレーズ▲１▼のみの場合
この場合には、第１フレーズについてはフレーズ▲１▼を使用し、第２フレーズについては最後のフレーズ▲１▼を代用する。
（β−２）同対象楽節が包含するフレーズがフレーズ▲１▼および▲２▼の２つの場合
この場合には、第１フレーズについてはフレーズ▲１▼を、第２フレーズについてはフレーズ▲２▼を使用する。
（β−３）同対象楽節が包含するフレーズがフレーズ▲１▼〜▲３▼の３つの場合
この場合には、第１フレーズについてはフレーズ▲１▼を使用し、第２フレーズについては最後のフレーズ▲３▼を代用する。
【００３７】
（γ）入力条件中の１つの楽節が３つのフレーズ（第１、第２、第３フレーズ）を包含する場合
この場合には、対象曲テンプレートの対象楽節が包含するフレーズの数に応じて、以下に示す３通りの代用（使用）パターンがあり得る。
（γ−１）対象曲テンプレートの対象楽節が包含するフレーズがフレーズ▲１▼のみの場合
この場合には、第１フレーズについてはフレーズ▲１▼を使用し、第２フレーズについてはフレーズ▲１▼を代用し、第３フレーズについては最後のフレーズ▲１▼を代用する。
（γ−２）同対象楽節が包含するフレーズがフレーズ▲１▼および▲２▼の２つの場合
この場合には、第１フレーズについてはフレーズ▲１▼を、第２フレーズについてはフレーズ▲２▼を使用し、第３フレーズについては最後のフレーズ▲２▼を代用する。
（γ−３）同対象楽節が包含するフレーズがフレーズ▲１▼〜▲３▼の３つの場合
この場合には、第１フレーズについてはフレーズ▲１▼を、第２フレーズについてはフレーズ▲２▼を、第３フレーズについてはフレーズ▲３▼を使用する。
次に、１つの曲テンプレートに対する具体的なフレーズ代用処理について説明する。
【００３８】
（ａ）共通処理
図８はフレーズ代用処理の流れを示すフローチャートであり、このフローチャートに示すように、本装置は、まず、対象楽節を表す変数である楽節カウンタｇに１を代入し（ステップＳＣ１）、以後、最後の楽節に対する代用処理が完了するまで、対象楽節についてフレーズの代用処理（ステップＳＣ４以降の処理）を行うとともに楽節カウンタｇをインクリメントする（ステップＳＣ２，ＳＣ３）。
ステップＳＣ４では、対象フレーズを表す変数であるフレーズカウンタｐに１を代入し、以後、対象楽節中の最後のフレーズに対する代用処理が完了するまで、対象フレーズについてフレーズの代用処理（ステップＳＣ７以降の処理）を行うとともにフレーズカウンタｐをインクリメントする（ステップＳＣ５，ＳＣ６）。そして、最後の楽節に対する比較処理が完了すると、処理は小節代用処理（図６のステップＳＢ１０）へ進む。
【００３９】
（ｂ）個別処理
図８のステップＳＣ７以降の処理が個別処理に相当する。以下、図９および図１０に示す各ケース毎に処理の流れを説明する。ただし、図９，図１０において、楽節、フレーズ、小節は、図中左から右へ昇順で整列しているものとする。
【００４０】
（ｂ−１）図９のケース
このケースでは、まず、入力条件における対象楽節（第１楽節）内の対象フレーズ（第１フレーズ）が対象曲テンプレートに存在するか否かを判定する（ステップＳＣ７）。ここでは、対象曲テンプレートの第１楽節内に第１フレーズが存在するので、上記判定結果は「ＹＥＳ」となり、対象曲テンプレートの第１楽節内の第１フレーズを対象フレーズに使用することを決定し（ステップＳＣ８）、対象曲テンプレートにおいて使用が決定されたフレーズの番号（すなわち「１」）をＲＡＭ２の所定領域に追記する（ステップＳＣ９）。
対象フレーズが第１楽節の第２フレーズになると、第１フレーズに対する手順と同様の手順により、対象フレーズに使用する対象曲テンプレートのフレーズを決定し、その番号（すなわち「２」）をＲＡＭ２の所定領域に追記する（ステップＳＣ７，ＳＣ８，ＳＣ９）。そして、これと同様の処理が第１楽節の第３フレーズについても行われ、使用が決定されたフレーズの番号（すなわち「３」）がＲＡＭ２の所定領域に追記される（ステップＳＣ７，ＳＣ８，ＳＣ９）。
次に、入力条件における対象楽節が第２楽節、第３楽節と順に変わると、それぞれ、上述した第１楽節に係る処理と同様の処理が行われる。
【００４１】
そして、入力条件における対象楽節が第４楽節となり、さらに、入力条件における対象フレーズが第３フレーズとなると、上述した処理と異なる処理が行われる。この場合、入力条件における対象フレーズ（第３フレーズ）は対象曲テンプレートに存在しないので、ステップＳＣ７の判定結果は「ＮＯ」となり、対象フレーズが入力条件における対象楽節の最後のフレーズであるか否かが判定される（ステップＳＣ１０）。ここでは、対象フレーズは最終フレーズであるので、当該判定結果は「ＹＥＳ」となり、対象フレーズを、対象曲テンプレートの対象楽節内の最終フレーズ（第２フレーズ）で代用することを決定する（ステップＳＣ１１）。以後、他のフレーズに係る処理と同様に、代用が決定されたフレーズの番号（すなわち「２」）をＲＡＭ２の所定領域に追記する。
【００４２】
（ｂ−２）図１０のケース
このケースにおいて特徴的な部分は、第４楽節において、対象曲テンプレートの対象フレーズ数の方が少ない部分であり、図９のケースと同様の代用処理が行われる。具体的には、対象フレーズが第４楽節の第３フレーズになると、ステップＳＣ７の判定結果は「ＮＯ」となり、ステップＳＣ１０の判定結果は「ＹＥＳ」となる。よって、ステップＳＣ１１にて、第３フレーズを、対象曲テンプレートの対象楽節内の最終フレーズ（第２フレーズ）で代用することが決定される。以後、前述したケースと同様に、適用するフレーズの番号（すなわち「２」）がＲＡＭ２の所定領域に追記される（ステップＳＣ９）。
【００４３】
なお、ステップＳＣ１０での判定結果が「ＮＯ」となるケースとしては、例えば、入力条件の対象楽節のフレーズ数が３であり、対象曲テンプレートの対象楽節のフレーズ数が１であるケースが挙げられる。このようなケースにおいて、入力条件の対象楽節の第２フレーズが対象フレーズとなると、ステップＳＣ７，ＳＣ１０の判定結果はそれぞれ「ＮＯ」となり、対象フレーズを、対象曲テンプレートの対象楽節内の２以下の最大（最後）のフレーズ（第１フレーズ）で代用することが決定される（ステップＳＣ１２）。以後、前述した他のケースと同様に、適用するフレーズの番号（すなわち「１」）がＲＡＭ２の所定領域に追記される（ステップＳＣ９）。
【００４４】
２−４：小節代用処理
次に、前述の２−２の処理に内包される小節の代用処理について説明する。
図１１は本装置による小節代用処理において採用されている代用ルールを表す図であり、入力条件中の１つのフレーズに含まれる各小節に対して採用される対象曲テンプレート中の対応するフレーズ内の小節を示している。この図から明らかなように、例えば、入力条件中の１つのフレーズが２つの小節（第１小節、第２小節）を包含する場合には、以下に示す２通りの代用（使用）パターンがあり得る。
（１）対象曲テンプレート側の対象フレーズが包含する小節が小節▲１▼および▲２▼の２つの場合には、第１小節については小節▲１▼を、第２小節については小節▲２▼を使用する。
（２）同対象フレーズが包含する小節が小節▲１▼〜▲３▼の３つの場合には、第１小節については小節▲１▼を使用し、第２小節については最後の小節▲３▼を代用する。
【００４５】
すなわち、基本的には、入力条件側の小節について、対象曲テンプレート上の相当する小節を使用し、対象曲テンプレート側の小節数が多い場合には、入力条件側の最後の小節に対象曲テンプレート側の最後の小節を代用する。また、小節の代用処理においては、入力条件側の小節数が対象曲テンプレート側の小節数より多い場合には、代用不可能とされる。なお、本装置においては、作曲条件における各フレーズ中の小節数を１〜３に限定している。
次に、１つの曲テンプレートに対する具体的な小節代用処理について説明する。
【００４６】
（ａ）共通処理
図１２および図１３は小節代用処理の流れを示す図であり、結合点Ｅ，Ｆ，Ｇ，Ｈ，Ｉで接続され、１つのフローチャートを構成する。このフローチャートに示すように、本装置は、まず、楽節カウンタｇに１を代入し（ステップＳＤ１）、以後、最後の楽節に対する代用処理が完了するまで、対象楽節について小節の代用処理（ステップＳＤ４以降の処理）を行うとともに楽節カウンタｇをインクリメントする（ステップＳＤ２，ＳＤ３）。
ステップＳＤ４では、フレーズカウンタｐに１を代入し、以後、対象楽節中の最後のフレーズに対する代用処理が完了するまで、対象フレーズについてステップＳＤ７以降の処理を行うとともにフレーズカウンタｐをインクリメントする（ステップＳＤ５，ＳＤ６）。ステップＳＤ７では、小節カウンタｂに１を代入し、以後、対象フレーズ中の最後の小節に対する代用処理が完了するまで、対象小節についてステップＳＤ１１以降の処理を行うとともに小節カウンタｂをインクリメントする（ステップＳＤ８，ＳＤ９）。
そして、最後の楽節に対する比較処理が完了すると、処理は図６のステップＳＢ１０へ進む。なお、対象曲テンプレートの小節不足のために代用処理に失敗した場合には、当該曲テンプレートを候補とせず、ステップＳＢ１１の処理に移行する（ステップＳＤ１０）。
【００４７】
（ｂ）個別処理
図１２のステップＳＤ１１以降の処理が個別処理に相当する。以下、図９、図１０、および図１４に示す各ケース毎に処理の流れを説明する。
【００４８】
（ｂ−１）図９のケース
このケースでは、まず、対象小節が第１小節であるか否かを判定する（ステップＳＤ１１）。ここでは、対象小節は第１小節であるので、上記判定結果は「ＹＥＳ」となり、対象曲テンプレートの第１楽節内の第１フレーズに含まれる第１小節を対象小節に使用することを決定し（ステップＳＤ１２）、その小節番号（すなわち「１」）をＲＡＭ２の所定領域に追記する（ステップＳＤ１３）。
対象小節が第２楽節の第２フレーズに含まれる第２小節になった場合、ステップＳＤ１１での判定結果は「ＮＯ」、ステップＳＤ１４での判定結果は「ＹＥＳ」、ステップＳＤ１５での判定結果は「ＹＥＳ」となる。しかし、この場合には、対象曲テンプレートの第２楽節の第２フレーズにおいて、第２小節は最終小節ではないので、ステップＳＤ１６の判定結果は「ＮＯ」となり、対象小節に、対象曲テンプレートの第２楽節の第２フレーズに含まれる第２小節を使用することが決定され（ステップＳＤ１８）、その小節番号（すなわち「２」）がＲＡＭ２の所定領域に追記される（ステップＳＤ１３）。
さらに、対象小節が後続する第３小節に移行した場合、ステップＳＤ１１，ＳＤ１４の判定結果は「ＮＯ」となり、対象曲テンプレートの第２楽節の第２フレーズに含まれる小節数が３以上であるか否かが判定される（ステップＳＤ１９）。この判定結果は「ＹＥＳ」となるので、対象曲テンプレートの第２楽節の第２フレーズに含まれる第３小節を使用することが決定され（ステップＳＤ２０）、その小節番号（すなわち「３」）がＲＡＭ２の所定領域に追記される（ステップＳＤ１３）。
対象小節が第４楽節の第３フレーズに含まれる第２小節になると、ステップＳＤ１１での判定結果は「ＮＯ」となり、対象小節が第２小節であるか否かが判定される（ステップＳＤ１４）。この判定結果は「ＹＥＳ」となり、以後、対象曲テンプレートの対象フレーズに含まれる小節の数が２以上であるか否かの判定処理（ステップＳＤ１５）、最後の小節であるか否かの判定処理（ステップＳＤ１６）が行われる。ステップＳＤ１６での判定結果は「ＹＥＳ」となるので、対象小節を、対象曲テンプレートの第４楽節の第２フレーズにおける最終小節（第３小節）で代用することが決定され（ステップＳＤ１７）、その小節番号（すなわち「３」）がＲＡＭ２の所定領域に追記される（ステップＳＤ１３）。
【００４９】
（ｂ−２）図１０のケース
このケースの処理が上述した図９のケースにおける処理と大きく異なる部分は、対象小節が第４楽節の第３フレーズに含まれる第３小節のときの処理である。この場合、ステップＳＤ１１およびＳＤ１４の判定結果は「ＮＯ」となり、さらに、対象曲テンプレート側の小節数が３小節に満たないことから、ステップＳＤ１９の判定結果も「ＮＯ」となる。よって、本装置は、対象曲テンプレートを候補としない（ステップＳＤ１０）。
【００５０】
（ｂ−３）図１４のケース
このケースの処理が上述した図９のケースにおける処理と大きく異なる部分は、対象小節が第３楽節の第１フレーズに含まれる第２小節のときの処理である。この場合、ステップＳＤ１１の判定結果は「ＮＯ」、ステップＳＤ１４の判定結果は「ＹＥＳ」となり、さらに、対象曲テンプレート側の第３楽節の第１フレーズに含まれる小節数が２未満であることから、ステップＳＤ１５の判定結果は「ＮＯ」となる。よって、本装置は、対象曲テンプレートを候補としない（ステップＳＤ１０）。
【００５１】
２−５：生成されたデータ
上述した各種処理により、入力条件に一致または類似した曲テンプレートが候補として抽出される。ここで、図３のステップＳＡ５の処理の終了後にＲＡＭ２の所定領域に生成・格納されるデータの一例を図１５に示す。図１５から明らかなように、１つの曲テンプレートに対するデータは、曲テンプレート番号から始まり、１曲分のデータエンドマーク「／」にて終了する。この１つの曲テンプレートが少なくとも１回だけ繰り返された後に、全データエンドマーク「ＥＮＤ」が格納されている。また、各楽節の開始は楽節記号、フレーズの開始はフレーズ番号にて表されており、各小節は小節番号にて表されている。そして、図１５の例においては各フレーズ内の小節番号記憶エリアが３小節分確保されており、１フレーズ内の小節数が２以下の場合、使用しない小節のエリアには「−」が記憶される。なお、候補を１つも抽出できなかった場合には、上記所定領域には、全データエンドマーク「ＥＮＤ」のみが格納される。
【００５２】
３：まとめ
以上説明したように、本実施形態によれば、入力条件に完全一致した曲テンプレートのみならず、代用一致あるいは類似した曲テンプレートをも候補として抽出することができる。また、曲テンプレート上の楽節の順序変更や重複使用などを試みてから候補とする曲テンプレートを決定しているので、より多くの曲テンプレートを候補とすることができる。さらに、類似した特徴情報の楽節の楽節記号に同一のアルファベットを使用し、ダッシュ記号の数によって類似度を表すようにし、さらに、楽節記号中のダッシュ記号を考慮して上記順序変更や重複使用などを行うようにしたので、代用一致または類似した曲テンプレートを容易に見つけ出すことができる。なお、上述した順序変更や重複使用などを行わずに候補とする曲テンプレートを決定するようにしてもよい。
また、フレーズ代用処理において、入力条件側の対象楽節のフレーズ数よりも曲テンプレート側の対応楽節のフレーズ数の方が多い場合には、基本的に、対象楽節の最終フレーズを対応楽節の最終フレーズで代用するようにしたので、候補とした曲テンプレートの各楽節の最終フレーズは、元の曲テンプレートの各楽節における最終フレーズとなり、曲テンプレートが持つフレーズの終止感を保てるので、上記順序変更や重複使用により生じる違和感を抑制することができる。
【００５３】
４：変形例
なお、上述した実施形態では、テンプレートを曲単位で用意する例を示したが、楽節単位、フレーズ単位、その他の単位で用意するようにしてもよい。また、テンプレートにおいて、リズムパターンとピッチパターンとを対応付けて用意する例を示したが、両パターンを別々に用意するようにしてもよいし、いずれか一方のパターンのみを用意するようにしてもよい。
【００５４】
また、上述した実施形態では、楽節記号を検索条件としたが、これに限定されるものではなく、例えば、歌詞の音節数を検索条件としてもよい。なお、長音（例えば、「あーかーいー」の「ー」）を含む歌詞の音節数の数え方は任意であり、全ての長音を１打点（１音節）として数えるようにしてもよいし、一部の長音のみを１打点として数えるようにしてもよい。前者の場合には、「あーかーいー」という歌詞の音節数は６打点となる。なお、当然ながら、１打点として数えられた長音は独特の音高を持つことができる。
【００５５】
さらに、上述した実施形態では、ダッシュ記号の最大数を２としているが、本発明はこれに限定されるものではない。また、上述した実施形態では、入力条件および曲テンプレート中の楽節数を４、フレーズ数の最大値を３、小節数の最大値を３としたが、本発明はこれに限定されないことは言うまでもない。
【００５６】
また、上述した実施形態では、汎用コンピュータによって実現する例を示したが、いわゆる電子楽器の形態でも実現可能である。電子楽器の形態では、例えば、鍵盤や各種スイッチ等が上述のキーボードおよびポインティングデバイスと同等の機能を果たすことになる。
【００５７】
なお、電子楽器としては、鍵盤楽器に限らず、弦楽器、管楽器、打楽器などの形態であってもよい。また、音源装置や自動演奏装置等を内蔵した電子楽器に限らず、それぞれを別体に設け、ＭＩＤＩや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。もちろん、自動演奏ピアノに適用してもよいことは言うまでもない。
【００５８】
また、上述した実施形態では、汎用コンピュータ上で、磁気ディスク、光ディスク、光磁気ディスクにアプリケーションソフトウェアを記憶させ、これを読み出して汎用コンピュータ上で実行することで各種機能を実現する形態を示したが、アプリケーションソフトウェアの記憶媒体としては、半導体メモリ等の他の記憶媒体を用いてよいことはもちろんである。また、通信インタフェースを設け、通信ネットワーク経由でアプリケーションソフトウェアをダウンロードして実行するようにしてもよい。以下に、ネットワーク側からアプリケーションソフトウェアをダウンロードする例を挙げる。
【００５９】
上記通信インタフェースはＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線等の通信ネットワークに接続されており、当該通信ネットワークを介してサーバコンピュータと接続される。クライアントとなる自動作曲装置は、自装置が有する記憶媒体に制御プログラムや各種データが記憶されていない場合、上記通信インタフェースおよび通信ネットワークを介してサーバコンピュータへ、プログラムやデータを要求するコマンドを送信する。このコマンドを受け取ると、サーバコンピュータは、要求されたプログラムやデータを、通信ネットワークを介して本自動作曲装置へと配信する。そして、本自動作曲装置が配信されたプログラムやデータを通信インタフェースを介して受信し、記憶媒体に蓄積することにより、ダウンロードが完了する。
【００６０】
【発明の効果】
以上説明したように、この発明によれば、入力条件に一致したテンプレートのみならず、類似したテンプレートをも候補として抽出するので、入力条件に完全に一致したテンプレートが存在しなくても、入力条件を緩めることなく、テンプレートの候補を確保できる。すなわち、多くのテンプレートが候補として抽出されるので、作曲の自由度が増し、楽曲（メロディ）の多彩さを確保することができる。
また、フレーズ数や小節数が異なる場合に、入力条件の最後のフレーズや最後の小節に対応して、テンプレートの最後のフレーズや最後の小節を適用するようにしたので、フレーズ数や小節数を入力条件に一致させることにより生じる違和感を抑制することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態による自動作曲装置のハードウェア構成を示すブロック図である。
【図２】同装置における曲テンプレートのデータ構造例を示す図である。
【図３】同装置による楽節データの入力処理およびメロディ生成処理の流れを示すフローチャートである。
【図４】同装置による候補抽出処理を説明するための図である。
【図５】同装置による１つの曲テンプレートに対する判定処理および代用処理の一例を示す図である。
【図６】同装置による１つの曲テンプレートに対する判定処理および代用処理の一例を示す図である。
【図７】同装置によるフレーズ代用処理において採用されている代用ルールを表す図である。
【図８】同装置によるフレーズ代用処理の流れを示すフローチャートである。
【図９】同装置によるフレーズおよび小節代用処理を説明するための図である。
【図１０】同装置によるフレーズおよび小節代用処理を説明するための図である。
【図１１】同装置による小節代用処理において採用されている代用ルールを表す図である。
【図１２】同装置による小節代用処理の流れを示す図である。
【図１３】同装置による小節代用処理の流れを示す図である。
【図１４】同装置による小節代用処理を説明するための図である。
【図１５】同装置のＲＡＭ２上の所定領域に生成・格納されるデータの一例を示す図である。
【符号の説明】
１…ＣＰＵ、２…ＲＡＭ、３…ＲＯＭ、４…外部記憶装置、５…表示回路、
６…バス、７…キーボード、８…ポインティングデバイス、９…音源、
１０…サウンドシステム、１１…インタフェース。
【図１】
0003620240.tif 000002
【図２】
0003620240.tif 000003
【図３】
0003620240.tif 000004
【図４】
0003620240.tif 000005
【図５】
0003620240.tif 000006
【図６】
0003620240.tif 000007
【図７】
0003620240.tif 000008
【図８】
0003620240.tif 000009
【図９】
0003620240.tif 000010
【図１０】
0003620240.tif 000011
【図１１】
0003620240.tif 000012
【図１２】
0003620240.tif 000013
【図１３】
0003620240.tif 000014
【図１４】
0003620240.tif 000015
【図１５】
0003620240.tif 000016