(57)【要約】【課題】従来の楽曲検索装置は、利用者の所望とする楽曲の情報を検索して利用者に当該音楽ソフトなどの購入に役立てるための情報を提供するものであって、検索した楽曲のメロディパートをミュートして伴奏パートを自動演奏するなど演奏を支援することはできなかった。また、従来のマイナスワン機能を有する電子楽器は、曲名が分からないと曲データは検索できないという問題があった。【解決手段】本発明は、利用者がメロディのフレーズを演奏するとこの音高と演奏テンポを検出して、曲ＤＢのメロディ群から該当する曲データを検索する。そして、この検索された曲データ内の楽譜を表示すると共に、利用者の演奏するメロディのテンポ速度に応じた伴奏データを曲ＤＢから読み出して自動演奏する構成としたので、利用者は例え伴奏パートを弾けなくてもアンサンブル演奏を楽しむことが可能となる。【選択図】  図７
2005208154.tif 000002
【特許請求の範囲】
【請求項１】
メロディデータと伴奏データを含む楽曲及び当該楽曲に対応する楽譜データからなるデータ群を複数個記憶する曲データ記憶手段と、
楽器の演奏操作に対応して発生する音高データ群を検出する演奏操作データ検出手段と、
前記演奏操作データ検出手段によって検出された音高データ群と前記曲データ記憶手段に記憶されている複数のメロディデータとを照合して、この音高データ群を有するメロディデータを含む楽曲を検索する曲データ検索手段と、
前記曲データ検索手段によって検索された楽曲に対応する楽譜データを読み出してこの楽譜を表示手段に表示させる楽譜表示制御手段と、
前記曲データ検索手段によって検索された楽曲に含まれる伴奏データを読み出してこの伴奏の楽音を生成する楽音生成手段と、
からなる楽曲検索装置。
【請求項２】
前記楽曲検索装置は、更に、楽器の演奏操作速度に基づいて演奏テンポを算出するテンポ算出手段、を具備し、
前記曲データ記憶手段に記憶されている伴奏データは、演奏テンポに応じた複数種類の伴奏パターンデータからなり、
前記楽音生成手段は、前記テンポ算出手段によって算出された演奏テンポに基づいて、前記曲データ記憶手段に記憶されている伴奏パターンデータを選択して読み出し、この伴奏パターンデータの楽音を生成することを特徴とする請求項１記載の楽曲検索装置。
【請求項３】
前記曲データ検索手段は、前記検出された音高データに基づいたフレーズを生成し、このフレーズと前記曲データ記憶手段に記憶されている複数の各メロディデータを照合して、このフレーズを有するメロディデータの楽曲を検索することを特徴とする請求項１記載の楽曲検索装置。
【請求項４】
楽器の演奏操作に対応して発生する音高データ群を検出する演奏操作データ検出ステップと、
前記音高データ群と曲データ記憶手段に記憶されている複数のメロディデータとを照合して、この音高データ群を有するメロディデータを含む楽曲を検索する曲データ検索ステップと、
前記検索された楽曲に対応する楽譜データを前記曲データ記憶手段より読み出して、この楽譜を表示手段に表示させる楽譜表示制御ステップと、
前記検索された楽曲に含まれる伴奏データを曲データ記憶手段より読み出して、この伴奏の楽音を生成する楽音生成ステップと、からなる楽曲検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲検索装置及び楽曲検索プログラムに関するものである。
【背景技術】
【０００２】
従来から楽曲を検索する機能を有する装置、あるいはマイナスワン演奏の機能を有する楽器が知られている。
これは例えば、利用者が所望の楽曲のメロディを歌唱すると、この歌声に含まれるピッチと拍子のデータを抽出して通信回線を介してサーバーに送信する。そしてこのサーバーに記憶されている複数の楽曲データの中から送られてきた抽出データと一致する曲情報を検索して利用者に提供するように構成されている。（例えば、特許文献１参照）
また、複数のパートを自動演奏する電子楽器において、この複数のパートの中から利用者の演奏する特定のパートを選択してこのパートの楽音だけをミュートして、他のパートを自動演奏するように構成されている。（例えば、特許文献２及び特許文献３参照）
【０００３】
【特許文献１】特開２００２−１４９７４号公報（第１頁〜第８頁、図１〜２図）
【特許文献２】特開平１０−３９８６４号公報（第１頁〜第１８頁、図１〜１７図）
【特許文献３】特開平５−１８８９５６号公報（第１頁〜第１５頁、図１〜１１図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の楽曲検索装置は、利用者が所望とする曲のメロディの一部を歌唱或いは演奏すると、この楽曲に関わる曲情報を検索して、当該楽曲のメロディパート或いは全パートの楽音を発音して利用者に試聴させ、この試聴した楽曲が利用者の所望とする楽曲であるか否か確認させるための構成を有していた。
このような従来の楽曲検索装置は、利用者の所望とする楽曲の情報を検索して利用者に当該音楽ソフトなどの購入に役立てるために、曲名、作曲者、発売元、などの曲情報の案内或いは試聴サービスなどを提供するものであって、検索した楽曲のメロディパートをミュートして伴奏パートを自動演奏するなど演奏を支援することはできなかったという問題があった。
また、従来のマイナスワン機能を有する電子楽器は、利用者が所望の楽曲を選択して演奏する場合に、この電子楽器内のメモリに記憶されている複数の楽曲情報の中から、操作子を用いて選択することになるので、メロディは知っていても曲名が分からないとこの所望の楽曲は検索できないという問題があった。
【課題を解決するための手段】
【０００５】
請求項１に係る発明においては、メロディデータと伴奏データを含む楽曲及び当該楽曲に対応する楽譜データからなるデータ群を複数個記憶する曲データ記憶手段と、楽器の演奏操作に対応して発生する音高データ群を検出する演奏操作データ検出手段と、前記演奏操作データ検出手段によって検出された音高データ群と前記曲データ記憶手段に記憶されている複数のメロディデータとを照合して、この音高データ群を有するメロディデータを含む楽曲を検索する曲データ検索手段と、前記曲データ検索手段によって検索された楽曲に対応する楽譜データを読み出してこの楽譜を表示手段に表示させる楽譜表示制御手段と、前記曲データ検索手段によって検索された楽曲に含まれる伴奏データを読み出してこの伴奏の楽音を生成する楽音生成手段と、を具備することを特徴とする。
このような構成にすることによって、利用者は楽曲の曲名を知らなくてもメロディの一部分であるフレーズが弾ければ、当該所望とする曲データを検索してこの曲の楽譜を表示するとともに、この曲の伴奏データを検索して自動演奏するので、利用者の演奏するメロディ演奏とアンサンブル演奏が可能となる。
【０００６】
また請求項２記載のように、楽曲検索装置は、更に、楽器の演奏操作速度に基づいて演奏テンポを算出するテンポ算出手段を具備し、曲データ記憶手段に記憶されている伴奏データは、演奏テンポに応じた複数種類の伴奏パターンデータからなり、楽音生成手段は、テンポ算出手段によって算出された演奏テンポに基づいて、曲データ記憶手段に記憶されている伴奏パターンデータを選択して読み出し、この伴奏パターンデータの楽音を生成するようにしてもよい。
【０００７】
また請求項３記載のように、曲データ検索手段は、検出された音高データに基づいたフレーズを生成し、このフレーズと曲データ記憶手段に記憶されている複数の各メロディデータを照合して、このフレーズを有するメロディデータの楽曲を検索するようにしてもよい。
【０００８】
本発明は、請求項４に記載のように、上記各手段の動作手順をプログラム化し、コンピュータに実行させることにより実施できる。その際、コンピュータプログラムはハードディスク等のディスク型記録媒体、半導体メモリやカード型メモリ等の各種メモリ、或いは通信ネットワーク等の各種プログラム記録媒体を通じてコンピュータに供給することができる。
【発明の効果】
【０００９】
本発明の楽曲検索装置は、利用者の所望とする楽曲のメロディの一部分が演奏されると、メモリに記憶されている複数の楽曲情報の中から該当する楽曲を検索して、この楽曲に含まれる楽譜を表示するとともに伴奏パートを自動演奏するので、利用者は演奏したい楽曲の曲名を忘れてしまっていたり、或いは伴奏パートが弾けなくてもメロディさえ弾ければ、当該楽曲の楽譜を表示するとともに自動伴奏によりアンサンブルを楽しむことができるという効果を奏するものである。
【発明を実施するための最良の形態】
【００１０】
所望とする曲のメロディの一部を演奏するとこのメロディに該当する楽曲を検索してこの楽曲に含まれる楽譜を表示すると共に伴奏パートを自動演奏する。
【実施例１】
【００１１】
図１は、本発明の実施形態における本発明の全体構成のブロック図を示す。
本実施形態の楽曲検索装置は、電子鍵盤楽器に適用した場合を例にあげている。
ＣＰＵ１０１は、バスライン１０８を介してこの楽曲検索装置を構成する後述の各回路、装置に接続され、各種データを授受して全体の機能を統制する。
【００１２】
ＲＯＭ１０２は、ＣＰＵ１０１において、定められた手順に従い各種機能の処理を実行するためのプログラムを記憶している。
【００１３】
ＲＡＭ１０３は、一時的に各種データをストアする複数のデータエリアと、後述する処理に用いられる各種レジスタを記憶するワークエリアと、複数からなる曲データのデーターベースのエリア（以下、曲ＤＢと称す）を有する。
【００１４】
通信機器１０４は、検索すべき楽曲がＲＡＭ１０３から見つからないときは公衆回線を介して外部のサーバーの中から検索するときに用いる装置である。
そして、この所望の楽曲が外部のサーバーより検索されるとこの曲の楽譜データ、メロディデータ、伴奏データの配信を受ける。この配信されたデータはＲＡＭ１０３の曲ＤＢにストアされる。
【００１５】
次に、操作子群１０５は、複数のスイッチから成り、電源スイッチ、曲データの再生スタート・ストップスイッチ、曲ＤＢ検索をやり直すリセットスイッチ、曲ＤＢ検索処理を終了するスイッチ、曲ＤＢ検索モード・自動演奏モードの何れかのモードを選択するモードスイッチ、などが設けられている。
【００１６】
表示装置１０６は、検索された楽曲の楽譜データを表示する。
楽音生成装置１０７は、例えば電子鍵盤楽器が設けられている。
この電子鍵盤楽器は、鍵盤、音源回路、発音装置などから構成されており、鍵操作に応じて楽音信号を生成してこの楽音を発音する。
【００１７】
次に、ＲＡＭ１０３内のデータ構成の詳細について第２図を参照して説明する。
ＲＡＭ１０３内には複数の曲データのエリアＳＯＮＧ（０）〜ＳＯＮＧ（Ｋ）が設けられている。この（０）〜（Ｋ）は曲番号に相当する。
例えばＳＯＮＧ（０）のエリアは、楽譜（０）、メロディーパートに相当するメロディデータのエリアＭＥＬＯＤＹ（０）と、伴奏パートに相当する伴奏データのエリアＢＡＮＳＯ（０）（０）〜ＢＡＮＳＯ（０）（Ｍ）、から成る。
この伴奏データ群は、演奏テンポの速度に応じた複数の伴奏パターンのデータエリアから成る。
【００１８】
メロディデータのエリアＭＥＬＯＤＹ（０）は、音符（０）〜音符（Ｌ）の音符エリアから成り、伴奏データのエリアＢＡＮＳＯ（０）（０）は、音符（０）〜音符（Ｓ）の音符エリアから成る。
メロディデータの音符（０）のエリアには音高（０）と音符長（０）の各データがストアされている。
そして、伴奏データの音符（０）のエリアには音高（０）と音符長（０）の各データがストアされている。
【００１９】
次に、本発明の基本処理について図３を参照して説明する。
先ず、操作子群１０５内に設けられている電源スイッチがオンされると、ＣＰＵ１０１は本楽曲検索装置全体の各回路を初期設定する（Ｓ３０１）。
そして、モードフラグＭＯＤＥに曲ＤＢ検索モードを示す「０」をセットする（Ｓ３０２）。
このモードフラグＭＯＤＥが「０」を示すものであるか否かを判定する（Ｓ３０３）。
【００２０】
ここで、ＭＯＤＥが「０」を示すものであれば図２に示す複数の曲データＳＯＮＧ（０）〜ＳＯＮＧ（Ｋ）の中から利用者の所望とする曲ＤＢ検索処理を実行し（Ｓ３０４）、ＭＯＤＥが「０」を示すものでなければ自動演奏処理を実行する。
曲ＤＢ検索処理及び自動検索処理を夫々実行終了すると、再びＳ３０３に戻りモードに応じた処理を繰り返し実行する。
【００２１】
＜曲ＤＢ検索処理について＞
ここで、図３中のＳ３０４に示す曲ＤＢ検索処理のモードが選択されたときについて図４〜図７を参照して動作を説明する。
先ず、表示装置１０６内の表示画面上に楽曲を検索するための初期画面を表示する（図４中のＳ４０１）。
そして、ＲＡＭ１０３内にストアされている複数の曲データの中から利用者の所望とする曲データを検索開始するためのスタートスイッチがオンされたか否かを判定する（Ｓ４０２）。
【００２２】
ここで、スタートスイッチのオンが検出されなければ、図５中のＳ５１３の処理に進み、当該曲ＤＢ検索処理を終了するスイッチがオンされたか否かを判定するが、スタートスイッチのオンが検出されると押鍵回数を数えるカウンタｎに「０」をセットしてから（Ｓ４０３）、フレーズのデータエリアＰＨＲＡＳＥ［ｎ］をクリアするとともに（Ｓ４０４）、押鍵時間をストアするレジスタｔ［ｎ］をクリアして（Ｓ４０５）、次に、鍵走査開始にあたりタイマにより押鍵時間のカウントを開始する（Ｓ４０６）。
次に、楽音生成装置１０７内に設けられている複数の鍵盤を順次走査して（Ｓ４０７）、何れかの鍵がオン、オフしたか、或いは全く変化がなかったか否かを検出する（Ｓ４０８）。
【００２３】
ここで、何れかの鍵がオンしたことが検出されると、この鍵番号をフレーズのデータエリアＰＨＲＡＳＥ［ｎ］にストアするとともに（Ｓ４０９）、楽音生成装置１０７内に設けられている音源に対してこの鍵番号に対応する音高の楽音を生成して発音するように指示する（Ｓ４１０）。
そして、タイマのカウントする押鍵時間の値をレジスタｔ［ｎ］にストアして（Ｓ４１１）、次に押鍵される押鍵時間の計測に備えるためこのタイマのカウント値をクリアしてから（Ｓ４１２）、図５中のＳ５０１の処理に進んで押鍵回数を計数するカウンタｎを一つ歩進させてからＳ５０２の処理に進む。
【００２４】
一方、Ｓ４０８の処理で何れかの鍵がオフしたことが検出されると、ＣＰＵ１０１は当該発音中の楽音を消音するよう音源に対して指示してから（Ｓ４１３）、次に、図５中のＳ５０２の処理に進む。
また、Ｓ４０８の処理で何れの鍵においてもオンオフが検出されなければ、図５中のＳ５０２の処理に進む。
この図５中のＳ５０２の処理では、当該曲ＤＢ検索の終了スイッチがオンされたか否かを判定する。
【００２５】
ここで、終了スイッチのオンが検出されなければ、図４中の鍵走査の処理Ｓ４０７に戻って、フレーズのデータ入力を繰り返すが、終了スイッチのオンが検出されると、押鍵された音高数をカウントするカウンタｎの値をレジスタＮにストアして（Ｓ５０３）、当該入力されたフレーズの音高と音高数に基づいてフレーズ検索処理を実行する（Ｓ５０４）。
【００２６】
＜フレーズ検索処理について＞
ここで、フレーズ検索処理の動作について図６を参照して詳細に説明する。
先ず、曲データ番号をストアするレジスタＫに先頭の曲番号を示す「０」をセットするとともに、伴奏パターン番号をストアするレジスタＭに先頭番号を示す「０」をセットし、モードフラグＭＯＤＥに曲ＤＢ検索を示す「０」をセットする（Ｓ６０１）。
次に、曲データの読み出しアドレスを示すレジスタｍに初期値「０」をセットする（Ｓ６０２）。
【００２７】
次に、曲ＤＢのＳＯＮＧ（Ｋ）内のメロディデータをストアするエリアＭＥＬＯＤＹの開始アドレスをレジスタＡＤにストアする（Ｓ６０３）。
そして、音高数を計数するカウンタｎに「０」をセットして（Ｓ６０４）、メロディデータのアドレス（ＡＤ＋ｍ）にストアされている音符の音高を検索の対象とするためにエリアＮＯＴＥ（ｎ）にストアする（Ｓ６０５）。
【００２８】
この検索対象となるエリアＮＯＴＥ（ｎ）にストアされた音高がフレーズデータをストアするエリアＰＨＲＡＳＥ（ｎ）内の音高と比較して等しいか否かを判定する（Ｓ６０６）。
ここで、ＮＯＴＥ（ｎ）にストアされている音高とＰＨＲＡＳＥ（ｎ）にストアされている音高が等しいと判定されると、カウンタｎを一つカウントアップして（Ｓ６０７）、この照合された音高数を示すカウンタｎの値がフレーズ入力時に押鍵された音高数を示すエリアＮに示される値に達したか否かを判定する（Ｓ６０８）。
ここで、カウンタｎの示す値がエリアＮに示される値に達したことが検出されると、モードフラグＭＯＤＥに自動演奏処理のモードを示す「１」をセットして本処理を終了する（Ｓ６０９）。
【００２９】
一方、Ｓ６０６の処理で音高比較用のエリアＮＯＴＥ（ｎ）に示す音高がフレーズデータのエリアＰＨＲＡＳＥ（ｎ）に示す音高と等しいと判定されない場合は、曲データ番号をストアするレジスタＫの示す値を一つカウントアップして（Ｓ６１０）、このレジスタＫの示す値が当該曲ＤＢにストアされている曲データの総数を超えたか否かを判定する（Ｓ６１１）。
ここで、レジスタＫの示す値が曲データ総数を超えたことが検出されなければ、Ｓ６０２の処理に戻って、曲ＤＢの次の曲データ番号に移って押鍵によって入力された同じフレーズを有するメロディデータがあるか否かを検索していく。
一方、レジスタＫの示す値が曲ＤＢ内の曲データ総数を超えたことが検出されると本処理を終了する。このような場合、利用者は通信機器１０４を介して外部の曲ＤＢのサーバ宛てに、該当する曲データの検索、及び配信を依頼することになる。
【００３０】
また、Ｓ６０８の処理で、音高数をカウントするカウンタｎの値がフレーズ入力で押鍵された音高数を示すエリアＮに示される値に達したことが検出されなければ、メロディデータの読み出しアドレスをストアするレジスタｍを歩進する（Ｓ６１２）。
このレジスタｍの示すアドレス値は即ちメロディデータの音符数を示すものである。
そして、このレジスタｍの示す値とエリアＮに示すフレーズ入力の際に押鍵された音高数を加算した値がメロディデータのエリアＭＥＬＯＤＹ（Ｌ）の音符数を超えたか否かを判定する（Ｓ６１３）。
ここで、レジスタｍに示す値とエリアＮに示す値の合計値がメロディエリアＭＥＬＯＤＹ（Ｌ）の音符数を超えたことが検出されると、Ｓ６１０の処理に進んで次の曲データを検索しに行く。
【００３１】
一方、レジスタｍに示す値とエリアＮに示す値の合計値がメロディエリアＭＥＬＯＤＹ（Ｌ）の音符数を超えたことが検出されなければ、Ｓ６０４の処理に戻って当該メロディデータの次のアドレスにストアされている音高を検索しに行く。
このように、本フレーズ検索処理は、利用者によって演奏された押鍵数に応じたフレーズのメロディに相当する音高値とその音高数のデータに基づいて、これに一致するメロディデータを曲ＤＢから順次検索するものである。
【００３２】
ここで、再び図５の曲ＤＢ検索処理の動作説明に戻る。
フレーズの演奏に該当する曲データが検索されると、次にモードフラグＭＯＤＥが曲ＤＢ検索処理を示す「０」であるか否かを判定する（Ｓ５０５）。
このＭＯＤＥが曲ＤＢ検索処理を示す「０」であることが検出されなければ、表示画面上に「曲ＤＢ検索のモードに切り換えてください。」というメッセージを一定時間警告表示して利用者にモード切替えを促してから（Ｓ５１２）、再び図４のＳ４０１の処理に戻って初めからやり直す。
一方、ＭＯＤＥが曲ＤＢ検索処理を示す「０」であることが検出されると、利用者の押鍵操作に応じた伴奏データを検索する（Ｓ５０６）。
【００３３】
＜伴奏検索処理について＞
ここで、伴奏検索の処理の動作について図７を参照して詳細に説明する。
先ず、押鍵時間の累積値をストアするエリアＴに「０」をセットするとともに（Ｓ７０１）、押鍵された音高数を計数するカウンタｎに「１」をセットする（Ｓ７０２）。
そして、押鍵毎に押鍵時間を計数するタイマｔ（ｎ）の示す値をエリアＴに加算するとともに（Ｓ７０３）、カウンタｎをカウントアップして（Ｓ７０４）、このカウンタｎの示す値がフレーズ入力時に押鍵されたトータルの音高数をストアするエリアＮの示す値に達したか否かを判定する（Ｓ７０５）。
【００３４】
ここで、カウンタｎの示す値がエリアＮの示す値に達したことが検出されなければ、Ｓ７０３の処理に戻る。
このカウンタｎの示す値がエリアＮの示す値に達したことが検出されると、エリアＴに示す押鍵時間のトータル値を、このとき押鍵された音高数（Ｎ−１）で除算する。この計算結果、押鍵１回当たりに要する平均押鍵時間値、即ち平均演奏テンポ速度をエリアＴに上書きする（Ｓ７０６）。
【００３５】
この平均押鍵時間値を示すエリアＴに対応して、予めＲＡＭ１０３内に設けられている演奏テンポの変換テーブルから伴奏パターン（Ｔ）を選択する。
そして、この伴奏パターン（Ｔ）の示す値を曲データの読み出しアドレスを指定するレジスタにセットして本処理を終了する（Ｓ７０７）。
【００３６】
この伴奏検索処理が終了すると、再び図５曲ＤＢ検索処理に戻る。
先ず、伴奏検索処理で算出された演奏テンポに基づいて決定された曲データの読み出しアドレスをレジスタｍから読み出してレジスタＭにストアする（Ｓ５０７）。
そして、表示装置１０６内に設けられている表示部に、当該検索された曲データのエリアＳＯＮＧ（Ｋ）から楽譜（Ｋ）データを読み出して楽譜表示するとともに（Ｓ５０８）、曲データのエリアＢＡＮＳＯ［Ｋ］［Ｍ］から伴奏検索処理で検索された伴奏データをエリアＢＡＮＳＯＤＡＴに転送する（Ｓ５０９）。
【００３７】
次に、曲ＤＢ検索処理をやり直すリセットスイッチがオンしたか否かを判定する（Ｓ５１０）。
ここで、リセットスイッチがオンしたことが検出されると、ワークメモリを全てクリアして、再び図４のＳ４０１の処理に戻る（Ｓ５１１）。
一方、リセットスイッチのオンが検出されなければ、本曲ＤＢ検索処理を終了するスイッチがオンしたか否かを判定する（Ｓ５１３）。
【００３８】
この終了スイッチがオンしたことが検出されるとモードフラグＭＯＤＥに自動演奏処理を示す「１」をセットして本処理を終了し（Ｓ５１４）、この終了スイッチのオンが検出されなければ図４中のＳ４０２の処理に戻る。
【００３９】
このように本曲ＤＢ処理では、利用者が所望とする何れかのメロディの一部に相当するフレーズを演奏すると、これらの演奏操作に対応する音高と音長時間を検出してこの楽音を発音する。そして、このフレーズを有するメロディの曲データを曲ＤＢから検索してこの楽譜を表示すると共に、このフレーズを演奏したときの平均テンポ速度を算出してこのテンポに応じた伴奏パターンのデータを抽出している。
【００４０】
＜自動演奏処理について＞
次に、図３中のＳ３０５に示す自動演奏処理の動作について図８〜図１０を参照して説明する。
先ず、モードフラグＭＯＤＥが自動演奏処理を示す「１」であることが検出されると、表示装置１０６に設けられた表示画面に曲ＤＢ検索処理で検索された曲データの楽譜を再生表示するための五線譜から成る初期画面を表示する。
【００４１】
そして、操作子群１０５内に設けられている曲データを自動演奏開始するスタートスイッチがオンされたか否かを判定する（Ｓ８０２）。
ここで、スタートスイッチがオンされたことが検出されなければ、図９のＳ９０１の処理に進むが、スタートスイッチがオンされたことが検出されると、演奏テンポに対応して抽出された伴奏データがエリアＢＡＮＳＯＤＡＴにストアされているか否かを判定する（Ｓ８０３）。
【００４２】
このエリアＢＡＮＳＯＤＡＴに伴奏データがストアされていることが検出されなければ表示画面上に「該当する楽曲は検索できませんでした。」というメッセージを警告表示してから（Ｓ８１１）、図１０のＳ１００１の処理に進む。
このエリアＢＡＮＳＯＤＡＴに伴奏データがストアされていることが検出されると、曲ＤＢの中から検索された曲データのエリアＳＯＮＧ（Ｎ）内にストアされている楽譜（Ｎ）データを読み出して表示画面上に楽譜表示する（Ｓ８０４）。
【００４３】
次に、演奏テンポに応じて検索された伴奏データのスタートアドレスをストアするレジスタｍの示す値をエリアＡＤにストアする（Ｓ８０５）。
そして、伴奏データのエリアＢＡＮＳＯ（Ｋ）（Ｍ）内の音符データ（ＡＤ）から音高を読み出して（Ｓ８０６）、この音高をエリアＮＯＴＥにストアすると共に（Ｓ８０７）、この音符データ（ＡＤ）から読み出された音符長をエリアＴＩＭＥにストアして（Ｓ８０８）から、エリアＮＯＴＥにストアされた音高に基づいて、楽音生成装置１０７内の音源に対して当該楽音を生成して発音するよう指示する（Ｓ８０９）。
そして、自動演奏のスタートフラグＳＴＦに自動演奏開始を示す「１」をセットしてから（Ｓ８１０）、図９中のＳ９０１の処理に進む。
【００４４】
次に、スタートフラグＳＴＦが自動演奏開始を示す「１」であるか否かを判定する（図９中のＳ９０１）。
ここで、スタートフラグＳＴＦが「１」を示すものでなければ、図１０のＳ１００１の処置に進むが、このＳＴＦが「１」を示すものであれば、押鍵時間を計測するタイマが最小単位の経過時間を計測したか否かを判定する（Ｓ９０２）。
【００４５】
このタイマが最小単位の経過時間を計測したことが検出されると、音符長データのエリアＴＩＭＥにストアされている押鍵時間に対して最小単位時間を「１」とした値で減少させていく（Ｓ９０３）。
そして、このエリアＴＩＭＥにストアされている押鍵時間が「０」に達したか否かを判定する（Ｓ９０４）。
【００４６】
ここで、エリアＴＩＭＥにストアされている押鍵時間が「０」に達したことが検出されると、伴奏データの読み出しアドレスＡＤを歩進して（Ｓ９０５）、このアドレスＡＤに基づいて音符データを読み出すが（Ｓ９０６）、エリアＴＩＭＥにストアされている押鍵時間が「０」に達したことが検出されなければＳ９１１の処理に進む。
また、Ｓ９０２の処理で、タイマが最小単位となる時間が経過したことを検出しなければＳ９１１の処理に進んで自動演奏処理をストップするスイッチがオンしたか否かを判定する。
【００４７】
このストップスイッチがオンしたことが検出されると音源に現在発音中の楽音を消音するよう指示し（Ｓ９１２）、ストップスイッチがオンしたことが検出されなければ、図１０中のＳ１００１の処理に進む。
次に、Ｓ９０７の処理で、伴奏データをストアするアドレスＡＤに音符データがストアされているか否かを判定する。
【００４８】
この伴奏データのエリアに音符データが存在していることが検出されると、この音符データに示される音高のデータをエリアＮＯＴＥにストアするとともに（Ｓ９０８）、この音符に示される音符長データをエリアＴＩＭＥにストアしてから（Ｓ９０９）、エリアＮＯＴＥにストアされた音高データを楽音生成装置の音源に送って当該楽音を生成して発音するよう指示した後（Ｓ９１０）、再びＳ９０１の処理に戻る。
【００４９】
一方、Ｓ９０７の処理で、伴奏データをストアするアドレスＡＤに音符データがストアされていることが検出されていないときは、音源に対して発音中の楽音を消音するよう指示する（Ｓ９１２）。
そして、スタートフラグＳＴＦに対して自動演奏処理の終了を示す「０」をセットして、図８中のＳ８０１の処理に戻る。
【００５０】
次に、エリアＢＡＮＳＯ（Ｋ）（Ｍ）内に伴奏データがストアされていなかったり、或いは最小単位の時間に達していない間であって、且つストップスイッチが押されていないとき、また或いは、スタートフラグＳＴＦが自動演奏のオフを示す「０」である場合は、図１０中のＳ１００１の処理に移って楽音生成装置内に設けられている鍵盤を走査する。
この鍵走査によって、何れかの鍵がオン・オフしたか、或いは全く変化が無かったか否かを判定する（Ｓ１００２）。
【００５１】
ここで、何れかの鍵がオンしたことが検出されると、このオンした鍵番号をエリアＫＥＹにストアして（Ｓ１００３）、このＫＥＹにストアされた音高データを音源に送って当該楽音を生成して発音するよう指示する（Ｓ１００４）。
次に、自動演奏処理の終了スイッチがオンしたか否かを判定する（Ｓ１００５）。
この終了スイッチのオンが検出されると、モードフラグＭＯＤＥに曲ＤＢ検索を示す「０」をセットして本処理を終了する（Ｓ１００６）。
【００５２】
一方、鍵走査で何れかの鍵がオフしたことが検出されると、当該鍵番号をエリアＫＥＹにストアして（Ｓ１００７）、音源に対して当該音高に対応する発音中の楽音を消音するよう指示して（Ｓ１００８）、Ｓ１００５の処理に進む。
また、鍵走査で何れの鍵も変化が無いことが判明したときもＳ１００５の処理に進む。
一方、終了スイッチのオンが検出されていないときは、図８のＳ８０２の処理に戻ってスタートスイッチのオン状態を検出する。
【００５３】
このように、本自動演奏処理では、利用者の演奏テンポに応じて選択された伴奏データを曲データの曲ＤＢから読み出して発音するとともに、この自動伴奏の楽音を発音している最中に利用者が鍵盤で演奏操作すると当該演奏された楽音が生成されて発音される。
よって、利用者は自己の演奏によるメロディパートの楽音と、この演奏テンポに合った自動伴奏の楽音が同時に発音されるので、利用者は例え伴奏パートを弾けなくてもアンサンブル演奏を楽しむことが可能となる。
【００５４】
以上、本発明は、利用者の演奏するメロディの何れか一部であるフレーズを演奏すると、当該フレーズに含まれる音高と曲ＤＢ中のメロディデータ群の中から該当する曲データを検索するようにしたが、これに限定することなく演奏操作されたフレーズの各音間の時間長に基づいて該当する曲データ及び伴奏データを検索するようにしても良く、音高と音長を併用して曲データ及び伴奏データを検索するようにしても良い。
【００５５】
また、本発明は、利用者の演奏するテンポの速さを算出して、この値に応じた伴奏データを自動的に検索して演奏するようにしたが、これに限定することなく複数種類の伴奏データを表示画面に表示して利用者に選択できるような構成にしても良い。
【００５６】
また、上記実施の形態で説明した動作手順をプログラム化し、コンピュータに実行させることにより実施できる。その際、コンピュータプログラムはハードディスク等のディスク型記録媒体、半導体メモリやカード型メモリ等の各種メモリ、或いは通信ネットワーク等の各種プログラム記録媒体を通じてコンピュータに供給することができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の全体構成のブロック図を示す。
【図２】図１に示されるＲＡＭの記憶領域における曲ＤＢ内のデータ構成を示す。
【図３】本発明の楽曲検索装置におけるメインフローチャートを示す。
【図４】図３に示される曲ＤＢ検索処理を示す。（その１）
【図５】図３に示される曲ＤＢ検索処理を示す。（その２）
【図６】図５に示されるフレーズ検索処理を示す。
【図７】図５に示される伴奏検索処理を示す。
【図８】図３に示される自動演奏処理を示す。（その１）
【図９】図３に示される自動演奏処理を示す。（その２）
【図１０】図３に示される自動演奏処理を示す。（その３）
【符号の説明】
【００５８】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  通信機器
１０５  操作子群
１０６  表示装置
１０７  楽音生成装置
【図１】
2005208154.tif 000003
【図２】
2005208154.tif 000004
【図３】
2005208154.tif 000005
【図４】
2005208154.tif 000006
【図５】
2005208154.tif 000007
【図６】
2005208154.tif 000008
【図７】
2005208154.tif 000009
【図８】
2005208154.tif 000010
【図９】
2005208154.tif 000011
【図１０】
2005208154.tif 000012