(57)【特許請求の範囲】
【請求項１】
演奏データを生成する演奏手段と、
演奏データのキーデータに従って楽音を生成する楽音発生手段と、
自動演奏可能な複数の曲データを記憶しておく曲データ記憶手段と、
曲データ記憶手段に記憶された複数の曲データの中から１つの曲データの選択を行う選択手段と、
演奏操作毎に、演奏データのキーデータとは異なる選択した曲データのキーデータを読み出して、上記楽音発生手段に送る半自動演奏手段と
を有する楽音発生装置において、
前記演奏手段のキーデータを前記楽音発生手段に送るのか、又は前記半自動演奏手段が読み出す、前記選択した曲データのキーデータを前記楽音発生手段に送るのかを切り替える切り替え手段と、
演奏データを順次記憶しておく演奏情報記憶手段と、
上記演奏情報記憶手段から連続する複数の演奏データを読み出し、その演奏データを、曲データ記憶手段の曲データと照合して、類似する曲データの抽出を行う抽出手段と、
上記抽出手段により、類似する曲データが抽出された場合に、その曲データを上記選択手段により選択されたものとし、上記切り替え手段に対して、選択曲データのキーデータを前記楽音発生手段に送るように切り替える指令を出力する制御手段と
を有することを特徴とする楽音発生装置。
【請求項２】
上記楽音発生装置において、上記切り替え手段により、演奏データ中のベロシティデータだけが取り出されて、半自動演奏手段側に転送せしめられ、該切り替え手段によって、演奏データが半自動演奏手段側に切り替えられ転送されるようになった際に、半自動演奏手段によって読み出され楽音発生手段に送られる曲データについて、先に転送された演奏データのベロシティデータと同一に設定されることを特徴とする請求項１記載の楽音発生装置。
【請求項３】
上記楽音発生装置に、更に表示手段を有しており、上記抽出手段により抽出された曲データの名称が、選択手段により上記表示手段に転送され、該表示手段により、曲データの名称が表示されることを特徴とする請求項１又は２記載の楽音発生装置。
【請求項４】
上記楽音発生装置において、上記抽出手段には、類似曲データの抽出をなす際に、演奏データと曲データとの移調の程度を判定する機能を備えており、類似曲データの抽出が移調の程度の判定と共になされた際に、その移調の程度に基づいて、上記半自動演奏手段により、曲データ記憶手段から読み出される曲データが移調せしめられて、上記楽音発生手段に転送されることを特徴とする請求項１〜３いずれか１つに記載の楽音発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所謂ワンキープレイと呼ばれる自動演奏機能を有する楽音発生装置に関する。
【背景技術】
【０００２】
従来から、楽器に自動演奏機能を付加することは多いに行われており、演奏のできるできないに拘わらず、音楽を聴けるため喜ばれていた。
【０００３】
また電子鍵盤楽器では、所謂ワンキープレイと呼ばれる機能を利用すると、曲目を選択した後、いずれかのキーを押す（押鍵する）ことで、選択曲の最初の音符から、キーを押す毎（押鍵毎）に、順に再生するものも知られている。この機能を有するものも、音楽を楽しみたい人に受け入れられてきた。
【０００４】
このワンキープレイは、マジック等の遊びの要素が含まれており、何も知らぬ人にとっては、「この人はこんなに演奏がうまいのか」と思うし、しばらくしっかり演奏を見ていると、「なんかへんだな？」と思い、そのうち、「なぁーんだ、自動演奏か」と理解される。
【０００５】
この過程は非常に有意義であり、街頭などでデモ演奏をやったり、友達同士で楽器を弾いて遊ぶときにも、最初は本人が１００％演奏しているのか、自動演奏か分からないところに、面白みがある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記ワンキープレイ機能を利用するときには、曲を選択するという操作が不可欠であった。例えば１００曲以上ある中から、所望の曲をパネル上のディスプレイに表示してから選択するという操作が必要であり、「メロディは覚えているけど、曲名が出てこない」という場合は、演奏しようとする者は、非常に混乱を来すことになる。
【０００７】
また、ワンキープレイ機能を利用する場合には、自分の弾いた鍵盤の音高では発音されないのが常であり［すなわち押鍵は発音（演奏）開始の指示を与えるに過ぎない］、ワンキープレイ機能を利用するモードにいながら、１００％マニュアル演奏を披露することはできないという問題があった。
【０００８】
すなわち、演奏者もその周りの聴衆者も、ワンキープレイ機能であることが自ずと分かってしまう状況にあった。そのため、本当に弾いているように上手に見せようとしても、すぐに見破られてしまうことになる。
【０００９】
本発明は、以上のような問題に鑑み創案されたもので、本当に弾いているのか、それとも半自動演奏機能を利用しているのか、簡単には分からないようにできる楽音発生装置を提供せんとするものである。
【課題を解決するための手段】
【００１０】
そのため本発明に係る構成は、
演奏データを生成する演奏手段と、
演奏データのキーデータに従って楽音を生成する楽音発生手段と、
自動演奏可能な複数の曲データを記憶しておく曲データ記憶手段と、
曲データ記憶手段に記憶された複数の曲データの中から１つの曲データの選択を行う選択手段と、
演奏操作毎に、演奏データのキーデータとは異なる選択した曲データのキーデータを読み出して、上記楽音発生手段に送る半自動演奏手段と
を有する楽音発生装置において、
前記演奏手段のキーデータを前記楽音発生手段に送るのか、又は前記半自動演奏手段が読み出す、前記選択した曲データのキーデータを前記楽音発生手段に送るのかを切り替える切り替え手段と、
演奏データを順次記憶しておく演奏情報記憶手段と、
上記演奏情報記憶手段から連続する複数の演奏データを読み出し、その演奏データを、曲データ記憶手段の曲データと照合して、類似する曲データの抽出を行う抽出手段と、
上記抽出手段により、類似する曲データが抽出された場合に、その曲データを上記選択手段により選択されたものとし、上記切り替え手段に対して、選択曲データのキーデータを前記楽音発生手段に送るように切り替える指令を出力する制御手段と
を有することを特徴とする楽音発生装置。
を有することを基本的特徴としている。
【００１１】
また請求項２の構成では、上記楽音発生装置において、上記切り替え手段により、演奏データ中のベロシティデータだけが取り出されて、半自動演奏手段側に転送せしめられ、該切り替え手段によって、演奏データが半自動演奏手段側に切り替えられ転送されるようになった際に、半自動演奏手段によって読み出され楽音発生手段に送られる曲データについて、先に転送された演奏データのベロシティデータと同一に設定されることを特徴としている。
【００１４】
さらに請求項３に係る構成では、上記楽音発生装置に、更に表示手段を有しており、上記抽出手段により抽出された曲データの名称が、選択手段により上記表示手段に転送され、該表示手段により、曲データの名称が表示されることを特徴としている。
【００１５】
そして請求項４の構成では、上記楽音発生装置において、上記抽出手段には、類似曲データの抽出をなす際に、演奏データと曲データとの移調の程度を判定する機能を備えており、類似曲データの抽出が移調の程度の判定と共になされた際に、その移調の程度に基づいて、上記半自動演奏手段により、曲データ記憶手段から読み出される曲データが移調せしめられて、上記楽音発生手段に転送されることを特徴としている。
【００１６】
上記構成（特に請求項１）によれば、一旦演奏者が演奏を始め、その間に自動的に該当する曲が選択されて、その選択曲により自動演奏が継続した状態で行えるようになる。
【００１７】
また請求項２の構成によれば、演奏者の演奏により生成された音の強さが、半自動演奏状態になったときに、そのまま引き継がれるので、本当に弾いているのか、それとも半自動演奏機能を利用しているのか、ほとんど見分けがつかないようになる。
【００１８】
請求項４の構成によれば、類似する曲データの照合・抽出を行う際にトランスポーズを考慮して、上記抽出した曲データと演奏データとの移調具合に基づき、読み出した上記演奏データのキーデータを移調した後に、楽音発生手段により、楽音を生成することが可能となる。
【発明の効果】
【００１９】
本発明の請求項１〜請求項４記載の楽音発生装置によれば、一旦演奏者が演奏を始め、その間に自動的に該当する曲が選択されて、その選択曲により自動演奏が継続した状態で行えるようになり、本当に弾いているのか、それとも半自動演奏機能を利用しているのか、簡単には分からないようにできるという優れた効果を奏し得る。
【００２０】
以上の効果は、電子楽器だけではなく、アコースティック楽器でも、自動演奏機能の付属するもの、音源モジュール、パソコン音楽ソフトウェアにおいても、達成可能であることは言うまでもない。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図示例と共に説明する。
図１は、所謂ワンキープレイ機能としての半自動演奏構成が搭載された本発明に係る電子ピアノ１００の基本回路を示す回路概要図である。
【００２２】
同図に示すように、上記電子ピアノ１００は、システムバス上に、ＣＰＵ（Central Processing Unit）１１０、ＲＯＭ（Read Only Memory）１２０、ＲＡＭ（Random Access Memory）１３０、自動演奏曲の表示のために電子ピアノ１００の前面側に設けられた後述する表示部となるＬＣＤ１４１と、コントロールパネル１５１側に備えられ、本電子ピアノ１００の様々な制御状態や半自動演奏モード時に表示される楽譜などや各種バーチャルな操作子を示すためのパネル表示部１４２の表示とを制御する表示制御回路１４０、スキャンすることでコントロールパネル１５１上のパネル表示部１４２に対するタッチを感知したり或いは現物の各種スイッチやボリュームなどの設定状態を感知するパネル検出回路１５０、鍵盤１６１の押鍵操作を検出する鍵盤検出回路１６０、後述する楽音発生部の一部を構成する音源１７０、曲データの更新のために曲データを読み込む、或いは書き出すためのフレキシブルディスクなどやハードディスクなどの外部記憶装置を制御する外部記憶制御回路１８０、外部入出力用のＭＩＤＩインターフェース１９０とが、各接続されており、該システムバスを通じてこれらのデバイスに各種命令やデータの受け渡しがなされる。
【００２３】
また上記音源１７０の出力側には、出力された楽音にエフェクトをかけるＤＳＰ１７１と、その楽音をアナログに変換するＤ／Ａ変換回路（図示無し）と、それを増幅するアンプ１７２及び外部に発音せしめるスピーカ１７３などのサウンドシステムが電気的に接続されている。
【００２４】
上記ＣＰＵ１１０は、ＲＯＭ１２０上に記憶されている制御プログラムに従って、本構成に係る電子ピアノ１００の各部を制御すると共に、同じくＲＯＭ１２０上に記憶されている開始時マニュアル入力のワンキープレイモードを含む自動演奏モード用のアプリケーションプログラムを実行し、またそのプログラムの実行により、同じくＲＯＭ１２０に記憶され、選曲された曲データを読み出して、自動演奏処理を行い、必要に応じて、ＲＡＭ１３０を作業領域として使用しながら、それらのデータ処理を行う構成である。
【００２５】
上記ＲＯＭ１２０は、フラッシュメモリで構成されており、該ＲＯＭ１２０内には、本電子ピアノ１００の制御用プログラム及び本構成で達せられるべき開始時マニュアル入力のワンキープレイモードを含む自動演奏モード用のアプリケーションプログラムが格納されている。また後述する曲データ記憶部として、同じく後述の選択部で選択される曲の曲データが複数曲、その名称と共に格納され、その他ＣＰＵ１１０が使用する種々の固定データが記憶されている。
【００２６】
上記ＲＡＭ１３０は、本電子ピアノ１００におけるステータス情報を記憶したり、ＣＰＵ１１０の作業領域として使用されるものである。さらに後述するように、本構成の開始時マニュアル入力のワンキープレイモードが実行された場合に鍵盤１６１の演奏部から押鍵データが転送されて、後述する演奏情報記憶部として使用される。尚、本電子ピアノ１００を制御するための各種レジスタ（mode、level、SongNo、transposeの各レジスタ）やフラグ等は、ＲＡＭ１３０に定義されており、このＲＡＭ１３０は、ＣＰＵ１１０により、システムバスを介してアクセスされる。
【００２７】
上記パネル表示部１４２は、表示制御回路１４０に制御されて、各種スイッチやモード選択のためのスイッチなどが２次元画面構成として表示される。またモード選択で半自動演奏のワンキープレイモードが選択された際、さらに上記後述する選択部により選択された、自動演奏すべき曲データが、楽譜の状態で、ＲＯＭ１２０で構成される後述する曲データ記憶部から読み出されて、表示される。
【００２８】
後述する表示部となるＬＣＤ１４１は、同じく表示制御回路１４０に制御されて、ワンキープレイモードが実行された場合に、後述する選択部による曲データの選択がなされた際に、ＣＰＵ１１０が自動演奏すべき曲データの読み出しと一緒に、ＲＯＭ１２０で構成される後述する曲データ記憶部から読み出された曲名が、表示される。
【００２９】
コントロールパネル１５１は、上記パネル表示部１４２で表示される各種スイッチやボリュームなどのバーチャルな操作子を含む、現物の各種スイッチやボリュームなどの操作子が搭載されており、上記パネル表示部１４２を含むコントロールパネル１５１とシステムバスの間に介在する前記パネル検出回路１５０により、パネル表示部１４２上に表示された各スイッチ・ボリューム、パネル表示部１４２のセット／リセット状態、現物の各種スイッチやボリュームなどの操作子の状態が調べられ、ＯＮ状態になっているパネルスイッチデータやボリュームの設定状態などが検出されて、ＣＰＵ１１０に送出されることになる。
【００３０】
上記鍵盤１６１は、本電子ピアノ１００のキーボードで構成されており、複数の鍵と、これらの押鍵や離鍵に連動して開閉し、押鍵による音高が検出される鍵盤スイッチからなる。またこれらの鍵盤１６１には、押鍵時の鍵盤移動方向に設定された２点間スイッチからなる押鍵の際の押鍵速度を関知するタッチセンサ（図示なし）が設けられている。この鍵盤１６１及びタッチセンサと上記システムバスの間に介在する鍵盤検出回路１６０は、鍵盤スイッチの状態を調べ、そのＯＮ／ＯＦＦを示す信号からＯＮ又はＯＦＦ情報を含む押鍵タイミングデータとそのキーナンバからなるキーデータを出力すると共に、上記タッチセンサの検出信号から打鍵強さに比例するベロシティデータを生成するものである。この押鍵タイミングデータ（ＯＮ／ＯＦＦ情報）及びキーナンバのキーデータと、ベロシティデータとは、押鍵データとして、システムバスを介してＣＰＵ１１０に送られる。
【００３１】
後述する楽音発生部の構成の一部となる上記音源１７０は、波形メモリ（図示なし）及び波形データ読み出し回路（図示なし）が備えられていて、自動演奏すべき曲データや上記鍵盤１６１からの押鍵データがＣＰＵ１１０により送られてきた場合に、該ＣＰＵ１１０からの指示される読み出しアドレスに従って、波形メモリに格納された波形データの読み出しを行い（上記アドレスからの読み出しを行う）ながら、上記曲データ又は押鍵データに従った楽音を発生させる構成である。
【００３２】
出力された楽音データは、ＤＳＰ１７１により構成されるエフェクト付加回路で、任意のエフェクトが付加され、さらに図示しないＤ／Ａ変換回路によりアナログ信号に変換され、さらにサウンドシステムを構成するアンプ１７２とスピーカ１７３により、増幅されて楽音として外部に出力される。
【００３３】
上記外部記憶制御回路１８０は、上述のように、曲データの更新のために曲データを読み込む、或いは書き出すために備えられており、本電子ピアノ１００に設置されたフレキシブルディスクドライブやハードディスクなどの外部記憶装置を制御する構成である。
【００３４】
上記ＭＩＤＩインターフェース１９０は、これを介して外部との機器の間で、本電子ピアノ１００及び外部機器で使用される制御信号及び楽譜データなどの転送を行うインターフェースである。
【実施例１】
【００３５】
図２は、上記回路の本電子ピアノ１００において、ＲＯＭ１２０上に記憶されている自動演奏モード用のアプリケーションプログラムが実行されて、開始時マニュアル入力のワンキープレイモードにモード設定されることにより構成されることになる、本発明の実施例１に係る自動演奏構成の機能ブロック図である。
【００３６】
同図に示すように、本構成は、演奏部１０と、楽音発生部１１と、曲データ記憶部１２と、選択部１３と、半自動演奏部１４と、切り替え部１５と、演奏情報記憶部１６と、抽出部１７と、制御部１８と、表示部１９とを備えている。
【００３７】
上記演奏部１０は、上記鍵盤１６１及び鍵検出回路１６０を備えており、上述した押鍵タイミングデータ（ＯＮ／ＯＦＦ情報）及びキーナンバのキーデータと、ベロシティデータとを少なくとも含む、押鍵データを生成する構成である。
【００３８】
上記楽音発生部１１は、音源１７０、ＤＳＰ１７１、Ｄ／Ａ変換回路、アンプ１７２及びスピーカ１７３からなる構成であり、押鍵データ又は曲データのキーデータに従って、楽音を生成する。
【００３９】
上記曲データ記憶部１２は、基本的にフラッシュメモリのＲＯＭ１２０で構成されており、自動演奏可能な複数の曲データを記憶しておくことができる。また、本実施例では、該ＲＯＭ１２０の代わりに外部記憶制御回路１８０によって、外部から自動演奏可能な曲データを読み出すことが可能になっており、該回路１７０が曲データ記憶部１２として機能することもある。
【００４０】
上記選択部１３は、上記パネル表示部１４２、パネル検出回路１５０及びＣＰＵ１１０からなる構成であり、演奏者によるパネルタッチの検出から、曲データ記憶部１２に記憶された複数の曲データの中から１つの曲データの選択を行う。
【００４１】
上記半自動演奏部１４は、ＣＰＵ１１０で構成されており、演奏部１０から押鍵タイミングデータを受け取ってその押鍵がある毎に、押鍵データのキーデータとは異なる、選択した曲データのキーデータを曲データ記憶部１２から読み出して、上記切り替え部１５を介して、楽音発生部１１に送る構成である。
【００４２】
上記切り替え部１５は、同じく上記ＣＰＵ１１０で構成されており、演奏部１０の演奏データのキーデータを楽音発生部１１側に送るのか、又は半自動演奏部１４の曲データのキーデータを楽音発生部１１に送るのかを、制御部１８の切替指令によって切り替える構成である。
【００４３】
なお、後述するように、本構成では、該切り替え部１５によって、半自動演奏部１４側から楽音発生部１１への曲データの転送に切り替えられた際に、半自動演奏部１４によって読み出され楽音発生部１１に送られる曲データについて、上記切り替え部１５により、演奏データ中のベロシティデータが取り出されて、該ベロシティデータが曲データのそれに設定されるようにしている。
【００４４】
上記演奏情報記憶部１６は、上記ＲＡＭ１３０で構成されており、押鍵データを順次記憶しておく構成である。
【００４５】
上記抽出部１７は、上記ＣＰＵ１１０で構成されており、上記演奏情報記憶部１６から連続する複数の押鍵データを読み出し、その押鍵データを、曲データ記憶部１２の曲データと照合して、類似する曲データの抽出を行う構成である。
【００４６】
すなわち、基本的には、両データ中にあるキーデータを比較し、そのキーデータの一致度合いに応じて、曲データがどの程度類似するか数値化し、ある閾値以上の場合に、その曲データは押鍵データと類似すると判定され、抽出されることになる。
【００４７】
また、キーデータだけでなく、押鍵タイミングの時間データも比較に用いる。このとき、演奏者のテンポと原曲のテンポとは異なるため、これまた各押鍵間の時間の比率を利用するとよい。
【００４８】
この判定途中で、曲データ記憶部１２中の曲データの候補が絞られていくのであるが、押鍵データが入力されるほど、その候補が次第に絞られてくる。
【００４９】
また押鍵データ中のキーＯＮ・ＯＦＦによる任意のキーがＯＮになっている時間から測定されるゲートタイムを比較の対象に含めても良い。
【００５０】
さらに、本実施例では、類似曲データの抽出をなす際に、押鍵データと曲データとの移調の程度（トランスポーズ）を判定する機能を、該抽出部１７に備えている。キーデータどおしは違っていても、トランスポーズされている場合は、同じ曲でも違うと判断される場合があるので、キーデータの音階の変わり方が同じ場合、トランスポーズされたとして、類似する曲と判定する。
【００５１】
より具体的には、曲の類似度の計算につき、例えば初音からの相対音程をｔとして、後述する数１式のような平均偏差式で求めたり、或いは数２式のような標準偏差式で求めることで、曲データがどの程度類似するか数値化し、ある閾値以上の場合に、押鍵データと曲データとは類似すると判定される。従って、移調（トランスポーズ）され、初音が違っている場合であっても、その後に続くサンプル音は相対音程としてとらえているので、類似度の判定は上記式によって簡単にでき、しかも類似すると判定された曲であれば、初音の違いをトランスポーズ分として判断すれば良いことになる。尚、類似度の判定に、以上のような計算をせずに、音階の移り変わりを包絡線状にまねいた形状どおしを比較し、その形状の一致度合いに応じて、曲データがどの程度類似するかを判断するようにしても良い。
【００５２】
その類似判定の際に、初音からの相対音程をｔとしてるので、トランスポーズの度合いが判定されており、そのトランスポーズの程度に基づいて、上記半自動演奏部１４により、曲データ記憶部１２から読み出される曲データがトランスポーズせしめられて、上記楽音発生部１１に転送される。
【００５３】
上記制御部１８は、同じく上記ＣＰＵ１１０で構成されており、上記抽出部１７により、類似する曲データが抽出された場合に、その曲データを上記選択部１３により選択されたものとし、上記切り替え部１５に対して、選択曲データのキーデータを前記楽音発生手段に送るように切り替える制御指令を出力する構成である。
【００５４】
また、選択部１３は制御部１８から送られる発音指示情報（発音するタイミングを知らせる情報）を半自動演奏部１４に送出すると共に、選択した曲データのどの音符を読み出すか曲データ記憶部１２に指示する。
【００５５】
上記表示部１９は、上記表示制御回路１４０とＬＣＤ１４１とにより構成されており、抽出部１７により抽出された曲データの名称が、選択部１３により転送され、該曲データの名称が表示される構成である。
【００５６】
図３は、本電子ピアノ１００のＣＰＵ１１０におけるメインルーチンを示すフローチャートである。
【００５７】
同図において、パワーＯＮにされると、本電子ピアノ１００の初期化処理が行われる（ステップＳ１００）。すなわち、ＣＰＵ１１０に設定されるmode、level、SongNo、transposeの各レジスタが、夫々、mode=normal、level=Unknown、SongNo=0、transpose=0に設定され、演奏情報記憶部１６のメモリクリアがなされる。その他は、通常の電子ピアノ１００の初期化処理が行われる。
【００５８】
次にパネル検出回路１６０によるパネル検出処理がなされる（ステップＳ１０２）。すなわち、パネル表示部１４２のパネルタッチを含むコントロールパネルの各スイッチやボリュームなどのパネルイベントの検出と、コントロールチェンジやプログラムチェンジなどのＭＩＤＩｉｎパネルイベントの検出が行われる。
【００５９】
さらに鍵盤１６１押鍵によるキーイベントとＭＩＤＩｉｎによるキーイベントなどのキー検出発音処理がなされる（ステップＳ１０４）。この処理については図４で説明する。
【００６０】
その後ＬＣＤ１４１による表示処理がなされる（ステップＳ１０６）。
【００６１】
さらにＭＩＤＩデータ処理が行われる（ステップＳ１０８）。この際ＭＩＤＩｉｎデータは、パネルイベントとキーイベントに分類される。
【００６２】
そして曲データの更新が必要な場合には外部記憶装置に必要な曲データの読み書きが行われる（ステップＳ１１０）。
【００６３】
図４は、図３のステップＳ１０４のキー検出発音処理の処理ルーチンを示すフローチャートである。
【００６４】
同図に示すように、まず、modeレジスタがチェックされ（ステップＳ２００）、normalであれば（ステップＳ２００；Ｙ）、通常の演奏であるので、ステップＳ２１２に移行する。
【００６５】
反対にnormalでなければ（ステップＳ２００；Ｎ）、所謂ワンキープレイモードである。
【００６６】
このモードでは、最初にlevelチェックがなされる（ステップＳ２０２）。このlevelは、曲データを照合した結果が抽出確定したか否かを示している。従って不確定なら（ステップＳ２０２；Ｙ）、Unknownとなり、ステップＳ２１０の処理に移行する。すなわち、ステップＳ２１０では、後述する曲データ照合処理のモードスイッチ（パネル上の適当なスイッチが操作される、或いは電子ピアノ１００の３本ペダルのいずれか又は複数が操作される）がＯＮになっているか否かがチェックされる。
【００６７】
該スイッチがＯＮになっていなければ（ステップＳ２１０；Ｎ）、ステップＳ２１４の曲データ照合処理にジャンプする。
【００６８】
反対に上記スイッチがＯＮになっていれば（ステップＳ２１０；Ｙ）、演奏情報記憶部１６の記憶されたデータのリセット、後述する類似度Ｐのリセットが行われ（ステップＳ２１２）、ステップＳ２１４の曲データ照合処理ルーチンに移行する。
【００６９】
また、上記ステップＳ２０２のlevelチェックで、曲データを照合した結果が抽出確定したなら（ステップＳ２０２；Ｎ）、SongSelectedとなり、次にキーオンイベントかキーオフイベントかが判別される（ステップＳ２０４）。
【００７０】
キーオフイベントならば（ステップＳ２０４；Ｎ）、消音処理（ステップＳ２１８）して、本ルーチンの処理は終了する。
【００７１】
一方キーオンイベントならば（ステップＳ２０４；Ｙ）、確定したSongの曲データの中でアドレス指定されたキーデータが読み出される（ステップＳ２０６）。
【００７２】
さらに読み出したキーデータに、移調の度合いを示すトランスポーズ値が加算され発音される（ステップＳ２０８）。その際、ベロシティデータは（Unknown／SongSelectedに関係なく）キー検出処理時の押鍵データ中に含まれるものを使用する。
【００７３】
図５は、図４のステップＳ２１４に示した曲データ照合処理の処理ルーチンを示すフローチャートである。
【００７４】
同図に示すように、最初に押鍵データのキーデータが演奏情報記憶部１６に記憶される（ステップＳ３００）。すなわち、キーオン時は、キーナンバ、ステップタイム、ベロシティの各データが、またキーオフ時には、対応するキーナンバが記憶されたエリアにゲートタイムが付加されて記憶される。
【００７５】
次に演奏情報記憶部１６に３つの音符分以上のキーデータが記憶されたか否かがチェックされる（ステップＳ３０２）。音符が１つ分のキーデータしかない場合、トランスポーズがあるため、全く照合は不可能である。
【００７６】
音符が２つ分のキーデータがあれば一応照合は可能であるが、後述するように、キーデータと曲データの類似度を判定するためには、３つ以上の方（サンプル音数が多くなればなるほど類似度の数値が高い状態の曲は少なくなって絞られやすくなる；逆にサンプル音数が少ないほど類似度は上がる）が判定が比較的簡単にできるため、上記のようなチェックを行うことにした。むしろサンプル音数が少ないほど類似度は上がって、類似度の数値が高い状態の曲が沢山選択されてしまうので、３つの音符分以上のキーデータが記憶されたかがチェックされるようになった。従って、３つの音符分以上のキーデータが記憶されていなければ（ステップＳ３０２；Ｎ）、曲データ照合処理はそこで終了する。
【００７７】
３つの音符分以上のキーデータが記憶されていれば（ステップＳ３０２；Ｙ）、上記曲データ記憶部１２に内蔵する曲データの先頭から逐次照合して行き、その類似度が、０．００〜０．９９の範囲で判定される（ステップＳ３０４）。このとき、曲の類似度の計算を、後述する数１式のような平均偏差式で求めたり、或いは数２式のような標準偏差式で求めることで、曲データがどの程度類似するか数値化し、ある閾値（本実施例では後述するようにサンプル音数によって決められた値）以上の場合に、押鍵データと曲データとは一致するものと「確定」される。
【００７８】
この類似度を算出する計算は、例えば、初音からの相対音程をｔとして、下記数１（平均偏差）又は数２式（標準偏差）により計算される。数２式によれば、大きな間違いを甘く見たり厳しく見たりすることもできる。また１２のｍｏｄ（剰余）関数を用いて、オクターブの差を無視することもできる。実際には、弾き過ぎ（「隣の鍵も間違って押しちゃった」という類のミス）、弾き足らず（「一音飛ばしちゃった」という類のミス）を別途計算した上で除外し、残りのデータに対して下式数１又は２を適用する方が良い。
【００７９】
（数１）
類似度ｐ＝１−ｆ（Σ｜ｔ［ｉ］−ｔ０［ｉ］｜）／ｎ
ｉ：評価する音列の番号（初音ｉ＝０、計算には入れず）
ｔ［ｉ］：演奏されたｉ番目の音の、演奏された初音に対する相対音程
ｔ０［ｉ］：予め記憶されたｉ番目の音の、予め記憶された初音に対する相対音程
ｎ：初音ｉ＝０は除く、今までに演奏された音数
【００８０】
（数２）
類似度ｐ＝１−ｆ（Σ（ｔ［ｉ］−ｔ０［ｉ］）２）／ｎ２
【００８１】
このような計算処理がなされると、数音目あたりまででは、出だしの似ている曲が、類似度の高い曲として沢山表示される。すなわち、サンプル音数が少ないほど類似度は上がる傾向にあるので、サンプル音数が３音であれば、０．９、サンプル音数が４音であれば、０．８５、サンプル音数が５音であれば、０．８３、サンプル音数が６音であれば、０．８１、サンプル音数が７音であれば、０．７９のように、音数によって一致と判断するレベルを変えるようにする。仮にサンプル音数が４音で、この類似度の０．８５以上のものが複数ある場合には、一番類似度数が大きいものを（複数表示する場合は類似度数が大きい順に）表示することになる。
【００８２】
すなわち、上記類似度が算出された段階で、類似度の高い曲データの曲名がパネル表示部１４２に表示される（ステップＳ３０６）。
【００８３】
上述のように、サンプル音数が少ない場合には類似度を高めに設定するが、パネル表示部１４２への曲名表示は、類似度の高い順に複数曲表示（仮にサンプル音数が４音の場合に、類似度が０．８５より低く、ある値以上を候補として列挙）し、確定前なら、パネルの特定スイッチかフットスイッチとかで、ユーザが手動で選べるようにすると良い。
【００８４】
ただし、本実施例では、曲データ記憶部１２に記憶された曲データに対し、常に全数検索がなされると、曲の進行に従って処理が重くなるので、最初は全曲を候補とし、類似度が低値（例えば０．５０以下）になったものはフラグを立てて、以後類似判断をしないようにすると良い。また音符の数が１６音を越えても、類似度が上記数値に達しない場合は、最後に演奏された１２音だけを用いて上記検索ルーチンの処理を行う（すなわち曲の途中をも検索できる）ようにする。
【００８５】
そしてその類似度が所定の数値以上（仮にサンプル音数が４音であれば、０．８５以上）であるか否かがチェックされる（ステップＳ３０８）。
【００８６】
その類似度が（サンプル音数によって決められた値）以上であれば（ステップＳ３０８；Ｙ）、押鍵データと曲データとは一致するものとして扱われ、levelレジスタをSongSelectedにセットして（ステップＳ３１０）、「確定」の文字がパネル表示部１４２に表示される（ステップＳ３１２）。そして、その曲名は、電子ピアノ１００の前面にあるＬＣＤ１４１に表示される。
【００８７】
反対に上記類似度が（サンプル音数によって決められた値）を下回るのであれば（ステップＳ３０８；Ｙ）、押鍵データと曲データとは一致するものではないが、候補としてはより近いものとして扱われ、「有望」の文字がパネル表示部１４２に表示される（ステップＳ３１４）。
【００８８】
なお、この「有望」は、「未定」としても良い。また、この類似度の値を、単に（サンプル音数によって決められた値）にせず、ユーザの習熟度に応じて上げていくようにすると、より効果的である。
【００８９】
以上説明した本実施例構成によれば、一旦演奏者が演奏部１０の鍵盤１６１で演奏を始めることで（最初はその押鍵による楽音が出力される）、その間に、抽出部１７により自動的に類似する曲データが抽出されて、その曲データが曲データ記憶部１２から読み出され、半自動演奏部１４により自動演奏が継続した状態で行えるようになる。従って、演奏者は曲の始めだけ演奏を行えば、後は半自動演奏、すなわちワンキープレイ演奏が可能となる。
【００９０】
また演奏者の押鍵により出力された楽音のベロシティデータが、半自動演奏状態になったときに、切り替え部１５により楽音発生部１１に転送されて、そのまま引き継がれるので、本当に弾いているのか、それともワンキープレイ演奏により演奏されているのか、ほとんど見分けがつかないようになる。
【００９１】
さらに、抽出部１７により、類似する曲データの照合・抽出を行う際にトランスポーズの程度が考慮されて、上記抽出した曲データと押鍵データとの移調具合に基づき、読み出された上記曲データのキーデータが半自動演奏部１４により移調された後に、楽音発生部１１により、楽音を生成することが可能となる。
【実施例２】
【００９２】
図６は、図２の前記実施例１の構成とは別の本発明の請求項１に係る実施例構成を示している。実施例１の構成では、演奏部１０での押鍵データと半自動演奏部１４での曲データの転送が、制御部１８から出力された切替指令に基づく切り替え部１５の切替によって、押鍵データに基づく楽音の発生から、半自動演奏部１４によるワンキープレイ演奏に切り替えられるのに対し、本実施例２の構成では、切り替え部１５による切替指令は、演奏部１０と選択部１３に出力され、押鍵データに基づく楽音の発生（演奏部１０から楽音発生部１１への押鍵データの転送）から、半自動演奏部１４によるワンキープレイ演奏（半自動演奏部１４から楽音発生部１１への曲データの転送）に切り替えられる。
【００９３】
尚、本発明の楽音発生装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【００９４】
本発明の楽音発生装置は、電子楽器だけではなく、アコースティック楽器でも、自動演奏機能の付属するもの、音源モジュール、パソコン音楽ソフトウェアにおいても、適用可能である。
【図面の簡単な説明】
【００９５】
【図１】所謂ワンキープレイ機能が搭載された本発明に係る電子ピアノ１００の基本回路を示す回路概要図である。
【図２】実施例１に係る自動演奏構成の機能ブロック図である。
【図３】本電子ピアノ１００のＣＰＵ１１０におけるメインルーチンを示すフローチャートである。
【図４】ステップＳ１０４のキー検出発音処理の処理ルーチンを示すフローチャートである。
【図５】ステップＳ２１０に示した曲データ照合処理の処理ルーチンを示すフローチャートである。
【図６】実施例２に係る自動演奏構成の機能ブロック図である。
【符号の説明】
【００９６】
１０      演奏部
１１      楽音発生部
１２      曲データ記憶部
１３      選択部
１４      半自動演奏部
１５      切り替え部
１６      演奏情報記憶部
１７      抽出部
１８      制御部
１９      表示部
１００      電子ピアノ
１１０      ＣＰＵ
１２０      ＲＯＭ
１３０      ＲＡＭ
１４０      表示制御回路
１４１      ＬＣＤ
１４２      パネル表示部
１５０      パネル検出回路
１５１      コントロールパネル
１６０      鍵検出回路
１６１      鍵盤
１７０      音源
１７１      ＤＳＰ
１７２      アンプ
１７３      スピーカ
１８０      外部記憶制御回路
１９０      ＭＩＤＩインターフェース
【図１】
0004675731.tif 000002
【図２】
0004675731.tif 000003
【図３】
0004675731.tif 000004
【図４】
0004675731.tif 000005
【図５】
0004675731.tif 000006
【図６】
0004675731.tif 000007