(57)【特許請求の範囲】
【請求項１】
１乃至複数の小節から成る所定長さのリズムパターンを記憶している記憶手段であって、各リズムパターンは打点情報及び重要打点情報を含み、これらのリズムパターンにはつっこみ処理に適したリズムパターンとそうでないリズムパターンとが含まれるものと、
メロディ生成用データ及びコード進行を生成乃至選択するデータ生成手段と、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択手段と、
選択されたリズムパターンを結合し、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理が施されたリズムを生成するリズム生成手段と、
生成されたリズムの重要音を検出する重要音検出手段であって、前記リズムパターン選択手段により選択されたリズムパターンの打点情報及び重要打点情報を検出するものと、
前記メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成する骨格ピッチ生成手段と、
前記リズム生成手段により生成されたリズムの各音符に対応してメロディのピッチを生成するピッチ生成手段と
を備え、
前記ピッチ生成手段は、
前記重要音検出手段により検出された重要音に、前記骨格ピッチ生成手段により生成された骨格ピッチを割り当てる第１ピッチ生成手段であって、前記重要音検出手段により検出された重要打点情報及び前記コード進行に基づいて、生成されるメロディの重要打点のピッチを決定するものと、
前記メロディ生成用データ及びコード進行に基づいて、前記重要音検出手段により検出された重要音以外の音についてピッチを生成する第２ピッチ生成手段であって、前記重要音検出手段により検出された打点情報に基づいて、生成されるメロディの重要打点間のピッチを決定するものと
を有する
ことを特徴とするメロディデータ生成装置。
【請求項２】
打点情報及び重要打点情報を含むリズムパターンを記憶している記憶手段と、
メロディ生成用データ及びコード進行を生成乃至選択するデータ生成手段と、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択手段と、
選択されたリズムパターンの打点情報及び重要打点情報を検出する重要音検出手段と、
検出された重要打点情報及び前記コード進行に基づいて、生成されるメロディの重要打点のピッチを決定する第１ピッチ生成手段と、
前記重要音検出手段により検出された打点情報に基づいて、生成されるメロディの重要打点間のピッチを決定する第２ピッチ生成手段と
を備えることを特徴とするメロディデータ生成装置。
【請求項３】
１乃至複数の小節から成る所定長さのリズムパターンを記憶している記憶手段と、
メロディ生成用データを生成するデータ生成手段と、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択手段と、
選択されたリズムパターンを結合し、結合部分に、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施して所定区間のリズムを生成するリズム生成手段と、
生成された所定区間のリズムの各音符に対応してメロディのピッチを生成するピッチ生成手段と
を備えることを特徴とするメロディデータ生成装置。
【請求項４】
１乃至複数小節から成る所定長さのリズムパターンを記憶している記憶手段と、
メロディ生成用データ及びコード進行を生成乃至選択するデータ生成手段と、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択手段と、
選択されたリズムパターンを結合し、結合部分に、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施して所定区間のリズムを生成するリズム生成手段と、
生成されたリズムの重要音を検出する重要音検出手段と、
前記メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成する骨格ピッチ生成手段と、
前記重要音検出手段により検出された重要音に対応して生成されるメロディのピッチにこの骨格ピッチを割り当てる第１ピッチ生成手段と、
前記メロディ生成用データ及びコード進行に基づいて、前記重要音検出手段により検出された重要音以外の音に対応するメロディのピッチを生成する第２ピッチ生成手段と
を備えることを特徴とするメロディデータ生成装置。
【請求項５】
前記リズム生成手段は、音長を含むリズムパターンを結合し、結合部分の音符にタイ処理をして所定区間のリズムを生成することを特徴とする請求項３又は４に記載のメロディデータ生成装置。
【請求項６】
前記リズム生成手段は、音長を含まないリズムパターンを結合し、結合部分の音符に、結合部分の音符をまたぐ音長を付加して所定区間のリズムを生成することを特徴とする請求項３又は４に記載のメロディデータ生成装置。
【請求項７】
前記重要音検出手段は、前記リズム生成手段のつっこみリズム処理によりつっこませた音を、結合部分の後方の小節における重要音として検出することを特徴とする請求項４に記載のメロディデータ生成装置。
【請求項８】
つっこみ処理に適したリズムパターンとそうでないリズムパターンとを記憶している記憶手段と、
メロディ生成用データを生成するデータ生成手段と、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択手段と、
選択されたリズムパターンを結合し、所定区間のリズムを生成するリズム生成手段と、
生成された所定区間のリズムの各音符に対応してメロディのピッチを生成するピッチ生成手段と
を備え、
前記リズム選択手段は、
所定区間のリズムをつっこみリズムとするか否かを決定する手段と、
つっこみリズムとすると決定された場合、前記記憶手段からつっこみ処理に適したリズムパターンを選択する手段と
を有し、
前記リズム生成手段は、前記リズム選択手段により選択された前記つっこみ処理に適したリズムパターンに対して、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施す手段を有する
ことを特徴とするメロディデータ生成装置。
【請求項９】
１乃至複数の小節から成る所定長さのリズムパターンを記憶している記憶手段であって、各リズムパターンは打点情報及び重要打点情報を含み、これらのリズムパターンにはつっこみ処理に適したリズムパターンとそうでないリズムパターンとが含まれるものを備えるコンピュータに、
メロディ生成用データ及びコード進行を生成乃至選択するデータ生成ステップと、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、
選択されたリズムパターンを結合し、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理が施されたリズムを生成するリズム生成ステップと、
生成されたリズムの重要音を検出する重要音検出ステップであって、前記リズムパターン選択ステップで選択されたリズムパターンの打点情報及び重要打点情報を検出するものと、
前記メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成する骨格ピッチ生成ステップと、
前記リズム生成ステップで生成されたリズムの各音符に対応してメロディのピッチを生成するピッチ生成ステップと
から成り、
前記ピッチ生成ステップは、
前記重要音検出ステップで検出された重要音に、前記骨格ピッチ生成ステップで生成された骨格ピッチを割り当てる第１ピッチ生成ステップであって、前記重要音検出ステップで検出された重要打点情報及び前記コード進行に基づいて、生成されるメロディの重要打点のピッチを決定するものと、
前記メロディ生成用データ及びコード進行に基づいて、前記重要音検出ステップで検出された重要音以外の音についてピッチを生成する第２ピッチ生成ステップであって、前記重要音検出ステップで検出された打点情報に基づいて、生成されるメロディの重要打点間のピッチを決定するものと
を有する
手順を実行させるためのプログラムを記録していることを特徴とするメロディデータ生成のためのコンピュータ読み取り可能な記録媒体。
【請求項１０】
打点情報及び重要打点情報を含むリズムパターンを記憶している記憶手段を備えるコンピュータに、
メロディ生成用データ及びコード進行を生成乃至選択するデータ生成ステップと、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、
選択されたリズムパターンの打点情報及び重要打点情報を検出する重要音検出ステップと、
検出された重要打点情報及び前記コード進行に基づいて、生成されるメロディの重要打点のピッチを決定する第１ピッチ生成ステップと、
前記重要音検出ステップで検出された打点情報に基づいて、生成されるメロディの重要打点間のピッチを決定する第２ピッチ生成ステップと
から成る手順を実行させるためのプログラムを記録していることを特徴とするメロディデータ生成のためのコンピュータ読み取り可能な記録媒体。
【請求項１１】
１乃至複数小節から成る所定長さのリズムパターンを記憶している記憶手段を備えるコンピュータに、
メロディ生成用データを生成するデータ生成ステップと、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、
選択されたリズムパターンを結合し、結合部分に、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施して所定区間のリズムを生成するリズム生成ステップと、
生成された所定区間のリズムの各音符に対応してメロディのピッチを生成するピッチ生成ステップと
から成る手順を実行させるためのプログラムを記録していることを特徴とするメロディデータ生成のためのコンピュータ読み取り可能な記録媒体。
【請求項１２】
１乃至複数小節から成る所定長さのリズムパターンを記憶している記憶手段を備えるコンピュータに、
メロディ生成用データ及びコード進行を生成乃至選択するデータ生成ステップと、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、
選択されたリズムパターンを結合し、結合部分に、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施して所定区間のリズムを生成するリズム生成ステップと、
生成されたリズムの重要音を検出する重要音検出ステップと、
前記メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成する骨格ピッチ生成ステップと、
前記重要音検出ステップで検出された重要音に対応して生成されるメロディのピッチにこの骨格ピッチを割り当てる第１ピッチ生成ステップと、
前記メロディ生成用データ及びコード進行に基づいて、前記重要音検出ステップで検出された重要音以外の音に対応するメロディのピッチを生成する第２ピッチ生成ステップと
から成る手順を実行させるためのプログラムを記録していることを特徴とするメロディデータ生成のためのコンピュータ読み取り可能な記録媒体。
【請求項１３】
つっこみ処理に適したリズムパターンとそうでないリズムパターンとを記憶している記憶手段を備えるコンピュータに、
メロディ生成用データを生成するデータ生成ステップと、
このメロディ生成用データに基づいて前記記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、
選択されたリズムパターンを結合し、所定区間のリズムを生成するリズム生成ステップと、
生成された所定区間のリズムの各音符に対応してメロディのピッチを生成するピッチ生成ステップと
から成り、
前記リズム選択ステップは、
所定区間のリズムをつっこみリズムとするか否かを決定するステップと、
つっこみリズムとすると決定された場合、前記記憶手段からつっこみ処理に適したリズムパターンを選択するステップと
を有し、
前記リズム生成ステップでは、前記リズム選択ステップで選択された前記つっこみ処理に適したリズムパターンに対して、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施すようにした
手順を実行させるためのプログラムを記録していることを特徴とするメロディデータ生成のためのコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、リズムパターンの設定を容易にしたメロディデータ生成装置及びその記録媒体に関する。
【０００２】
【従来の技術】
従来、メロディ生成におけるリズムパターンの重要打点（メロディの中で重要な役割を持つ打点位置で、重要音符ともいう）は、パターンをロードした後に検出処理で求めていた。例えば、強拍に打点があれば重要打点とし、打点がなければ、強拍の前後の打点を重要打点とするような複雑な処理をしていた。また、重要打点を全く自由に決定することは困難であった。
【０００３】
最近の曲のメロディには、リズム打点位置を拍位置よりも少し前に移動して早く演奏する所謂「つっこんだ」リズムをもつメロディが多い。ところが、従来のリズム生成においては、小節単位でリズムパターンをパターンデータベースから選択していたので、シンコペーションとして１小節パターンの選択により小節内での「つっこみ」が可能であるが、「つっこんだ」リズムは小節内でしか得ることができず、従って、小節の第１拍目では、それ以前に音符が存在しないので、「つっこみ」パターンを生成することができなかった。
【０００４】
【発明が解決しようとする課題】
この発明は、このような従来技術の欠点に鑑み、構成を複雑にすることなく、リズムパターンの重要打点を検出するための複雑な演算処理を不要にするだけでなく、全く自由な重要打点を設定することができ、また、構成を複雑にすることなく、小節の第１拍目であっても小節頭の音符が前小節の最後に「つっこんだ」リズムのメロディを生成することができ、曲の幅を広げることができるメロディデータ生成装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
この発明の１つの特徴に従うと、１乃至複数の小節から成る所定長さのリズムパターンを記憶している記憶手段であって、各リズムパターンは打点情報及び重要打点情報を含み、これらのリズムパターンにはつっこみ処理に適したリズムパターンとそうでないリズムパターンとが含まれるものと、メロディ生成用データ及びコード進行を生成乃至選択するデータ生成手段と、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択手段と、選択されたリズムパターンを結合し、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理が施されたリズムを生成するリズム生成手段と、生成されたリズムの重要音を検出する重要音検出手段であって、前記リズムパターン選択手段により選択されたリズムパターンの打点情報及び重要打点情報を検出するものと、メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成する骨格ピッチ生成手段と、リズム生成手段により生成されたリズムの各音符に対応してメロディのピッチを生成するピッチ生成手段とを備え、ピッチ生成手段は、重要音検出手段により検出された重要音に、骨格ピッチ生成手段により生成された骨格ピッチを割り当てる第１ピッチ生成手段であって、重要音検出手段により検出された重要打点情報及びコード進行に基づいて、生成されるメロディの重要打点のピッチを決定するものと、メロディ生成用データ及びコード進行に基づいて、重要音検出手段により検出された重要音以外の音についてピッチを生成する第２ピッチ生成手段であって、重要音検出手段により検出された打点情報に基づいて、生成されるメロディの重要打点間のピッチを決定するものとを有するメロディデータ生成装置（請求項１）が提供される。また、この特徴に従い、１乃至複数の小節から成る所定長さのリズムパターンを記憶している記憶手段であって、各リズムパターンは打点情報及び重要打点情報を含み、これらのリズムパターンにはつっこみ処理に適したリズムパターンとそうでないリズムパターンとが含まれるものを備えるコンピュータに、メロディ生成用データ及びコード進行を生成乃至選択するデータ生成ステップと、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、選択されたリズムパターンを結合し、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理が施されたリズムを生成するリズム生成ステップと、生成されたリズムの重要音を検出する重要音検出ステップであって、前記リズムパターン選択ステップで選択されたリズムパターンの打点情報及び重要打点情報を検出するものと、メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成する骨格ピッチ生成ステップと、リズム生成ステップで生成されたリズムの各音符に対応してメロディのピッチを生成するピッチ生成ステップとから成り、ピッチ生成ステップは、重要音検出ステップで検出された重要音に、骨格ピッチ生成ステップで生成された骨格ピッチを割り当てる第１ピッチ生成ステップであって、重要音検出ステップで検出された重要打点情報及びコード進行に基づいて、生成されるメロディの重要打点のピッチを決定するものと、メロディ生成用データ及びコード進行に基づいて、重要音検出ステップで検出された重要音以外の音についてピッチを生成する第２ピッチ生成ステップであって、重要音検出ステップで検出された打点情報に基づいて、生成されるメロディの重要打点間のピッチを決定するものとを有する手順を実行させるためのプログラムを記録しているメロディデータ生成のためのコンピュータ読み取り可能な記録媒体（請求項９）が提供される。
【０００６】
この発明の別の特徴に従うと、打点情報及び重要打点情報を含むリズムパターンを記憶している記憶手段と、メロディ生成用データ及びコード進行を生成乃至選択するデータ生成手段と、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択手段と、選択されたリズムパターンの打点情報及び重要打点情報を検出する重要音検出手段と、検出された重要打点情報及びコード進行に基づいて、生成されるメロディの重要打点のピッチを決定する第１ピッチ生成手段と、重要音検出手段により検出された打点情報に基づいて、生成されるメロディの重要打点間のピッチを決定する第２ピッチ生成手段とを備えるメロディデータ生成装置（請求項２）が提供される。また、この特徴に従い、打点情報及び重要打点情報を含むリズムパターンを記憶している記憶手段を備えるコンピュータに、メロディ生成用データ及びコード進行を生成乃至選択するデータ生成ステップと、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、選択されたリズムパターンの打点情報及び重要打点情報を検出する重要音検出ステップと、検出された重要打点情報及びコード進行に基づいて、生成されるメロディの重要打点のピッチを決定する第１ピッチ生成ステップと、重要音検出ステップで検出された打点情報に基づいて、生成されるメロディの重要打点間のピッチを決定する第２ピッチ生成ステップとから成る手順を実行させるためのプログラムを記録しているメロディデータ生成のためのコンピュータ読み取り可能な記録媒体（請求項１０）が提供される。
【０００７】
この発明の他の特徴に従うと、１乃至複数小節から成る所定長さのリズムパターンを記憶している記憶手段と、メロディ生成用データを生成するデータ生成手段と、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択手段と、選択されたリズムパターンを結合し、結合部分に、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施して所定区間のリズムを生成するリズム生成手段と、生成された所定区間のリズムの各音符に対応してメロディのピッチを生成するピッチ生成手段とを備えるメロディデータ生成装置（請求項３）、或いは、１乃至複数小節から成る所定長さのリズムパターンを記憶している記憶手段と、メロディ生成用データ及びコード進行を生成乃至選択するデータ生成手段と、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択手段と、選択されたリズムパターンを結合し、結合部分に、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施して所定区間のリズムを生成するリズム生成手段と、生成されたリズムの重要音を検出する重要音検出手段と、メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成する骨格ピッチ生成手段と、重要音検出手段により検出された重要音に対応して生成されるメロディのピッチにこの骨格ピッチを割り当てる第１ピッチ生成手段と、メロディ生成用データ及びコード進行に基づいて、重要音検出手段により検出された重要音以外の音に対応するメロディのピッチを生成する第２ピッチ生成手段とを備えるメロディデータ生成装置（請求項４）が提供される。また、これらの特徴に従い、１乃至複数小節から成る所定長さのリズムパターンを記憶している記憶手段を備えるコンピュータに、メロディ生成用データを生成するデータ生成ステップと、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、選択されたリズムパターンを結合し、結合部分に、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施して所定区間のリズムを生成するリズム生成ステップと、生成された所定区間のリズムの各音符に対応してメロディのピッチを生成するピッチ生成ステップとから成る手順を実行させるためのプログラムを記録しているメロディデータ生成のためのコンピュータ読み取り可能な記録媒体（請求項１１）、或いは、１乃至複数小節から成る所定長さのリズムパターンを記憶している記憶手段を備えるコンピュータに、メロディ生成用データ及びコード進行を生成乃至選択するデータ生成ステップと、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、選択されたリズムパターンを結合し、結合部分に、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施して所定区間のリズムを生成するリズム生成ステップと、生成されたリズムの重要音を検出する重要音検出ステップと、メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成する骨格ピッチ生成ステップと、重要音検出ステップで検出された重要音に対応して生成されるメロディのピッチにこの骨格ピッチを割り当てる第１ピッチ生成ステップと、メロディ生成用データ及びコード進行に基づいて、重要音検出ステップで検出された重要音以外の音に対応するメロディのピッチを生成する第２ピッチ生成ステップとから成る手順を実行させるためのプログラムを記録しているメロディデータ生成のためのコンピュータ読み取り可能な記録媒体（請求項１２）が提供される。
【０００８】
また、これらのメロディデータ生成装置において、リズム生成手段は、音長を含むリズムパターンを結合し、結合部分の音符にタイ処理をして所定区間のリズムを生成する（請求項５）ように構成し、或いは、リズム生成手段は、音長を含まないリズムパターンを結合し、結合部分の音符に、結合部分の音符をまたぐ音長を付加して所定区間のリズムを生成する（請求項６）ように構成することができる。また、後者メロディデータ生成装置において、重要音検出手段は、リズム生成手段のつっこみリズム処理によりつっこませた音を、結合部分の後方の小節における重要音として検出する（請求項７）ように構成することができる。
【０００９】
また、この発明の更に他の特徴に従うと、つっこみ処理に適したリズムパターンとそうでないリズムパターンとを記憶している記憶手段と、メロディ生成用データを生成するデータ生成手段と、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択手段と、選択されたリズムパターンを結合し、所定区間のリズムを生成するリズム生成手段と、生成された所定区間のリズムの各音符に対応してメロディのピッチを生成するピッチ生成手段とを備え、リズム選択手段は、所定区間のリズムをつっこみリズムとするか否かを決定する手段と、つっこみリズムとすると決定された場合、記憶手段からつっこみ処理に適したリズムパターンを選択する手段とを有し、リズム生成手段は、リズム選択手段により選択されたつっこみ処理に適したリズムパターンに対して、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施す手段を有するメロディデータ生成装置（請求項８）が提供される。また、この特徴に従い、つっこみ処理に適したリズムパターンとそうでないリズムパターンとを記憶している記憶手段を備えるコンピュータに、メロディ生成用データを生成するデータ生成ステップと、このメロディ生成用データに基づいて記憶手段よりリズムパターンを選択するリズムパターン選択ステップと、選択されたリズムパターンを結合し、所定区間のリズムを生成するリズム生成ステップと、生成された所定区間のリズムの各音符に対応してメロディのピッチを生成するピッチ生成ステップとから成り、リズム選択ステップは、所定区間のリズムをつっこみリズムとするか否かを決定するステップと、つっこみリズムとすると決定された場合、記憶手段からつっこみ処理に適したリズムパターンを選択するステップとを有し、リズム生成ステップでは、リズム選択ステップで選択されたつっこみ処理に適したリズムパターンに対して、小節の先頭拍を前小節の最後につっこませるつっこみリズム処理を施すようにした手順を実行させるためのプログラムを記録しているメロディデータ生成のためのコンピュータ読み取り可能な記録媒体（請求項１３）が提供される。
【００１０】
〔発明の作用〕
この発明の１つの特徴によれば、メロディ生成用データに基づいて記憶手段からリズムパターンを選択し、選択されたリズムパターンを結合して小節の先頭拍を前小節の最後につっこませるつっこみリズム処理（「つっこみ」処理）が施されたリズムを生成し、生成されたリズムの重要音には、メロディ生成用データ及びコード進行に基づいて生成される骨格ピッチを割り当て、重要音以外の音についてはメロディ生成用データ及びコード進行に基づくピッチを生成するように構成しているので、簡単な構成で、重要打点を設定することができるだけでなく、小節の先頭拍が前小節の最後につっこんだリズムのメロディを生成することができ、曲の幅を広げることができる。
【００１１】
この発明の別の特徴によれば、特に、打点情報及び重要打点情報を含むリズムパターンデータをリズムパターン記憶手段内に予め記憶しておき、この記憶手段からリズムパターンデータを選択してその打点情報及び重要打点情報を検出し、この重要打点情報に基づいて、メロディ重要打点の骨格ピッチを決定し、打点情報及び骨格ピッチに基づいて重要打点間のピッチを決定するように構成している。つまり、リズムパターンにおける重要打点をリズムパターンデータ内部に重要打点情報として予め記憶させておきそれを読み出すだけなので、リズムパターンの重要打点を検出するための複雑な演算処理を不要になるだけでなく、全く自由な重要打点を設定することができ、簡単な構成で曲の幅を広げることができる。
【００１２】
また、この発明の他の特徴によれば、特に、生成されるメロディ生成用データに基づいて所定長さのリズムパターンを選択し、選択された所定長さのリズムパターンを結合し、結合部分につっこみリズム処理（「つっこみ」処理）をして所定区間のリズムを生成し、生成された所定区間のリズムに対応してピッチを生成するように構成しているので、小節の第１拍目であっても小節頭の音符が前小節の最後に「つっこんだ」リズムのメロディを生成することができ、曲の幅を広げることができる。或いは、メロディ生成用データ及びコード進行を生成／選択し、このメロディ生成用データに基づいて選択された所定長さのリズムパターンを結合し、結合部分につっこみリズム処理（「つっこみ」処理）をして所定区間のリズムを生成し、メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成し、生成されたリズムから検出された重要音にこの骨格ピッチを割り当てると共に、メロディ生成用データ及びコード進行に基づいて重要音以外の音についてピッチを生成するように構成しているので、小節の第１拍目であっても小節頭の音符が前小節の最後に「つっこんだ」リズムを生成することができ、曲の幅を広げることができるとともに、このリズムの重要音に対しコード進行に基づいて骨格ピッチを生成することにより骨格のしっかりしたメロディを生成することができる。
【００１３】
この発明の更に他の特徴によれば、特に、つっこみ処理に適したリズムパターンとそうでないリズムパターンとを記憶している記憶手段からのリズムパターンを選択結合し、所定区間のリズムを生成し、生成された所定区間のリズムの各音符にピッチを生成すると共に、リズムの生成に際しては、所定区間のリズムをつっこみリズムとするか否かを決定し、つっこみリズムとすると決定された場合、記憶手段からつっこみ処理に適したリズムパターンを選択結合し、選択結合されたつっこみ処理に適したリズムパターンに対してつっこみリズム処理を施すように構成しているので、所望のリズムパターンを選択し任意の小節で「つっこんだ」リズムを生成する処理を容易に実現することができ、さらに、曲の幅を広げることができる。
【００１４】
【発明の実施の形態】
以下、図面を参照しつつ、この発明の好適な実施例を詳述する。なお、以下の実施例は単なる一例であって、この発明の精神を逸脱しない範囲で種々の変更が可能である。
【００１５】
〔ハードウエア構成〕
図１には、この発明の一実施例によるメロディデータ生成装置のハードウエア構成のブロック図が示されている。この例では、システムは、中央処理装置（ＣＰＵ）１、読出専用メモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３、第１及び第２の検出回路４，５、表示回路６、音源回路７、効果回路８、外部記憶装置９等を備え、これらの装置１〜９は、バス１０を介して互いに接続されており、メロディデータ生成のためのデータ処理システムを構成している。
【００１６】
システム全体を制御するＣＰＵ１は、テンポクロックや割込みクロックの発生等に利用されるタイマ１１を備え、所定のプログラムに従って種々の制御を行い、特に、後述するメロディデータ生成処理機能を中枢的に遂行する。ＲＯＭ２には、このシステムを制御するための所定の制御プログラムが記憶されており、これらの制御プログラムには、基本的な演奏情報処理と共に、この発明によるメロディデータ生成に関する各種処理プログラムや各種テーブル、各種データを含ませることができる。ＲＡＭ３は、これらの処理に際して必要なデータやパラメータを記憶し、また、各種レジスタやフラグ、処理中の各種データ等を一時記憶するためのワーク領域として用いられる。
【００１７】
第１の検出回路４は鍵盤等の演奏操作子を備えた演奏操作装置１２に接続され、第２の検出回路５に接続される操作スイッチ装置１３は、各種モード・パラメータ・操作の設定を行うための操作子をパネル上に備え、これらの操作子には、メロディデータ生成モード指定ボタン、調指定ボタンや、各種データ選択／指定用スイッチ等の操作子が含まれる。表示回路６はディスプレイ１４や各種インジケータを備えており、これらのディスプレイ１４やインジケータは、スイッチ装置１３の操作パネル上の各種操作子に並置することができ、これらの操作子をディスプレイ１４上に操作可能に表示することもできる。また、ＤＳＰ等で構成される効果回路８に接続されるサウンドシステム１５は、音源回路７及び効果回路８と共に楽音出力部を構成し、このデータ処理システムで生成されたメロディデータを含む演奏データに基づき楽音を放音させる。
【００１８】
外部記憶装置９は、ハードディスクドライブ（ＨＤＤ）、コンパクトディスク・リード・オンリィ・メモリ（ＣＤ−ＲＯＭ）ドライブ、フロッピィディスクドライブ（ＦＤＤ）、光磁気（ＭＯ）ディスクドライブ、ディジタル多目的ディスク（ＤＶＤ）ドライブ等の記憶装置から成り、各種制御プログラムや各種データを記憶することができる。従って、メロディデータ生成処理に必要なプログラムや各種データ（メロディ生成用データ、コード進行データ、リズム生成パラメータ、リズムパターンデータ、音楽ルール、等々）は、ＲＯＭ２を利用するだけでなく、外部記憶装置９からＲＡＭ３内に読み込むことができ、必要に応じて、処理結果を外部記憶装置９に記録しておくこともできる。
【００１９】
この例では、バス１０にＭＩＤＩインターフェイス（Ｉ／Ｆ）１６が接続され、システムは他のＭＩＤＩ機器１７と通信することができる。さらに、バス１０には通信インターフェイス１８も接続され、通信ネットワーク１９を介してサーバコンピュータ２０から制御プログラムや各種データを外部記憶装置９にストアすることもできる。
【００２０】
〔第１実施例〕
この発明の一実施例においては、リズムパターンデータ内部に予め記憶させたリズムパターンにおける重要打点を表わす情報を用いる「重要打点記憶方式」によりメロディデータを生成することができる。図２は、この発明の一実施例に従ってＣＰＵ１により実行される「重要打点記憶方式によるメロディデータ生成処理」を機能的にブロック化して表わした機能的ブロック図を示す。
【００２１】
この実施例に従うメロディデータ生成処理システムにおいては、機能ブロックＡ１において、拍子や音楽ジャンル、楽曲構成（小節数や楽節の類似・対比状態：例えば、Ａ−Ａ’−Ｂ−Ｃ等）など、作曲したいメロディの作曲条件を設定すると、機能ブロックＡ２で示されるメロディ生成用データベース（拍子や音楽ジャンル、楽曲構成ごとに多数のメロディ生成用データが記憶されている）からメロディ生成用データが選択され、機能ブロックＡ３で示されるコード進行データベース（拍子や音楽ジャンル、楽曲構成ごとに多数のコード進行が記憶されている）からコード進行データが選択される。
【００２２】
ここで、メロディ生成データとは、リズムにおいては、シンコペーションの有無、小節内音符数、小節前後半での粗密度など、ピッチにおいては、骨格ピッチ生成条件とそれ以外ピッチ生成条件とが含まれ、骨格ピッチ生成条件としては骨格ピッチの跳躍程度（骨格ピッチの変化幅を表す）をコントロールする骨格ダイナミクスなどがあり、それ以外ピッチ生成条件としてはそれ以外ピッチの跳躍程度（それ以外ピッチの変化幅が前記骨格ピッチ変化幅からどれだけの幅かを表す）などがある。また、コード進行データは、曲の進行に応じて変化するコードネームデータから成る（例えば、各小節毎に１つのコードネームデータを記憶）。これらのデータは、以下に説明する他の実施例においても同様である。なお、メロディ生成用データには、ピッチを生成する際に参照される音楽ルールも含まれる。
【００２３】
次の機能ブロックＡ４では、機能ブロックＡ２からの楽節構成等のリズムの生成条件に基づいて、機能ブロックＡ５で示されるリズムパターンデータベースから条件に合致するリズムパターンを選択する。次いで、機能ブロックＡ６において、選択されたリズムパターンの中から重要打点を検出する。一方、機能ブロックＡ７においては、機能ブロックＡ３で選択されたコード進行データと、機能ブロックＡ２のメロディ生成データの中の骨格ピッチ生成条件に基づいて、骨格ピッチを生成する。ここで生成された骨格ピッチは、機能ブロックＡ８において、先に機能ブロックＡ６で求めた重要打点に割り当てられる。
【００２４】
次に、機能ブロックＡ９では、重要打点以外の打点に対して、ダイナミクスなどのピッチ生成条件、重要打点のピッチデータ、コード進行データ〔コード音、スケール（音階）音〕に基づいて、ピッチを生成する。そして、最後に、機能ブロックＡ１０において、重要打点と重要打点以外の打点のデータを結合して１曲分のメロディを完成し、外部記憶装置９等のメモリに格納する。
【００２５】
なお、骨格ピッチの生成（Ａ７）及び重要打点間ピッチの生成（Ａ９）は、上述した方法以外で行ってもよい。例えば、骨格ピッチの生成は骨格ピッチ生成条件を用いずにコード進行のみに基づいて生成してもよいし（例えば、跳躍程度に拘らずコード構成音の中からランダムに選択する）、重要打点間ピッチの生成はピッチ生成条件、骨格ピッチを用いずに生成してもよい〔例えば、骨格ピッチに基づく跳躍程度に拘らずスケール音（コード構成音も含む）の中からランダムに選択する）。或いは、重要打点間ピッチについては、スケール音にもこだわらずに１２半音すべての中から選択してもよい（骨格ピッチはコード構成音とするのがよい）。
【００２６】
ここで、この発明のポイントである重要打点検出ブロックＡ６について詳しく説明する。機能ブロックＡ５のリズムパターンデータベースのデータ構造は、図３〔１〕に示すように、各小節を最短音符長で表わされる打点ステップＳｔで区切り、各打点ステップＳｔに、音符（打点）の有無情報Ｂｔ、その音符が重要打点であるかどうかの情報Ｍｎを記憶させる。図３〔１〕の例は、最短音符長を８分音符長として１小節を８打点ステップに分割している。
【００２７】
なお、重要打点は、一般的には、強拍または強拍がない場合には強拍前後の近い方の点にするが、必ずしもこれに限らない。ある特定の音楽ジャンルの場合には、強拍以外の打点を重要打点にすることもできる。このように強拍以外の打点を重要打点にすることにより、ある特定の音楽ジャンルの特色を出したメロディを容易に生成することができる。また、音符の有無情報Ｂｔは同じで、重要音符情報Ｍｎを異ならせた複数のリズムパターンを記憶するようにしてもよい。このようにすると、同じリズムパターンであっても特色の違ういくつかのメロディを容易に生成することができる。
【００２８】
そして、検出方法としては、アドレスカウンタにより順次ステップを進めて記憶情報を読み出し、音符の存在する位置及び重要打点を検出する。例えば、図３（１）に示されるリズムパターンデータの場合、図３（２）の図解に示されるように、打点情報（音符情報）Ｂｔ＝“１”で表わされる打点は、打点ステップＳｔ＝０，３，４，６に存在し、重要打点情報Ｍｎ＝“１”で表わされる重要打点は、黒丸マーク（●）で表わされるように、打点ステップ０，４に存在することが検出される。
【００２９】
従って、図３（１）に示されるリズムパターンデータが図２の機能ブロックＡ４で選択されると、機能ブロックＡ６においては、このデータに対して、打点ステップＳｔ＝０，４が、重要打点として検出され、残りのステップＳｔ＝３，６が、機能ブロックＡ９で生成されるべき打点ステップとして検出される。
【００３０】
以上は、リズムパターンデータを最短音符ステップＳｔごとに記憶する方式におけるものとして説明したが、音符の存在すべき時間を記憶するイベント方式によって記憶するようにしても良い。このイベント方式によると、例えば、１桁目Ａにより、音符が存在する打点ステップを絶対時間値で表わし、この打点ステップＡが重要打点の場合に２桁目Ｍｎを「１」とする方法を採用して、図３（１），（２）と同じ情報を、例えば、図３（３）の〔ａ〕に示すように、“ＡＭｎ”＝“０１”，“３０”，“４１”，“６０”のように表わすことができる。
【００３１】
さらに、この変形として、１桁目Ｂについて、音符のあるべき時間（打点ステップ）を絶対時間でなく、音符の間隔に相当する相対時間で記憶するようにしても良い。この方法では、図３（１），（２）と同じ情報は、例えば、図３（３）の〔ｂ〕に示すように、“ＢＭｎ”＝“０１”，“３０”，“１１”，“２０”で表わすことができる。この相対時間値“Ｂ”を用いる方法は、絶対時間値“Ａ”を用いる方法に比べて、時間値についての情報量（ビット数）は少なくてよいが、情報を抽出するためには、過去からの累算が必要になる。
【００３２】
これまで説明した処理は、小節単位での処理であったが、例えば、楽節単位や一曲全体の処理では、複数のリズムパターンが存在するので、複数の小節にわたって重要打点を検出する。そのために、リズムパターンデータは、例えば、図４に示すように、小節指定のために更に上位ビットＢｒを付加したデータ構造とする。これにより、アドレスカウンタにより、付加された上位ビットでＢｒ所望の小節を指定し、下位ビットＳｔ〔図３（３）のデータ形式を採用する場合は、Ａ，Ｂ〕で打点ステップを順次進めて、指定された小節Ｂｒに対応するリズムパターン打点情報を検出する。
【００３３】
〔「つっこみ」処理の概要〕
図２において、パターンデータベースＡ５から小節単位でリズムパターンを選択し、所謂「つっこんだ」リズムのメロディを生成するためには、例えば、図５（１）に示すように、シンコペーションとして丸数字「２」の音符を前につっこませて丸数字「１」のタイミングで発音を開始させることができる。しかしながら、小節単位でリズムパターンを選択する構成では、通常、「つっこみ」リズムは小節内にしか得られないので、小節の第１拍目（先頭）については、それ以前に音符が存在せずつっこみパターンを生成することができない。この発明の一実施例によるメロディデータ生成システムでは、「つっこみ」処理を導入することにより、図５（２）に示すように，小節の第１拍目でも、小節頭の音符が前小節の最後に「つっこんだ」リズムのメロディを生成し、曲の幅を広げることができる。
【００３４】
このメロディデータ生成システムにおいて、全体的な構成として、先ず、リズムを１曲分生成し、その後、リズムの各音符にピッチを生成する方法を採る。このとき、リズムの重要音を検出し、コードとダイナミクスから決定した骨格ピッチを重要音に割り当て、最後に、骨格ピッチ間のピッチを生成する。ここで、この発明の特徴により、さらに、リズムに対して「つっこんだ」リズムを生成する新規な手法が適用される。このような「つっこんだ」リズムをもつメロディを生成するには、次の３つの方法がある：
〔１〕リズムパターンを選択結合して所定区間のリズムを生成し、それを「つっこんだ」リズムに修正する方法〔「つっこみ」処理（１）〕、
〔２〕リズムパターン選択時に音長を含んだ「つっこみ」用パターンを選択結合し、タイ処理をする方法〔「つっこみ」処理（２）〕、
〔３〕リズムパターン選択時に音長を含まないパターンを選択結合し、それを音長を含んだ「「つっこんだ」リズムにする方法〔「つっこみ」処理（３）〕。
【００３５】
〔「つっこみ」処理（１）〕
この発明の一実施例においては、上述の「〔１〕リズムパターンを選択結合して所定区間のリズムを生成し、それを『つっこんだ』リズムに修正する方法」を用いる「つっこみ」処理（１）を利用してメロディデータを生成することができる。
【００３６】
この実施例によるメロディデータ生成システムにおいては、まず、シンコペーション有無情報などのリズム生成条件で、小節など所定単位のリズムパターンを選択し、これを結合して所定区間のリズムを生成する。ここで、所定区間とは、ブロックや１曲全体をいう。その後、「つっこみ」をさせるべき場所を探し「つっこみ」処理をする。「つっこみ」をさせるべき場所には次のような場合がある：
【００３７】
（１）リズムパターンを選択結合したリズム内で、本来、音楽的に「つっこみ」したい場所に「つっこみ」処理をする場合＝例えば、図６（１）に示すように、前小節の最後に音符がなくて後小節の１拍目に音符があるメロディのとき、前小節の最後に「つっこみ」をさせて、図６（５）のように、後ろの音符を前に食い込ませて発音させる。
【００３８】
（２）リズムパターンを選択結合したリズム内で、本来、音楽的に「つっこみ」には無関係の場所にでも、強制的に音符を生成する場合＝例えば、図６（２）〜（４）の小節間のように、本来、音楽的に「つっこみ」には無関係の場所にでも、強制的に図６（５）のように音符を生成する。
【００３９】
以下の説明では、音楽的に「つっこみ」したい場所に「つっこみ」処理をする場合について説明する。しかしながら、勿論、すべての場所に「つっこみ」処理してもかまわない。それはロードしたリズムパターンがどうあろうと、強引に「つっこみ」状態に処理しても、ユーザは元のリズムが何であるか知らないから、結果が「つっこん」でいればそれで問題ない。
【００４０】
図７は、この発明の一実施例による「つっこみ」処理（１）を実行するメロディデータ生成システムの全体的な構成を表わす機能的ブロック図である。このシステムでは、「つっこみ」処理（１）を適用し、例えば、図６（１）のように、前小節の最後に休符Ｒｅがあり音符が存在しないときには、図６（５）のように、前小節最後に音符Ｎｅを追加し、次小節の先頭音符ＮｈとタイＴｉで結んだり、或いは、図６（２）のように、次小節の先頭に休符Ｒｈがあり音符が存在しないときには、図６（５）のように、次小節先頭に音符Ｎｈを追加し、前小節最後の音符ＮｅとタイＴｉで結んだりすることによって、所望の「つっこんだ」リズムを有するメロディデータを生成することができる。なお、図６（２）の前小節最後の音符Ｎｅは、８分休符と８分音符とに変形しておく。
【００４１】
図２のシステムと同様に、機能ブロックＢ１により供給される作曲条件に応じて、機能ブロックＢ２，Ｂ３で、メロディ生成用データ及びコード進行データを選択する。このメロディ生成用データは機能ブロックＢ４に与えられ、ここで、メロディ生成用データ中に含まれるシンコペーションの有無などのリズム生成条件によって、機能ブロックＢ５で表わされるリズムパターンデータベースからリズムパターンを選択し、結合する。結合されたリズムパターンは、機能ブロックＢ６に手渡されて「つっこみ」処理が実行される。
【００４２】
機能ブロックＢ６での「つっこみ」処理が終わると、所定区間のリズムが完成するので、次に、機能ブロックＢ７にて重要音を検出する。機能ブロックＢ７での重要音検出においては、機能ブロックＢ６の「つっこみ」処理により前小節に食い込んだ音は、本来、後小節第１拍目にあった音なので、重要音扱いとなる。これは、和声学的には先取音といわれ、後小節の音符として機能する。
【００４３】
一方、機能ブロックＢ８においては、メロディ生成用データ中に含まれるダイナミクスなどの骨格ピッチ生成条件（Ｂ２）、コード進行データ（Ｂ３）、及び、機能ブロックＢ９の音楽ルールなどに基づいて骨格ピッチを生成する。そして、機能ブロックＢ１０において、機能ブロックＢ７で検出した重要音に、機能ブロックＢ８で求めた骨格ピッチを割り当てる。
【００４４】
その後、機能ブロックＢ１１において、機能ブロックＢ２で抽出したピッチ生成条件、機能ブロックＢ３からのコード進行データや、機能ブロックＢ１２で表わされる音楽ルールに基づいて、重要音間のピッチを生成する。そして、機能ブロックＢ１０，Ｂ１２で生成されたピッチデータは、機能ブロックＢ１３で外部記憶装置９等のメモリに格納される。
【００４５】
〔第２実施例＝「つっこみ」処理（１−Ａ）の利用〕
次に、機能ブロックＢ６での「つっこみ」処理（１）について説明する。この処理の考え方は、「つっこみ」指示があったとき、音楽的に「つっこみ」処理をしたい場所を見つけて処理をするというものである。これは、２つの小節の結合部での音符の処理となる。例えば、図６（１）に示すように、前小節最後に休符があり、後小節第１拍目に音符Ｎｈがある場合には、後小節第１拍目音符Ｎｈの発音を前小節に食い込ませる。すなわち、図６（５）に示すように、前小節最後の休符である場所に音符Ｎｅを生成し、後小節第１拍目音符ＮｈとタイＴｉでつなぐ処理をする。以下、このタイプの「つっこみ」処理（１）を“「つっこみ」処理（１−Ａ）”と呼ぶ。
【００４６】
なお、「つっこみ」処理（１）を行う場合、曲又は所定区切り区間（例えば、フレーズ）の第１番目小節については、その前の小節がないか或いは実質的に小節が存在しないと見做し得るので、「つっこみ」させたいときには、第１番目小節の前に小節を追加し、追加した小節の最後に音符を生成してタイで結ぶ。
【００４７】
図８及び図９は、この発明の一実施例による「つっこみ」処理（１−Ａ）を表わすフローチャートである。“ｎ”は、曲又は所定区切り区間において、処理すべき小節の番目を指示する指標（小節番号）であり、曲又は所定区切り区間の第１番目小節は、その前に小節が存在しないか或いは実質的に存在しないと見做すことができるので、ステップＳ１〜Ｓ５で第２番目小節とは別の処理がなされる。まず、ステップＳ１にて小節番号ｎ＝“１”にセットし、ステップＳ２で第１番目小節のリズムパターンをロードする。このリズムパターンには、発音開始時間、音長、（イベント方式の場合は休符も）の情報が記憶されている。次に、ステップＳ３において第１拍目に音符があるか否かを検査し、第１拍目に音符があれば順次ステップＳ４，Ｓ５の処理を経た後ステップＳ６（図９）に進み、そうでなければ直ちにステップＳ６に進む。
【００４８】
ステップＳ４においては、第ｎ番目小節の前に第ｎ−１番目小節を追加してこの第ｎ−１番目小節の最後に音符を生成する。つまり、第１（ｎ＝１）番目小節については第０番目小節を追加し、この小節の最後に音符を生成する。ここで生成する音符は、１６分音符又は８分音符とするのが好ましい。次のステップＳ５では、第ｎ番目小節の第１拍目の音符を、生成させた第ｎ−１番目小節の最後の音符とタイで繋ぎ、第ｎ番目小節における第１拍目の音符の発音を前小節に食い込ませる。そして、生成した音符から次の第ｎ番目小節の第１拍目音符とタイで結ぶ。こうすることによって、第ｎ番目小節の第１拍目音符の発音は、第ｎ−１番目小節最後の音符から発音させることができ、前小節最後に食い込んで発音されることになる。
【００４９】
次に、ステップＳ６〜Ｓ１０（図９）において、第１番目以降の第ｎ番目小節と当該小節の後の第ｎ＋１番目小節との結合部（例えば、先ず初めは、第１番目小節と第２番目小節との結合部）について処理を実行する。ステップＳ６にて第ｎ番目小節と第ｎ＋１番目小節（ｎ≧１）のリズムパターンをロードすると、ステップＳ７において、第ｎ番目小節の最後に所定期間（例えば、４分音符長以上の間）音符が存在せず、且つ、第ｎ＋１番目小節の第１拍目に音符が存在するか否か、即ち、「つっこみ」をさせたい場所かどうかを検査し、検査の結果ＹＥＳであれば順次ステップＳ８，Ｓ９に進んで「つっこみ」処理を実行し、ＮＯであればステップＳ１０に進む。
【００５０】
ステップＳ８では第ｎ番目小節最後に音符を生成し、ステップＳ９では、第ｎ＋１番目小節の第１拍目音符を、第ｎ番目小節最後に生成した音符とタイで繋ぐ。つまり、後ろの音符を前の音符とタイで結んで「つっこみ」にする。例えば、図６（１）の状態であれば、図６（５）のように、前小節（第ｎ番目小節）の最後に音符Ｎｅを生成し、後小節（第ｎ＋１番目小節）の第１拍目音符ＮｈとタイＴｉで結ぶ。ここで生成する音符Ｎｅは、休符Ｒｅが示す音符不在区間を越えない長さであればよく、一般的には、１６分音符又は８分音符とするのが好ましい。従って、図６（１）については、前小節（第ｎ番目小節）の最後は４分音符長分不在（４分休符）なので、４分音符よりも短い音符を生成する。図６（５）の例では、８分音符分１つ隙間をあけて（８分休符を介して）８分音符Ｎｅを生成している。
【００５１】
ステップＳ８，Ｓ９の「つっこみ」処理を実行した後は、ステップＳ１１に進み、最後の小節まで処理を終えたかを判断し、最後の小節まで処理を終えた場合はこの「つっこみ」処理（１）を終了し、そうでない場合にはステップＳ１０に進む。ステップＳ１０においては、小節番号ｎをｎ＋１にインクリメントし、ステップＳ６に戻って、上述したステップＳ６→Ｓ７（→Ｓ８→Ｓ９→Ｓ１１）→Ｓ１０の処理を最後の小節まで繰り返す。
【００５２】
これまでの説明では、「つっこみ」をしたい場所にはすべて処理をしていたが、頻度パラメータを設けて、所定の頻度になるようにランダムに「つっこみ」処理をしても良い。この場合、頻度パラメータは、作曲したいジャンル別に設定してもよい。
【００５３】
また、楽節構成などの所定区間別に処理するか否かをコントロールしても良い。さらに、ステップＳ２，Ｓ６においてロードしたリズムパターン内にシンコペーションが多く存在している場合には「つっこみ」をしないなどのコントロールをしても良い。
【００５４】
次に、ステップＳ７における音符不在区間抽出方法について説明する。先ず、リズムパターン情報の記憶方法については、以下に説明するように、（１）升目方式と（２）イベント方式の２つの方法がある。
【００５５】
（１）升目方式：
升目方式では、ビートに応じた数の升目に、音長情報を含む音符情報を記憶させ、小節最後の音符の長さが終了する時点から小節最後の時点までの間を音符不在区間として検出する。例えば、８ビートであれば、図１０に示すように、図３（１）の打点ステップＳｔに相当する８つの升目“０”〜“７”を用意しておき、音符の存在を表わす情報Ｎｘ及び音符の音長を表わす音長情報Ｌｎとを含んだ音符情報Ｎｔを、対応する升目Ｓｔ＝“０”〜“７”に記憶させる。この場合、小節内の最後に音符が存在する升目（図１０の例では、升目Ｓｔ＝“６”）にある音符の長さが終わったところから小節の最後までの間が音符不在区間になる。なお、音長情報Ｌｎが必要な理由は、升目が連続して埋まった場合、音が切れるのか連続するのかを音長情報Ｌｎで表わすためである。
【００５６】
（２）イベント方式：
イベント方式では、イベントの種類（音符か休符か）を表わす情報と次のイベントまでの間隔情報を記憶しておき、小節最後のイベントが休符であれば、この休符に付属する間隔情報を音符不在区間とする。
【００５７】
なお、上述した方法では音長に関する情報を記憶しているが、リズムパターンデータとしては発音開始タイミング即ち打点情報のみを記憶させ、音長に関する情報は後から付加する方式としてもよい。この場合は、打点情報を記憶した後から、音長に関する情報が付加されるために、音符不在区間は小節最後の打点から小節の最後よりも短くなる。なお、この音長に関する情報を後から付加する方式は、後述する第５実施例で詳しく説明する。
【００５８】
また、前小節の最後に「ピックアップ」（リード・イン又はアウフタクトともいう）がある場合には、そのピックアップ音をさらに前に移動させ「つっこみ」音を生成する。ピックアップを前に移動したときに、既に存在する音符と重なる場合には、「つっこみ」不可能とするか、或いは、強引に前の音符を削除してもよい。
【００５９】
〔第３実施例＝「つっこみ」処理（１−Ｂ）の利用〕
この発明の一実施例においては、前述した「〔１〕リズムパターンを選択結合して所定区間のリズムを生成し、それを『つっこんだ』リズムに修正する方法」を用いる「つっこみ」処理（１）を利用してメロディデータを生成することができる。例えば、図６（２）のように、前小節の最後に音符Ｎｅがあり、次小節の先頭に音符がない場合、図６（５）のように、次小節先頭に音符Ｎｈを追加し、前小節最後の音符ＮｅとタイＴｉで結ぶ処理を行うことにより、所望の「つっこみ」を実現することができる。以下、このタイプの「つっこみ」処理（１）を“「つっこみ」処理（１−Ｂ）”と呼ぶ。なお、図６（２）の前小節最後の音符Ｎｅは８分休符と８分音符とに変形しておく。
【００６０】
この「つっこみ」処理（１−Ｂ）を利用する第３実施例によるメロディデータ生成システムは、上述した「つっこみ」処理（１−Ａ）によるシステムと同様に、全体的な構成については図７の機能的ブロック図で表わされる機能を備える。図１１は、第３実施例のメロディデータ生成システムにおける「つっこみ」処理（１−Ｂ）の手順を示すフローチャートである。つまり、この処理フローは、図７の機能ブロックＢ６（図７）において、「つっこみ」処理（１−Ｂ）に従い実行される「つっこみ」処理の内容を表わす。
【００６１】
まず、ステップＳ２１にて小節番号ｎ＝“１”にセットし第１番目小節のリズムパターンを指定する。次のステップＳ２２では、第ｎ番目小節及び第ｎ＋１番目小節のリズムパターンをロードする。これらのリズムパターンには、発音開始時間、音長、（イベント方式の場合は休符も）の情報が記憶されている。続いて、ステップＳ２３において、第ｎ＋１番目小節の先頭に所定期間（例えば、４分音符長以上の間）音符が存在せず、且つ、第ｎ番目小節の最後に音符が存在するか否か、即ち、「つっこみ」をさせたい場所かどうかを検査し、検査の結果ＹＥＳであれば順次ステップＳ２４，Ｓ２５に進んで「つっこみ」処理を実行し、ＮＯであればステップＳ２６に進む。
【００６２】
ステップＳ２４では第ｎ＋１番目の先頭に音符を生成し、ステップＳ２５では、第ｎ番目小節最後の音符を、第ｎ＋１番目小節先頭に生成した音符とタイで繋ぐ。つまり、前後の音符をタイで結んで「つっこみ」にする。例えば、図６（２）の状態であれば、図６（５）のように、後小節（第ｎ＋１番目小節）先頭に音符Ｎｈを生成し、前小節（第ｎ番目小節）最後の音符ＮｅとタイＴｉで結ぶ。ここで生成する音符Ｎｈは、休符Ｒｈが示す音符不在区間を越えない長さであればよい。なお、前小節最後の音符Ｎｅが８分音符よりも長い場合は、当該音符を休符＋８分音符（又は１６分音符）に変形しておくとよい。
【００６３】
ステップＳ２４，Ｓ２５の「つっこみ」処理を実行した後は、ステップＳ２７に進み、最後の小節まで処理を終えたかを判断し、最後の小節まで処理を終えた場合はこの「つっこみ」処理（１）を終了し、そうでない場合にはステップＳ２６に進む。ステップＳ２６においては、小節番号ｎをｎ＋１にインクリメントし、ステップＳ２２に戻って、上述したステップＳ２２→Ｓ２３（→Ｓ２４→Ｓ２５→Ｓ２７）→Ｓ２６の処理を最後の小節まで繰り返す。
【００６４】
なお、図１１の処理フローにおいて、ステップＳ２１とステップＳ２２との間に、図８のステップＳ２〜Ｓ５（Ａ点）の処理を介挿し、第１番目小節の第１拍目音符に「つっこみ」処理を行うように構成してもよい。
【００６５】
〔第４実施例＝「つっこみ」処理（２）の利用〕
この発明の一実施例においては、前述した「〔２〕リズムパターン選択時に「つっこみ」に適した「つっこみ」用パターンを選択し、タイ処理をする方法」を用いた「つっこみ」処理（２）を利用してメロディデータを生成することができる。「つっこみ」用パターンとは、例えば、図１３（１）のように、前小節の最後に音符Ｎｅ（８分音符以下が望ましい）があり後小節の第１拍目に音符Ｎｈがあるリズムパターンである。このようなリズムパターンは、前小節の最後の音符Ｎｅと後小節の第１拍目の音符ＮｈとをタイＴｉで連結するだけで、図１３（２）のような「つっこみ」リズムパターンが得られるので、「つっこみ」に適したリズムパターンと言える。この「つっこみ」処理（２）においては、このようなタイの無い１組のリズムパターンを生成し、音符結合時にタイを生成するものである。図１２は、この発明の一実施例による「つっこみ」処理（２）を利用したメロディデータ生成システムの全体的な構成を表す機能ブロック図である。
【００６６】
これまでの説明と同様に、機能ブロックＣ１では作曲条件を決定し、この作曲条件に従い、機能ブロックＣ２，Ｃ３でメロディ生成用データ及びコード進行データが選択される。ここで、メロディ生成用データは、曲の区間毎の「つっこみ」の有無、場所、パラメータ等のリズム設定のための各種情報を含み、機能ブロックＣ４に手渡される。機能ブロックＣ４においては、メロディ生成用データ中のリズム設定用各種情報及びこれに対応する機能ブロックＣ５からのリズム生成用パラメータに基づいて、リズムパターンを生成しようとする各場所が「つっこみ」がありとされているか否かを判断する。
【００６７】
ここで、「つっこみ」ありのときは機能ブロックＣ６の処理が行われ、「つっこみ」なしのときは、機能ブロックＣ７で通常のパターンを選択し結合する処理が行われる。機能ブロックＣ６においては、機能ブロックＣ８で表わされるリズムパターンデータベースから、「つっこみ」用リズムパターンデータを選択し結合し、「つっこみ」なしの時は通常のパターンを選択し結合し、続いて、機能ブロックＣ９にで、機能ブロックＣ６で選択し結合された「つっこみ」用リズムパターンデータに対して、「つっこみ」部分にタイ処理をする。ここで、機能ブロックＣ９におけるタイ処理は、後方音符のキーオンデータを削除し、前方音符の音長を加算した音長に変更することによる。
【００６８】
機能ブロックＣ７；Ｃ６・Ｃ９での通常パターン選択処理及び「つっこみ」処理が終わり１曲分のリズムが完成すると、機能ブロックＣ１０で重要音を検出する。この重要音検出ブロックＣ１０においては、前小節最後の「つっこみ」により食い込んだ音は、本来、後小節の第１拍目にあった音なので、重要音扱いとなる。これは、和声学的には、「先取音」といわれる。一方、機能ブロックＣ１１では、機能ブロックＣ２からのメロディ生成用データの中のダイナミクスなど骨格ピッチ生成条件、機能ブロックＣ３からのコード進行データ、機能ブロックＣ１２からの音楽ルールなどに基づいて骨格ピッチを生成する。
【００６９】
次に、機能ブロックＣ１３において、機能ブロックＣ１０で検出した重要音に、機能ブロックＣ１１で求めた骨格ピッチを割り当てる。その後、機能ブロックＣ１４では、機能ブロックＣ２で抽出されたピッチ生成パラメータ、機能ブロックＣ３からのコード進行データ、機能ブロックＣ１５からの音楽ルール等に基づいて、機能ブロックＣ１０で検出した重要音の間のピッチを生成する。そして、機能ブロックＣ１３，Ｂ１４で生成されたピッチデータは、機能ブロックＣ１６で外部記憶装置９等のメモリに格納される。
【００７０】
なお、この方式において、予め用意された歌詞に対してメロディを付与する場合は、以下の点に注意する。すなわち、歌詞の音節数に応じてリズムパターンを選択すると、上記の「つっこみ」部分のタイ処理により音符が１つ減ってしまい、歌詞の音節数とリズムパターンの音符数とが一致しなくなってしまう。このため、リズムパターンを選択する際には、音符数が１つ多くなるようなリズムパターンを選択するとよい。
【００７１】
次に、機能ブロックＣ４〜Ｃ９に関して、「つっこみ」処理（２）の要否の決定方法について補足する。この「つっこみ」の有無は、前述のようなメロディ生成用データ中に区間毎の「つっこみ」が指示されているものに限らず、頻度パラメータに基づいて区間毎に「つっこみ」の有無を決定するものでもよく、メロディ生成用データ中の「つっこみ」指示を頻度パラメータに応じて変更してもよい。また、「つっこみ」ありとされている場合であつても、選択したリズムパターンにおいてシンコペーションが多く存在するときは、「つっこみ」処理をしないように構成してもよい。この場合、シンコペーション情報は、予めリズムパターンデータに記憶させておいても良いし、演算によって検出してもよい。また、リズムパターンデータベースの中に、「最後の音符はつっこみさせる」という情報を記憶させ、この情報のある部分だけ「つっこみ」処理をさせてもよい。
【００７２】
つまり、図１２（機能ブロックＣ４）のシステムのように、先に「つっこみ」をさせるか否かを決定し、その後、リズムパターンを選択する方法と、補足事項として述べたように、リズムパターンを選択／決定した後、「つっこみ」をさせるか否かや「つっこみ」をさせる場所を決定する方法の２つがある。
【００７３】
〔第５実施例＝「つっこみ」処理（３）の利用〕
この発明の一実施例においては、前述した「〔３〕リズムパターン選択時に音長を含まないリズムパターンを選択結合し、それを音長を含んだ「つっこんだ」リズムにする方法」を用いる「つっこみ」処理（３）を利用してメロディデータを生成することができる。この「つっこみ」処理（３）を利用する第５実施例のシステムでは、音長を含まず打点情報だけを記憶し、音長は後から付加する方式が適用される。図１４は、この第５実施例のシステムで利用される「つっこみ」処理（３）を説明するための図であり、打点ステップＳｔを“０”〜“７”の８段階にした例を示す。
【００７４】
「つっこみ」処理（３）においては、リズムパターンデータベースには、音長を含まず打点情報Ｂｔだけを「つっこみ」用リズムパターンとして種々記憶しておく。例えば、図１４（１）の「つっこみ」用リズムパターンでは、打点情報Ｂｔは、打点あり（Ｂｔ＝“１”）が黒楕円で表わされ、打点なし（Ｂｔ＝“０”）が“×”で表わされており、音長を含まず、打点があるステップは、Ｓｔ＝“０”，“２”，“４”，“７”（前小節）；“２”，“４”，“６”（後小節）である。
【００７５】
次に、メロディ生成用データ中に含まれる或るリズム生成条件（パターン選択条件）によって、リズムパターンデータベースから所定のリズムパターンを選択し、選択されたリズムパターン対して、別のリズム生成条件（音長制限条件）に応じて音長を後から付加する音長付加処理が行われる。この音長付加処理を図１４（１）のリズムパターンを例に説明すると、音長制限しない標準状態では、各打点により表わされる音符の音長は当該打点から次の打点まで隙間なく（若干の隙間はあってもよい）生成され、例えば、ステップＳｔ＝“０”の第１打点に対して、図示のように、第１音符の音長Ｌ１を生成し、以下、第２打〜第７点に対して、第２〜第７音符の音長Ｌ２〜Ｌ７を生成するようになっている。
【００７６】
ここで、図１４（２）のように、別のリズム生成条件により音長を制限するスタッカート指示（％指定パラメータを含む）があると、％指定パラメータによって定められた長さの音符が生成される。ここで、％指定パラメータは、図１４（２）のスタッカート指示例では、第２打点に対しては５０％を指定し、第３及び第４打点に対しては６６％を指定しており、他の打点に対しては、無指定即ち１００％指定であり、第１〜第７打点に対する音長は、夫々、Ｌ１、Ｌ２×０．５、Ｌ３×０．６６、Ｌ４×０．６６、Ｌ５、Ｌ６、Ｌ７となる。
【００７７】
この処理の結果、例えば、図１４（３）に示されるように、第４打点に対応して、前小節と後小節にまたがってタイＴｉで結ばれた音符を有する「つっこみ」リズムパターンが得られる。なお、タイＴｉで結ばれている部分は、格別のタイ処理をするわけではなく、小節間にまたがって生成される音長については、楽譜表示するとタイが自動生成されるということである。
【００７８】
図１５は、この発明の一実施例による「つっこみ」処理（３）を利用したメロディデータ生成システムの全体的な構成を表す機能ブロック図である。これまでと同様に、機能ブロックＤ１の作曲条件に応じて、機能ブロックＤ２，Ｄ３で、メロディ生成用データ及びコード進行データを選択する。機能ブロックＤ４では、メロディ生成用データ中に含まれるリズム生成条件に従って、機能ブロックＤ５のリズムパターンデータベースから、音長を含まないリズムパターンが選択され結合される。結合されたリズムパターンは機能ブロックＤ６に手渡され、機能ブロックＤ７からの音長制限指示（スタッカート指示）に基づいて、上述した音長付加処理が実行される。
【００７９】
機能ブロックＤ６での音長付加処理が終わると、次いで、機能ブロックＤ８にて重要音を検出する。一方、機能ブロックＤ９では、メロディ生成用データ中に含まれるダイナミクスなどの骨格ピッチ生成条件（Ｄ２）、コード進行データ（Ｄ３）、音楽ルール（Ｄ１０）などに基づいて骨格ピッチを生成し、この骨格ピッチは、機能ブロックＤ１１において、機能ブロックＤ８からの重要音に割り当てられる。さらに、機能ブロックＤ１２において、ピッチ生成条件（Ｄ２）、コード進行データ（Ｄ３）や、音楽ルール（Ｄ１３）などに基づいて、重要音間のピッチを生成する。そして、機能ブロックＤ１１，Ｄ１２で生成されたピッチデータは、機能ブロックＤ１４で外部記憶装置９等のメモリに格納される。
【００８０】
〔種々の実施態様〕
以上、この発明のメロディ生成処理を第１乃至第５実施例に従って説明してきたが、種々の変形が可能である。例えば、生成されるメロディは、単旋律に限らず複旋律でもよい（新規に複数の旋律を生成してもよいし、予め用意されている旋律に対して付加する旋律でもよい）。また、メロディックな伴奏パートデータやベースパートデータも、本発明のメロディに含まれる。
【００８１】
システムの形態については、電子楽器の形態に限らず、パソコン＋アプリケーションソフトウェアの形態でもよい。電子楽器の形態を取った場合、その形態は、鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。さらに、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、ＭＩＤＩや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。また、処理プログラムや処理に利用する各種データについては、外部記憶媒体から、或いは、通信インターフェースを介して外部装置から、電子楽器やパソコンに供給するようにしてもよい。
【００８２】
次に、自動演奏に関連していうと、生成されたメロディやコード進行などの演奏データのフォーマットとしては、演奏イベントの発生時刻を１つ前のイベントからの時間で表した「イベント＋相対時間」、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」、音符の音高と符長あるいは休符と休符長で演奏データを表した「音高（休符）＋符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等、どのような形式でもよい。なお、上記の実施形態において、演奏イベントには音符イベントと休符イベントがある例を示したが、音符イベントが存在しないことで休符イベントの代わりにすることにより、休符イベントを省略してもよい。
【００８３】
最後に、ＭＩＤＩインターフェースに関連していうと、専用の ＭＩＤＩインターフェースに限らず、ＲＳ−２３２Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインターフェースを用いてＭＩＤＩインターフェースを構成してもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信するようにしてもよい。
【００８４】
【発明の効果】
以上説明したように、この発明によると、記憶手段より選択されたリズムパターンを結合して小節の先頭拍を前小節の最後につっこませるつっこみリズム処理が施されたリズムを生成し、生成されたリズムの重要音には、メロディ生成用データ及びコード進行に基づいて生成される骨格ピッチを割り当て、重要音以外の音についてはメロディ生成用データ及びコード進行に基づくピッチを生成するように構成しているので、簡単な構成で、重要打点を設定することができるだけでなく、小節の先頭拍が前小節の最後につっこんだリズムのメロディを生成することができ、曲の幅を広げることができる。
【００８５】
また、この発明によると、リズムパターンにおける重要打点をリズムパターンデータ内部に重要打点情報として予め記憶させておきそれを読み出すだけなので、複雑な検出処理が不要になるだけでなく、全く自由な重要打点を設定することができ、簡単な構成で曲の幅を広げることができる。
【００８６】
また、この発明によると、選択された所定長さのリズムパターンを結合し、結合部分に「つっこみ」処理を適用して所定区間のリズムを生成し、生成された所定区間のリズムに対応してピッチを生成させているので、小節の第１拍目であっても小節頭の音符が前小節の最後に「つっこんだ」リズムのメロディを生成することができ、曲の幅を広げることができる。さらに、この発明によると、メロディ生成用データに基づいて選択された所定長さのリズムパターンを結合し、結合部分に「つっこみ」処理を適用して所定区間のリズムを生成し、メロディ生成用データ及びコード進行に基づいて骨格ピッチを生成し、生成されたリズムから検出された重要音にこの骨格ピッチを割り当てると共に、メロディ生成用データ及びコード進行に基づいて重要音以外の音についてピッチを生成させているので、小節の第１拍目であっても小節頭の音符が前小節の最後に「つっこんだ」リズムを生成することができ、曲の幅を広げることができると共に、リズムの重要音に対しコード進行に基づいて骨格ピッチを生成することによって骨格のしっかりしたメロディを生成することができる。
【００８７】
この発明によると、つっこみ処理に適したリズムパターンとそうでないリズムパターンとを記憶しておき、これらのリズムパターンを選択結合して所定区間のリズムを生成し、生成された所定区間のリズムの各音符にピッチを生成すると共に、リズム生成に際しては、所定区間についてつっこみリズムとすると決定された場合、記憶手段からつっこみ処理に適したリズムパターンを選択結合し、選択結合されたつっこみ処理に適したリズムパターンに対してつっこみリズム処理を施すようにしているので、所望のリズムパターンを選択し任意の小節で「つっこんだ」リズムを生成する処理を容易に実現することができ、さらに、曲の幅を広げることができる。
【図面の簡単な説明】
【図１】図１は、この発明の一実施例によるメロディデータ生成装置のハードウエア構成を示すブロック図である。
【図２】図２は、この発明の第１実施例（重要打点記憶方式）によるメロディデータ生成処理の機能的ブロック図である。
【図３】図３は、この発明の一実施例におけるリズムパターンデータの構造例を示す図である。
【図４】図４は、この発明の一実施例におけるリズムパターンデータの別の構造例を示す図である。
【図５】図５は、「つっこみ」処理の例を表わす図である。
【図６】図６は、この発明において「つっこみ」のないリズムパターンから「つっこみ」処理を行う場合を説明するための図である。
【図７】図７は、この発明の一実施例による「つっこみ」処理（１）を用いるメロディデータ生成システムの機能的ブロック図である。
【図８】図８は、この発明の第２実施例による「つっこみ」処理（１−Ａ）を表わすフローチャートの一部である。
【図９】図９は、この発明の第２実施例による「つっこみ」処理（１−Ａ）を表わすフローチャートの他部である。
【図１０】図１０は、この発明の一実施例において音符不在区間を抽出することができるリズムパターンデータの記憶例を示す図である。
【図１１】図１１は、この発明の第３実施例による「つっこみ」処理（１−Ｂ）を表わすフローチャートである。
【図１２】図１２は、この発明の第４実施例による「つっこみ」処理（２）を利用するメロディデータ生成システムの機能的ブロック図である。
【図１３】図１３は、この発明の第４実施例の「音長あり『つっこみ』用リズムパターンを用いる『つっこみ』処理（２）」を説明するための図である。
【図１４】図１４は、この発明の第５実施例の「音長なし『つっこみ』用リズムパターンを用いる『つっこみ』処理（３）」を説明するための図である。
【図１５】図１５は、この発明の第５実施例による「つっこみ」処理（３）を利用するメロディデータ生成システムの機能的ブロック図である。
【符号の説明】
Ｒｅ，Ｎｅ  前小節最後の休符及び音符、
Ｎｈ，Ｒｈ  次小節先頭の音符及び休符、
Ｔｉ  タイ。
【図１】
0003661539.tif 000002
【図２】
0003661539.tif 000003
【図３】
0003661539.tif 000004
【図４】
0003661539.tif 000005
【図５】
0003661539.tif 000006
【図６】
0003661539.tif 000007
【図７】
0003661539.tif 000008
【図８】
0003661539.tif 000009
【図９】
0003661539.tif 000010
【図１０】
0003661539.tif 000011
【図１１】
0003661539.tif 000012
【図１２】
0003661539.tif 000013
【図１３】
0003661539.tif 000014
【図１４】
0003661539.tif 000015
【図１５】
0003661539.tif 000016