(57)【要約】　　【課題】　曲全体に亘るメロディ構成を考えながら作曲できるとともに、曲全体に亘るピッチ変化を視覚的に把握することができ、さらに、生成された曲のメロディを迅速に評価することができる自動作曲装置曲および記憶媒体を提供する。　　【解決手段】　全体骨格、全体骨格に基づいた楽節骨格、楽節骨格に基づいたフレーズ骨格というような階層構造の骨格によって、各骨格が構成され、下位階層の骨格は上位階層の骨格に基づいて生成される。そして、最下位の階層であるフレーズピッチカーブの生成が要求されると、その上位階層である、既に生成されている全体ピッチカーブおよび楽節ピッチカーブに基づいて、フレーズピッチカーブが生成され、フレーズピッチカーブが強調表示されるとともに、その上位の全体ピッチカーブおよび楽節ピッチカーブも、フレーズピッチカーブとは異なった表示態様で表示される。さらに、“ＡＵＴＯ"が指定されているときには、フレーズピッチカーブの生成後、その骨格が、指定されているテンポで演奏される。【選択図】　　　図７
2004013170.tif 000002
【特許請求の範囲】
【請求項１】
　曲中の特定個数の重要打点のピッチによって形成された骨格データを生成する自動作曲装置において、
　曲を所定の範疇に応じて複数の領域に分割し、該分割された各領域に対して、新規、同一または類似の楽曲構成のいずれかを設定する設定手段と、
　前記設定手段によって同一または類似の楽曲構成が設定された領域の骨格データを生成するときに、その対応する領域に生成されている骨格データに応じて当該領域の骨格データを生成する生成手段と
を有することを特徴とする自動作曲装置。
【請求項２】
　前記生成手段は、前記設定手段によって前記同一の楽曲構成が設定された領域については、その骨格データを、先行する領域の骨格データと同一の骨格データとすることを特徴とする請求項１記載の自動作曲装置。
【請求項３】
　前記生成手段は、前記設定手段によって前記類似の楽曲構成が設定された領域については、その骨格データを、先行する領域の骨格データのうちの一部のみが同一の骨格データとすることを特徴とする請求項１記載の自動作曲装置。
【請求項４】
　前記生成手段は、前記先行する領域に生成されている骨格データと同一の前記一部を除く骨格データを、与えられた和音の構成音のうちの何れかを採用して生成することを特徴とする請求項３記載の自動作曲装置。
【請求項５】
　前記生成手段は、前記設定手段によって前記新規な楽曲構成が設定された領域については、その骨格データを、与えられた和音の構成音のうちの何れかを採用して生成することを特徴とする請求項１記載の自動作曲装置。
【請求項６】
　曲中の特定個数の重要打点のピッチによって形成された骨格データを生成する自動作曲方法において、
　曲を所定の範疇に応じて複数の領域に分割し、該分割された各領域に対して、新規、同一または類似の楽曲構成のいずれかを設定する設定ステップと、
　前記設定ステップによって同一または類似の楽曲構成が設定された領域の骨格データを生成するときに、その対応する領域に生成されている骨格データに応じて当該領域の骨格データを生成する生成ステップと
を有することを特徴とする自動作曲方法。
【請求項７】
　前記生成ステップでは、前記設定ステップによって前記同一の楽曲構成が設定された領域については、その骨格データを、先行する領域の骨格データと同一の骨格データとすることを特徴とする請求項６記載の自動作曲方法。
【請求項８】
　前記生成ステップでは、前記設定ステップによって前記類似の楽曲構成が設定された領域については、その骨格データを、先行する領域の骨格データのうちの一部のみが同一の骨格データとすることを特徴とする請求項６記載の自動作曲方法。
【請求項９】
　前記生成ステップでは、前記先行する領域に生成されている骨格データと同一の前記一部を除く骨格データを、与えられた和音の構成音のうちの何れかを採用して生成することを特徴とする請求項８記載の自動作曲方法。
【請求項１０】
　前記生成ステップでは、前記設定ステップによって前記新規な楽曲構成が設定された領域については、その骨格データを、与えられた和音の構成音のうちの何れかを採用して生成することを特徴とする請求項６記載の自動作曲方法。
【請求項１１】
　曲中の特定個数の重要打点のピッチによって形成された骨格データを生成する自動作曲方法をコンピュータに実行させるプログラムを格納した記憶媒体であって、
　前記自動作曲方法は、
　曲を所定の範疇に応じて複数の領域に分割し、該分割された各領域に対して、新規、同一または類似の楽曲構成のいずれかを設定する設定ステップと、
　前記設定ステップによって同一または類似の楽曲構成が設定された領域の骨格データを生成するときに、その対応する領域に生成されている骨格データに応じて当該領域の骨格データを生成する生成ステップと
を有することを特徴とする記憶媒体。
【請求項１２】
　前記生成ステップでは、前記設定ステップによって前記同一の楽曲構成が設定された領域については、その骨格データを、先行する領域の骨格データと同一の骨格データとすることを特徴とする請求項１１記載の記憶媒体。
【請求項１３】
　前記生成ステップでは、前記設定ステップによって前記類似の楽曲構成が設定された領域については、その骨格データを、先行する領域の骨格データのうちの一部のみが同一の骨格データとすることを特徴とする請求項１１記載の記憶媒体。
【請求項１４】
　前記生成ステップでは、前記先行する領域に生成されている骨格データと同一の前記一部を除く骨格データを、与えられた和音の構成音のうちの何れかを採用して生成することを特徴とする請求項１３記載の記憶媒体。
【請求項１５】
　前記生成ステップでは、前記設定ステップによって前記新規な楽曲構成が設定された領域については、その骨格データを、与えられた和音の構成音のうちの何れかを採用して生成することを特徴とする請求項１１記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、音楽に関する各種の条件に応じて自動的に作曲を行う自動作曲装置、自動作曲方法および記憶媒体に関する。
【背景技術】
【０００２】
　従来、音楽に関する各種の条件に応じて自動的に作曲を行う自動作曲装置として、次のようなものが開示されている（例えば、特許文献１参照）。
【０００３】
　すなわち、この自動作曲装置は、各種の既存曲の音楽的特徴を分析して抽出し、その分析・抽出結果を対応する既存曲の曲テンプレートとして演奏データメモリに記憶し、この記憶された各種の曲テンプレートのうちいずれかの曲テンプレートにユーザが適宜修正を加え、修正の加えられたものに基づいて自動的に作曲を行うように構成されている。
【０００４】
　曲テンプレートに記載されるデータには、たとえば、曲全体に対する「感情の起伏」や各フレーズに対する「ピッチパターン」等が含まれており、当該曲テンプレートによって生成されるメロディの雰囲気をユーザが感じられるようになっている。また、各フレーズに対して、その最初と最後の音節のピッチを指定するデータも含まれており、各フレーズのピッチを決定するときに、まず、当該フレーズの先頭および最後のピッチを決定し、その後に、当該フレーズの残りのピッチを決定するようにしている。そして、当該フレーズに、「ピッチパターン」や「最初と最後の音節を指定するデータ」が指定されていないときには、上記「感情の起伏」に従って、そのピッチを決定するようにしている。
【特許文献１】特開平９−５０２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
　しかし、上記従来の自動作曲装置では、曲テンプレートに記載されるデータとして、「感情の起伏」といった抽象的な表現のものを用いているために、ユーザは、当該曲テンプレートから、具体的にどのようなピッチ変化のメロディが生成されるのか理解できなかった。また、各フレーズに対する「ピッチパターン」というフレーズ毎に断片的に設定されるデータを用いているために、ユーザが曲全体に亘るピッチ変化を視覚的に把握することは困難であった。
【０００６】
　前者について、たとえば上記公報の図６には、楽節Ａの「感情の起伏」として、「水平→下降」が設定されているのに対して、そのピッチパターンとしては、「下降→上昇→水平」が設定されており、両者の変化は一致していない。
【０００７】
　また、上記従来の自動作曲装置では、「最初と最後の音節を指定するデータ」に基づいて、いきなり各フレーズの先頭および最後のピッチが決定され、メロディが生成されていくので、ユーザが曲全体の構成を考えつつ作曲することは困難であった。もっとも、フレーズに「ピッチパターン」や「最初と最後の音節を指定するデータ」を指定しないようにすれば、上述のように、「感情の起伏」に基づいて曲全体の構成を考えつつ作曲することができるが、その後に、「ピッチパターン」や「最初と最後の音節を指定するデータ」を指定したときには、「感情の起伏」と当該フレーズのピッチ変化とが一致しなくなる場合が生じていた。
【０００８】
　さらに、このようにして作曲された曲のメロディを、ユーザが音で聞いて評価するときには、上記従来の自動作曲装置では、再生されたメロディを最初から最後まで聞くしかなく、評価に時間がかかっていた。
【０００９】
　本発明は、この点に着目してなされたものであり、曲全体に亘るメロディ構成を考えながら、設定された楽曲構成に従って作曲することが可能な自動作曲装置曲、自動作曲方法および記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
　上記目的を達成するため、請求項１に記載の自動作曲装置は、曲中の特定個数の重要打点のピッチによって形成された骨格データを生成する自動作曲装置において、曲を所定の範疇に応じて複数の領域に分割し、該分割された各領域に対して、新規、同一または類似の楽曲構成のいずれかを設定する設定手段と、前記設定手段によって同一または類似の楽曲構成が設定された領域の骨格データを生成するときに、その対応する領域に生成されている骨格データに応じて当該領域の骨格データを生成する生成手段とを有することを特徴とする。
【００１１】
　好ましくは、前記生成手段は、前記設定手段によって前記同一の楽曲構成が設定された領域については、その骨格データを、先行する領域の骨格データと同一の骨格データとすることを特徴とする（請求項２）。
【００１２】
　さらに好ましくは、前記生成手段は、前記設定手段によって前記類似の楽曲構成が設定された領域については、その骨格データを、先行する領域の骨格データのうちの一部のみが同一の骨格データとすることを特徴とする（請求項３）。
【００１３】
　また、好ましくは、前記生成手段は、前記先行する領域に生成されている骨格データと同一の前記一部を除く骨格データを、与えられた和音の構成音のうちの何れかを採用して生成することを特徴とする（請求項４）。
【００１４】
　また、さらに好ましくは、前記生成手段は、前記設定手段によって前記新規な楽曲構成が設定された領域については、その骨格データを、与えられた和音の構成音のうちの何れかを採用して生成することを特徴とする（請求項５）。
【００１５】
　また、請求項６〜１０に記載の各自動作曲方法は、それぞれ請求項１〜５と同様の技術的思想によって実現できる。
【００１６】
　さらに、請求項１１〜１５に記載の各記憶媒体に格納された各プログラムは、それぞれ請求項１〜５と同様の技術的思想によって実現できる。
【発明の効果】
【００１７】
　以上説明したように、請求項１，６または１１に記載の発明によれば、曲中の特定個数の重要打点のピッチによって形成された骨格データを生成するものにおいて、同一または類似の楽曲構成が設定された領域の骨格データを生成するときに、その対応する領域に生成されている骨格データに応じて当該領域の骨格データが生成されるので、曲全体に亘るメロディ構成を考えながら、設定された楽曲構成に従って作曲することができる。
【発明を実施するための最良の形態】
【００１８】
　以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１９】
　図１は、本発明の一実施の形態に係る自動作曲装置の概略構成を示すブロック図である。
【００２０】
　同図に示すように、本実施の形態の自動作曲装置は、音高情報を入力するための鍵盤１と、各種情報を入力するための複数のスイッチを備えたパネルスイッチ２と、鍵盤１の各鍵の押鍵状態を検出する押鍵検出回路３と、パネルスイッチ２の各スイッチの押下状態を検出するスイッチ検出回路４と、装置全体の制御を司るＣＰＵ５と、該ＣＰＵ５が実行する制御プログラムやテーブルデータ等を記憶するＲＯＭ６と、演奏データ、各種入力情報および演算結果等を一時的に記憶するＲＡＭ７と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ８と、各種情報等を表示する、たとえば大型液晶ディスプレイ（ＬＣＤ）若しくはＣＲＴ（Cathode Ray Tube）ディスプレイおよび発光ダイオード（ＬＥＤ）等を備えた表示装置９と、記憶媒体であるフロッピディスク（ＦＤ）２０をドライブするフロッピディスクドライブ（ＦＤＤ）１０と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するハードディスク（図示せず）をドライブするハードディスクドライブ（ＨＤＤ）１１と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するコンパクトディスク−リード・オンリ・メモリ（ＣＤ−ＲＯＭ）２１をドライブするＣＤ−ＲＯＭドライブ（ＣＤ−ＲＯＭＤ）１２と、外部からのＭＩＤＩ（Musical Instrument Digital Interface）信号を入力したり、ＭＩＤＩ信号として外部に出力したりするＭＩＤＩインターフェース（Ｉ／Ｆ）１３と、通信ネットワーク１０１を介して、たとえばサーバコンピュータ１０２とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）１４と、鍵盤１から入力された演奏データや予め設定された演奏データ等を楽音信号に変換する音源回路１５と、該音源回路１５からの楽音信号に各種効果を付与するための効果回路１６と、該効果回路１６からの楽音信号を音響に変換する、たとえば、ＤＡＣ（Digital-to-Analog Converter）やアンプ、スピーカ等のサウンドシステム１７とにより構成されている。
【００２１】
　上記構成要素３〜１６は、バス１８を介して相互に接続され、ＣＰＵ５にはタイマ８が接続され、ＭＩＤＩＩ／Ｆ１３には他のＭＩＤＩ機器１００が接続され、通信Ｉ／Ｆ１４には通信ネットワーク１０１が接続され、音源回路１５には効果回路１６が接続され、効果回路１６にはサウンドシステム１７が接続されている。
【００２２】
　ＨＤＤ１１のハードディスクには、前述のように、ＣＰＵ５が実行する制御プログラムも記憶でき、ＲＯＭ６に制御プログラムが記憶されていない場合には、このハードディスクに制御プログラムを記憶させておき、それをＲＡＭ７に読み込むことにより、ＲＯＭ６に制御プログラムを記憶している場合と同様の動作をＣＰＵ５にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００２３】
　ＣＤ−ＲＯＭドライブ１２のＣＤ−ＲＯＭ２１から読み出された制御プログラムや各種データは、ＨＤＤ１１内のハードディスクにストアされる。これにより、制御プログラムの新規インストールやバージョンアップ等が容易に行える。なお、このＣＤ−ＲＯＭドライブ１２以外にも、外部記憶装置として、光磁気ディスク（ＭＯ）装置等、様々な形態のメディアを利用するための装置を設けるようにしてもよい。
【００２４】
　通信Ｉ／Ｆ１４は、上述のように、たとえばＬＡＮ（Local Area Network）やインターネット、電話回線等の通信ネットワーク１０１に接続されており、該通信ネットワーク１０１を介して、サーバコンピュータ１０２に接続される。ＨＤＤ１１内のハードディスクに上記各プログラムや各種パラメータが記憶されていない場合には、通信Ｉ／Ｆ１４は、サーバコンピュータ１０２からプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ（本実施の形態では、自動作曲装置）は、通信Ｉ／Ｆ１４および通信ネットワーク１０１を介してサーバコンピュータ１０２へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータ１０２は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク１０１を介してコンピュータへと配信し、コンピュータが通信Ｉ／Ｆ１４を介して、これらプログラムやパラメータを受信してＨＤＤ１１内のハードディスクに蓄積することにより、ダウンロードが完了する。
【００２５】
　この他、外部コンピュータ等との間で直接データのやりとりを行うためのインターフェースを備えてもよい。
【００２６】
　図２および図３は、本実施の形態の自動作曲装置が実行する各種制御処理を視覚的に表した図である。以下、この図を参照して、制御処理の概要を説明する。
【００２７】
　図２において、まず、ユーザが、複数種類の全体作曲条件テンプレートから１つを選択すると、当該テンプレートに記載されている全体作曲条件が設定（入力）される。全体作曲条件として設定される項目には、たとえば、楽節数、フレーズ数、小節数、拍子、調、曲の先頭ピッチ、曲の最後ピッチ、音域（最高音および最低音が与えられる）等がある。各テンプレートには、これらの項目に対応するデータが予め記載され、名称が付与されている。ユーザが、たとえば、全体作曲条件を選択するモードを選択し、そのモード時に表示される「全体作曲条件」欄をクリックすると、前記テンプレート名が並んだポップアップメニューが表示される。この中から、ユーザがいずれかのテンプレート名を選択すると、その名称に対応するテンプレートに記載されている全体作曲条件が設定される。なお、作曲条件の各項目を個別に修正または入力できるようにしてもよい。
【００２８】
　このようにして設定された全体作曲条件のうち、楽節数、フレーズ数および小節数に基づいて、構成テンプレートデータベース３１が検索され、当該条件に最も適合する構成テンプレートが選択されるか、または当該条件に適合する複数の構成テンプレートをユーザに提示し、いずれかをユーザに選択させる。ここで、構成テンプレートデータベース３１は、たとえば、前記ハードディスク上に構築されたデータベースであり、複数の構成テンプレートから構成されている。そして、構成テンプレートに記載される構成データには、たとえば、各楽節に設定される楽節記号（後述する図４（ａ）参照）、サビ（bridge）楽節の位置および音節数等がある。なお、構成テンプレートデータベース３１から検索された構成テンプレートの構成データが、ユーザの意図するものと異なる場合には、ユーザは、他の候補から好みのものを選択することも、また、検索された構成テンプレートの構成データのうち、一部のデータを編集することもできるように構成されている。
【００２９】
　このようにして生成された構成データ（ただし、音節数は除く）および前記全体作曲条件で設定された拍子に基づいて、メロディテンプレート・データベース３２が検索され、当該条件に最も適合したメロディテンプレートが選択される。メロディテンプレート・データベース３２は、たとえば、上記構成テンプレートデータベース３１と同様に、ハードディスク上に構築され、複数のメロディテンプレートから構成されている。各メロディテンプレートには、たとえば、メロディ骨格（本実施の形態では、全体骨格、音節骨格およびフレーズ骨格からなり、全体骨格を最上位の階層として、以下、音節骨格、フレーズ骨格の順で下位の階層になっている）、コード進行、メロディピッチおよびメロディ打点等の各データが記載されており、該各メロディテンプレートに記載のデータは、それぞれ、このままでも（すなわち、後述するように各種の変形を施さなくても）十分演奏可能なものとなっている。上述のようにして、メロディテンプレートが１つ検索されると、そのメロディテンプレートに記載された各データが設定（入力）される。なお、メロディテンプレートも、構成テンプレートと同様に、検索されたものがユーザの意図と異なるものであるときには、他の候補から好みのものを選択することができる。
【００３０】
　このようにして、メロディテンプレートに記載された各データが入力されると、その中のピッチデータは、前記全体作曲条件で設定された調に応じて、移調や平行調への変換がなされ、その結果が、図３のメロディテンプレート変形処理部３３に供給される。また、ピッチデータ以外のデータは、そのままメロディテンプレート変形処理部３３に供給される。
【００３１】
　メロディテンプレート変形処理部３３は、図３に示すように、リズムパターンデータ変形処理部３３ａと、コードデータ変形処理部３３ｂと、骨格データ変形処理部３３ｃと、メロディピッチデータ変形処理部３３ｄとによって構成されている。
【００３２】
　リズムパターンデータ変形処理部３３ａは検索されたメロディテンプレート中のリズムパターンがユーザの意図と異なる場合に、ユーザが設定した各種条件（その項目は、たとえば、アウフタクト（弱起）の有無、シンコペーションの有無、ハネ（付点音符）の有無、開始音長の長短、コンプレックス（難易度）のレベル等）に基づいて、リズムパターン特徴連結テーブル（上記各項目に対するデータ、すなわちリズムパターンの特徴を１小節毎に設定し、曲全体に亘って連結して構成したテーブル）を生成し、新たな打点データ（リズムパターンデータ）を生成する。打点とはメロディの発音タイミングであり、１小節中の打点数は１小節中の音節数に相当する。このリズムパターン特徴連結テーブルの各特徴連結データに基づいて、リズムパターンデータベース３４が検索されて、１小節分のリズムパターンが選択される。そして、各小節のリズムパターンを曲全体に亘ってつなぎ合わせることにより、曲全体のリズムパターンデータを生成する。
【００３３】
　また、ユーザが設定した音節数と前記選択されたメロディテンプレートの打点数とが異なる場合（前述のように、メロディテンプレートの検索には、音節数の情報は参照されないので、このような場合が生ずる）、またはユーザが設定した音節数と前記生成された曲全体のリズムパターンデータの打点数とが異なる場合に、音節数合わせがなされる。この音節数合わせにおいては、置き換えられるメロディテンプレート中のリズムパターン、または生成されたリズムパターンの特徴と同じ特徴を持ち、音節数の異なる他のリズムパターンを、リズムパターンデータベース３４を検索することにより選択し、音節数の増減を伴ったリズムパターンの置き換えを行う。
【００３４】
　なお、ユーザが、マニュアル操作によって打点の時間軸移動や打点の増減を行う編集機能も設けられ、これにより、打点の時間軸が移動したり、その数が変わったときには、リズムパターンデータ変形処理部３３ａは、対応するリズムパターンデータを変形する。
【００３５】
　コードデータ変形処理部３３ｂは、前記選択されたメロディテンプレートのコード進行がユーザの意図と異なる場合に、ユーザの編集指示に応じて、コードデータの変形を行う。
【００３６】
　骨格データ変形処理部３３ｃは、前記選択されたメロディテンプレートの各階層の骨格データを、それぞれ個別に変形する処理と、すべての階層の骨格データに対して一括の編集処理とを行う。
【００３７】
　メロディピッチデータ変形処理部３３ｄは、前記選択されたメロディテンプレートのメロディピッチデータを、ユーザが設定したダイナミクス、非コード音頻度および音楽ルールに基づいて、音楽ルールデータベース３５を参照しながら変形する。さらに、ユーザが、マニュアル操作によって打点の音階軸移動を指示したときには、それに応じたメロディピッチデータの変形も行う。この変形は、本実施の形態では、通常小節とピックアップ小節とで個別に行われるため、音楽ルールデータベース３５は、通常小節用とピックアップ小節用の２種類のデータベースによって構築されている。
【００３８】
　このようにして、リズムパターンデータ変形処理部３３ａでは、リズムパターンデータの変形処理がなされ、骨格データ変形処理部３３ｃでは、全体骨格データ、楽節骨格データおよびフレーズ骨格データの各骨格データの変形処理がなされ、メロディピッチデータ変形処理部３３ｄでは、通常小節のメロディピッチデータおよびピックアップ小節のメロディピッチデータの変形処理が独立してなされる。これらの各変形処理に併せて、その処理結果（作曲の途中経過）が、前記表示装置９に表示される。
【００３９】
　また、本実施の形態の自動作曲装置は、メロディピッチデータ変形処理部３３ｄによって変形され生成されたメロディピッチデータ（楽音データ）を再生し演奏する機能に加えて、骨格データ変形処理部３３ｃによって変形され生成された３階層の骨格データの楽音データを各階層毎に再生し演奏する機能を備えている。このため、ユーザがある階層の骨格演奏を指定すると、骨格データ変形処理部３３ｃで変形された骨格データからその骨格に対応するピッチデータ（楽音データ）が読み出されて再生され、前記サウンドシステム１７によって楽音に変換される。一方、ユーザによってメロディ演奏が指示されると、上記変形されたメロディピッチデータからメロディに対応するピッチデータ（楽音データ）が読み出されて再生され、サウンドシステム１７によって楽音に変換される。
【００４０】
　本発明は、メロディテンプレート変形処理部３３が実行する上記３種類の主要な処理、すなわちリズムパターンデータ変形処理、骨格データ変形処理およびメロディピッチデータ変形処理のうち、骨格データ変形処理にその特徴を有している。以下、まず、図４〜図７を参照して、骨格データ変形処理の概要を説明し、次に、図８〜図２４を参照して、詳細に説明する。
【００４１】
　図４は、各楽節に設定される楽節記号の意味を説明するための図であり、（ａ）は、ある曲の各楽節に設定された楽節記号の一例を示す図であり、（ｂ）は、各骨格における楽節記号の意味内容を示す図である。
【００４２】
　曲の各楽節には、楽節記号が設定される。この楽節記号は、前述したように、基本的には構成テンプレートデータベース３１から検索された構成データによって設定されるが、ユーザがその設定値を変更することもできる。図４（ａ）は、このようにして各楽節に設定された楽節記号の一例を示したものである。この例では、“′"が付与されたもの（Ａ′）、“″"が付与されたもの（Ａ″）、および、“′"，“″"のいずれも付与されていないもの（Ａ，Ｂ，Ｃ）の３種類の記号が設定されている。最後の種類の楽節記号が設定された楽節であって、その前に同名の楽節記号が設定されていない楽節（第１、第５および第６楽節）を、「新規楽節」といい、最後の種類の楽節記号が設定された楽節であって、その前に同名の楽節記号が設定されている楽節（第４楽節）を、「同名楽節」といい、最初の種類の楽節記号が設定された楽節（第２および第７楽節）を、「′同類楽節」といい、２番目の種類の楽節記号が設定された楽節（第３および第８楽節）を、「″同類楽節」という。
【００４３】
　図４（ｂ）は、各骨格に対して各種類の楽節が設定されたときに、該各種類の楽節をどのように構成するかを示す規則を表わしたものである。本実施の形態の自動作曲装置は、前述のように、階層構造を有する骨格データを生成するように構成されている。階層の上下関係は、その名称から明らかであるように、全体骨格を最上位の階層として、以下、楽節骨格、フレーズ骨格の順に下位の階層となっている。各骨格は、各階層における各単位区間（全体骨格においては各楽節、楽節骨格においては各フレーズ、フレーズ骨格においては各小節）の先頭ピッチと最後ピッチ（以下、「節点ピッチ」という）によって形成され、この各節点ピッチを順次決定することが、すなわち前記骨格データの変形処理に相当する。そして、特に、楽節骨格およびフレーズ骨格の各節点ピッチを決定するときには、まず、進行パターンを決定し、次に、この進行パターンに基づいて節点ピッチを決定するという方法を採用している。なお、後述するように、節点ピッチのうちフレーズ骨格を構成する各小節の最後ピッチは、該小節において生成されるメロディの最後の打点のピッチにはならないこともある。
【００４４】
　図４（ｂ）において、全体骨格の節点ピッチは、「同名楽節」の場合には、その「参照楽節」、すなわち対象となっている楽節（以下「当楽節」という）以前の同名または同類の楽節（たとえば、当楽節が第４楽節であるときに、第１楽節に相当する）と同一に決定され、「′同類楽節」の場合には、その「参照楽節」（たとえば、当楽節が第２楽節であるときに、第１楽節に相当する）と楽節先頭ピッチが同一に決定され、「″同類楽節」の場合には、その「参照楽節」（たとえば、当楽節が第３楽節であるときに、第１楽節に相当する）と無関係（“×"で表示）に（本実施の形態では、ランダムに）決定される。
【００４５】
　また、楽節骨格の進行パターンは、「同名楽節」、「′同類楽節」および「″同類楽節」に対して、それぞれ、「同一」、「相似」および「相似」に決定される。ここで、「相似」は、その数学用語とは用い方が異なり、本実施の形態で特別な意味に用いている。すなわち、一部分が相似（これは数学用語としての意味）でなくても、それ以外の部分が相似（これも数学用語としての意味）であれば、相似（これは、本実施の形態での特有の意味）という。
【００４６】
　楽節骨格の節点ピッチは、「同名楽節」、「′同類楽節」および「″同類楽節」に対して、それぞれ、「同一」、「少なくとも第１フレーズが同一」および「無関係」に決定される。
【００４７】
　さらに、フレーズ骨格の進行パターンおよび節点ピッチについても、図示の通り決定される。
【００４８】
　このような規則によって、実際に、各骨格データを生成し、その骨格（ピッチカーブ）を前記表示装置９上に表示したものが、図５〜図７である。図５は、全体骨格を生成して表示した一例を示し、図６は、楽節骨格を生成して表示した一例を示し、図７は、フレーズ骨格を生成して表示した一例を示している。なお、図５〜図７に示す曲と、図４（ａ）で説明した曲とは、無関係である。
【００４９】
　図５において、第１楽節から第４楽節には、それぞれ、楽節記号“Ａ",“Ａ′",“Ｂ",“Ｃ"が設定されている。たとえば、ユーザが「全体ピッチカーブ生成」ボタン４０をクリックすると、その表示が反転し（表示態様は、「反転」に限るものではなく、たとえば色の変化等、選択したことが分かればどのようなものであってもよい）、次に、「ピッチカーブ生成」ボタン４１をクリックすると、上記規則に応じて全体ピッチカーブ（全体骨格）が生成され、図示例のように表示される。このとき、“ＰＬＡＹ"の“ＡＵＴＯ"ボタンが選択されている場合（“∨"で表示）には、設定されているテンポと選択された速度に応じて、全体骨格に対応するピッチデータが読み出され、各ピッチデータが所定音長（たとえば４分音符）で再生される。たとえば、速度として“ＦＡＳＴ"が選択されているときには、設定されているテンポの２倍のテンポで再生され、“ＳＬＯＷ"が選択されているときには、その設定されているテンポで再生される。なお、“ＡＵＴＯ"ボタンが選択されていない場合には、ピッチカーブが生成された後、“再生"ボタンをクリックすることにより、上記と同様の再生がなされる。
【００５０】
　図６は、図５に対して、楽節ピッチカーブを生成する点が異なっている。この相違により、表示の態様が図５と若干異なっている。すなわち、図６には、生成された楽節ピッチカーブに加えて、前記生成された全体ピッチカーブも表示されている。そして、両者を区別するために、楽音ピッチカーブを太線で強調表示し、全体ピッチカーブを細線で通常表示している。もちろん、「太線での強調表示」に限る必要はなく、両者を区別できる表示態様であればどのようなものを採用してもよい（図７に対しても同様）。
【００５１】
　図７は、図５および図６に対して、フレーズピッチカーブを生成する点が異なっており、図６と同様に、生成されたフレーズピッチカーブのみが強調表示され、他の全体ピッチカーブおよび楽節ピッチカーブは通常表示されている。
【００５２】
　次に、骨格データ変形処理を詳細に説明する。
【００５３】
　図８は、前記骨格データ変形処理部３３ｃが実行する骨格生成処理の手順を示すフローチャートである。この骨格生成処理は、図３で説明した全体骨格変形処理、楽節骨格変形処理およびフレーズ骨格変形処理によって構成されている。
【００５４】
　図８において、まず、ユーザが全体骨格に関する作曲条件（前記楽節記号、サビ、曲の先頭ピッチ、曲の最後ピッチ、音域、コード進行、およびダイナミクス等）を設定すると、この作曲条件が、たとえば前記ＲＡＭ７の所定位置に確保された全体骨格条件設定領域に記憶される（ステップＳ１）。
【００５５】
　次に、ステップＳ１で入力された作曲条件に基づいて、全体骨格の節点ピッチを生成する全体骨格の節点ピッチ生成処理サブルーチン（図９および図１０を用いて後述する）を実行し（ステップＳ２）、この生成された全体骨格の節点ピッチに満足したか否かをユーザに問い合わせる（ステップＳ３）。
【００５６】
　ステップＳ３で、ユーザが満足した旨を回答すると、ステップＳ４に進む一方、ユーザが満足しない旨を回答すると、前記ステップＳ１またはＳ２に戻って、作曲条件の設定から、または全体骨格の節点ピッチの再生成のみを行う。以上のステップＳ１〜Ｓ３の処理が全体骨格生成処理に相当する。
【００５７】
　ステップＳ４では、楽節骨格に対する作曲条件を変更するか否かをユーザに問い合わせ、作曲条件を変更するときにはステップＳ５に進み、ユーザが楽節骨格に関する作曲条件（本実施の形態では、ダイナミクスのみ）を設定すると、この作曲条件が、たとえばＲＡＭ７の所定位置に確保された楽節骨格条件設定領域に記憶される（ステップＳ５）一方、作曲条件を変更しないときには、ステップＳ５をスキップして、ステップＳ６に進む。
【００５８】
　ステップＳ６では、楽節骨格の進行パターンを生成する楽節骨格の進行パターン生成処理サブルーチン（図１１を用いて後述する）を実行し、続くステップＳ７では、前記ステップＳ５で設定されたダイナミクスまたは前記全体作曲条件テンプレートで設定されたダイナミクス、およびステップＳ６で生成された進行パターンに基づいて、楽節骨格の節点ピッチを生成する楽節骨格の節点ピッチ生成処理サブルーチン（図１３を用いて後述する）を実行する。
【００５９】
　次に、ステップＳ７で生成された楽節骨格の節点ピッチに満足したか否かをユーザに問い合わせ（ステップＳ８）、ユーザが満足した旨を回答すると、ステップＳ９に進む一方、ユーザが満足していない旨を回答すると、ステップＳ１，Ｓ２，Ｓ５またはＳ６のいずれかのステップに戻り、全体骨格の生成から（ステップＳ１またはＳ２に戻った場合）、楽節骨格に対する作曲条件から（ステップＳ５に戻った場合）、または楽節骨格の節点ピッチの再生成のみ（ステップＳ６に戻った場合）を行う。以上のステップＳ４〜Ｓ８の処理が楽節骨格生成処理に相当する。
【００６０】
　ステップＳ９では、フレーズ骨格に対する作曲条件を変更するか否かをユーザに問い合わせ、作曲条件を変更するときにはステップＳ１０に進み、ユーザがフレーズ骨格に関する作曲条件（本実施の形態では、ダイナミクスのみ）を設定すると、この作曲条件が、たとえばＲＡＭ７の所定位置に確保されたフレーズ骨格条件設定領域に記憶される（ステップＳ１０）一方、作曲条件を変更しないときには、ステップＳ１０をスキップして、ステップＳ１１に進む。
【００６１】
　ステップＳ１１では、フレーズ骨格の進行パターンを生成するフレーズ骨格の進行パターン生成処理サブルーチン（図１５を用いて後述する）を実行し、続くステップＳ１２では、前記ステップＳ１０で設定されたダイナミクスまたは前記全体作曲条件テンプレートで設定されたダイナミクス、およびステップＳ１１で生成された進行パターンに基づいて、フレーズ骨格の節点ピッチを生成するフレーズ骨格の節点ピッチ生成処理サブルーチン（図１１７を用いて後述する）を実行する。
【００６２】
　次に、ステップＳ１２で生成されたフレーズ骨格の節点ピッチに満足したか否かをユーザに問い合わせ（ステップＳ１３）、ユーザが満足した旨を回答すると、本骨格生成処理を終了する一方、ユーザが満足していない旨を回答すると、ステップＳ１，Ｓ２，Ｓ５，Ｓ６，Ｓ１０またはＳ１１のいずれかのステップに戻り、全体骨格の生成から（ステップＳ１またはＳ２に戻った場合）、楽節骨格の生成から（ステップＳ５またはＳ６に戻った場合）、フレーズ骨格に対する作曲条件から（ステップＳ１０に戻った場合）、またはフレーズ骨格の節点ピッチの再生成のみ（ステップＳ１１に戻った場合）を行う。以上のステップＳ９〜Ｓ１３の処理がフレーズ骨格生成処理に相当する。
【００６３】
　図９は、前記ステップＳ２の全体骨格の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。このフローチャートに基づいて、全体骨格の節点ピッチ生成処理をステップ毎に順次説明する前に、その生成アルゴリズムを説明する。本全体骨格の節点ピッチ生成処理は、次のようなアルゴリズムによって構成されている。すなわち、
　１）全体骨格の節点は、各楽節毎２個で構成する（すなわち、第１節点は第１楽節の先頭ピッチに、第２節点は第１楽節の最後ピッチに、第３節点は第２楽節の先頭ピッチに、第４節点は第２楽節の最後ピッチに、‥‥それぞれ対応する）
　２）曲の先頭節点ピッチは、ユーザが設定した曲の先頭ピッチとする
　３）曲の最後節点ピッチは、ユーザが設定した曲の最後ピッチとする
　４）各楽節の先頭節点ピッチは、
　　ａ）当楽節が同名楽節の場合には、その同名楽節（参照楽節）の先頭節点ピッチと同一とする
　　ｂ）当楽節が′同類楽節である場合には、その参照楽節の先頭節点ピッチと同一とする
　　ｃ）当楽節が上記ａ），ｂ）のいずれの条件も満たさない場合には、設定されたダイナミクスに従って、設定されたコードの構成音（７ｔｈ音を除く）の中でランダムに決定する（本実施の形態では、ダイナミクスとして、０から３までの実数値（離散値）を設定でき、たとえば、ダイナミクス＝０のときには、直前の楽節の最後節点ピッチとの差が小さい範囲内（たとえば、度数で±３度以内）でその節点ピッチを決定し、ダイナミクス＝３のときには、直前の楽節の最後節点ピッチとの差が大きい範囲内（たとえば、度数で±８度以内）でその節点ピッチを決定する。ただし、当楽節にサビが設定されているときには、原則的に高音域のピッチとし、設定された音域（最高音および最低音）の範囲内に収まるようにする）
　５）各楽節の最後節点ピッチは、
　　ａ）当楽節が同名楽節の場合には、その同名楽節（参照楽節）の最後節点ピッチと同一とする
　　ｂ）当楽節が上記ａ）の条件を満たさない場合には、設定されたダイナミクスに従って、設定されたコードの構成音（７ｔｈ音を除く）の中でランダムに決定する（ダイナミクス＝０のときには、当該楽節の先頭節点ピッチとの差が小さい範囲内（たとえば、度数で±３度以内）でその節点ピッチを決定し、ダイナミクス＝３のときには、当該楽節の先頭節点ピッチとの差が大きい範囲内（たとえば、度数で±８度以内）でその節点ピッチを決定する。ただし、設定された音域（最高音および最低音）の範囲内に収まるようにする）
　このように構成されたアルゴリズムに従って、全体骨格を構成する各節点ピッチが生成される。以下、図９のフローチャートに加えて、図１９に示す全体骨格の生成例も参照しながら、本全体骨格の節点ピッチ生成処理を１ステップずつ順に説明する。
【００６４】
　図９において、まず、楽節数をカウントするためにＲＡＭ７の所定領域に確保されたソフトカウンタである楽節カウンタを“１"に初期設定する（ステップＳ２１）。
【００６５】
　次に、楽節カウンタのカウント値をチェックして、当楽節が先頭楽節か否かを判別し（ステップＳ２２）、先頭楽節のときには、先頭楽節の先頭の節点ピッチを、ユーザが設定した前記曲の先頭ピッチに設定する（ステップＳ２３）一方、先頭楽節でないときには、ステップＳ２３をスキップしてステップＳ２４に進む。すなわち、ステップＳ２３の処理は上記アルゴリズムの２）に相当し、ここでは、図１９の節点ピッチｐ１が生成される。
【００６６】
　ステップＳ２４では、ステップＳ２２と同様にして、楽節カウンタをチェックし、当楽節が最後楽節か否かを判別し、最後楽節のときには、最後楽節の最後の節点ピッチを、ユーザが設定した前記曲の最後ピッチに設定する（ステップＳ２５）一方、最後楽節でないときには、ステップＳ２５をスキップしてステップＳ２６に進む。すなわち、ステップＳ２５の処理は上記アルゴリズムの３）に相当し、ここでは、図１９の節点ピッチｐ８が生成される。
【００６７】
　次に、当楽節の前記楽節記号をチェックして、当楽節が最後楽節と同名の楽節であるか否かを判別し（ステップＳ２６）、同名の楽節であるときには、当楽節の最後の節点ピッチを、ユーザが設定した前記曲の最後ピッチに設定する（ステップＳ２７）一方、同名の楽節でないときには、ステップＳ２７をスキップして図１０のステップＳ２８に進む。なお、図１９には、最後楽節、すなわち第４楽節と同名（“Ｃ"）の楽節はないので、図１９の例では、ステップＳ２７の処理がなされずに、ステップＳ２８に移行する。
【００６８】
　ステップＳ２８では、当楽節が新規楽節であるか否かを判別し、新規楽節のときには、当楽節の先頭節点ピッチと最後節点ピッチを、節点ピッチ間の度数が、前記設定されたダイナミクスで規程された度数の範囲内で、コード音の中からランダムに選択して決定した（ステップＳ２９）後に、ステップＳ３７に進む一方、当楽節が新規楽節でないときにはステップＳ３０に進む。ただし、ステップＳ２９で、当楽節にサビが設定されているときには、当楽節は高音域のピッチにする。すなわち、図１９において、当楽節が第１楽節のときには、新規楽節であるので、ステップＳ２９で、最後節点ピッチｐ２（先頭節点ピッチｐ１は、ステップＳ２３で既に決定されているため、最後節点ピッチのみを決定する）が、上述のようにして決定される。また、当楽節が第３楽節のときには、これも新規楽節であるので、ステップＳ２９で、先頭節点ピッチｐ５および最後節点ピッチｐ６のが、上述のようにして決定される。さらに、当楽節が第４楽節のときには、これも新規楽節であるが、最後節点ピッチｐ８は、ステップＳ２７で既に決定されているので、ここでは先頭節点ピッチｐ７のみが決定される。
【００６９】
　ステップＳ３０では、当楽節が同名楽節であるか否かを判別し、同名楽節のときには、当楽節の先頭節点ピッチおよび最後節点ピッチを、それぞれ同名楽節（参照楽節）の先頭節点ピッチおよび最後節点ピッチと同一に決定した（ステップＳ３１）後に、ステップＳ３７に進む一方、当楽節が同名楽節でないときにはステップＳ３２に進む。図１９の例では、同名楽節は設定されていないので、ステップＳ３０からステップＳ３２に進む。
【００７０】
　ステップＳ３２では、当楽節が′同類楽節であるか否かを判別し、′同類楽節のときには、当楽節の先頭節点ピッチを参照楽節の先頭節点ピッチと同一に決定し（ステップＳ３３）、当楽節の最後節点ピッチを、先頭節点ピッチから、前記設定されたダイナミクスで規程された度数の範囲内で、コード音の中からランダムに選択して決定した（ステップＳ３４）後に、ステップＳ３７に進む一方、当楽節が′同類楽節でないときにはステップＳ３５に進む。すなわち、図１９において、当楽節が第２楽節のときには、当第２楽節は第１楽節の′同類楽節であるので、ステップＳ３２からステップＳ３３に進み、その先頭節点ピッチｐ３が、上述のように決定され（ｐ３＝ｐ１）、次いでステップＳ３４で、その最後節点ピッチｐ４が、上述のように決定される。
【００７１】
　ステップＳ３５では、当楽節が″同類楽節であるか否かを判別し、″同類楽節のときには、前記ステップＳ２９と同様にして、当楽節の先頭節点ピッチと最後節点ピッチを、節点ピッチ間の度数が、前記設定されたダイナミクスで規程された度数の範囲内で、コード音の中からランダムに選択して決定した（ステップＳ３６）後に、ステップＳ３７に進む一方、当楽節が″同類楽節でないときには、ステップＳ３６をスキップしてステップＳ３７に進む。図１９の例では、″同類楽節は設定されていないので、ステップＳ３５からステップＳ３７に進む。
【００７２】
　ステップＳ３７では、前記楽節カウンタをチェックし、全楽節に対して上述の処理を終了したか否かを判別し、処理すべき楽節が残っているときには、楽節カウンタの値を“１"だけインクリメントした（ステップＳ３８）後に、前記ステップＳ２２に戻って上述の処理を繰り返す一方、処理すべき楽節が残っていないときにはステップＳ３９に進む。
【００７３】
　ステップＳ３９では、前記図５のように、全体ピッチパターンを表示し、続くステップＳ４０では、前述したように、骨格演奏を行った後に、本全体骨格の節点ピッチ生成処理を終了する。
【００７４】
　図１１は、前記ステップＳ６の楽節骨格の進行パターン生成処理サブルーチンの詳細な手順を示すフローチャートである。以下、この進行パターン生成処理を、まずその生成アルゴリズムを説明した後に、図１１のフローチャートに基づいて１ステップずつ順に説明する。
【００７５】
　本楽節骨格の進行パターン生成処理は、次のようなアルゴリズムによって構成されている。すなわち、
　１）楽節骨格の節点は、その楽節に含まれる各フレーズに対して２個で構成する（すなわち、第１節点は第１フレーズの先頭ピッチに、第２節点は第１フレーズの最後ピッチに、第３節点は第２フレーズの先頭ピッチに、第４節点は第２フレーズの最後ピッチに、‥‥それぞれ対応する）
　２）各楽節の進行パターンは、
　　ａ）当楽節が同名楽節の場合には、その同名楽節（参照楽節）の進行パターンと同一とする
　　ｂ）当楽節が′同類楽節である場合には、当楽節の最後区間以外の進行パターンをその参照楽節の進行パターンと同一とし、最後区間の進行パターンを、当楽節の最後ピッチへと収束する進行パターンとする
　　ｃ）当楽節が上記ａ），ｂ）のいずれの条件も満たさない場合には、ランダムにその進行パターンを決定する（ただし、設定された音域（最高音および最低音）の範囲内に収まるようにする）
　図２１は、楽節の最後ピッチへと収束する進行パターンを説明するための図であり、（ａ）は参照楽節の進行パターンの一例を示し、（ｂ）は生成された当楽節の進行パターンを示している。そして、（ｂ）中、区間ｉ２は最後区間を示し、区間ｉ１は最後区間以外の区間を示している。
【００７６】
　いま、当楽節が上記条件ｂ）を満たすものとすると、上述のように、区間ｉ１の進行パターンは、参照楽節の対応する区間の進行パターンに決定される。すなわち、図示例では、水平、上行に決定される。そして、区間ｉ２の進行パターンは、当楽節の最後ピッチへと収束する進行パターンに決定される。すなわち、参照楽節の最後区間が上行に決定されているにも拘わらず、当楽節の最後区間は下行（最後ピッチｐｅへと収束する進行パターン）に決定される。本楽節骨格の進行パターン生成処理を実行する時点では、上述したように、既に最後節点ピッチｐｅは決定されているため、その最後節点ピッチを維持するように、その進行パターンも決定される。
【００７７】
　このように構成されたアルゴリズムに従って、各楽節骨格の進行パターンが生成される。以下、図１１のフローチャートに加えて、図２０に示す各楽節骨格の進行パターンの生成例も参照しながら、本楽節骨格の進行パターン生成処理を１ステップずつ順に説明する。
【００７８】
　図１１において、まず、図９のステップＳ２１と同様にして、楽節カウンタを“１"に初期設定する（ステップＳ５１）。
【００７９】
　次に、図１２を用いて後述する当楽節（１楽節分）の進行パターン生成処理サブルーチンを実行する（ステップＳ５２）。
【００８０】
　続くステップＳ５３では、図１０のステップＳ３７と同様にして、全楽節に対して上述の処理を終了したか否かを判別し、処理すべき楽節が残っているときには、ステップＳ３８と同様にして、楽節カウンタの値を“１"だけインクリメントした（ステップＳ５４）後に、前記ステップＳ５２に戻って上述の処理を繰り返す一方、処理すべき楽節が残っていないときには本楽節骨格の進行パターン生成処理を終了する。
【００８１】
　図１２は、上記ステップＳ５２の１楽節分の進行パターン生成処理サブルーチンの詳細な手順を示すフローチャートである。
【００８２】
　同図において、まず、当楽節骨格の節点数を算出する（ステップＳ６１）。前述したように、１楽節当たりの節点数は、当該楽節に含まれるフレーズ数の２倍としたので、次式によって算出される。
【００８３】
　節点数＝フレーズ数×２
すなわち、図２０（ａ）の例では、各楽節がいずれも２個のフレーズによって構成されているので、その節点数は、各楽節共通に４個と算出される。
【００８４】
　次に、前記図１０のステップＳ２８，Ｓ３０，Ｓ３２，Ｓ３５と同様に、当楽節が、新規楽節、同名楽節、′同類楽節または″同類楽節のいずれの楽節であるかを判別する（ステップＳ６２，Ｓ６４，Ｓ６６，Ｓ６８）。
【００８５】
　この判別の結果、当楽節が新規楽節のときには、ステップＳ６２からステップＳ６３に進み、当楽節の節点間の進行をランダムに決定する。すなわち、「水平」進行、「上行」進行および「下行」進行のうちのいずれかをランダムに選択して、その各節点間の進行として設定する（ステップＳ６３）。すなわち、図２０（ａ）の例では、当楽節が第１楽節のときには、当楽節は新規楽節であるので、ステップＳ６３で、節点間の進行、すなわち節点間ｐ１１−ｐ１２，ｐ１２−ｐ１３およびｐ１３−ｐ１４の各進行が、上述のように、ランダムに決定される。この例では、順に、「下行」、「上行」、「上行」に決定されている。図２０（ａ）の他の新規楽節、すなわち第３および第４楽節の節点間の進行も、同様にランダムに決定される。
【００８６】
　また、当楽節が同名楽節のときには、ステップＳ６４からステップＳ６５に進み、当楽節の節点間の進行を、同名楽節と同一の進行に決定する。図２０（ａ）の例では、同名楽節は設定されていないので、ステップＳ６４からステップＳ６６に移行する。
【００８７】
　また、当楽節が′同類楽節のときには、ステップＳ６６からステップＳ６７に進み、当楽節の節点間の進行を、最後区間を除き参照楽節と同一の進行とし、最後区間の進行を、当楽節の最後ピッチへ向かう進行に決定する。すなわち、図２０（ａ）の例では、当楽節が第２楽節のときには、当楽節は′同類楽節であるので、ステップＳ６７で、最後区間を除いて、その節点間の進行を参照楽節である第１楽節の進行と同一に決定し、最後区間の進行は、図２１を用いて説明したように決定する。
【００８８】
　さらに、当楽節が″同類楽節のときには、ステップＳ６８からステップＳ６９に進み、上記ステップＳ６７と同様の処理を実行する。図２０（ａ）の例では、″同類楽節は設定されていないので、ステップＳ６８から直ちに本１楽節分の進行パターン生成処理を終了する。
【００８９】
　このようにして、１曲分の各楽節毎の進行パターンが決定されると、その決定データが、図２０（ｂ）に示すように、各楽節の区間番号と対応付けられて、たとえば前記ＲＡＭ７の所定位置に確保された進行パターン記憶領域に記憶される。
【００９０】
　図１３は、前記図８のステップＳ７の楽節骨格の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。以下、この節点ピッチ生成処理を、まずその生成アルゴリズムを説明した後に、図１３のフローチャートに基づいて１ステップずつ順に説明する。
【００９１】
　本楽節骨格の節点ピッチ生成処理は、次のようなアルゴリズムによって構成されている。すなわち、
　１）各楽節の先頭節点ピッチは、前記全体骨格の節点ピッチ生成処理（図８のステップＳ２）で決定された当該楽節の先頭節点ピッチとする
　２）各楽節の最後節点ピッチは、１）と同様に、全体骨格の節点ピッチ生成処理で決定された当該楽節の最後節点ピッチとする
　３）各フレーズの先頭節点ピッチは、
　　ａ）当楽節が同名楽節の場合には、その同名楽節（参照楽節）の対応するフレーズの先頭節点ピッチと同一とする
　　ｂ）当楽節が′同類楽節である場合には、前記楽節骨格の進行パターン生成処理で生成された、対応する進行パターンと、前記設定されたダイナミクスとに従って、設定されたコードの構成音（７ｔｈ音を除く）の中でランダムに決定する。ただし、可能な限り、その参照楽節の対応するフレーズの先頭節点ピッチと同一とする
　　ｃ）当楽節が上記ａ），ｂ）のいずれの条件も満たさない場合には、前記楽節骨格の進行パターン生成処理で生成された、対応する進行パターンと、前記設定されたダイナミクスとに従って、設定されたコードの構成音（７ｔｈ音を除く）の中でランダムに決定する
　４）各フレーズの最後節点ピッチは、
　　ａ）当楽節が同名楽節の場合には、その同名楽節（参照楽節）の対応するフレーズの最後節点ピッチと同一とする
　　ｂ）当該楽節が′同類楽節である場合には、前記楽節骨格の進行パターン生成処理で生成された、対応する進行パターンと、前記設定されたダイナミクスとに従って、設定されたコードの構成音（７ｔｈ音を除く）の中でランダムに決定する。ただし、可能な限り、その参照楽節の対応するフレーズの最後節点ピッチと同一とする
　　ｃ）当楽節が上記ａ），ｂ）のいずれの条件も満たさない場合には、前記楽節骨格の進行パターン生成処理で生成された、対応する進行パターンと、前記設定されたダイナミクスとに従って、設定されたコードの構成音（７ｔｈ音を除く）の中でランダムに決定する
　なお、ダイナミクスとして設定された値と、選択される節点ピッチとの関係は、前記全体骨格の節点ピッチ生成処理で説明した関係と同様である。
【００９２】
　このように構成されたアルゴリズムに従って、各楽節を構成する各節点ピッチが曲全体に亘って生成される。以下、図１３のフローチャートに加えて、図２２に示す各楽節骨格の節点ピッチの生成例も参照しながら、本楽節骨格の節点ピッチ生成処理を１ステップずつ順に説明する。
【００９３】
　図１３において、まず、図９のステップＳ２１と同様にして、楽節カウンタを初期化する（ステップＳ７１）。
【００９４】
　次に、図１４を用いて後述する当楽節（１楽節分）の節点ピッチ生成処理サブルーチンを実行する（ステップＳ７２）。
【００９５】
　続くステップＳ７３では、図１０のステップＳ３７と同様にして、全楽節に対して上述の処理を終了したか否かを判別し、処理すべき楽節が残っているときには、ステップＳ３８と同様にして、楽節カウンタの値を“１"だけインクリメントした（ステップＳ７４）後に、前記ステップＳ７２に戻って上述の処理を繰り返す一方、処理すべき楽節が残っていないときにはステップＳ７５に進む。
【００９６】
　ステップＳ７５では、前記図６のように楽節ピッチパターンを表示し、続くステップＳ７６では、前述したように楽節骨格の演奏を行った後に、本楽節骨格の節点ピッチ生成処理を終了する。
【００９７】
　図１４は、ステップＳ７２の１楽節分の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。
【００９８】
　同図において、まず、当楽節の先頭節点ピッチを、前記全体骨格の節点ピッチ生成処理で生成された、全体骨格の当楽節の先頭節点ピッチと同一に決定する（ステップＳ８１）。すなわち、この処理は、上記アルゴリズムの１）に相当し、図２２の例では、当楽節が第１楽節であるときには、この処理により、その先頭節点ピッチｐ１１が前記図１９の先頭節点ピッチｐ１と同一に決定される。
【００９９】
　次に、当楽節の最後節点ピッチを、前記全体骨格の節点ピッチ生成処理で生成された、全体骨格の当楽節の最後節点ピッチと同一に決定する（ステップＳ８２）。すなわち、この処理は、上記アルゴリズムの２）に相当し、図２２の例では、当楽節が第１楽節であるときには、この処理により、その最後節点ピッチｐ１４が図１９の最後節点ピッチｐ２と同一に決定される。
【０１００】
　続くステップＳ８３では、当楽節のフレーズ数が“２"以上であるか否かを判別し、フレーズ数＜２のとき、すなわちフレーズ数＝１のときには、既にステップＳ８１およびＳ８２で節点ピッチは決定されているので、本１楽節分の節点ピッチ生成処理を終了する一方、フレーズ数≧２のときには、決定すべき節点ピッチが存在するので、ステップＳ８４に進む。
【０１０１】
　ステップＳ８４，Ｓ８６，Ｓ８８およびＳ９１では、それぞれ図１０のステップＳ２８，Ｓ３０，Ｓ３２，Ｓ３５と同様に、当楽節が、新規楽節、同名楽節、′同類楽節または″同類楽節のいずれの楽節であるかを判別する。
【０１０２】
　この判別の結果、当楽節が新規楽節のときには、ステップＳ８４からステップＳ８５に進み、当楽節の中間節点ピッチを、進行パターンに従って、節点ピッチ間の度数が設定されたダイナミクスで規定された以内で、コード音の内からランダムに選択して決定する。ここで、中間節点ピッチは、たとえば、当楽節のフレーズ数が２個であるときには、第１フレーズの最後節点ピッチおよび第２フレーズの先頭節点ピッチの両節点ピッチを意味し（当楽節の先頭節点ピッチおよび最後節点ピッチは既に決定されているため）、当楽節のフレーズ数が３個以上あるときには、第１フレーズの先頭節点ピッチおよび最後フレーズの最後節点ピッチを除いた残りのすべての節点ピッチを意味している。このようにして、図２２の例では、第１楽節の節点ピッチｐ１２およびｐ１３が決定される。
【０１０３】
　また、当楽節が同名楽節のときには、ステップＳ８６からステップＳ８７に進み、当楽節の中間節点ピッチを、同名楽節と同一に決定する。図２２の例では、同名楽節は設定されていないので、ステップＳ８６からステップＳ８８に進む。
【０１０４】
　また、当楽節が′同類楽節のときには、ステップＳ８８からステップＳ８９に進み、当楽節の中間節点ピッチを、参照楽節の対応する節点間の進行とコードがとが同一の場合には、参照楽節の対応する節点ピッチと同一に決定する。続くステップＳ９０では、その他の節点ピッチを、上記ステップＳ８５と同様に決定する。すなわち、図２２の例において、当楽節が第２楽節の場合には、第２楽節は′同類楽節であるので、その節点ピッチｐ２２およびｐ２３が、上述のように決定される。
【０１０５】
　さらに、当楽節が″同類楽節のときには、ステップＳ９１からステップＳ９２に進み、当楽節の中間節点ピッチを、上記ステップＳ８５と同様に決定する。図２２の例では、″同類楽節は設定されていないので、ステップＳ９２の処理は行わずに、本１楽節分の節点ピッチ生成処理を終了する。
【０１０６】
　図１５は、前記ステップＳ１１のフレーズ骨格の進行パターン生成処理サブルーチンの詳細な手順を示すフローチャートであり、このフローチャートを説明する前に、その生成アルゴリズムを説明する。
【０１０７】
　本フレーズ骨格の進行パターン生成処理は、次のようなアルゴリズムによって構成されている。すなわち、
　１）フレーズ骨格の節点は、そのフレーズに含まれる各小節に対して最大２個で構成する（すなわち、第１節点は第１小節の先頭ピッチに、第２節点は第１小節の重要打点（重要打点については後述する）のピッチに、第３節点は第２小節の先頭ピッチに、第４節点は第２小節の重要打点のピッチに、‥‥それぞれ対応する）
　２）各フレーズの進行パターンは、
　　ａ）当楽節が同名楽節の場合には、その同名楽節（参照楽節）の対応するフレーズの進行パターンと同一とする
　　ｂ）当楽節が′同類楽節である場合には、当楽節の対応するフレーズの進行パターンの最後区間以外の進行パターンをその参照楽節の進行パターンと同一とし、最後区間の進行パターンを、当該フレーズの最後ピッチへと収束する進行パターンとする
　　ｃ）当楽節が上記ａ），ｂ）のいずれの条件も満たさない場合には、ランダムにその進行パターンを決定する（ただし、設定された音域（最高音および最低音）の範囲内に収まるようにする）
　このアルゴリズムと、前述した楽節骨格の進行パターン生成処理のアルゴリズムとを比較すると、その進行パターンを生成する対象が、前者ではフレーズであるのに対して、後者では楽節である点が異なるのみであり、そのアルゴリズムの本質は異ならないので、後者の進行パターン生成の対象を前者のフレーズに読み替え、この読み替えられたアルゴリズムに基づいて、フレーズ骨格の進行パターン生成処理を簡単に実現することができる。したがって、フレーズ骨格の進行パターン生成処理については、図１５および図１６において図示のみ行い、その説明を省略する。
【０１０８】
　図２３は、このようにして生成されたフレーズ骨格の進行パターンの一例を示す図である。そして、（ａ）は前記図２０の（ａ）に対応し、（ｂ）は図２０の（ｂ）に対応するので、図２３の説明も省略する。
【０１０９】
　図１７は、前記図８のステップＳ１２のフレーズ骨格の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートであり、このフローチャートを説明する前に、その生成アルゴリズムを説明する。
【０１１０】
　本フレーズ骨格の節点ピッチ生成処理は、次のようなアルゴリズムによって構成されている。すなわち、
　１）各フレーズの先頭節点ピッチは、前記楽節骨格の節点ピッチ生成処理（図８のステップＳ７）で決定された当該フレーズの先頭節点ピッチとする
　２）各フレーズの最後節点ピッチは、１）と同様に、楽節骨格の節点ピッチ生成処理で決定された当該フレーズの最後節点ピッチとする
　３）各フレーズの中間節点ピッチは、下記に示す重要打点決定アルゴリズムに従って決定された打点のピッチとなり、
　　ａ）当楽節が同名楽節の場合には、その同名楽節（参照楽節）の対応するフレーズの対応する節点ピッチと同一とする
　　ｂ）当該楽節が′同類楽節である場合には、前記フレーズ骨格の進行パターン生成処理で生成された、対応する進行パターンと、前記設定されたダイナミクスとに従って、設定されたコードの構成音（７ｔｈ音を除く）の中でランダムに決定する。ただし、可能な限り、その参照楽節の対応するフレーズの対応する節点ピッチと同一とする
　　ｃ）当楽節が上記ａ），ｂ）のいずれの条件も満たさない場合には、前記フレーズ骨格の進行パターン生成処理で生成された、対応する進行パターンと、前記設定されたダイナミクスとに従って、設定されたコードの構成音（７ｔｈ音を除く）の中でランダムに決定する
　なお、ダイナミクスとして設定された値と、選択される節点ピッチとの関係は、前記全体骨格の節点ピッチ生成処理で説明した関係と同様である。
【０１１１】
　そして、重要打点決定アルゴリズムは、次のようにして構成する。すなわち、
　１）重要打点は、各小節に対して最大２個で構成する（ただし、当該小節内の音節数が１個の場合には、重要打点は１個とする）
　２）第１重要打点は、当該小節の先頭打点とする
　３）第２重要打点は、
　　ａ）当小節がフレーズの最後小節でない場合には、
　　　i ）優先順位１：第３拍目に打点が存在するときには、その打点とする
　　　ii）優先順位２：デュレーション（キーオンイベントに付随して設けられているイベントであって、そのキーオンイベントとその直前のキーオンイベントと間隔を示すもの）が最大である打点（キーオンイベント）をその打点とする（このように、第２重要打点（＝節点）は、当該小節の最後打点にならないこともある）
　　ｂ）当小節がフレーズの最後小節である場合には、当該小節の最後打点をその打点とする
　このように構成されたアルゴリズムに従って、各フレーズを構成する各節点ピッチが曲全体に亘って生成される。以下、図１７のフローチャートに加えて、図２４に示す各フレーズ骨格の節点ピッチの生成例も参照しながら、本フレーズ骨格の節点ピッチ生成処理を１ステップずつ順に説明する。
【０１１２】
　図１７において、まず、図９のステップＳ２１と同様にして、楽節カウンタを初期化する（ステップＳ１３１）。
【０１１３】
　次に、フレーズ数をカウントするために、楽節カウンタと同様にＲＡＭ７上に設けられたソフトカウンタであるフレーズカウンタを初期化する（ステップＳ１３２）。
【０１１４】
　そして、図１８を用いて後述する当フレーズ（１フレーズ分）の節点ピッチ生成処理サブルーチンを実行し（ステップＳ１３３）、フレーズカウンタのカウント値をチェックすることにより、全フレーズに対して、ステップＳ１３３の処理を実行したか否かを判別する（ステップＳ１３４）。
【０１１５】
　ステップＳ１３４で、まだ残りのフレーズがあるときには、フレーズカウンタを“１"だけインクリメントした後に、前記ステップＳ１３３に戻り、上述の処理を繰り返す一方、残りのフレーズがないときには、全楽節に対して、ステップＳ１３３の処理を終了したか否かを判別する（ステップＳ１３６）。
【０１１６】
　ステップＳ１３６で、まだ残りの楽節があるときには、楽節カウンタを“１"だけインクリメントした後に、前記ステップＳ１３２に戻って、上述の処理を繰り返し、残りの楽節がないときにはステップＳ１３８に進む。
【０１１７】
　ステップＳ１３８では、前記図７のようにフレーズピッチパターンを表示し、続くステップＳ１３９では、前述したようにフレーズ骨格の演奏を行った後に、本フレーズ骨格の節点ピッチ生成処理を終了する。
【０１１８】
　図１８は、上記ステップＳ１３３の１フレーズ分の節点ピッチ生成処理サブルーチンの詳細な構成を示す図である。
【０１１９】
　本１フレーズ分の節点ピッチ生成処理は、前記図１４の１楽節分の節点ピッチ生成処理に対して、楽節をフレーズに置き換えた点が異なるのみであり、そのアルゴリズムに本質的な差はない。したがって、このフローチャートの詳細な説明は省略し、図２４の各フレーズ骨格の節点ピッチの生成例に基づいて、節点ピッチがどのようにして生成されるかを簡単に説明する。
【０１２０】
　図２４において、まず、第１楽節の第１フレーズの先頭節点ピッチｐ１１１が、ステップＳ１４１の処理によって、図２２の節点ピッチｐ１１（その節点ピッチは、図１９の節点ピッチｐ１と同一）と同一に決定され、次いで、第１フレーズの最後節点ピッチが、ステップＳ１４２の処理によって、図２２の節点ピッチｐ１２と同一に決定される。そして、第１楽節は新規楽節であるので、第１フレーズの中間節点ピッチｐ１１２およびｐ１１３が、ステップＳ１４５で示されるアルゴリズム、すなわち前記図１４のステップＳ８５と同様のアルゴリズムによって決定される。
【０１２１】
　同様にして、第１楽節の第２フレーズの各節点ピッチも決定され、他の新規楽節、すなわち第３および第４楽節の各フレーズの各節点ピッチも決定される。
【０１２２】
　第２楽節は、′同類楽節であるので、各フレーズの中間節点ピッチ、すなわち先頭節点ピッチおよび最後節点ピッチ以外の節点ピッチは、ステップＳ１４９およびＳ１５０で示されるアルゴリズム、すなわち図１４のステップＳ８９およびＳ９０と同様のアルゴリズムによって決定される。
【０１２３】
　以上説明したように、本実施の形態では、全体骨格、全体骨格に基づいた楽節骨格、楽節骨格に基づいたフレーズ骨格というような階層構造の骨格を有しているので、最初に全体骨格を決定し、徐々に下層の細かな骨格を考えるといった、メロディ全体の構成を考えながら作曲することができる。また、下位階層の骨格は上位階層の骨格に基づいて構成されているので、上位階層の骨格はそのままで下位階層の骨格のみを変更することができる。
【０１２４】
　さらに、具体的なピッチを示す骨格をグラフィック表示するようにしたので、生成されるメロディの具体的なピッチの変化を視覚的に把握することができる。また、階層別に骨格を表示するようにしたので、全体的および／または局所的なピッチ変化を一目瞭然に知ることができる。さらに、複数の階層の骨格を、表示態様を変えて重ねて表示するようにしたので、全体的および／または局所的な変化をさらに一層分かり易くなる。
【０１２５】
　また、骨格のみが演奏される機能を備えるようにしたので、生成したメロディを迅速に評価することができる。
【０１２６】
　なお、本実施の形態では、骨格の階層を「全体・楽節・フレーズ」の３段階としたが、これに限らず、２段階または４段階以上にしてもよい。なお、各階層の名称は、「全体」、「楽節」、「フレーズ」という名称に限らない。また、節点ピッチは、本実施の形態では、「楽節の先頭・最後」、「フレーズの先頭・最後」、「小節の先頭・最後」の２個としたが、これに限らず、３点以上であってもよい。または、楽節、フレーズ、小節の途中の打点を節点としてもよい。
【０１２７】
　さらに、節点ピッチの生成アルゴリズムは、例示したものに限る必要はないことはいうまでもない。節点ピッチ以外のピッチやリズムパターンの決定アルゴリズムについては、本発明の特徴でないため、本実施の形態では、特に言及していないが、どのようなものを採用してもよい。また、本実施の形態では、メロディテンプレート・データベース３２を検索して選択したメロディテンプレートを変形することによって、各骨格を生成するようにしたが、これに限らず、ユーザが一から骨格を作成するものであってもよい。さらに、ユーザが設定可能な条件として、本実施の形態では、「ダイナミクス」、「音域」、「曲の先頭ピッチ」、「曲の最後ピッチ」等を挙げたが、これは例示に過ぎず、他の条件であってもよい。
【０１２８】
　また、同一、類似の楽曲構成は楽節に限らず、フレーズや小節についても同一、類似の楽曲構成を設定するようにしてもよい。
【０１２９】
　さらに、骨格の変形をマニュアル操作（たとえばマウスのドラッグ操作）により行うようにしてもよい。この場合も、上位階層の骨格は変形せず、目的の階層の骨格のみを変形できるようにするとよく、たとえば、楽節骨格を変形する際は全体骨格を変形できないようにするとよい。また、目的の階層の骨格変形に応じて、下位階層の骨格を自動的に変形するようにしてもよいし、下位階層の骨格を無効にしてもよい。たとえば、楽節骨格を変形する際、該変更にあうようにフレーズ骨格をも自動的に変形してもよいし、フレーズ骨格は無効としてもよい。さらに、マニュアル操作により骨格を変形する場合、同名・同類楽節を含む区間を変形するときは、該同名・同類を維持するように他の区間も変形することが望ましい。
【０１３０】
　また、本実施の形態では、データベースから検索されたテンプレートに含まれる骨格データを必要に応じて適宜変形する例を示したが、データベースのテンプレートを用いず、最初から演算により骨格データを生成するようにしてもよい。この場合、前述の骨格データ変形処理を骨格データ生成に利用することができる。
【０１３１】
　なお、上述した各実施の形態の機能を実現するソフトウェアのプログラムを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵ５やＭＰＵ）が記憶媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは云うまでもない。
【０１３２】
　この場合、記憶媒体から読出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
【０１３３】
　プログラムを供給するための記憶媒体としては、たとえば、前記ＨＤＤ１１のハードディスク、ＣＤ−ＲＯＭ２１，ＭＯ，ＭＤ，フロッピー（登録商標）ディスク２０、ＣＤ−Ｒ（CD- Recordable）、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、他のＭＩＤＩ機器１００や通信ネットワーク１０１を介してサーバコンピュータ１０２からプログラムが供給されるようにしてもよい。
【０１３４】
　また、コンピュータが読出したプログラムを実行することにより、上述した各実施の形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは云うまでもない。
【０１３５】
　さらに、記憶媒体から読出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ５などが実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは云うまでもない。
【図面の簡単な説明】
【０１３６】
【図１】本発明の一実施の形態に係る自動作曲装置の概略構成を示すブロック図である。
【図２】図１の自動作曲装置が実行する制御処理を視覚的に表した図である。
【図３】図１の自動作曲装置が実行する制御処理を視覚的に表した図である。
【図４】各楽節に設定される楽節記号の意味を説明するための図である。
【図５】図１の表示装置上に表示された全体ピッチパターンの一例を示す図である。
【図６】図１の表示装置上に表示された楽節ピッチパターンの一例を示す図である。
【図７】図１の表示装置上に表示されたフレーズピッチパターンの一例を示す図である。
【図８】図３の骨格データ変形処理部が実行する骨格生成処理の手順を示すフローチャートである。
【図９】図８の全体骨格の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１０】図８の全体骨格の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１１】図８の楽節骨格の進行パターン生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１２】図１１の１楽節分の進行パターン生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１３】図８の楽節骨格の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１４】図１３の１楽節分の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１５】図８のフレーズ骨格の進行パターン生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１６】図１５の１フレーズ分の進行パターン生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１７】図８のフレーズ骨格の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１８】図１７の１フレーズ分の節点ピッチ生成処理サブルーチンの詳細な手順を示すフローチャートである。
【図１９】生成された全体骨格の一例を示す図である。
【図２０】生成された楽節骨格の進行パターンの一例を示す図である。
【図２１】楽節の最後ピッチへと収束する進行パターンを説明するための図である。
【図２２】生成された楽節骨格の節点ピッチの一例を示す図である。
【図２３】生成されたフレーズ骨格の進行パターンの一例を示す図である。
【図２４】生成されたフレーズ骨格の節点ピッチの一例を示す図である。
【符号の説明】
【０１３７】
５　ＣＰＵ（生成手段、設定手段、演奏手段）、９　表示装置（表示手段）、１１　ＨＤＤ（設定手段）、１５　音源回路（演奏手段）
【図１】
2004013170.tif 000003
【図２】
2004013170.tif 000004
【図３】
2004013170.tif 000005
【図４】
2004013170.tif 000006
【図５】
2004013170.tif 000007
【図６】
2004013170.tif 000008
【図７】
2004013170.tif 000009
【図８】
2004013170.tif 000010
【図９】
2004013170.tif 000011
【図１０】
2004013170.tif 000012
【図１１】
2004013170.tif 000013
【図１２】
2004013170.tif 000014
【図１３】
2004013170.tif 000015
【図１４】
2004013170.tif 000016
【図１５】
2004013170.tif 000017
【図１６】
2004013170.tif 000018
【図１７】
2004013170.tif 000019
【図１８】
2004013170.tif 000020
【図１９】
2004013170.tif 000021
【図２０】
2004013170.tif 000022
【図２１】
2004013170.tif 000023
【図２２】
2004013170.tif 000024
【図２３】
2004013170.tif 000025
【図２４】
2004013170.tif 000026