(57)【特許請求の範囲】
【請求項１】
複数の曲生成データを記憶する記憶手段であって、各曲生成データは、参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを含むものと、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、供給に係るメロディデータと一致又は類似した参照メロディデータを検出する検出手段と、
この検出手段により検出された参照メロディデータに付随したメロディ生成データを前記記憶手段から読出す読出手段と、
前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えた自動作曲装置。
【請求項２】
前記記憶手段に記憶されたメロディ生成データは、メロディ生成用メロディ特徴データ及びメロディ生成用メロディデータのうちいずれか一方又は双方からなるものである請求項１記載の自動作曲装置。
【請求項３】
メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
この分析手段により作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出手段と、
前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出手段により検出された不一致情報に応じて修正する修正手段と、
この修正手段により修正されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えた自動作曲装置。
【請求項４】
メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
この分析手段により作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出手段と、
前記記憶手段に記憶されたメロディ生成データを読出す読出手段と、
前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成手段と、
この生成手段により生成されたメロディデータを前記検出手段により検出された不一致情報に応じて修正する修正手段と
を備えた自動作曲装置。
【請求項５】
参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出手段と、
前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出手段により検出された不一致情報に応じて修正する修正手段と、
この修正手段により修正されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えた自動作曲装置。
【請求項６】
参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出手段と、
前記記憶手段に記憶されたメロディ生成データを読出す読出手段と、
前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成手段と、
この生成手段により生成されたメロディデータを前記検出手段により検出された不一致情報に応じて修正する修正手段と
を備えた自動作曲装置。
【請求項７】
前記生成手段は、前記供給手段により供給されたメロディデータにも基づいてメロディデータを生成するものである請求項１〜６のいずれかに記載の自動作曲装置。
【請求項８】
前記供給手段は、作成すべき曲の一部区間のメロディデータを供給するものであり、前記生成手段は、作成すべき曲の残区間のメロディデータを生成すると共に、前記一部区間のメロディデータと該残区間のメロディデータとを結合して１曲分のメロディデータを生成するものである請求項１〜７のいずれかに記載の自動作曲装置。
【請求項９】
複数の曲生成データを記憶する記憶手段であって、各曲生成データは、参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを含むものと、
所望のメロディデータを供給する供給手段と
を備えたコンピュータにおいて使用される記録媒体であって、
前記供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、供給に係るメロディデータと一致又は類似した参照メロディデータを検出する検出ステップと、
この検出ステップにより検出された参照メロディデータに付随したメロディ生成データを前記記憶手段から読出すステップと、
前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成するステップと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と
を備えたコンピュータにおいて使用される記録媒体であって、
前記供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析ステップと、
この分析ステップにより作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出ステップと、
前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出ステップにより検出された不一致情報に応じて修正する修正ステップと、
この修正ステップにより修正されたメロディ生成データに基づいてメロディデータを生成するステップと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と
を備えたコンピュータにおいて使用される記録媒体であって、
前記供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析ステップと、
この分析ステップにより作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出ステップと、
前記記憶手段に記憶されたメロディ生成データを読出すステップと、
前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成ステップと、
この生成ステップにより生成されたメロディデータを前記検出ステップにより検出された不一致情報に応じて修正するステップと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と
を備えたコンピュータにおいて使用される記録媒体であって、
前記供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出ステップと、
前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出ステップにより検出された不一致情報に応じて修正する修正ステップと、
この修正ステップにより修正されたメロディ生成データに基づいてメロディデータを生成するステップと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１３】
参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と
を備えたコンピュータにおいて使用される記録媒体であって、
前記供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出ステップと、
前記記憶手段に記憶されたメロディ生成データを読出すステップと、
前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成ステップと、
この生成ステップにより生成されたメロディデータを前記検出ステップにより検出された不一致情報に応じて修正するステップと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
複数曲のうちの各曲毎に複数の演奏区間のメロディ特徴を表わす曲特徴データを記憶する記憶手段と、
前記複数の演奏区間のうち任意の１つの演奏区間を指定する指定手段と、
この指定手段での指定に係る演奏区間において使用すべきメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
この分析手段により作成された特徴データが表わすメロディ特徴と一致又は類似したメロディ特徴を前記指定手段での指定に係る演奏区間において有する曲特徴データを前記記憶手段から選択して読出す読出手段と、
前記供給手段により供給されたメロディデータが表わすメロディの少なくとも一部を前記指定手段での指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを前記記憶手段から読出された曲特徴データに基づいて作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成する生成手段と
を備えた自動作曲装置。
【請求項１５】
複数曲のうちの各曲毎に複数の演奏区間のメロディを表わす曲データを記憶する記憶手段と、
前記複数の演奏区間のうち任意の１つの演奏区間を指定する指定手段と、
この指定手段での指定に係る演奏区間において使用すべきメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータが表わすメロディと一致又は類似したメロディを前記指定手段での指定に係る演奏区間において有する曲データを前記記憶手段から選択して読出す読出手段と、
前記供給手段により供給されたメロディデータが表わすメロディの少なくとも一部を前記指定手段での指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを前記記憶手段から読出された曲データに基づいて作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成する生成手段と
を備えた自動作曲装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自動作曲装置及び記録媒体に関し、特にユーザが入力したテーマメロディとメロディ特徴（又はメロディ）が一致又は類似するメロディ生成データをデータベースから抽出すると共に抽出したメロディ生成データに基づいてメロディデータを生成することによりテーマメロディに相応しく且つ起伏に富んだ音楽的なメロディを生成可能としたものである。
【０００２】
【従来の技術】
従来、自動作曲装置としては、入力したテーマメロディの特徴を分析し、この分析結果に基づいて１曲のメロディを生成するものが知られている（例えば、特開平１−１６７７８２号公報参照）。
【０００３】
【発明が解決しようとする課題】
上記した従来技術によると、テーマメロディの分析結果に基づいて演算によりメロディを発展させて１曲分のメロディを生成するので、１曲を通して起伏のある音楽的なメロディを生成しにくいという問題点があった。例えば、テーマメロディに相応しく且つサビ部分でテーマメロディと音楽的雰囲気を異にするような１曲のメロディを生成するのが困難であった。
【０００４】
この発明の目的は、入力されたテーマメロディに相応しく且つ起伏に富んだ音楽的なメロディを簡単に生成することができる新規な自動作曲装置を提供することにある。
【０００５】
【課題を解決するための手段】
この発明に係る第１の自動作曲装置は、
複数の曲生成データを記憶する記憶手段であって、各曲生成データは、参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを含むものと、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、供給に係るメロディデータと一致又は類似した参照メロディデータを検出する検出手段と、
この検出手段により検出された参照メロディデータに付随したメロディ生成データを前記記憶手段から読出す読出手段と、
前記記憶手段から読出されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えたものである。
【０００８】
第１の自動作曲装置によれば、ユーザが供給手段により所望のメロディデータを供給すると、供給したメロディデータと一致又は類似した参照メロディデータが検出手段により検出される。読出手段は、検出に係る参照メロディデータに付随したメロディ生成データを読出し、生成手段は、読出されたメロディ生成データに基づいてメロディデータを生成する。このように、供給したメロディデータと一致又は類似した参照メロディデータを検出すると共に検出に係る参照メロディデータに付随したメロディ生成データに基づいてメロディデータを生成するので、供給したメロディに相応しいメロディを生成することができる。また、メロディ生成データとして起伏のあるメロディを生成可能なものを記憶しておくことで１曲を通して起伏のある音楽的なメロディを簡単に生成することができる。さらに、供給したメロディデータと参照メロディデータとを直接比較するので、供給したメロディにより近いメロディを生成することができる。
【０００９】
第１の自動作曲装置において、メロディ生成データとしては、メロディ生成用メロディ特徴データ及びメロディ生成用メロディデータのうちいずれか一方又は双方を用いることができる。メロディ生成データとしてメロディ生成用メロディ特徴データを用いると、例えば既存の曲の音楽的特徴を反映したメロディを容易に生成することができる。また、メロディ生成データとしてメロディ生成用メロディデータを用いると、例えば既存の曲のメロディデータをメロディ生成データとしてそのまま用いてメロディ生成が可能であり、処理が簡単になると共にメロディデータが持つ音楽的雰囲気を反映したメロディを生成することができる。さらに、メロディ生成データとしてメロディ生成用メロディ特徴データ及びメロディ生成用メロディデータを用いると、メロディ特徴データが持つ音楽的特徴とメロディデータが持つ音楽的雰囲気とを反映したメロディを生成することができる。
【００１０】
この発明に係る第２の自動作曲装置は、
メロディ特徴を表わす参照特徴データと、この参照特徴データに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
この分析手段により作成された特徴データと前記記憶手段に記憶された参照特徴データとを比較し、比較に係る両データのメロディ特徴の不一致状態に対応した不一致情報を検出する検出手段と、
前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出手段により検出された不一致情報に応じて修正する修正手段と、
この修正手段により修正されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えたものである。
【００１１】
第２の自動作曲装置によれば、ユーザが供給手段により所望のメロディデータを供給すると、供給したメロディデータに関してメロディ特徴を表わす特徴データが分析手段により作成され、作成に係る特徴データと参照特徴データとのメロディ特徴の不一致状態に対応した不一致情報が検出手段により検出される。修正手段は、検出に係る不一致情報に応じてメロディ生成データを修正し、生成手段は、修正されたメロディ生成データに基づいてメロディデータを生成する。このように、供給したメロディデータとメロディ特徴が一致しない参照特徴データについては、参照特徴データに付随したメロディ生成データを不一致情報に応じて修正した後修正に係るメロディ生成データに基づいてメロディデータを生成するので、供給したメロディにより近いメロディを生成することができる。
【００１２】
第２の自動作曲装置にあっては、不一致情報に応じてメロディ生成データを修正する代りに、メロディ生成データに基づいてメロディデータを生成した後生成に係るメロディデータを不一致情報に応じて修正するようにしてもよい。
【００１３】
この発明に係る第３の自動作曲装置は、
参照メロディデータと、この参照メロディデータに付随したメロディ生成データとを記憶する記憶手段と、
所望のメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータと前記記憶手段に記憶された参照メロディデータとを比較し、比較に係る両データのメロディの不一致状態に対応した不一致情報を検出する検出手段と、
前記記憶手段に記憶されたメロディ生成データを読出すと共に該メロディ生成データを前記検出手段により検出された不一致情報に応じて修正する修正手段と、
この修正手段により修正されたメロディ生成データに基づいてメロディデータを生成する生成手段と
を備えたものである。
【００１４】
第３の自動作曲装置によれば、ユーザが供給手段により所望のメロディデータを供給すると、供給したメロディデータと参照メロディデータとのメロディの不一致状態に対応した不一致情報が検出手段により検出される。修正手段は、検出に係る不一致情報に応じてメロディ生成データを修正し、生成手段は、修正されたメロディ生成データに基づいてメロディデータを生成する。このように、供給したメロディデータとメロディが一致しない参照メロディデータについては、参照メロディデータに付随したメロディ生成データを不一致情報に応じて修正した後修正に係るメロディ生成データに基づいてメロディデータを生成するので、供給したメロディにより近いメロディを生成することができる。
【００１５】
第３の自動作曲装置にあっては、不一致情報に応じてメロディ生成データを修正する代わりに、メロディ生成データに基づいてメロディデータを生成した後生成に係るメロディデータを不一致情報に応じて修正するようにしてもよい。
【００１６】
第１〜第３の自動作曲装置において、生成手段は、供給手段により供給されたメロディデータにも基づいてメロディデータを生成するようにしてもよい。このようにすると、供給したメロディにより近いメロディを生成することができる。
【００１７】
第１〜第３の自動作曲装置において、供給手段は、作成すべき曲の一部区間のメロディデータを供給し、生成手段は、作成すべき曲の残区間のメロディデータを生成すると共に、一部区間のメロディデータと残区間のメロディデータとを結合して１曲分のメロディデータを生成するようにしてもよい。このようにすると、供給したメロディを一部区間に含む１曲分のメロディを生成することができる。
【００１８】
この発明に係る第４の自動作曲装置は、
複数曲のうちの各曲毎に複数の演奏区間のメロディ特徴を表わす曲特徴データを記憶する記憶手段と、
前記複数の演奏区間のうち任意の１つの演奏区間を指定する指定手段と、
この指定手段での指定に係る演奏区間において使用すべきメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する分析手段と、
この分析手段により作成された特徴データが表わすメロディ特徴と一致又は類似したメロディ特徴を前記指定手段での指定に係る演奏区間において有する曲特徴データを前記記憶手段から選択して読出す読出手段と、
前記供給手段により供給されたメロディデータが表わすメロディの少なくとも一部を前記指定手段での指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを前記記憶手段から読出された曲特徴データに基づいて作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成する生成手段と
を備えたものである。
【００１９】
第４の自動作曲装置によれば、ユーザが指定手段により任意の１つの演奏区間を指定すると共に供給手段により所望のメロディデータを供給すると、供給したメロディデータに関してメロディ特徴を表わす特徴データが分析手段により作成され、作成に係る特徴データと一致又は類似したメロディ特徴を指定に係る演奏区間において有する曲特徴データが記憶手段から読出手段により読出される。生成手段は、供給したメロディデータが表わすメロディの少なくとも一部を指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを読出しに係る曲特徴データに基づいて作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成する。このように、指定した演奏区間では供給したメロディデータが表わすメロディを流用すると共に該演奏区間以外の演奏区間では読出しに係る曲特徴データに基づいてメロディを作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成するので、所望の演奏区間に所望のメロディを含み且つ所望のメロディに相応しい１曲分のメロディを簡単に生成することができる。
【００２０】
この発明に係る第５の自動作曲装置は、
複数曲のうちの各曲毎に複数の演奏区間のメロディを表わす曲データを記憶する記憶手段と、
前記複数の演奏区間のうち任意の１つの演奏区間を指定する指定手段と、
この指定手段での指定に係る演奏区間において使用すべきメロディデータを供給する供給手段と、
この供給手段により供給されたメロディデータが表わすメロディと一致又は類似したメロディを前記指定手段での指定に係る演奏区間において有する曲データを前記記憶手段から選択して読出す読出手段と、
前記供給手段により供給されたメロディデータが表わすメロディの少なくとも一部を前記指定手段での指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを前記記憶手段から読出された曲データに基づいて作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成する生成手段と
を備えたものである。
【００２１】
第５の自動作曲装置によれば、ユーザが指定手段により任意の１つの演奏区間を指定すると共に供給手段により所望のメロディデータを供給すると、供給したメロディデータと一致又は類似したメロディを指定に係る演奏区間において有する曲データが記憶手段から読出手段により読出される。生成手段は、供給したメロディデータが表わすメロディの少なくとも一部を指定に係る演奏区間において流用すると共に該演奏区間以外の演奏区間のメロディを読出しに係る曲データに基づいて作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成する。このように、指定した演奏区間では供給したメロディデータが表わすメロディを流用すると共に該演奏区間以外の演奏区間では読出しに係る曲データに基づいてメロディを作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成するので、所望の演奏区間に所望のメロディを含み且つ所望のメロディに相応しい１曲分のメロディを生成することができる。また、供給したメロディデータと一致又は類似したメロディを有する曲データに基づいてメロディを作成するので、供給したメロディにより近いメロディを生成することができる。
【００２２】
【発明の実施の形態】
図１は、この発明の一実施形態に係る作曲処理を説明するためのもので、この作曲処理において使用される種々のデータを示す。
【００２３】
図１では、一例としてフレーズ単位でメロディを生成する方法を説明する。まず、音楽的な起伏に富んだ既存の完成された複数曲について各曲毎にメロディ特徴を分析し、そのメロディ特徴を表わす曲特徴データを作成する。メロディ特徴は、リズム特徴とピッチ特徴とに分解される。リズム特徴の例としては、
（ａ）音符分布の粗密：フレーズの前半と後半とではいずれが粗（又は密）かあるいは互いに等しいか、
（ｂ）シンコペーション：シンコペーション（弱拍から発音され、次の強拍を越える発音長を持つ音符）があるか否か、あればどの程度あるか、
（ｃ）最短音価：８分音符か１６分音符か、
（ｄ）フレーズスタート時間：前小節に喰い、ジャスト、拍頭より遅れのいずれか
等が挙げられる。
【００２４】
また、ピッチ特徴の例としては、
（ｅ）フレーズのピッチ振幅、
（ｆ）フレーズの開始音と終了音、
（ｇ）ピッチの変化形状：フレーズ内ピッチの極大・極小列（時間情報あり又はなし）、ピッチ進行に伴うピッチ変化の傾き方向を表わす上行・下行列（度数あり又はなし、時間情報あり又はなし）
等が挙げられる。
【００２５】
図１（Ａ）は、複数曲のメロディ特徴をそれぞれ表わす曲特徴データＭ1〜Ｍnを示すもので、これらのデータＭ1〜Ｍnを記憶手段にデータベースとして記憶する。各曲の曲特徴データは、フレーズ毎にメロディ特徴を表わし、例えば曲特徴データＭ1は、第１（テーマ）フレーズのメロディ特徴を表わすフレーズ特徴データＦ1と、第２フレーズのメロディ特徴を表わすフレーズ特徴データＦ2と、第３フレーズのメロディ特徴を表わすフレーズ特徴データＦ3と、第４フレーズのメロディ特徴を表わすフレーズ特徴データＦ4と、第５（サビ）フレーズのメロディ特徴を表わすフレーズ特徴データＦ5と、第６フレーズのメロディ特徴を表わすフレーズ特徴データＦ6とを含んでいる。
【００２６】
次に、ユーザがいずれかのフレーズを指定して所望のメロディデータを入力する。この入力に係るメロディデータについてメロディ特徴を分析し、そのメロディ特徴を表わすフレーズ特徴データを作成する。例えば図１（Ｂ）に示すように第１（テーマ）フレーズを指定してメロディデータＵＦ11を入力したときは、第１（テーマ）フレーズのメロディ特徴を表わすフレーズ特徴データＵＦ1を作成する。また、第２フレーズを指定してメロディデータＵＦ12を入力したときは、第２フレーズのメロディ特徴を表わすフレーズ特徴データＵＦ2を作成する。
【００２７】
次に、データベースからユーザ入力に係るメロディデータとメロディ特徴が一致又は類似した曲特徴データを選択して読出す。このためには、例えばフレーズ特徴データＵＦ1と曲特徴データＭ1の第１（テーマ）フレーズのフレーズ特徴データＦ1とを比較し、両者が一致又は類似していれば曲特徴データＭ1を読出し、両者が一致又は類似していなければデータＵＦ1と曲特徴データＭ2の第１（テーマ）フレーズのフレーズ特徴データとを比較し…というように順次に比較を行ない、一致又は類似するとの比較結果が得られるたびに比較に係る曲特徴データを読出すようにすればよい。
【００２８】
次に、ユーザ入力に係るメロディデータを流用すると共に読出しに係る曲特徴データに基づいてメロディデータを作成することにより流用メロディデータ及び作成メロディデータを含む１曲分のメロディデータを生成する。例えば第１（テーマ）フレーズを指定してメロディデータＵＦ11を入力すると共に曲特徴データＭ1を読出したときは、図１（Ｃ）に示すように第１（テーマ）フレーズのメロディデータとしてメロディデータＵＦ11を流用すると共に曲特徴データＭ1に基づいて第１（テーマ）以外のフレーズのメロディデータＦ12〜Ｆ16を作成することにより１曲分のメロディデータＭＤ1を生成する。また、第２フレーズを指定してメロディデータＵＦ12を入力すると共に曲特徴データＭ1を読出したときは、図１（Ｄ）に示すように第２フレーズのメロディデータとしてメロディデータＵＦ12を流用すると共に曲特徴データＭ1に基づいて第２以外のフレーズのメロディデータＦ11，Ｆ13〜Ｆ16を作成することにより１曲分のメロディデータＭＤ2を生成する。所望によりメロディデータＵＦ12の一部を変更（一部を流用）して第２’フレーズとしたり、メロディデータＦ13の一部を変更して第３’フレーズとしたりすることもできる。
【００２９】
なお、図２について後述するようにデータベースに曲特徴データと共に曲データを記憶しておくときは、データベースからユーザ入力のメロディデータとメロディが一致又は類似する曲データを比較により抽出し、抽出した曲データの一部（例えば１フレーズのメロディ）をＭＤ1又はＭＤ2等のメロディデータの一部として流用してもよい。
【００３０】
データベースには、曲特徴データＭ1〜Ｍnの代りに複数曲分の曲データを記憶しておき、いずれかの曲データとユーザ入力に係るメロディデータとに基づいてメロディ生成を行なうようにしてもよい。各曲データは、複数フレーズ分のメロディを表わし、例えば図１（Ａ）に示すように第１（テーマ）、第２、第３、第４、第５（サビ）、第６のフレーズメロディを表わすものとする。
【００３１】
ユーザがいずれかのフレーズを指定して所望のメロディデータを入力する。例えば図１（Ｂ）に示すように第１（テーマ）フレーズを指定してメロディデータＵＦ11を入力する。
【００３２】
次に、データベースからユーザ入力に係るメロディデータとメロディが一致又は類似した曲データを選択して読出す。このためには、例えばメロディデータＵＦ11とデータベース内の各曲データの第１（テーマ）フレーズのメロディデータとを比較し、メロディデータＵＦ11とメロディが一致又は類似した曲データを選択して読出すようにすればよい。
【００３３】
次に、ユーザ入力に係るメロディデータを流用すると共に読出しに係る曲データに基づいてメロディデータを作成することにより流用メロディデータ及び作成メロディデータを含む１曲分のメロディデータを生成する。例えば図１（Ｃ）に示すように第１（テーマ）フレーズのメロディデータとしてメロディデータＵＦ11を流用すると共に読出しに係る曲データに基づいて第１（テーマ）以外のフレーズのメロディデータＦ12〜Ｆ16を作成することにより１曲分のメロディデータＭＤ1を生成する。
【００３４】
図１に関して上記した作曲処理によれば、ユーザが所望のフレーズを指定すると共に所望のメロディを入力することにより指定に係るフレーズに入力に係るメロディを含む１曲分のメロディを簡単に生成することができる。生成される１曲分のメロディは、入力に係るメロディとメロディ特徴が一致又は類似した曲特徴データに基づいてメロディを作成するので、入力に係るメロディに相応しいものとなる。入力に係るメロディとメロディが一致又は類似した曲データに基づいてメロディを作成すると、生成されるメロディは、入力に係るメロディにより近くなる。曲特徴データ又は曲データとして音楽的に起伏に富んだ曲（例えば既存の完成された曲）に対応するものを記憶しておくことにより起伏に富んだ音楽的な１曲分のメロディを生成することができる。
【００３５】
図２は、この発明に係る自動作曲装置を示すものである。図２の自動作曲装置は、図１に関して上記したメロディ生成方法に従ってメロディ生成を遂行可能なもので、パーソナルコンピュータ１０と、電子楽器１２と、ディスプレイ１４とを含んでいる。
【００３６】
パーソナルコンピュータ１０においては、バス１６にＣＰＵ（中央処理装置）１８、ＲＯＭ（リード・オンリィ・メモリ）２０、ＲＡＭ（ランダム・アクセス・メモリ）２２、検出回路２４，２６、インターフェース２８、外部記憶装置３０、表示回路３２、タイマ３４等が接続されている。
【００３７】
ＣＰＵ１８は、ＲＯＭ２０にストアされたプログラムに従ってメロディ生成のための各種処理を実行するもので、これらの処理については図８〜１８を参照して後述する。
【００３８】
ＲＡＭ２２は、ＣＰＵ１８による各種処理に際して使用される種々の記憶部を含むもので、主な記憶部としては、参考曲データ記憶部２２Ａ、曲特徴データ記憶部２２Ｂ、フレーズメロディデータ記憶部２２Ｃ、フレーズ特徴データ記憶部２２Ｄ、候補曲特徴データ記憶部２２Ｅ、作成曲データ記憶部２２Ｆ等を含んでいる。
【００３９】
検出回路２４は、文字入力及び数字入力が可能なキーボード３６から操作情報を検出するものである。キーボード３６では、各種の指示又は選択操作、メロディ情報入力操作等を行なうことができる。
【００４０】
検出回路２６は、入力操作子としてのマウス３８から操作情報を検出するものである。マウス３８では、各種の指示又は選択操作等を行なうことができる。例えば、登録モード、メロディ生成モード、自動演奏モード等のモード選択操作は、マウス３８又はキーボード３６により行なうことができる。
【００４１】
インターフェース２８は、ＭＩＤＩ（Ｍｕｓｉｃａｌ  ＩｎｓｔｒｕｍｅｎｔＤｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）規格に適合したもので、電子楽器１２との間で演奏情報等の送受信を行なうために設けられたものである。電子楽器１２は、鍵盤１２Ａ、音源装置、自動演奏装置等を含むもので、鍵盤１２Ａでの鍵操作に基づく音高情報及び／又は自動演奏装置から出力される音高情報に応じて音源装置から楽音信号を発生可能である。また、鍵盤１２Ａでの鍵操作に基づいてインターフェース２８を介してパーソナルコンピュータ１０にメロディ情報を入力可能である。
【００４２】
外部記憶装置３０は、ＨＤ（ハードディスク）、ＦＤ（フロッピーディスク）、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多目的ディスク）、ＭＯ（光磁気ディスク）等のうち１又は複数種類の記録媒体を着脱可能なものである。外部記憶装置３０に所望の記録媒体を装着した状態では、記録媒体からＲＡＭ２２へデータを転送可能である。また、装着した記録媒体がＨＤやＦＤのように書込可能なものであれば、ＲＡＭ２２のデータを記録媒体に転送可能である。
【００４３】
外部記憶装置３０に装着する記録媒体では、参考曲としての多数曲の曲データがデータベース３０Ａとして記録されると共に多数のリズムデータがデータベース３０Ｂとして記録される。データベース３０Ａには、参考曲としての多数曲のうちの複数曲について曲特徴データを予め記録しておいてもよい。後述する曲特徴登録の処理によれば、参考曲としての多数曲のうちの所望の曲について曲特徴データを作成し、データベース３０Ａに記録することができる。曲データ及び曲特徴データについては、図３及び図４を参照して後述し、リズムデータについては図５を参照して後述する。
【００４４】
表示回路３２は、ディスプレイ１４の表示動作を制御することにより各種の表示を可能にするものである。
【００４５】
タイマ３４は、与えられるテンポデータに対応する周期でテンポクロック信号ＴＣＬを発生するもので、テンポクロック信号ＴＣＬは、割込命令としてＣＰＵ１８に供給される。ＣＰＵ１８は、テンポクロック信号ＴＣＬの各クロックパルス毎に割込処理を開始する。このような割込処理を利用することにより記憶部２２Ｆの作成曲データに基づいて自動演奏を行なうことができる。
【００４６】
図３（Ａ）及び（Ｂ）は、それぞれ記憶部２２Ａ及び２２Ｂに記憶される曲データ及び曲特徴データのフォーマットを示すものである。
【００４７】
曲データは、図３（Ａ）に示すように、テンポデータＴＭＰ等を含むヘッドデータＭＨＤの後に曲進行に従ってタイミングデータＴＭＧ1とキーオンデータＫＯＮ1の組、タイミングデータＴＭＧ2とキーオフデータＫＯＦ1の組…というようにタイミングデータとキーオン又はキーオフのイベントデータの組を順次に配置し、最後にエンドデータＭＥＤを配置したものである。
【００４８】
各タイミングデータは、１つ前のイベントからの相対時間をテンポクロック信号ＴＣＬのクロック数で表わすもので、この実施形態では４分音符の長さに相当する時間を４８０クロックに対応させている。各キーオンデータは、楽音発生を指示するキーオン命令データＫＯと、発生楽音の音高を指示するノートナンバデータＮＭと、発生楽音の音量を指示するベロシティデータＶＬとを含んでいる。各キーオフデータは、キーオフ命令データと、ノートナンバデータとを含んでいる。
【００４９】
曲特徴データは、図３（Ｂ）に示すように、ヘッドデータＣＨＤの後にフレーズＦ1，Ｆ2…の順にフレーズ特徴データを配置し、最後にエンドデータＣＥＮを配置したものである。ヘッドデータＣＨＤは、データ登録時に指定された登録ナンバを表わす登録ナンバデータＲＮと、曲のジャンル（例えばジャズ）を表わすジャンルデータＭＪと、曲の調（例えばハ長調）を表わす調データＴＤとを含んでいる。
【００５０】
各フレーズ特徴データは、フレーズＦ1について代表的に示すように、フレーズが開始する小節（例えば第１小節）を表わすフレーズ開始小節データＳＴと、フレーズ種類（フレーズ番号（必要に応じてテーマあるいはサビを示すデータを含む）と各フレーズ間の類似関係を示すフレーズ記号とからなり、例えば「第１（テーマ）フレーズ，記号Ａ」フレーズ）を表わすフレーズ種類データＦＳと、フレーズの長さを小節数（例えば２）で表わすフレーズ長データＦＬと、ピッチ特徴を表わすピッチ特徴データＰＣと、リズム特徴を表わすリズム特徴データＲＣとを含んでいる。なお、フレーズ記号としては、Ａ，Ａ’，Ｂ，Ｃなどがあり、同一（例えばＡとＡ，ＢとＢ）、類似（ＡとＡ’）、非類似（例えばＡとＢ，ＡとＣ）を意味する。
【００５１】
図４（Ａ）は、ピッチ特徴データＰＣの一構成例を示すものである。ピッチ特徴データＰＣは、開始・終了音データＰ1と、ピッチ変化データＰ2とを含んでいる。開始・終了音データＰ1は、フレーズ内の開始音について発音タイミングをクロック数（例えば０）で表わすと共にピッチを調の主音に対する度数（例えばIV）で表わす開始音データＰ11と、フレーズ内の終了音について発音タイミングをクロック数（例えば３３６０）で表わすと共にピッチを主音に対する度数（例えばII）で表わす終了音データＰ12を含んでいる。
【００５２】
ピッチ変化データＰ2は、フレーズ内の隣り合う２音毎に傾きデータＰ21と、ピッチ差データＰ22と、時間間隔データＰ23とを含んでいる。傾きデータＰ21は、隣り合う２音（前音と後音）についてピッチ変化の傾きを「下行」、「水平」又は「上行」のいずれかで表わすもので、「下行」ならば前音より後音のピッチが低いことを表わし、「水平」ならば前音と後音とでピッチが等しいことを表わし、「上行」ならば前音よりも後音のピッチが高いことを表わす。ピッチ差データＰ22は、隣り合う２音のピッチの差を度数の差として表わすもので、例えば「−１」は１度低いことを、「０」は同一ピッチであることを、「１」は１度高いことをそれぞれ表わす。時間間隔データＰ23は、隣り合う２音間の時間間隔をクロック数（例えば４分音符相当ならば４８０）で表わすものである。
【００５３】
図４（Ｂ）は、リズム特徴データＲＣの一構成例を示すものである。リズム特徴データＲＣは、ジャンルデータＲ1と、粗密状態データＲ2と、シンコペーションデータＲ3と、総音符数データＲ4とを含んでいる。ジャンルデータＲ1は、マーチ、ワルツ、ジャズ…等の音楽ジャンルのうちのいずれかを表わすものである。粗密状態データＲ2は、フレーズの前半及び後半における音符分布の粗密状態を「同密度」、「粗密」又は「密粗」のいずれかで表わすもので、「同密度」ならば前半と後半とで音符数が等しいことを、「粗密」ならば前半よりも後半の音符数が多いことを、「密粗」ならば前半よりも後半の音符数が少ないことをそれぞれ表わす。シンコペーションデータＲ3は、フレーズ内でのシンコペーションの有無を表わすものである。総音符数データＲ4は、フレーズ内の総音符数（前半の音符数と後半の音符数との合計）を表わすものである。
【００５４】
図５は、データベース３０Ｂに記録される多数のリズムデータＲＤ1〜ＲＤnを示すものである。各リズムデータは、ＲＤ1について代表的に示すようにリズム特徴データＲＣと、リズムパターンデータＲＰとを含んでいる。リズム特徴データＲＣは、図４（Ｂ）に関して前述したと同様のもので、ジャンルデータＲ1、粗密状態データＲ2、シンコペーションデータＲ3及び総音符数データＲ4を含んでいる。リズムパターンデータＲＰは、フレーズ内の各音符毎に発音タイミング及び消音タイミングを指示するものである。リズム特徴データＲＣは、リズムパターンデータＲＰに関してリズム特徴を表わすもので、一例としてデータＲ1では「ジャズ」を、データＲ2では「密粗」を、データＲ3では「無」を、データＲ4では「９」をそれぞれ表わす。
【００５５】
データベース３０Ｂから所望のリズムパターンデータを読出すときは、ＲＤ1〜ＲＤnの各リズムデータ毎にリズム特徴データＲＣと所望のリズム特徴データとを比較し、両者が一致するのに応じて一致に係るリズムデータ中のリズムパターンデータを読出すようにすればよい。
【００５６】
図６は、ユーザ入力に係るフレーズ特徴データＵＦのフォーマットを示すものである。フレーズ特徴データＵＦは、ユーザ入力のメロディデータに基づいて作成され、記憶部２２Ｄに記憶される。
【００５７】
フレーズ特徴データＵＦは、ジャンルデータＭＪと、調データＴＤと、フレーズ種類データＦＳと、フレーズ長データＦＬと、ピッチ特徴データＰＣと、リズム特徴データＲＣと、エンドデータＦＥＤとを含んでいる。データＭＪ，ＴＤ，ＦＳ，ＦＬ，ＰＣ，ＲＣは、図３（Ｂ）に関して前述したものと同様のものであるので、詳細な説明を省略する。ただし、フレーズ種類ＦＳには、フレーズ番号のみが含まれ、フレーズ記号（Ａ，Ａ’など）は含まれていない。
【００５８】
次に、図７を参照して１フレーズ分のメロディの生成過程を説明する。図７（Ａ）は、図４（Ａ）のピッチ特徴データＰＣに基づいて作成されたピッチ変化パターンを示す。
【００５９】
曲作成に際しては、ユーザが所望の調を指定する。調の指定に応じて指定調の音階音と図４（Ａ）のピッチ特徴データＰＣとを用いて音名型のピッチ特徴データを作成する。この音名型のピッチ特徴データは、フレーズ内の各音符毎に指定調の音階音の音名によりピッチを表わすものである。一例としてハ長調を指定した場合、ハ長調の音階音と図４（Ａ）のピッチ特徴データとを用いて音名型のピッチ特徴データを作成する。このようにして作成された音名型のピッチ特徴データに基づいて音名変化パターンを作成すると、図７（Ｂ）の折れ線ＮＰに示すようになる。
【００６０】
一方、所望のリズムパターンデータとして図５のリズムデータＲＤ1中のリズムパターンデータＲＰが読出されたものとする。このリズムパターンデータＲＰに相当するリズムパターンを図７（Ｃ）に示す。
【００６１】
図７（Ｃ）に示されるフレーズ内の各音符毎に前述の音名型のピッチ特徴データ中から発音タイミングで対応する音名データを読出す。これは、図７で説明すると、図７（Ｃ）の各音符毎に図７（Ｂ）の音名変化パターン中から発音タイミングで対応する音名を選択することに相当する。そして、図７（Ｃ）に示されるフレーズ内の各音符毎に読出しに係る音名データに基づいてピッチを決定することにより図７（Ｄ）に示すような１フレーズ分のメロディデータを生成する。図７（Ｄ）のメロディデータのフォーマットは、図３（Ａ）について前述したものと同様にすることができる。
【００６２】
図８は、メインルーチンの処理の流れを示すものである。ステップ４０では、ＲＡＭ２２に含まれる各種レジスタ等を初期設定する。そして、ステップ４２に移る。
【００６３】
ステップ４２では、登録モードか判定する。この判定の結果が肯定的（Ｙ）であればステップ４４に移る。ステップ４４では、曲特徴登録のサブルーチンを実行する。ステップ４４の処理は、データベース３０Ａ中の所望の曲データに基づいて曲特徴データを作成し、データベース３０Ａに登録するもので、詳細については図９を参照して後述する。
【００６４】
ステップ４２の判定結果が否定的（Ｎ）であったとき又はステップ４４の処理が終ったときは、ステップ４６に移る。ステップ４６では、メロディ生成モードか判定する。この判定の結果が肯定的（Ｙ）であればステップ４８に移り、フレーズ特徴分析のサブルーチンを実行する。ステップ４８の処理は、ユーザ入力に係る１フレーズ分のメロディデータに基づいてフレーズ特徴データを作成し、記憶部２２Ｄに記憶するもので、詳細については図１３を参照して後述する。ステップ４８の後は、ステップ５０に移る。
【００６５】
ステップ５０では、曲特徴データ選択のサブルーチンを実行する。ステップ５０の処理は、記憶部２２Ｄのフレーズ特徴データに基づいてデータベース３０Ａ中から曲作成時に参考とすべき曲特徴データを選択し、記憶部２２Ｅに記憶するもので、詳細については図１４，１５を参照して後述する。ステップ５０の後は、ステップ５２に移る。
【００６６】
ステップ５２では、メロディ生成のサブルーチンを実行する。ステップ５２の処理は、記憶部２２Ｃのフレーズメロディデータを流用すると共に、記憶部２２Ｅ中の所望の曲特徴データに基づいて他のフレーズのメロディデータを作成することにより１曲分のメロディデータを生成し、記憶部２２Ｆに記憶するもので、詳細については図１６を参照して後述する。
【００６７】
ステップ４６の判定結果が否定的（Ｎ）であったとき又はステップ５２の処理が終ったときは、ステップ５４に移り、その他の処理を行なう。その他の処理としては、自動演奏モードの検出処理、自動演奏のスタート／ストップ処理、曲データの編集処理等がある。
【００６８】
ステップ５６では、処理終了か判定する。この判定の結果が否定的（Ｎ）であればステップ４２に戻り、それ以降のステップを上記したと同様に繰返す。そして、ステップ５６の判定結果が肯定的（Ｙ）になったときは処理エンドとする。
【００６９】
図９は、曲特徴登録のサブルーチンを示すもので、ステップ６０では、データベース３０Ａ中に処理すべき曲データがあるか判定する。この判定の結果が肯定的（Ｙ）であればステップ６２に移る。
【００７０】
ステップ６２では、キーボード３６、マウス３８等の操作に応じて所望の曲データを指定する。そして、データベース３０Ａから指定に係る曲データを読出して図３（Ａ）に示すようなフォーマットで記憶部２２Ａに記憶すると共にディスプレイ１４に楽譜として表示する。
【００７１】
ステップ６４では、記憶部２２Ａに記憶した曲データに関してキーボード３６、マウス３８等の操作に応じて登録ナンバ、ジャンル及び調を指定する。そして、指定に係る登録ナンバ、ジャンル及び調をそれぞれ表わす登録ナンバデータＲＮ、ジャンルデータＭＪ及び調データＴＤを図３（Ｂ）に示すようなフォーマットで記憶部２２Ｂに記憶する。
【００７２】
ステップ６６では、ディスプレイ１４に表示された曲データに関してキーボード３６、マウス３８等の操作に応じて小節区切り、フレーズ区切り、フレーズ種類を指定する。小節区切り及びフレーズ区切りの指定に応じて各フレーズ毎にフレーズ開始小節及びフレーズ長を決定する。そして、決定に係るフレーズ開始小節を表わすフレーズ開始小節データＳＴと、決定に係るフレーズ長を表わすフレーズ長データＦＬと、指定に係るフレーズ種類を表わすフレーズ種類データＦＳとを各フレーズ毎に図３（Ｂ）に示すようなフォーマットで記憶部２２Ｂに記憶する。なお、フレーズ種類データのうちのフレーズ記号は、区切られた各フレーズの類似関係を考慮して指定する。
【００７３】
ステップ６８では、ピッチ特徴分析のサブルーチンを実行する。ステップ６８の処理は、記憶部２２Ａに記憶した曲データに関してフレーズ毎にメロディ特徴を分析して図４（Ａ）に示したようなピッチ特徴データを作成し、記憶部２２Ｂに記憶するもので、詳細については図１０，１１を参照して後述する。
【００７４】
ステップ７０では、リズム特徴分析のサブルーチンを実行する。ステップ７０の処理は、記憶部２２Ａに記憶した曲データに関してフレーズ毎にリズム特徴を分析して図４（Ｂ）に示したようなリズム特徴データを作成し、記憶部２２Ｂに記憶するもので、詳細については図１２を参照して後述する。
【００７５】
ステップ７２では、図３（Ｂ）に示すように記憶部２２ＢにエンドデータＣＥＮを記憶する。そして、ステップ７４では、１曲分の曲特徴データを記憶部２２Ｂからデータベース３０Ａに転送し、登録する。
【００７６】
この後、ステップ６０に戻り、処理すべき曲データがあるか判定する。この判定の結果が肯定的（Ｙ）であればステップ６２以降の処理を次の曲データに関して実行する。このようにしてデータベース３０Ａには複数曲分の曲特徴データを登録することができる。
【００７７】
最後の曲データについて曲特徴データの登録が終ったときは、ステップ６０の判定結果が否定的（Ｎ）となり、図８のルーチンにリターンする。
【００７８】
図１０，１１は、ピッチ特徴分析のサブルーチンを示すもので、ステップ８０では、記憶部２２Ａに分析すべきフレーズありか判定する。上記のように記憶部２２Ａに所望の曲データを記憶したときは分析すべきフレーズがあるので、ステップ８０の判定結果は肯定的（Ｙ）となり、ステップ８２に移る。
【００７９】
ステップ８２では、フレーズ内に読出すべきデータがあるか判定する。最初は、第１フレーズについて読出すべきデータがあるか判定する。通常、この判定の結果は肯定的（Ｙ）となり、ステップ８４に移る。
【００８０】
ステップ８４では、記憶部２２Ａからフレーズ内のデータを読出す。そして、ステップ８６に移り、読出したデータがキーオンデータか判定する。図３（Ａ）の曲データの場合、第１フレーズの最初のデータはタイミングデータＴＮＧ1であるので、ステップ８６の判定結果は否定的（Ｎ）となり、ステップ８２に戻る。ステップ８４でキーオンデータＫＯＮ1を読出すと、ステップ８６の判定結果が肯定的（Ｙ）となり、ステップ８８に移る。
【００８１】
ステップ８８では、今回読出したキーオンデータと前回読出したキーオンデータとの間の時間間隔を両キーオンデータ間のタイミングデータに基づいて求める。そして、ステップ９０に移り、今回読出したキーオンデータと前回読出したキーオンデータとの間のピッチ差を両キーオンデータ中のノートナンバに基づいて求める。ただし、ステップ８４で最初のキーオンデータＫＯＮ1を読出したときは、前回読出したキーオンデータが存在しないので、ステップ８８，９０では、今回読出したキーオンデータＫＯＮ1を保存するだけにする。
【００８２】
次にステップ９２では、今回読出したキーオンデータがフレーズ内で最初のキーオンデータか判定する。上記のように最初のキーオンデータＫＯＮ1を読出したときは、ステップ９２の判定結果が肯定的（Ｙ）となり、ステップ９４に移る。
【００８３】
ステップ９４では、図４（Ａ）に示したように開始音のピッチ及び発音タイミングを表わす開始音データＰ11を記憶部２２Ｂに記憶する。そして、ステップ８２に戻る。
【００８４】
ステップ８２からステップ８６に至る処理を３回行なうことによりタイミングデータＴＭＧ2、キーオフデータＫＯＦ1及びタイミングデータＴＭＧ3を読出した後、ステップ８４でキーオンデータＫＯＮ2を読出すと、ステップ８６の判定結果が肯定的（Ｙ）となり、ステップ８８に移る。
【００８５】
ステップ８８では、キーオンデータＫＯＮ1，ＫＯＮ2について前述したように時間間隔を求める。そして、ステップ９０では、キーオンデータＫＯＮ1，ＫＯＮ2について前述したようにピッチ差を求める。
【００８６】
次に、ステップ９２では、今回読出したキーオンデータＫＯＮ2が最初のキーオンデータではないので、判定結果が否定的（Ｎ）となり、ステップ９６に移る。ステップ９６では、今回読出したキーオンデータがフレーズ内で最後のキーオンデータか判定する。キーオンデータＫＯＮ2は最後のキーオンデータではないので、ステップ９６の判定結果が否定的（Ｎ）となり、ステップ９８に移る。
【００８７】
ステップ９８では、今回読出したキーオンデータ中のノートナンバが前回読出したキーオンデータ中のノートナンバと同じか判定する。キーオンデータＫＯＮ2を読出したときは、キーオンデータＫＯＮ1，ＫＯＮ2についてノートナンバが同じか判定する。この判定の結果が肯定的（Ｙ）であれがステップ１００に移る。
【００８８】
ステップ１００では、ステップ８８で求めた時間間隔と、ステップ９０で求めたピッチ差と、水平データとをそれぞれ図４（Ａ）の時間間隔データＰ23、ピッチ差データＰ22、傾きデータＰ21として記憶部２２Ｂに記憶する。
【００８９】
ステップ９８の判定結果が否定的（Ｎ）であったときは、ステップ１０２に移り、今回読出したキーオンデータ中のノートナンバが前回読出したキーオンデータ中のノートナンバより大か判定する。この判定の結果が肯定的（Ｙ）であればステップ１０４に移り、ステップ８８で求めた時間間隔と、ステップ９０で求めたピッチ差と、上行データとをそれぞれ図４（Ａ）の時間間隔データＰ23、ピッチ差データＰ22、傾きデータＰ21として記憶部２２Ｂに記憶する。
【００９０】
ステップ１０２の判定結果が否定的（Ｎ）であったときは、ステップ１０６に移り、ステップ８８で求めた時間間隔と、ステップ９０で求めたピッチ差と、下行データとをそれぞれ図４（Ａ）の時間間隔データＰ23、ピッチ差データＰ22、傾きデータＰ21として記憶部２２Ｂに記憶する。
【００９１】
ステップ１００、１０４又は１０６が終ったときは、ステップ８２に戻り、それ以降のステップを上記したと同様に繰返す。この結果、図４（Ａ）に示したように傾きデータＰ21、ピッチ差データＰ22及び時間間隔データＰ23を含むピッチ変化データＰ2が次々に記憶部２２Ｂに記憶される。そして、ステップ８４でフレーズ内で最後のキーオンデータを読出したときは、ステップ９６の判定結果が肯定的（Ｙ）となり、ステップ１０８に移る。
【００９２】
ステップ１０８では、図４（Ａ）に示したように終了音のピッチ及び発音タイミングを表わす終了音データＰ12を記憶部２２Ｂに記憶する。そして、ステップ９８又は１０２の判定結果に応じてステップ１００，１０４又は１０６のいずれかの処理を行なうことにより最後のキーオンデータについて傾きデータＰ21、ピッチ差データＰ22及び時間間隔データＰ23を含むピッチ変化データＰ2を記憶部２２Ｂに記憶する。この結果、記憶部２２Ｂには、図３（Ｂ）のフレーズＦ1に関して図４（Ａ）に示すようなピッチ特徴データＰＣが記憶される。
【００９３】
ステップ１００，１０４，１０６のいずれかの処理が終ると、ステップ８２に戻り、フレーズ内に読出すべきデータありか判定する。最後のキーオンデータの後は読出すべきデータが存在しないので、ステップ８２の判定結果は否定的（Ｎ）となり、ステップ８０に戻る。
【００９４】
ステップ８０では、分析すべきフレーズありか判定する。フレーズＦ1の処理が終了した段階であり、フレーズＦ2が分析すべきフレーズとなる。従って、ステップ８０の判定結果が肯定的（Ｙ）となり、ステップ８２以降の処理をフレーズＦ2に関して実行する。この結果、記憶部２２Ｂには、図３（Ｂ）のフレーズＦ2に関して図４（Ａ）に示すようなピッチ特徴データＰＣが記憶される。最終フレーズの処理が終ると、ステップ８０の判定結果が否定的（Ｎ）となり、図９のルーチンにリターンする。
【００９５】
図１２は、リズム特徴分析のサブルーチンを示すもので、ステップ１１０では、記憶部２２Ａに分析すべきフレーズありか判定する。上記のように記憶部２２Ａに所望の曲データを記憶したときは分析すべきデータがあるので、ステップ１１０の判定結果は肯定的（Ｙ）となり、ステップ１１２に移る。
【００９６】
ステップ１１２では、記憶部２２ＢからフレーズＦ1のフレーズ長データＦＬを読出す。そして、ステップ１１４に移り、読出したフレーズ長データＦＬの示すフレーズ長の１／２のタイミングＴMを求める。
【００９７】
次に、ステップ１１６では、フレーズ前半の総音符数Ｎ1と、フレーズ後半の総音符数Ｎ2とを求める。ここで、Ｎ1は、記憶部２２Ａに記憶した曲データのうちフレーズＦ1に属するデータがステップ１１４で求めたタイミングＴMより前にキーオンデータを何個含むか計数することにより求めることができ、Ｎ2は、記憶部２２Ａに記憶した曲データのうちフレーズＦ1に属するデータがステップ１１４で求めたタイミングＴMより後にキーオンデータを何個含むか計数することにより求めることができる。
【００９８】
ステップ１１８では、ステップ１１６で求めたＮ1，Ｎ2についてＮ1＝Ｎ2か判定する。この判定の結果が肯定的（Ｙ）であればステップ１２０に移り、図４（Ｂ）の粗密状態データＲ2として同密度データを記憶部２２Ｂに記憶する。
【００９９】
ステップ１１８の判定結果が否定的（Ｎ）であったときは、ステップ１２２に移り、Ｎ1＞Ｎ2か判定する。この判定の結果が肯定的（Ｙ）であればステップ１２４に移り、図４（Ｂ）の粗密状態データＲ2として密粗データを記憶部２２Ｂに記憶する。ステップ１２２の判定結果が否定的（Ｎ）であればステップ１２６に移り、粗密状態データＲ2として粗密データを記憶部２２Ｂに記憶する。
【０１００】
ステップ１２０，１２４，１２６のいずれかの処理が終ったときは、ステップ１２８に移る。ステップ１２８では、記憶部２２Ａに記憶した曲データのうちフレーズＦ1に属するデータについてシンコペーションを検索し、シンコペーションの有無を図４（Ｂ）のシンコペーションデータＲ3として記憶部２２Ｂに記憶する。そして、ステップ１３０に移る。
【０１０１】
ステップ１３０では、Ｎ1＋Ｎ2＝Ｎを図４（Ｂ）の総音符数データＲ4として記憶部２２Ｂに記憶すると共に、記憶部２２ＢのヘッドデータＣＨＤ中から読出したジャンルデータＭＪを図４（Ｂ）のジャンルデータＲ1として記憶部２２Ｂに記憶する。
【０１０２】
以上によりフレーズＦ1の処理が終ったことになり、ステップ１１０に戻る。そして、フレーズＦ2以降の各フレーズ毎に上記したと同様の処理を行なう。この結果、図３（Ｂ）の各フレーズ毎に図４（Ｂ）に示したようなリズム特徴データＲＣが記憶部２２Ｂに記憶される。最終フレーズの処理が終ると、ステップ１１０の判定結果が否定的（Ｎ）となり、図９のルーチンにリターンする。
【０１０３】
図１３は、フレーズ特徴分析のサブルーチンを示すもので、ステップ１４０では、作成すべき曲についてキーボード３６、マウス３８等の操作に応じてジャンル、調、フレーズ長及びフレーズ種類（フレーズ記号を除く）を指定し、指定に係るジャンル、調、フレーズ長及びフレーズ種類をそれぞれ表わすジャンルデータＭＪ、調データＴＤ、フレーズ長データＦＬ及びフレーズ種類データＦＳを図６に示すようなフォーマットで記憶部２２Ｄに記憶する。
【０１０４】
次に、ステップ１４２では、フレーズメロディを新規に作成するか判定する。ユーザは、ディスプレイ１４の画面上でキーボード３６、マウス３８等によりフレーズメロディの入力方式（新規に作成して入力するか又はデータベース３０Ａ中から選択して入力するか）を選択することができる。ステップ１４２の判定結果が肯定的（Ｙ）であればステップ１４４に移る。
【０１０５】
ステップ１４４では、電子楽器１２の鍵盤１２Ａでのキー操作に応じて又はキーボード３６での数値・文字キー操作に応じて１フレーズ分のメロディデータを入力し、記憶部２２Ｃに記憶する。このとき入力されるメロディデータは、ステップ１４０で指定したフレーズ種類（例えば第１（テーマ）フレーズ）に関するものである。
【０１０６】
ステップ１４２の判定結果が否定的（Ｎ）であったときは、ステップ１４６に移る。ステップ１４６では、データベース３０Ａ中の曲データを１曲分ずつディスプレイ１４の画面に表示する。ユーザは、表示された曲データ中からキーボード３６、マウス３８等により所望の種類のフレーズのメロディデータを選択する。このときの選択操作に応じて選択に係る１フレーズ分のメロディデータを記憶部２２Ｃに記憶する。
【０１０７】
ステップ１４４，１４６のいずれかの処理が終ったときは、ステップ１４８に移り、ピッチ特徴分析のサブルーチンを実行する。すなわち、記憶部２２Ｃに記憶したフレーズメロディデータに関して図１０，１１のサブルーチンを前述したと同様に実行することにより１フレーズ分のピッチ特徴データＰＣを作成し、図６に示すようなフォーマットで記憶部２２Ｄに記憶する。そして、ステップ１５０に移る。
【０１０８】
ステップ１５０では、リズム特徴分析のサブルーチンを実行する。すなわち、記憶部２２Ｃに記憶したフレーズメロディデータに関して図１２のサブルーチンを前述したと同様に実行することにより１フレーズ分のリズム特徴データＲＣを作成し、図６に示すようなフォーマットで記憶部２２Ｄに記憶する。そして、ステップ１５２に移る。
【０１０９】
ステップ１５２では、図６に示すようなフォーマットで記憶部２２ＤにエンドデータＦＥＤを記憶する。そして、図８のルーチンにリターンする。
【０１１０】
図１４，１５は、曲特徴データ選択のサブルーチンを示すもので、ステップ１６０では、データベース３０Ａ中に処理すべき曲特徴データがあるか判定する。予めデータベース３０Ａに多数曲の曲特徴データを記録しておくか又は前述したように複数曲の曲特徴データをデータベース３０Ａに登録しておいたときは、ステップ１６０の判定結果が肯定的（Ｙ）となり、ステップ１６２に移る。
【０１１１】
ステップ１６２では、データベース３０Ａから記憶部２２Ｂに１曲分の曲特徴データを読出す。そして、ステップ１６４に移り、読出した曲特徴データが記憶部２２Ｄのフレーズ特徴データとジャンル及び調が一致するか判定する。このためには、図３（Ｂ）に示すような曲特徴データ中のジャンルデータＭＪ及び調データＴＤを図５に示すようなフレーズ特徴データ中のジャンルデータＭＪ及び調データＴＤとそれぞれ比較し、一致するか判定すればよい。
【０１１２】
なお、図６のフレーズ特徴データにジャンルデータＭＪと調データＴＤを含めなかったときは、ステップ１６０の前にステップ１５８を設け、作成したい曲のジャンル及び調をステップ１５８にてキーボード３６、マウス３８等の操作に応じて指定し、ステップ１６４では指定に係るジャンル及び調が曲特徴データ中のジャンルデータＭＪ及び調データＴＤの指示するジャンル及び調とそれぞれ一致するか判定するようにしてもよい。
【０１１３】
ステップ１６４の判定結果が否定的（Ｎ）であったときは、ステップ１６０に戻る。そして、ステップ１６２で次の曲特徴データを読出し、ステップ１６４で前回と同様にしてジャンル及び調に関する一致判定を行なう。
【０１１４】
ステップ１６４の判定結果が肯定的（Ｙ）になると、記憶部２２Ｂには記憶部２２Ｄのフレーズ特徴データとジャンル及び調が一致した曲特徴データが記憶されていることになり、ステップ１６６に移る。ステップ１６６では、記憶部２２Ｂの曲特徴データ中から記憶部２２Ｄのフレーズ特徴データとフレーズ種類が同一のフレーズ特徴データを抽出する。例えば、記憶部２２Ｄのフレーズ特徴データが指示するフレーズ種類が第１（テーマ）フレーズであり、図３（Ｂ）のフレーズＦ1のフレーズ種類（フレーズ番号）が第１（テーマ）フレーズであればフレーズＦ1のフレーズ特徴データを抽出する。そして、ステップ１６８に移る。
【０１１５】
ステップ１６８では、抽出したフレーズ特徴データと記憶部２２Ｄのフレーズ特徴データとで粗密状態データ（図４（Ｂ）のＲ2）が一致するか判定する。この判定の結果が否定的（Ｎ）であればステップ１６０に戻り、それ以降のステップを上記したと同様に行なう。
【０１１６】
ステップ１６８の判定結果が肯定的（Ｙ）であったときは、ステップ１７０に移る。ステップ１７０では、抽出したフレーズ特徴データと記憶部２２Ｄのフレーズ特徴データとでピッチ特徴データ（図４（Ａ））内の全データが一致するか判定する。この判定の結果が肯定的（Ｙ）であればステップ１７２に移り、記憶部２２Ｂの曲特徴データを優先順位１のデータとして記憶部２２Ｅに記憶する。
【０１１７】
ステップ１７０の判定結果が否定的（Ｎ）であったときは、ステップ１７４に移る。ステップ１７４では、抽出したフレーズ特徴データと記憶部２２Ｄのフレーズ特徴データとで時間間隔データ（図４（Ａ）のＰ23）及びピッチ差データ（図４（Ａ）のＰ22）のいずれも一致するか判定する。この判定の結果が肯定的（Ｙ）であればステップ１７６に移り、記憶部２２Ｂの曲特徴データを優先順位２のデータとして記憶部２２Ｅに記憶する。
【０１１８】
ステップ１７４の判定結果が否定的（Ｎ）であったときは、ステップ１７８に移る。ステップ１７８では、抽出したフレーズ特徴データと記憶部２２Ｄのフレーズ特徴データとで傾きデータ（図４（Ａ）のＰ21）が一致するか判定する。この判定の結果が肯定的（Ｙ）であればステップ１８０に移り、記憶部２２Ｂの曲特徴データを優先順位３のデータとして記憶部２２Ｅに記憶する。
【０１１９】
ステップ１７８の判定結果が否定的（Ｎ）であったとき又はステップ１７２，１７６，１８０のいずれかの処理が終ったときは、ステップ１６０に戻り、それ以降の処理を上記したと同様に実行する。この結果、記憶部２２Ｅには、ユーザ入力に係るメロディ特徴データ（記憶部２２Ｄのフレーズ特徴データ）と一致又は類似したメロディ特徴を有する複数の曲特徴データが優先順位を付して記憶されることになる。
【０１２０】
最後の曲特徴データの処理が終ると、ステップ１６０の判定結果が否定的（Ｎ）となり、図８のルーチンにリターンする。
【０１２１】
図１６は、メロディ生成のサブルーチンを示すもので、ステップ１９０では、記憶部２２Ｅから優先順位に従って複数の曲特徴データを読出し、ディスプレイ１４に表示する。
【０１２２】
次に、ステップ１９２では、表示された複数の曲特徴データのうち所望の曲特徴データをキーボード３６、マウス３８等の操作に応じて選択する。そして、ステップ１９４に移る。
【０１２３】
ステップ１９４では、曲作成のサブルーチンを実行する。ステップ１９４の処理は、ステップ１９２で選択された曲特徴データとユーザ入力に係る記憶部２２Ｃのフレーズメロディデータとに基づいて１曲分のメロディデータを生成し、記憶部２２Ｆに記憶するもので、詳細については図１７，１８を参照して後述する。ステップ１９４の後は、ステップ１９６に移る。
【０１２４】
ステップ１９６では、コード（和音）変更ありか判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１９８に移り、指示されたコード進行に従って記憶部２２Ｆ中の曲メロディデータを変更する。記憶部２２Ｆの曲メロディデータには、図示しないコード付与処理により曲メロディに適合したコード進行が自動的に付与される。ステップ１９６，１９８の処理は、このようにして付与されたコード進行についてユーザの希望する部分的な変更を可能にするために行なわれるものである。
【０１２５】
ステップ１９６の判定結果が否定的（Ｎ）であったとき又はステップ１９８の処理が終ったときは、ステップ２００に移る。ステップ２００では、歌詞入力ありか判定する。この判定の結果が肯定的（Ｙ）であればステップ２０２に移る。ステップ２０２では、入力された歌詞データに従って記憶部２２Ｆの曲メロディデータの音節数合せを実施する。
【０１２６】
ステップ２００の判定結果が否定的（Ｎ）であったとき又はステップ２０２の処理が終ったときは、ステップ２０４に移る。ステップ２０４では、記憶部２２Ｆの曲メロディデータについて不自然なメロディを訂正する。そして、図８のルーチンにリターンする。
【０１２７】
図１７，１８は、曲作成のサブルーチンを示すもので、ステップ２１０では、ステップ１９２で選択された曲特徴データ中から最初のフレーズ特徴データを抽出する。そして、ステップ２１２に移る。
【０１２８】
ステップ２１２では、抽出したフレーズ特徴データが前回迄の抽出データのいずれかとフレーズ種類のうちのフレーズ記号が一致するか判定する。最初のフレーズ特徴データについては前回迄の抽出データが存在しないので、ステップ２１２の判定結果が否定的（Ｎ）となり、ステップ２１４に移る。
【０１２９】
ステップ２１４では、抽出したフレーズ特徴データが記憶部２２Ｄのフレーズ特徴データとフレーズ種類のうちのフレーズ記号が一致するか判定する。一例として、ユーザが第１（テーマ）フレーズのメロディデータを入力した場合、記憶部２２Ｄには、図１３の処理により第１（テーマ）フレーズのフレーズ特徴データが記憶されている。また、ステップ２１０で抽出した最初のフレーズ特徴データのフレーズ種類が第１（テーマ）フレーズであるとする。このような例では、ステップ２１４の判定結果が肯定的（Ｙ）となり、ステップ２１６に移る。
【０１３０】
ステップ２１６では、記憶部２２Ｃのフレーズメロディデータを読出す。上記例のように第１（テーマ）フレーズのメロディデータを入力した場合は、記憶部２２Ｃから第１（テーマ）フレーズのフレーズメロディデータを読出す。ステップ２１６の後は、ステップ２１８に移る。
【０１３１】
ステップ２１８では、記憶部２２Ｆにフレーズ種類データと共にフレーズメロディデータを記憶する。フレーズ種類データを記憶するのは、フレーズ種類を指定することで、指定に係るフレーズ種類を有するフレーズメロディデータを読出可能にするためである。上記例のように記憶部２２Ｃから第１（テーマ）フレーズのフレーズメロディデータを読出したときは、第１（テーマ）フレーズを指示するフレーズ種類データと共に読出しに係るフレーズメロディデータを記憶部２２Ｆに記憶する。これは、図１（Ｃ）に示したように曲の第１（テーマ）フレーズのデータとしてユーザ入力に係るフレーズメロディデータＵＦ11を流用することに対応する。ステップ２１８の後は、ステップ２２０に移る。
【０１３２】
ステップ２２０では、ステップ１９２で選択された曲特徴データ中に次のフレーズ特徴データがあるか判定する。通常、この判定の結果は肯定的（Ｙ）となり、ステップ２１０に戻る。ステップ２１０では、２番目のフレーズ特徴データを抽出する。そして、ステップ２１２に移る。
【０１３３】
最初のフレーズ特徴データのフレーズ記号がＡであり、抽出した２番目のフレーズ特徴データのフレーズ記号がＢであるとする。このような例では、ステップ２１２の判定結果が否定的（Ｎ）となり、ステップ２１４に移る。
【０１３４】
上記例のように記憶部２２Ｄのフレーズ特徴データのフレーズ番号が第１（テーマ）フレーズであると共に抽出した２番目のフレーズ特徴データのフレーズ番号が第２フレーズであるとすると、ステップ２１４の判定結果が否定的（Ｎ）となり、ステップ２２２に移る。
【０１３５】
ステップ２２２では、抽出した２番目のフレーズ特徴データ中のリズム特徴データ（図４（Ｂ））に基づいてデータベース３０Ｂからリズムパターンデータを読出してディスプレイ１４に表示する。すなわち、図５に示したような各リズムデータ毎にその中のリズム特徴データと抽出したフレーズ特徴データ中のリズム特徴データとを比較し、両者が一致するのに応じて一致に係るリズムデータ中のリズムパターンデータを読出して表示する。そして、ステップ２２４に移る。
【０１３６】
ステップ２２４では、表示したリズムパターンデータを使うか判定する。ユーザは、表示されたリズムパターンデータについてキーボード３６、マウス３８等により使用するか否か意思表示することができる。ステップ２２４の判定結果が否定的（Ｎ）であったときはステップ２２２に戻り、前回と同様にしてデータベース３０Ｂから他のリズムパターンデータを読出して表示する。このような読出し及び表示処理は、ステップ２２４の判定結果が肯定的（Ｙ）になるまで行なわれる。
【０１３７】
ステップ２２４の判定結果が肯定的（Ｙ）になると、所定のリズムパターンデータが選択されたことになる。リズムパターンデータの選択は、抽出したフレーズ特徴データ中のリズム特徴データとリズム特徴が一致する複数のリズムパターンデータを表示し、そのうちの１つを選択する方式で行なうようにしてもよい。また、リズムパターンは、自動的に選択されるようにしてもよい。
【０１３８】
次に、ステップ２２６では、ステップ１９２で選択された曲特徴データ中の調データ（図３（Ｂ）のＴＤに対応）と、抽出したフレーズ特徴データ中のピッチ特徴データ（図３（Ｂ）のＰＣに対応）と、ステップ２２４で選択されたリズムパターンデータ（図５のＲＰに対応）とに基づいて図７で述べたようにしてフレーズメロディデータを作成する。上記例のように第２フレーズのフレーズ特徴データを抽出したときは、第２フレーズのメロディデータを作成する。これは、図１（Ｃ）に示したように第２フレーズのデータとしてフレーズメロディデータＦ12を作成することに対応する。ステップ２２６の後は、ステップ２１８に移る。
【０１３９】
ステップ２１８では、ステップ２２６で作成されたフレーズメロディデータをフレーズ種類データと共に記憶部２２Ｆに記憶する。
【０１４０】
この後、ステップ２２０を介してステップ２１０に戻り、３番目のフレーズ特徴データを抽出する。この３番目のフレーズ特徴データのフレーズ記号がＡであり、前回迄に抽出したフレーズ特徴データのフレーズ記号の中にＡが含まれているとすると、ステップ２１２の判定結果が肯定的（Ｙ）となり、ステップ２２８に移る。
【０１４１】
ステップ２２８では、一致に係るフレーズ種類を有するフレーズメロディデータを記憶部２２Ｆから読出す。そして、ステップ２３０に移り、メロディ変更ありか判定する。この判定結果が肯定的（Ｙ）であればステップ２３２に移り、メロディ変更の指示に従って読出しに係るフレーズメロディデータを変更する。ステップ２３０，２３２の処理は、ユーザの希望する部分的なメロディ変更を可能にするために行なわれるものである。このような処理によれば、図１（Ｄ）に示したように第３フレーズのメロディデータＦ13の一部を変更して第３’フレーズとすることができる。
【０１４２】
ステップ２３０の判定結果が否定的（Ｎ）であったとき又はステップ２３２の処理が終ったときは、ステップ２１８に移る。ステップ２１８では、ステップ２２８で記憶部２２Ｆから読出したフレーズメロディデータ又はこのフレーズメロディデータにステップ２３２で変更を加えて得られたフレーズメロディデータをフレーズ種類データと共に記憶部２２Ｆに記憶する。
【０１４３】
この後は、ステップ２２０を介してステップ２１０に戻り、それ以降の処理を上記したと同様に実行する。この結果、記憶部２２Ｆに記憶された第１、第２、第３等のフレーズに関するメロディデータをつなぎ合わせることにより図１（Ｃ）又は図１（Ｄ）に示したように１曲分のメロディデータを生成することができる。
【０１４４】
最後のフレーズ特徴データの処理が終ると、ステップ２２０の判定結果が否定的（Ｎ）となり、図１６のルーチンにリターンする。
【０１４５】
図１７，１８のサブルーチンにあっては、ステップ２１６の後、破線で示すようにステップ２３０に移るようにしてもよい。このようにすると、例えば図１（Ｄ）に示したように第２フレーズのメロディデータＵＦ12を流用するときにデータＵＦ12の一部を変更して第２’フレーズとすることができる。
【０１４６】
図１９は、この発明の他の実施形態に係る作曲処理を示すものである。データベース２４０には、複数曲にそれぞれ対応した複数の曲生成データＫ1，Ｋ2…Ｋnが記憶されており、各曲生成データは、データＫ1について代表的に示すように参照特徴データＫaと、このデータＫaに付随したメロディ生成データＫbとを含んでいる。
【０１４７】
各参照特徴データは、作成すべき曲の一部区間（例えば第１フレーズ）のメロディ特徴を表わすもので、一例として図３（Ｂ）でフレーズＦ1について前述したフレーズ特徴データと同様の構成にすることができる。各メロディ生成データは、作成すべき曲のメロディを生成するために使用されるもので、メロディ生成用メロディ特徴データ及びメロディ生成用メロディデータのうちいずれか一方又は双方を用いることができる。
【０１４８】
ステップ２４２では、ユーザが所望のメロディデータを入力する。このとき入力するメロディデータは、作成すべき曲の一部区間（例えば第１フレーズ）に関するものとする。メロディデータを入力する際に、メロディデータを入力する区間をユーザが任意に指定可能としてもよい。
【０１４９】
ステップ２４４では、入力に係るメロディデータに関してメロディ特徴を分析し、そのメロディ特徴を表わす特徴データを作成する。ステップ２４４の特徴分析は、図１０〜１２に関して前述したのと同様に行なうことができ、特徴データは、図６でフレーズＵＦについて前述したフレーズ特徴データと同様の構成にすることができる。
【０１５０】
ステップ２４６では、ステップ２４４で作成された特徴データをデータベース２４０内の各参照特徴データと比較し、作成に係る特徴データとメロディ特徴が一致又は類似した１又は複数の参照特徴データを検出する。複数の参照特徴データが検出された場合は、いずれか１つをランダムに自動選択するか又はすべてをユーザに提示してユーザに所望の１つを選択させるようにすればよい。また、類似に係る複数の参照特徴データが検出された場合は、各々の参照特徴データに優先順位（例えば入力メロディと音数が一致するものを最優先させるなど）をつけてユーザに提示し、ユーザが所望の１つを選択するようにしてもよい。
【０１５１】
ステップ２４６において一致に係る１つの参照特徴データが検出又は選択されたときは、ステップ２４８において該参照特徴データに付随したメロディ生成データをデータベース２４０から抽出する（選択して読出す）。ステップ２５０では、抽出したメロディ生成データに基づいて残区間のメロディデータを生成する。ここで、残区間とは、作成すべき曲において一部区間（ユーザがメロディデータを入力した区間）以外の区間である。ステップ２５０の残区間メロディ生成処理としては、図２０〜２２を参照して後述するものを用いることができる。
【０１５２】
ステップ２５２では、ステップ２４２でユーザが入力した一部区間のメロディデータとステップ２５０で生成した残区間のメロディデータとを結合して１曲分のメロディデータを生成する。
【０１５３】
ステップ２４６において類似に係る１つの参照特徴データが検出又は選択されたときは、ステップ２５４において該参照特徴データに付随したメロディ生成データをデータベース２４０から抽出する。
【０１５４】
ステップ２５６では、ステップ２４６での比較に係る特徴データ及び参照特徴データに基づいてメロディ特徴の不一致状態に対応した不一致情報を検出する。不一致情報としては、例えば参照特徴データの方がステップ２４４で作成された特徴データに比べて音高が２度低いことを表わす情報等が検出される。
【０１５５】
ステップ２５８では、ステップ２５４で抽出されたメロディ生成データをステップ２５６で検出された不一致情報に応じて修正する。例えば、検出に係る不一致情報が参照特徴データの音高が２度低いことを表わすときは、抽出に係るメロディ生成データの音高を２度高くするように修正を行なう。
【０１５６】
ステップ２５０では、ステップ２５８で修正されたメロディ生成データに基づいて残区間のメロディデータを生成する。そして、ステップ２５２では、ステップ２４２でユーザが入力した一部区間のメロディデータとステップ２５０で生成した残区間のメロディデータとを結合して１曲分のメロディデータを生成する。
【０１５７】
ステップ２５０の残区間メロディ生成処理においては、抽出又は修正されたメロディ生成データの他に、ステップ２４２で入力されたメロディデータも参照してメロディ生成を行なってもよい。このようにすると、入力したメロディにより近いメロディを生成することができる。このような処理の一例は、図２３を参照して後述する。
【０１５８】
ステップ２５８で不一致情報に応じてメロディ生成データを修正する代りに、ステップ２６０で不一致情報に応じて残区間のメロディデータを修正するようにしてもよい。すなわち、ステップ２５０では、ステップ２５４により抽出されたメロディ生成データに基づいて残区間のメロディデータを生成し、ステップ２６０では、生成された残区間のメロディデータを不一致情報に応じて修正する。
【０１５９】
図１９の作曲処理によれば、ユーザが所望のメロディを入力することにより例えば第１フレーズ等の所定の区間に所望のメロディを含む１曲分のメロディを簡単に生成することができる。入力したメロディとメロディ特徴が一致又は類似したメロディ生成データに基づいてメロディを生成し、しかも類似に係るメロディ生成データ又は類似に係る生成メロディを不一致情報に応じて修正するので、生成されるメロディは、入力に係るメロディに相応しいものとなる。メロディ生成データとして音楽的に起伏に富んだ曲（例えば既存の完成された曲）に対応するものを記憶しておくことにより起伏に富んだ音楽的な１曲分のメロディを生成することができる。
【０１６０】
図２０は、メロディ生成データがメロディ生成用メロディ特徴データからなる場合に図１９のステップ２５０で用いられる残区間メロディ生成処理を示すものである。図２０では、１楽節分の処理を示し、メロディ生成用メロディ特徴データは、一例として調、拍子、小節数及び音域を指示するものとする。
【０１６１】
ステップ２６２では、ランダム発生器を用いて音高及び音長をランダムに発生させる。そして、ステップ２６４に移り、発生に係る音高が、与えられた調の音階音であるか判定する。与えられた調とは、メロディ特徴データが指示する調であり、例えばＣ長調である。
【０１６２】
ステップ２６４の判定結果が否定的（Ｎ）であればステップ２６２に戻り、再び音高を発生する。ステップ２６４の判定結果が肯定的（Ｙ）になると、ステップ２６６に移る。
【０１６３】
ステップ２６６では、発生に係る音高が、与えられた音域内にあるか判定する。与えられた音域とは、メロディ特徴データが指示する音域である。
【０１６４】
ステップ２６６の判定結果が否定的（Ｎ）であればステップ２６２に戻り、ステップ２６４，２６６を繰返す。ステップ２６６の判定結果が肯定的（Ｙ）になると、ステップ２６８に移る。
【０１６５】
ステップ２６８では、発生に係る音高をメロディ音として採用する。このメロディ音は、ステップ２６４，２６６を経由したことにより与えられた調の音階音であり且つ与えられた音域内に存在するものである。メロディ音の音長は、ステップ２６２で発生された音長とする。
【０１６６】
次に、ステップ２７０では、メロディ音の音長をその直前までのメロディ音の音長の合計に加算する。楽節内で最初のメロディ音についてはその直前の音長が存在しないので、最初のメロディ音の音長を次回の加算のために保存する。ステップ２７０の後、ステップ２７２に移る。
【０１６７】
ステップ２７２では、ステップ２７０で求めた音長の合計が「１小節当りの拍数×楽節の小節数」になったか判定する。一例として、１小節当りの拍数が４（４拍子）であり、楽節の小節数が４であるとすると、４×４＝１６拍となる。最初のメロディ音についてはステップ２７２の判定結果が否定的（Ｎ）となり、ステップ２６２に戻る。そして、ステップ２６２以降の処理を楽節内で２番目のメロディ音について実行する。このような処理を繰返すことによりステップ２７２での音長の合計が１６拍に達すると、ステップ２７２の判定結果が肯定的（Ｙ）となり、処理エンドとなる。
【０１６８】
この後は、楽節毎に上記のような処理を繰返す。そして、最終楽節の処理が終ると、１曲分のメロディデータが得られる。このような処理において、メロディ特徴データは、楽節毎に記憶してもよいし、１曲の全楽節に共通に記憶してもよい。また、生成されるメロディが音楽的に好ましいものとなるようにメロディ音としては音楽ルールを満たす音のみ採用するようにしてもよい。
【０１６９】
図２０に関して上記した処理によれば、メロディ特徴データが持つ音楽的特徴を反映したメロディを簡単に生成することができる。
【０１７０】
図２１は、メロディ生成データがメロディ生成用メロディデータからなる場合に図１９のステップ２５０で用いられる残区間メロディ生成処理を示すものである。メロディ生成用メロディデータは、複数の楽節のメロディを表わすものとする。
【０１７１】
ステップ２７４では、メロディデータに関してメロディ変更区間指定処理を行なう。例えば、図２において、ディスプレイ１４の画面上にメロディデータを表示し、ユーザにキーボード３６、マウス３８等によりメロディ変更区間（メロディを変更したい区間）を指定させる。
【０１７２】
次に、ステップ２７６では、指定に係るメロディ変更区間についてメロディ変更処理を行なう。メロディ変更処理としては、（イ）メロディの反転、（ロ）メロディの逆読み、（ハ）発音タイミングの変更、（ニ）時間軸上での圧縮又は伸張、（ホ）音高軸上での圧縮又は伸張、（ヘ）一部音高の差し替え、（ト）音高変化傾向を保存した状態での音高の差し替えなどがある。メロディ反転の一例を示すとＣＤＥＧのメロディが与えられた場合、Ｄを中心に反転することによりＥＤＣＡのメロディに変更される。
【０１７３】
図２１の処理によれば、メロディデータが持つ音楽的雰囲気を反映したメロディを簡単に生成することができる。
【０１７４】
図２２は、メロディ生成データがメロディ生成用メロディデータ及びメロディ生成用メロディ特徴データからなる場合に図１９のステップ２５０で用いられる残区間メロディ生成処理を示すものである。メロディ生成用メロディデータは、複数の楽節のメロディを表わすものとし、メロディ生成用メロディ特徴データは、「メロディ変更後に最初と最後の音をコード構成音にする」旨指示するものとする。
【０１７５】
図２２のステップ２７４，２７６は、図２１のステップ２７４，２７６とそれぞれ同様の処理であり、簡単のため説明を省略する。上記例で示したようにメロディ反転によりＣＤＥＧのメロディをＥＤＣＡのメロディに変更した場合、ＣＤＥＧはコードＣメジャーの感覚であるのに対し、ＥＤＣＡはコードＡマイナーの感覚になってしまい、コード感覚が異常となる不都合がある。
【０１７６】
このような不都合をなくし、音楽性を高めるために付加されたのが、前述のメロディ特徴データとステップ２７８である。すなわち、ステップ２７８では、変更後のメロディをメロディ特徴データに応じて修正することによりコード感覚の正常化を図っている。前述例のようにステップ２７６でＥＤＣＡのメロディに変更された場合には、メロディ特徴データの指示に従って最後の音ＡをコードＣメジャーの構成音であり且つＡに最も近い音であるＧに変更することによりＥＤＣＧのメロディを得ている。
【０１７７】
図２２の処理によれば、メロディデータが持つ音楽的雰囲気とメロディ特徴データが持つ音楽的特徴とを反映したメロディを簡単に生成することができる。
【０１７８】
図２３は、メロディ生成データの他に入力メロディデータを利用する場合に図１９のステップ２５０で用いられる残区間メロディ生成処理を示すものである。この場合、作成すべき曲の楽節構成が、Ａ，Ａ’，Ｂ，Ａ，であり、ユーザが先頭の第１楽節Ａのメロディデータを入力するものとする。図２３の処理は、ユーザが第１楽節Ａのメロディデータを入力完了するのに応じてスタートする。
【０１７９】
ステップ２８０では、次の区間が楽節Ａか判定する。次の区間は楽節Ａ’であるので、ステップ２８０の判定結果は否定的（Ｎ）となり、ステップ２８２に移る。ステップ２８２では、次の区間が楽節Ａ’であるか判定する。この判定の結果は肯定的（Ｙ）となり、ステップ２８４に移る。
【０１８０】
ステップ２８４では、入力に係る楽節Ａのメロディデータを参照して該メロディデータとメロディが類似した楽節Ａ’のメロディデータを生成する。類似したメロディデータを生成する方法としては、（イ）楽節Ａ’の前半のメロディを楽節Ａの前半のメロディと同一又は類似とすると共に楽節Ａ’の後半のメロディを新規に生成する方法、（ロ）楽節Ａ’の前半のメロディを新規に生成すると共に楽節Ａ’の後半のメロディを楽節Ａの後半のメロディと同一又は類似とする方法、（ハ）楽節Ａのメロディに音高シフト処理を施して楽節Ａ’のメロディとする方法等を用いることができる。ステップ２８４の後は、ステップ２８６に移る。
【０１８１】
ステップ２８６では、メロディ生成に係る区間が最後の区間か判定する。楽節Ａ’は最後の区間ではないので、ステップ２８６の判定結果は否定的（Ｎ）となり、ステップ２８０に戻る。
【０１８２】
ステップ２８０では、次の区間が楽節Ａか判定する。次の区間は楽節Ｂであるので、ステップ２８０の判定結果は否定的（Ｎ）となり、ステップ２８２に移る。ステップ２８２では、次の区間が楽節Ａ’か判定する。この判定結果は否定的（Ｎ）となり、ステップ２８８に移る。
【０１８３】
ステップ２８８では、入力に係る楽節Ａのメロディデータを参照して該メロディデータとメロディが対比する（類似しない）楽節Ｂのメロディデータを生成する。対比するメロディデータを生成する方法としては、（イ）楽節Ａのメロディに前述したメロディ反転処理を施して楽節Ｂのメロディを生成する方法、（ロ）楽節Ａのメロディに関してリズムの粗密を変更する（例えば楽節Ａの前半及び後半で音符分布がそれぞれ粗及び密であれば密及び粗に変更する）ことにより楽節Ｂのメロディを生成する方法等を用いることができる。ステップ２８８の後は、ステップ２８６に移る。
【０１８４】
ステップ２８６では、メロディ生成に係る区間が最後の区間か判定する。楽節Ｂは最後の区間ではないので、ステップ２８６の判定結果は否定的（Ｎ）となり、ステップ２８０に戻る。
【０１８５】
ステップ２８０では、次の区間が楽節Ａか判定する。次の区間は楽節Ａであるので、ステップ２８０の判定結果は肯定的（Ｙ）となり、ステップ２９０に移る。
【０１８６】
ステップ２９０では、入力に係る楽節Ａのメロディデータを最後の楽節Ａのメロディデータとして採用する。そして、ステップ２８６で最後の区間か判定すると、判定結果が肯定的（Ｙ）となり、処理エンドとする。
【０１８７】
図２３の処理において、ステップ２８４では、楽節Ａ’の前半又は後半のメロディを新規に生成する際にメロディ生成データ（メロディ生成用メロディ特徴データ又はメロディ生成用メロディデータ）を用いてもよいし、ステップ２８８で述べたような入力メロディを利用する方法を用いてもよい。また、ステップ２８８では、入力メロディを利用する方法の代りに、メロディ生成データを用いて楽節Ｂのメロディを生成するようにしてもよい。いずれにしても、ステップ２８４及び２８８のうち少なくとも一方のステップでは、メロディ生成データを用いるようにする。
【０１８８】
図２３の処理にあっては、例えば楽節Ａ’’のように「’」の数が２以上の楽節のメロディを生成するようにしてもよい。この場合、「’」の数が１つの場合とは異なる類似ルールに従ってメロディを生成する。また、楽節Ｃ，Ｄ等のメロディを生成するようにしてもよい。この場合、楽節Ｂの場合とは異なる対比ルールに従ってメロディを生成する。
【０１８９】
図２３に関して上記した処理によれば、ユーザが入力した楽節Ａのメロディデータを用いると共にメロディ生成データを用いることによりＡ，Ａ’，Ｂ，Ａのような楽節構成を有する１曲分のメロディデータを生成することができる。生成される１曲分のメロディには、入力に係る楽節Ａのメロディが含まれると共に、メロディ生成データが持つ音楽的特徴又は音楽的雰囲気が反映される。
【０１９０】
図２４は、この発明の更に他の実施形態に係る作曲処理を示すものである。データベース３００には、複数曲にそれぞれ対応した複数の曲生成データＳ1，Ｓ2…Ｓnが記憶されており、各曲生成データは、データＳ1について代表的に示すように参照メロディデータＳaと、このデータＳaに付随したメロディ生成データＳbとを含んでいる。
【０１９１】
各参照メロディデータは、作成すべき曲の一部区間（例えば第１フレーズ）のメロディを表わすもので、例えば１音毎に音高及び音長を表わすデータにより構成される。
【０１９２】
各メロディ生成データは、作成すべき曲のメロディを生成するために使用されるもので、図２０〜２２に関して前述したようにメロディ生成用メロディ特徴データ及びメロディ生成用メロディデータのうちいずれか一方又は双方を用いることができる。
【０１９３】
ステップ３０２では、ユーザが所望のメロディデータを入力する。このとき入力するメロディデータは、作成すべき曲の一部区間（例えば第１フレーズ）に関するものとする。メロディデータを入力する際に、メロディデータを入力する区間をユーザが任意に指定可能としてもよい。
【０１９４】
ステップ３０４では、入力に係るメロディデータをデータベース３００内の各参照メロディデータと比較し、入力に係るメロディデータとメロディが一致又は類似した１又は複数の参照メロディデータを検出する。複数の参照メロディデータが検出された場合は、いずれか１つをランダムに自動選択するか又はすべてをユーザに提示してユーザに所望の１つを選択させるようにすればよい。また、類似に係る複数の参照メロディデータが検出された場合は、各々の参照メロディデータに優先順位（例えば入力メロディと音数が一致するものを最優先させるなど）をつけてユーザに提示し、ユーザが所望の１つを選択するようにしてもよい。
【０１９５】
ステップ３０４において一致に係る１つの参照特徴データが検出又は選択されたときは、ステップ３０６において該参照メロディデータに付随したメロディ生成データをデータベース３００から抽出する（選択して読出す）。ステップ３０８では、抽出したメロディ生成データに基づいて残区間のメロディデータを生成する。ここで、残区間とは、作成すべき曲において一部区間（ユーザがメロディデータを入力した区間）以外の区間である。ステップ３０８の残区間メロディ生成処理としては、図２０〜２２を参照して前述したものを用いることができる。
【０１９６】
ステップ３１０では、ステップ３０２でユーザが入力した一部区間のメロディデータとステップ３０８で生成した残区間のメロディデータとを結合して１曲分のメロディデータを生成する。
【０１９７】
ステップ３０４において類似に係る１つの参照メロディデータが検出又は選択されたときは、ステップ３１２において該参照メロディデータに付随したメロディ生成データをデータベース３００から抽出する。
【０１９８】
ステップ３１４では、ステップ３０４での比較に係る入力メロディデータ及び参照メロディデータに基づいてメロディの不一致状態に対応した不一致情報を検出する。不一致情報としては、例えば参照メロディデータの方が入力メロディデータに比べて音高が２度低いことを表わす情報等が検出される。
【０１９９】
ステップ３１６では、ステップ３１２で抽出されたメロディ生成データをステップ３１４で検出された不一致情報に応じて修正する。例えば、検出に係る不一致情報が参照メロディデータの音高が２度低いことを表わすときは、抽出に係るメロディ生成データの音高を２度高くするように修正を行なう。
【０２００】
ステップ３０８では、ステップ３１６で修正されたメロディ生成データに基づいて残区間のメロディデータを生成する。そして、ステップ３１０では、ステップ３０２でユーザが入力した一部区間のメロディデータとステップ３０８で生成した残区間のメロディデータとを結合して１曲分のメロディデータを生成する。
【０２０１】
ステップ３０８の残区間メロディ生成処理においては、抽出又は修正されたメロディ生成データの他に、ステップ３０２で入力されたメロディデータも参照してメロディ生成を行なってもよい。このようにすると、入力したメロディにより近いメロディを生成することができる。このような処理としては、図２３を参照して前述したものを用いることができる。
【０２０２】
ステップ３１６で不一致情報に応じてメロディ生成データを修正する代りに、ステップ３１８で不一致情報に応じて残区間のメロディデータを修正するようにしてもよい。すなわち、ステップ３０８では、ステップ３１２により抽出されたメロディ生成データに基づいて残区間のメロディデータを生成し、ステップ３１８では、生成された残区間のメロディデータを不一致情報に応じて修正する。
【０２０３】
図２４の作曲処理によれば、ユーザが所望のメロディを入力することにより例えば第１フレーズ等の所定の区間に所望のメロディを含む１曲分のメロディを簡単に生成することができる。入力したメロディデータとメロディが一致又は類似したメロディ生成データに基づいてメロディを生成し、しかも類似に係るメロディ生成データ又は類似に係る生成メロディを不一致情報に応じて修正するので、生成されるメロディは、入力に係るメロディに相応しいものとなる。メロディ生成データとして音楽的に起伏に富んだ曲（例えば既存の完成された曲）に対応するものを記憶しておくことにより起伏に富んだ音楽的な１曲分のメロディを生成することができる。また、ステップ３０４において、入力したメロディデータと参照メロディデータとを直接比較するので、メロディ特徴を比較する場合に比べて入力メロディにより近いメロディを生成することができる。
【０２０４】
図２５は、図２４の作曲処理において用いられる比較及び不一致情報検出処理の一例を示すものである。
【０２０５】
ステップ３２０では、ユーザ入力に係るメロディデータ（入力メロディデータ）と最初の参照メロディデータとを比較用のレジスタ（図示せず）にロードする。そして、ステップ３２２に移り、入力メロディデータと参照メロディデータとを比較し、音数が「同じ」、「入力メロディの方が多い」及び参照メロディの方が多い」のいずれに該当するか判定する。
【０２０６】
ステップ３２２で「同じ」と判定された場合は、ステップ３２４に移る。ステップ３２４では、入力メロディデータと参照メロディデータとに基づいて、
（１）入力メロディと参照メロディの対応する音同士の音高差ｅ、
（２）入力メロディの音高変化傾向ｆ、
（３）参照メロディの音高変化傾向ｇ及び
（４）入力メロディと参照メロディの対応する音同士のタイミング差ｈを求める。
【０２０７】
ここで、入力メロディの順次の音高からなる音高列ａと、参照メロディの順次の音高からなる音高列ｂと、入力メロディの順次のタイミングからなるタイミング列ｃと、参照メロディの順次のタイミングからなるタイミング列ｄとを、
列ａ：ａ１、ａ２…ａ（ｎ−１）、ａｎ
列ｂ：ｂ１、ｂ２…ｂ（ｎ−１）、ｂｎ
列ｃ：ｃ１、ｃ２…ｃ（ｎ−１）、ｃｎ
列ｄ：ｄ１、ｄ２…ｄ（ｎ−１）、ｄｎ
のように表わすものとすると、音高差ｅ、音高変化傾向ｆ，ｇ及びタイミング差ｈは、次の表１に示すような算出式で求められる。
【０２０８】
【表１】
0003704980.tif 000002
次に、ステップ３２６では、求めたｅ，ｆ，ｇ，ｈに基づいて入力するメロディと参照メロディとが一致又は類似するか判定する。そして、ステップ３２８では、ステップ３２６の判定結果が一致又は類似であるか判定する。
【０２０９】
ステップ３２８の判定結果が肯定的（Ｙ）であったときは、ステップ３３０に移る。ステップ３３０では、ステップ３２４での判定結果が類似である場合に限り、入力メロディと参照メロディとの不一致状態（類似状態）に対応した不一致情報を検出する。
【０２１０】
ステップ３２８の判定結果が否定的（Ｎ）であったときは、ステップ３３２に移り、比較に係る参照メロディデータを不使用とする。
【０２１１】
ステップ３３０又は３３２の処理が終ったときは、ステップ３３４に移り、全参照メロディデータの検査が終了したか判定する。この判定の結果が否定的（Ｎ）であれば、ステップ３３６で次の参照メロディデータをロードしてからステップ３２２に戻る。
【０２１２】
ステップ３２２で「入力メロディの方が多い」と判定された場合は、ステップ３３８に移る。ステップ３３８では、多い分だけ入力メロディの音数を減らし、入力メロディと参照メロディとで音数を同じにする。そして、ステップ３４０に移る。
【０２１３】
ステップ３４０では、一致・類似判定処理を行なう。この処理は、前述のステップ３２４，３２６を含む処理Ｐと同様に行なう。そして、ステップ３４２に移り、ステップ３４０での判定結果が一致又は類似であるか判定する。
【０２１４】
ステップ３４２の判定結果が肯定的（Ｙ）であったときは、ステップ３４４に移り、今回の比較結果を類似とする。この場合、入力メロディの音数を減らして比較を行なっているので、ステップ３４０の判定結果が一致であるとしても、比較結果は類似とされる。この後、ステップ３４６では、入力メロディと参照メロディとの不一致状態（類似状態）に対応した不一致情報を検出する。
【０２１５】
ステップ３４２の判定結果が否定的（Ｎ）であったときは、ステップ３４８に移る。ステップ３４８では入力メロディに関して減らしてない音がまだあるか判定する。一例として、入力メロディ音がｍ１〜ｍ６の６音であった場合、ステップ３３８でｍ６を減らした後初めてステップ３４８に来たときは、減らしてない音としてｍ１〜ｍ５が存在することになる。ステップ３４８の後は、ステップ３５０に移る。
【０２１６】
ステップ３５０では、減らす音を変更する。上記したように減らしてない音としてｍ１〜ｍ５が存在する例では、例えばｍ５を減らす。そして、ステップ３４０に戻り、ステップ３４０以降の処理を上記したと同様に実行する。
【０２１７】
この後、再びステップ３４８に来て、減らしてない音があるものとするとステップ３５０で減らす音を変更する。上記のようにｍ５を減らした例では、例えばｍ４を減らしてステップ３４０に戻る。この例では、この後ステップ３４８，３５０を３回通ると、ｍ１〜ｍ３が減らされることになる。
【０２１８】
この後、ステップ３４８に来ると、入力メロディでは減らす音がもうないので、ステップ３４８の判定結果が否定的（Ｎ）となり、ステップ３５２に移る。ステップ３５２では、比較に係る参照メロディデータを不使用とする。
【０２１９】
ステップ３４６又は３５２の処理が終ったときは、ステップ３３４に移り、全参照メロディデータの検査終了か判定する。この判定の結果が否定的（Ｎ）であれば、ステップ３３６で次の参照メロディデータをロードしてからステップ３２２に戻る。
【０２２０】
ステップ３２２で「参照メロディの方が多い｝と判定されたときは、ステップ３５４に移る。ステップ３５４では、多い分だけ参照メロディの音を減らして一致・類似判定音変更処理を行なう。この処理は、前述のステップ３４０〜３５２を含む処理Ｑと同様に行なう。
【０２２１】
ステップ３５４の処理が終ったときは、ステップ３３４に移り、全参照メロディデータの検査終了か判定する。この判定の結果が否定的（Ｎ）であれば、ステップ３３６で次の参照メロディデータをロードしてからステップ３２２に戻る。
【０２２２】
上記した処理を何回か実行することによりデータベース３００内の全参照メロディデータの検査が終了すると、ステップ３３４の判定結果が肯定的（Ｙ）となり、処理エンドとする。
【０２２３】
図２６は、図２５の処理において比較される入力メロディ及び参照メロディをグラフ形式で示すものであり、横軸はタイミングを、縦軸は音高をそれぞれ示す。
【０２２４】
図２６において、四角印は、入力メロディＭの構成音を示し、丸印は、参照メロディＲ１の構成音を示し、三角印は、参照メロディＲ２の構成音を示す。入力メロディＭと参照メロディＲ１又はＲ２とを比較し、前掲の表１に示した式に従って音高差ｅ、音高変化傾向ｆ，ｇ及びタイミング差ｈを求め、求めたｅ，ｆ，ｇ，ｈに基づいてタイミングや音高について一致又は類似を判定する。
【０２２５】
タイミング判定では、比較に係る入力メロディと参照メロディとでタイミング差ｈがすべてゼロであれば一致とする。複数のタイミングのうち一部のタイミングでのみタイミング差ｈがあるときは、類似とし、殆ど又は全タイミングでタイミング差ｈがあるときは、一致にも類似にもしない。図２６の例では、参照メロディＲ１，Ｒ２のいずれも、入力メロディＭと全タイミングでタイミング差ｈ（ｈ１〜ｈ５）がゼロであるので、一致と判定される。
【０２２６】
音高の一致判定では、比較に係る入力メロディと参照メロディとで音高差ｅがすべてゼロであれば一致とする。例えば、入力メロディＭと参照メロディＲ１とを比較して音高差ｅを求めると、
ｅ１＝０、ｅ２＝−１、ｅ３＝０、ｅ４＝＋１、ｅ５＝＋１
のようになる。また、入力メロディＭと参照メロディＲ２とを比較して音高差ｅを求めると、
ｅ１＝＋２、ｅ２＝＋２、ｅ３＝＋２、ｅ４＝＋２、ｅ５＝＋２
のようになる。従って参照メロディＲ１，Ｒ２のいずれについても、一致とはならない。
【０２２７】
音高の類似判定では、比較に係る入力メロディと参照メロディとで音高変化傾向ｆ，ｇが一致すれば類似とする。また、音高変化量が異なっていてもすべての符号（＋又は−）が一致していれば類似とする。
【０２２８】
例えば、参照メロディＲ１について音高変化傾向ｇを求めると、
ｇ１＝０、ｇ２＝＋１、ｇ３＝０、ｇ４＝＋１
のようになる。また、参照メロディＲ２について音高変化傾向ｇを求めると、
ｇ１＝＋１、ｇ２＝０、ｇ３＝−１、ｇ４＝＋１
のようになる。
【０２２９】
一方、入力メロディＭについて音高変化傾向ｆを求めると、
ｆ１＝＋１、ｆ２＝０、ｆ３＝−１、ｆ４＝＋１
のようになる。
【０２３０】
従って、入力メロディＭと参照メロディＲ２とは、音高変化傾向ｆ，ｇが一致するので、類似と判定される。このときのメロディの不一致状態（類似状態）は、音高差ｅから求められ、「参照メロディの方が音高が２度高い」となる。このようなメロディの不一致状態に対応した不一致情報を図２５のステップ３３０で検出する。そして、図２４のステップ３１６（又は３１８）では、検出された不一致情報に応じてメロディ生成データ（又は生成メロディデータ）を音高が２度低くなるように修正する。なお、参照メロディＲ１については、音高変化傾向ｆ，ｇが一致せず、すべての符号も一致しないので、類似とはしない。
【０２３１】
入力メロディと参照メロディとで音高変化傾向ｆ，ｇを比較した場合、音高変化量が異なっていてもすべての符号が一致していれば類似とすることは前述した通りである。これは、すべての符号が一致していることで音高変化傾向が類似していると認められることによるものである。この場合、入力メロディと参照メロディとで音域（最低音から最高音までの幅）が異なることが多いので、音域の広さの違いを不一致情報として検出し、この不一致情報に応じてメロディ生成データ（又は生成メロディデータ）の音域を修正するようにしてもよい。
【０２３２】
この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【０２３３】
（１）ユーザが所望のメロディデータを供給するには、鍵盤型、弦楽器型（例えばギター型）、管楽器型等の電子楽器や電気楽器をリアルタイム演奏してメロディデータを入力してもよいし、音高指示スイッチ及び音長指示スイッチを操作して１音分ずつメロディデータを入力してもよい。あるいは入力すべきメロディのリズムパターンを所定のスイッチのタッピング操作によって入力するとともに、入力されたリズムパターンの各打点を時間軸と音高軸とからなる２次元座標上に表示し、各打点を音高軸に沿ってマウス操作によりドラッグすることで音高を入力するようにしてもよい。また、外部記憶装置３０から入力する代りに、ＲＯＭ２０に記憶したメロディデータを選択して入力してもよい。さらに、この発明に係る自動作曲装置又は他の自動作曲装置、例えば、与えられたモチーフ（テーマ）特徴パラメータに基づいてモチーフメロディを生成し、その後、このモチーフメロディを反映させた１曲メロディを生成する自動作曲装置によって作成されたメロディデータを入力してもよい。なお、このようなモチーフ生成タイプの自動作曲装置にあっては、モチーフ生成に用いた特徴パラメータが既に存在しているので、参照特徴データとの比較に、この特徴パラメータを利用してもよい。
【０２３４】
（２）リアルタイム演奏によりメロディデータを入力する場合、メトロノーム等の音に合わせて演奏をすると、テンポの乱れが少なくなり、音長（タイミング）を正確に入力することができる。また、テンポを遅くして演奏をすると、難しいメロディであっても容易に演奏することができ、メロディデータを正確に入力することができる。さらに、入力に係るメロディデータについては、音長（タイミング）データをクオンタイズ処理により８分音符等のジャストタイミングのデータに修正してもよいし、１音毎に入力ミスの修正を可能としてもよい。
【０２３５】
（３）メロディ生成データや自動作曲のアルゴリズムとしては、前述したものに限らず、種々のものを使用可能である。
【０２３６】
（４）プログラムを記録する記録媒体としては、ＲＯＭ２０に限らず、外部記憶装置３０に装着する記録媒体（前述のＨＤ、ＦＤ、ＣＤ、ＤＶＤ、ＭＯ等）を用いることができる。この場合、記録媒体に記録したプログラムは、外部記憶装置３０からＲＡＭ２２へ転送する。そして、ＲＡＭ２２に記憶したプログラムに従ってＣＰＵ１８を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。
【０２３７】
（５）この発明の実施に必要なプログラムや各種データは、サーバコンピュータ等から通信ネットワーク（例えばＬＡＮ（ローカル・エリア・ネットワーク）、インターネット、電話回線等）及び通信インターフェースを介してＲＡＭ２２又は外部記憶装置３０へダウンロード要求に応じて取込むようにしてもよい。
【０２３８】
（６）パーソナルコンピュータ１０に相当する小型コンピュータは、電子楽器１２に内蔵させたり、電子楽器１２と一体化させたりしてもよい。
【０２３９】
（７）曲データのフォーマットは、イベントの発生時刻を１つ前のイベントからの相対時間で表わす「イベント＋相対時間」方式に限らず、イベントの発生時刻を曲や小節内の絶対時間で表わす「イベント＋絶対時間」方式、音符の音高と音符長及び休符と休符長で曲の内容を表す「音高（休符）＋符長」方式、イベント発生の最小時間単位毎に記憶領域を確保し、イベントの発生時刻に対応する記憶領域にイベントを記憶する方式等の任意の方式を用いることができる。
【０２４０】
（８）電子楽器は、鍵盤、音源装置、自動演奏装置等をそれぞれ別体とし、適宜接続して構成されるものでもよい。
【０２４１】
（９）ユーザがメロディ特徴データを作成したり、編集したりするようにしてもよい。
【０２４２】
【発明の効果】
以上のように、この発明によれば、ユーザ入力に係るメロディデータとメロディが一致又は類似した参照メロディデータを検出すると共に検出に係る参照メロディデータに付随したメロディ生成データに基づいてメロディデータを生成する構成にしたので、ユーザ入力に係るテーマメロディに相応しく且つ起伏に富んだ音楽的なメロディを簡単に生成できる効果が得られる。
【０２４３】
また、ユーザ入力に係るメロディデータとメロディ特徴（又はメロディ）が一致しない参照特徴データ（又は参照メロディデータ）については、参照特徴データ（又は参照メロディデータ）に付随したメロディ生成データを不一致情報に応じて修正した後修正に係るメロディ生成データに基づいてメロディデータを生成するか又は参照特徴データ（又は参照メロディデータ）に付随したメロディ生成データに基づいてメロディデータを生成した後生成に係るメロディデータを不一致情報に応じて修正する構成にしたので、ユーザ入力に係るテーマメロディにより近いメロディを生成できる効果も得られる。
【０２４４】
さらに、ユーザ指定に係る演奏区間ではユーザ入力に係るメロディを流用すると共に該演奏区間以外の演奏区間ではユーザ入力に係るメロディとメロディ特徴（又はメロディ）が一致又は類似した曲特徴データ（又は曲データ）に基づいてメロディを作成することにより流用メロディ及び作成メロディを表わす１曲分のメロディデータを生成する構成にしたので、所望の演奏区間に所望のメロディを含み且つ所望のメロディに相応しい１曲分のメロディを簡単に生成できる効果も得られる。
【図面の簡単な説明】
【図１】  この発明の一実施形態に係る作曲処理を説明するための説明図である。
【図２】  この発明に係る自動作曲装置を示すブロック図である。
【図３】  曲データ及び曲特徴データのフォーマットを示す図である。
【図４】  ピッチ特徴データ及びリズム特徴データを説明するための説明図である。
【図５】  リズムデータを説明するための説明図である。
【図６】  ユーザ入力に係るフレーズ特徴データのフォーマットを示す図である。
【図７】  １フレーズ分のメロディを生成する過程を説明するための説明図である。
【図８】  メインルーチンを示すフローチャートである。
【図９】  曲特徴登録のサブルーチンを示すフローチャートである。
【図１０】  ピッチ特徴分析のサブルーチンの一部を示すフローチャートである。
【図１１】  図１０のサブルーチンの残部を示すフローチャートである。
【図１２】  リズム特徴分析のサブルーチンを示すフローチャートである。
【図１３】  フレーズ特徴分析のサブルーチンを示すフローチャートである。
【図１４】  曲特徴データ選択のサブルーチンの一部を示すフローチャートである。
【図１５】  図１４のサブルーチンの残部を示すフローチャートである。
【図１６】  メロディ生成のサブルーチンを示すフローチャートである。
【図１７】  曲作成のサブルーチンの一部を示すフローチャートである。
【図１８】  図１７のサブルーチンの残部を示すフローチャートである。
【図１９】  この発明の他の実施形態に係る作曲処理を説明するための説明図である。
【図２０】  メロディ生成データがメロディ特徴データからなる場合に用いられる残区間メロディ生成処理を示すフローチャートである。
【図２１】  メロディ生成データがメロディデータからなる場合に用いられる残区間メロディ生成処理を示すフローチャートである。
【図２２】  メロディ生成データがメロディデータ及びメロディ特徴データからなる場合に用いられる残区間メロディ生成処理を示すフローチャートである。
【図２３】  メロディ生成データの他に入力メロディデータを利用する場合に用いられる残区間メロディ生成処理を示すフローチャートである。
【図２４】  この発明の更に他の実施形態に係る作曲処理を説明するための説明図である。
【図２５】  図２４の作曲処理において用いられる比較及び不一致情報検出処理の一例を示すフローチャートである。
【図２６】  図２５の処理において比較される入力メロディ及び参照メロディを示すグラフである。
【符号の説明】
１０：パーソナルコンピュータ、１２：電子楽器、１２Ａ：鍵盤、１４：ディスプレイ、１６：バス、１８：ＣＰＵ、２０：ＲＯＭ、２２：ＲＡＭ、２２Ａ〜２２Ｆ：記憶部、２４，２６：検出回路、２８：インターフェース、３０：外部記憶装置、３０Ａ，３０Ｂ：データベース、３２：表示回路、３６：キーボード、３８：マウス。
【図１】
0003704980.tif 000003
【図２】
0003704980.tif 000004
【図３】
0003704980.tif 000005
【図４】
0003704980.tif 000006
【図５】
0003704980.tif 000007
【図６】
0003704980.tif 000008
【図７】
0003704980.tif 000009
【図８】
0003704980.tif 000010
【図９】
0003704980.tif 000011
【図１０】
0003704980.tif 000012
【図１１】
0003704980.tif 000013
【図１２】
0003704980.tif 000014
【図１３】
0003704980.tif 000015
【図１４】
0003704980.tif 000016
【図１５】
0003704980.tif 000017
【図１６】
0003704980.tif 000018
【図１７】
0003704980.tif 000019
【図１８】
0003704980.tif 000020
【図１９】
0003704980.tif 000021
【図２０】
0003704980.tif 000022
【図２１】
0003704980.tif 000023
【図２２】
0003704980.tif 000024
【図２３】
0003704980.tif 000025
【図２４】
0003704980.tif 000026
【図２５】
0003704980.tif 000027
【図２６】
0003704980.tif 000028