(57)【特許請求の範囲】
【請求項１】
楽曲を構成する複数の音符に対応する情報を含む演奏情報を取得する演奏情報取得部と、
テンポ情報を取得するテンポ取得部と、
拍に関連する情報を取得する拍関連情報取得部と、
取得された前記拍に関連する情報に基づいて抽出される拍頭以外のメロディ音を示す演奏情報に基づいて、シャッフルリズムを含むメロディリズムを検出するシャッフル検出部と、
前記テンポ情報および前記メロディリズムに基づいて、楽曲の複数種のジャンルの中から前記演奏情報に対応するジャンルを選択するジャンル選択部と、
を備えるジャンル選択装置。
【請求項２】
前記拍関連情報取得部は、前記演奏情報から前記拍、拍子およびアウフタクトを検出して取得する、請求項１に記載のジャンル選択装置。
【請求項３】
前記ジャンル選択部は、前記演奏情報に含まれる複数の音符に対応する情報のうち、前記拍の先頭、前記拍の１／２、及び前記拍の１／４のタイミングで発生する音符に対応する情報を除く音符除去部を有する、請求項１または２に記載のジャンル選択装置。
【請求項４】
前記シャッフル検出部はさらに、前記拍頭以外のメロディ音を示す演奏情報に基づいて、３連符を用いたシャッフルであるか又は６連符を用いたシャッフルか否かを検出する、請求項１乃至３のいずれかに記載のジャンル選択装置。
【請求項５】
前記シャッフル検出部はさらに、前記拍頭以外のメロディ音を示す演奏情報に基づいて、予め定められた拍でのみ、３連符を用いたシャッフルであるか否かを検出する、請求項１乃至４のいずれかに記載のジャンル選択装置。
【請求項６】
前記ジャンル毎に推奨テンポと平均音符数を記憶するメモリと、
前記拍関連情報取得部が抽出した前記拍毎の音符数の平均値を計算する平均音符数計算部と、
をさらに備え、
前記ジャンル選択部により、前記ジャンルが複数選択された場合に、当該選択された複数のジャンルについて、前記メモリが記憶する推奨テンポおよび平均音符数の組合せと、前記テンポ取得部が取得したテンポ情報および前記平均音符数計算部が計算した前記拍毎の音符数の平均値の組合せとを比較することにより、前記選択された複数のパターンジャンルに優先順位を付与する、請求項１ないし５のいずれかに記載のジャンル選択装置。
【請求項７】
ジャンル選択装置のコンピュータに、
楽曲を構成する複数の音符に対応する情報を含む演奏情報を取得させ、
テンポ情報を取得させ、
拍に関連する情報を取得させ、
取得された前記拍に関連する情報に基づいて抽出される拍頭以外のメロディ音を示す演奏情報に基づいて、シャッフルリズムを含むメロディリズムを検出させ、
前記テンポ情報および前記メロディリズムに基づいて、楽曲の複数種のジャンルの中から前記演奏情報に対応するジャンルを選択させる、ジャンル選択方法。
【請求項８】
ジャンル選択装置として用いられるコンピュータに、
楽曲を構成する複数の音符に対応する情報を含む演奏情報を取得するステップと、
テンポ情報を取得するステップと、
拍に関連する情報を取得するステップと、
取得された前記拍に関連する情報に基づいて抽出される拍頭以外のメロディ音を示す演奏情報に基づいて、シャッフルリズムを含むメロディリズムを検出するステップと、
前記テンポ情報および前記メロディリズムに基づいて、楽曲の複数種のジャンルの中から前記演奏情報に対応するジャンルを選択するステップと、
を実行させるプログラム。
【請求項９】
請求項１乃至６のいずれかに記載のジャンル選択装置と、
演奏情報を供給する鍵盤と、
前記演奏情報に基づいた楽音を生成する音源と、
を有する電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲のジャンル選択装置、ジャンル選択方法、プログラムおよび電子楽器に関する。
【背景技術】
【０００２】
電子ピアノや電子オルガンのような鍵盤を備えた電子楽器では、主として右手でメロディを、左手で伴奏を弾く、あるいはコードを構成する複数の鍵を押鍵するのが一般的である。従ってこのような電子楽器においては、右手と左手をそれぞれ楽譜等に従って独立して動かすための練習が必要である。
【０００３】
このようにピアノの奏法及びオルガンの奏法の何れにおいても、右手と左手を同時に異なる形態で動かすことが必要であり、このためには相応の練習が必要である。特に、メロディを奏するために右手を動かすことは可能であるが、同時に左手で異なる演奏を行うことが困難と感じる演奏者が、特に初心者では多い。従って、演奏者が右手でメロディを演奏することにより、左手で演奏することにより生成されるべき伴奏音をリアルタイムで自動的に作成することのできる自動伴奏装置が知られている（例えば特許文献１に記載の技術）。
【０００４】
ところで、特許文献１の電子楽器では、演奏によりメロディが入力されるとリアルタイムでコードを付与しているが、予め決められたテンポで演奏を行う必要があるため、テンポに合わせて演奏できない者にとっては、意図したコードが付与されないという問題があった。そこで、この問題を解決するために、演奏者が弾いたメロディの音長に基づいてテンポ及び拍子を決定できるようにした演奏情報処理装置が知られている（例えば特許文献２に記載の技術）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１５８８５５号公報
【特許文献２】特開２０１４−０４８５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このようにしてユーザの弾くメロディに、コードが付くようになり、メロディのリズムをそれなりにとれるようになると、今度は伴奏パターンに合わせてみたいという欲求が出てくると思われる。なぜなら、リアルタイムテンポ抽出で付けられる伴奏は、ベースやストリングス、オルガンと言った持続音によるコード伴奏が主であり、叙情的な曲には良いが、ドラムパターンにギターのカッティングなどの入った自動伴奏パターンを当てはめるのは難しいからである。
【０００７】
しかし、メロディをきちんと弾けるようになったばかりのユーザにとって、大雑把に楽曲のジャンルを知っていたとしても、それぞれの曲の持つ要素によって最適な伴奏パターンは異なるため、数ある楽曲のジャンルの中から弾いている曲に適した自動伴奏パターンを選ぶのは困難であるという課題があった。
【０００８】
本発明は、ユーザが弾いたメロディに基づいて自動的に楽曲のジャンルを選択できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
態様の一例では、楽曲を構成する複数の音符に対応する情報を含む演奏情報を取得する演奏情報取得部と、テンポ情報を取得するテンポ取得部と、拍に関連する情報を取得する拍関連情報取得部と、取得された前記拍に関連する情報に基づいて抽出される拍頭以外のメロディ音を示す演奏情報に基づいて、シャッフルリズムを含むメロディリズムを検出するシャッフル検出部と、前記テンポ情報および前記メロディリズムに基づいて、楽曲の複数種のジャンルの中から前記演奏情報に対応するジャンルを選択するジャンル選択部と、を備える。
【発明の効果】
【００１０】
本発明によれば、ユーザが弾いたメロディに基づいて自動的にジャンルを選択することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】電子楽器の一実施形態の外観を示す図である。
【図２】電子楽器の一実施形態のハードウェア構成例を示す図である。
【図３】リズムパターン自動選択処理の例を示すフローチャートである。
【図４】テンポ／拍／拍子／アウフタクト抽出処理の例を示すフローチャートである。
【図５】シャッフル検出処理の例を示すフローチャートである。
【図６】テンポとメロディリズムによるパターンジャンルテーブル参照処理の例を示すフローチャートである。
【図７】候補パターンの優先順位付け処理の例を示すフローチャートである。
【図８】パターン雰囲気指定データ対応処理の例を示すフローチャートである。
【図９】テンポとメロディリズムによるパターンジャンルテーブルのデータ構成例を示す図である。
【図１０】パターンジャンル毎テンポ・メロディ音数テーブルのデータ構成例を示す図である。
【図１１】雰囲気とメロディリズムによるパターンジャンルテーブルのデータ構成例を示す図である。
【図１２】シャッフルを説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明による電子楽器の一実施形態の外観を示す図である。図１に示すように、本実施形態にかかる電子楽器１０は、演奏情報を供給する演奏操作子としての鍵盤１１を有する。また、鍵盤１１の上部には、音色の指定、自動伴奏の開始・終了、リズムパターンの自動選択などを行なうためのスイッチ（符号１２、１３参照）や、演奏される楽曲に関する種々の情報、たとえば、音色、リズムパターン、コード名などを表示する表示部１５を有する。本実施の形態にかかる電子楽器１０は、たとえば、６１個の鍵（Ｃ２〜Ｃ７）を有する。また、電子楽器１０は、リズムパターンの自動選択をオンするリズムパターン自動選択モード、自動伴奏をオンする自動伴奏モード、およびリズムパターン自動選択および自動伴奏をオフにする通常モードの３つの演奏モードのうち、何れかの下での演奏が可能である。
【００１３】
図２は、本発明による電子楽器の一実施形態のハードウェア構成例を示す図である。図２に示すように、本実施形態にかかる電子楽器１０は、ＣＰＵ（中央演算処理装置）２１、ＲＯＭ（ロードオンリーメモリ）２２、ＲＡＭ（ランダムアクセスメモリ）２３、サウンドシステム２４、スイッチ群２５、鍵盤１１、表示部１５、およびテーブルメモリ３０を備える。
【００１４】
ＣＰＵ２１は、電子楽器１０全体の制御、鍵盤１１の鍵の押鍵やスイッチ群２５を構成するスイッチ（たとえば、図１の符号１２、１３参照）の操作の検出、鍵やスイッチの操作に従ったサウンドシステム２４の制御、押鍵された楽音の演奏情報に従ったリズムパターンの自動選択、自動伴奏パターンおよびコード名に従った自動伴奏の演奏など、種々の処理を実行する。
【００１５】
ＲＯＭ２２は、ＣＰＵ２１に実行させる種々の処理、たとえば、スイッチの操作や鍵盤の何れかの鍵の押鍵に応じて実行される処理、押鍵に応じた楽音の発音、押鍵された楽音の演奏情報に従ったリズムパターン自動選択、自動伴奏パターンおよびコード名に従った自動伴奏の演奏などのプログラムを記憶する。また、ＲＯＭ２２は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの各種の楽音を生成するための波形データを格納した波形データエリア、および、種々の自動伴奏パターンを示すデータ（自動伴奏データ）を格納した自動伴奏パターンエリアを有する。
【００１６】
ＲＡＭ２３は、ＲＯＭ２２から読み出されたプログラムや、処理の過程で生じたデータを記憶する。
【００１７】
サウンドシステム２４は、音源部２６、オーディオ回路２７およびスピーカ２８を有する。音源部２６は、たとえば、押鍵された鍵についての情報或いは自動伴奏パターンについての情報をＣＰＵ２１から受信すると、ＲＯＭ２２の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部２６は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音データとして出力することもできる。オーディオ回路２７は、楽音データをＤ／Ａ変換して増幅する。これによりスピーカ２８から音響信号が出力される。
【００１８】
さらに、本発明の実施の形態にかかる電子楽器１０は、テーブルメモリ３０を備えている。このテーブルメモリ３０は、後述する、テンポとメロディリズムによるパターンジャンルテーブル９００（図９参照）、パターンジャンル毎テンポ・メロディ音数テーブル１０００（図１０参照）、および雰囲気とメロディリズムによるパターンジャンルテーブル１１００（図１１参照）を記憶する。
【００１９】
本実施の形態にかかる電子楽器１０は、通常モードの下においては、鍵盤１１の鍵の押鍵に基づいて楽音を発生する。また、例えば図１に示された各種スイッチ１２、１３等のうちの一つであるリズムパターン自動選択スイッチが操作されることにより、リズムパターン自動選択モードとなる。リズムパターン自動選択モードの下においては、演奏者による鍵盤１１の鍵のメロディの押鍵状態に応じて、リズムパターンを自動的に選択し、表示部１５にパターンジャンルの候補を表示する。さらに、電子楽器１０は、例えば図１に示された各種スイッチ１２、１３等のうちの一つである自動伴奏スイッチが操作されることにより、自動伴奏モードとなる。自動伴奏モードの下では、鍵の押鍵により、その鍵の音高の楽音が発生する。また、押鍵された鍵の情報に基づいてコード名が決定され、そのコード名のコード構成音を含む自動伴奏パターンに従った楽音が発生する。なお、自動伴奏パターンは、ピアノやギター、ベースなど音高の変化を伴うメロディ自動伴奏パターン、コード自動伴奏パターンと、バスドラム、スネアドラム、シンバルなど音高の変化を伴わないリズムパターンとを含むことができる。このときのリズムパターンは、上述のリズムパターン自動選択モードで自動選択された第１優先順位のパターンジャンルのリズムパターンとすることができる。以下、電子楽器１０が、リズムパターン自動選択モードの下で動作する場合について説明する。なお、通常モードや自動伴奏モードについては、従来の電子楽器の場合におけるものと同様であるため、それらの処理の詳細は省略する。
【００２０】
以下、本実施の形態にかかる電子楽器１０において実行される処理について詳細に説明する。図３は、本実施形態において、リズムパターン自動選択モードが選択された場合に実行されるリズムパターン自動選択処理の例を示すフローチャートである。この処理は、ＣＰＵ２１が、特には図示しないメイン処理において、図１に示された各種スイッチ１２、１３等のうちの一つであるリズムパターン自動選択スイッチが操作されたことを検出することにより、ＲＯＭ２２に記憶されているリズムパターン自動選択処理プログラムを呼び出して実行する処理として実現される。
【００２１】
ＣＰＵ２１はまず、テンポ／拍／拍子／アウフタクト抽出処理を実行する（ステップＳ３０１）。この処理の詳細は、本出願人が出願した例えば特開２０１４−０４８５０３号公報などに開示されているが、図４は、図３のステップＳ３０１のテンポ／拍／拍子／アウフタクト抽出処理の例を示すフローチャートである。
【００２２】
図４のフローチャートの処理において、ＣＰＵ２１はまず、演奏情報取得処理を実行する（ステップＳ４０１）。ここでは、ＣＰＵ２１は、特には図示しないメイン処理において、演奏者が鍵盤１１を使ってメロディ演奏した場合に、その押鍵により発生する演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの各演奏情報を取得する。
【００２３】
次に、ＣＰＵ２１は、音長計測処理を実行する（ステップＳ４０２）。ここでは、ＣＰＵ２１は、ステップＳ４０１で取得した各演奏情報に対応する各メロディ音の音長を計測する。
【００２４】
次に、ＣＰＵ２１は、音長比率算出処理を実行する（ステップＳ４０３）。ここでは、ＣＰＵ２１は、ステップＳ４０２で計測された各演奏情報に対応する各メロディ音の音長のうち、ある音の音長である第１入力音長と、ある音の次に入力された音の音長である第２入力音長との比率を算出する。
【００２５】
次に、ＣＰＵ２１は、テンポ推測処理を実行する（ステップＳ４０４）。ここでは、ＣＰＵ２１は、テンポ取得手段として動作し、ステップＳ４０３における第１入力音長および比率に基づき、テンポを推測する。この結果推測されたテンポ値は、図２のＲＡＭ２３内の特には図示しないテンポ変数に保持される。
【００２６】
続いて、ＣＰＵ２１は、拍推測処理を実行する（ステップＳ４０５）。ここでは、ＣＰＵ２１は、拍関連情報取得手段として動作し、ステップＳ４０２で計測された各演奏情報に対応する各メロディ音の音長と、ステップＳ４０４で推測されたテンポとに基づいて、各メロディ音の音符長を拍として推測する。この結果推測された各拍は、図２のＲＡＭ２３内の特には図示しない拍配列変数に保持される。
【００２７】
さらに、ＣＰＵ２１は、拍子推測処理を実行する（ステップＳ４０６）。ここでは、ＣＰＵ２１は、拍関連情報取得手段として動作し、ステップＳ４０４で推測されたテンポに基づいて、演奏情報のうちのある音の入力開始後のステップＳ４０５で推測された拍に基づいてカウントされる所定の拍数に対応する時間における演奏情報の状態を調べる事により、４ビート（４拍子）あるいは３ビート（３拍子）といった拍子を推測する。この結果推測された拍子は、図２のＲＡＭ２３内の特には図示しない拍子変数に保持される。
【００２８】
最後に、ＣＰＵ２１は、アウフタクト推測処理を実行する（ステップＳ４０７）。ここでは、ＣＰＵ２１は、拍関連情報取得手段として動作し、メロディが小節の先頭から始まっているのか、それともアウフタクト（小節途中からメロディが始まること）であるのかを判断する。この結果推測されたアウフタクトの状態は、図２のＲＡＭ２３内の特には図示しないアウフタクト変数に保持される。
【００２９】
その後、ＣＰＵ２１は、図４のフローチャートを終了し、図３のステップＳ３０１のテンポ／拍／拍子／アウフタクト抽出処理を終了する。
【００３０】
図３の説明に戻り、ＣＰＵ２１は、シャッフル検出処理を実行する（ステップＳ３０２）。図５は、図３のステップＳ３０２のシャッフル検出処理の例を示すフローチャートである。ここでは、ＣＰＵ２１は、メロディリズム検出手段として動作し、ステップＳ３０１で取得した拍およびアウフタクトに関する情報に基づいて演奏情報のメロディのシュッフルを検出しながらメロディリズムを検出する。
【００３１】
まず、ＣＰＵ２１は、拍子／拍が確定済みかどうかを判定する（ステップＳ５０１）。
【００３２】
拍子／拍が確定していない（判定がＮＯである）場合は、再度テンポ／拍／拍子／アウフタクト抽出処理を実行する（ステップＳ５０２）。この処理は、図４のフローチャートで示した前述した処理と同様である。
【００３３】
拍子／拍が確定済みである（判定がＹＥＳである）場合は、ＣＰＵ２１は、現状までの拍頭以外のメロディ音抽出処理を実行する（ステップＳ５０３）。シャッフル検出処理は、拍頭以外にあるメロディ音色のうち、シャッフルと感じられる、例えば図１２に示されるようなタイミングのメロディ音があるかどうかを見るものである。なお、図１２では、１６分音符表記になっているが、実際は１６分音符のタイミングではなく、３連符に近いものである。また特には図示しないしないが、６連符のシャッフルもある。このため、ＣＰＵ２１はまず、拍頭以外の音を抽出する。
【００３４】
続いて、ＣＰＵ２１は、ステップＳ５０３で抽出した拍頭以外のメロディ音のうち、拍の半分および１／４のタイミングにあるメロディ音を排除する（ステップＳ５０４）。
【００３５】
ステップＳ５０４の処理の結果残ったメロディ音は、拍頭でも、８分音符でも１６分音符でもなく、シャッフルの可能性のあるもののみとなる。そこで、ＣＰＵ２１は、それ以外のタイミングにメロディ音があるか否かを判定する（ステップＳ５０５）。
【００３６】
ステップＳ５０５の判定がＮＯならば、シャッフルではないので、ＣＰＵ２１は、図２のＲＡＭ２３に保持されるメロディリズム変数に「ｔｉｇｈｔ」（タイト）を格納する（ステップＳ５０６５）。その後、ＣＰＵ２１は、図５のフローチャートを終了し、図３のステップＳ３０２のシャッフル検出処理を終了する。
【００３７】
ステップＳ５０５の判定がＹＥＳならば、シャッフルを疑うので、ＣＰＵ２１まず、６連のシャッフルがあるか否か、すなわち６連符中の６番目のタイミングにメロディ音があるか否かを判定する（ステップＳ５０７）。
【００３８】
ステップＳ５０７の判定がＮＯの場合は、メロディ音に、３連シャッフルもしくはシャッフルではないけれども３連符連打でメロディを強調する場合のどちらかである。この場合、ＣＰＵ２１はまず、メロディ音に３連符があるか否か、すなわち、３連符の２番目または３番目のタイミングにメロディ音があるか否かを判定する（ステップＳ５０８）。
【００３９】
ステップＳＳ５０８の判定がＮＯの場合は、すでにステップＳ５０４で８分音符および１６分音符を排除しており、ステップＳ５０７で６連符の６番目も排除しており、加えてステップＳ５０８で３連符の２番目と３番目も排除しているので、実際的な考え方では、３連符以外でここにくることはないので、弾き間違いかタイミングのずれによる中途半端なタイミング音が残っていると思われる。従って、この場合には、ＣＰＵ２１は、メロディ音を６連符の細かさでクォンタイズして、再度ステップＳ５０３に戻る。
【００４０】
ステップＳＳ５０８の判定がＹＥＳとなって、拍頭以外の３連符がある場合には、ＣＰＵ２１は、もともとシャッフルリズムではないけれども、メロディを強調するために最後の拍で３連符を使っている場合なのか、すなわち、３連符は４拍のみかつ３連符すべてなっているか、そうではなくて本物のシャッフルリズムを持つメロディなのかを判定する（ステップＳ５１２）。
【００４１】
ステップＳ５１２の判定がＹＥＳの場合には、ＣＰＵ２１は、ＲＡＭ２３に保持されているメロディリズム変数に「ｉｍｉｔａｔｉｖｅ  ｔｒｉｐｌｅｔ」（擬似３連符）を格納する（ステップＳ５１４）。
【００４２】
ステップＳ５１２の判定がＹＥＳの場合には、ＣＰＵ２１は、ＲＡＭ２３に保持されているメロディリズム変数に「ｔｒｉｐｌｅｔ」（３連シャッフル）を格納する（ステップＳ５１３）。
【００４３】
ステップＳ５１３またはＳ５１４の処理の後、ＣＰＵ２１は、図５のフローチャートを終了し、図３のステップＳ３０２のシャッフル検出処理を終了する。
【００４４】
ステップＳ５０７の判定がＹＥＳの場合、すなわち、メロディ音が６連のシャッフルであると判定された場合、ＣＰＵ２１は、ステップＳ５０８の場合と同様に、メロディ音に３連符があるか否か、すなわち、３連符の２番目または３番目のタイミングにメロディ音があるか否かを判定する（ステップＳ５１０）。
【００４５】
ステップＳ５１０の判定がＹＥＳの場合、６連符の６番目のタイミングにメロディ音があり、かつ、３連符の２番目と同じタイミングである６連符の３番目にも音があることになり、この場合は６連符のシャッフルに近いと判断できる。このため、ＣＰＵ２１は今度は、６連符の３番目と６番目の出現率が６連符の５番目の出現率以上であるか否かを判定する（ステップＳ５１１）。
【００４６】
６連符の３番目と６番目の出現率のほうが多ければ（ステップＳ５１１の判定がＹＥＳであれば）、１６分音符のシャッフルであるので、ＣＰＵ２１は、ＲＡＭ２３に保持されているメロディリズム変数に「ｓｅｘｔｕｐｌｅｔ」（６連シャッフル）を格納する（ステップＳ５１５）。その後、ＣＰＵ２１は、図５のフローチャートを終了し、図３のステップＳ３０２のシャッフル検出処理を終了する。
【００４７】
ステップＳ５１１の判定がＮＯであれば、６連符より３連符のタイミングの方が多いということなので、ＣＰＵ２１は、前述したステップＳ５１３に移行し、メロディリズム変数に「ｔｒｉｐｌｅｔ」（３連シャッフル）を格納する（ステップＳ５１３）。その後、ＣＰＵ２１は、図５のフローチャートを終了し、図３のステップＳ３０２のシャッフル検出処理を終了する。
【００４８】
以上のようにして、メロディ音の押鍵タイミングによって、メロディのリズムの形がシャッフルなのか、タイトなのか、シャッフルなら８分音符のシャッフルなのか１６分音符のシャッフルなのか、３連符はあるがメロディの強調のためで実はシャッフルでないといった、メロディリズムの特性の判断が可能となる。
【００４９】
図３の説明に戻り、ＣＰＵ２１は次に、テンポとメロディリズムによるパターンジャンルテーブルの参照処理を実行する（ステップＳ３０３）。図２のテーブルメモリ３０に記憶されるテンポとメロディリズムによるパターンジャンルテーブル９００のデータ構成例を示す図である。テンポとメロディリズムによるパターンジャンルテーブル９００において、行方向（縦方向）にテンポ、横方向（列方向）に大きな分類として４ビート（４拍子）および３ビート（３拍子）があり、それぞれの拍子の下に、上述した図３のステップＳ３０２で検出されるメロディリズム「ｔｉｇｈｔ／ｉｍｉｔａｔｉｖｅ  ｔｒｉｐｌｅｔ」（図中では「ｉｍｉｔａｔｉｖｅＴ」と略表記している）（タイトまたは擬似３連符）、「ｔｒｉｐｌｅｔ」（３連シャッフル）、「ｓｅｘｔｕｐｌｅｔ」（６連シャッフル）が分類されている。
【００５０】
テンポとメロディリズムによるパターンジャンルテーブル９００において、例えば、一番左はシャッフルでない場合である、「ｔｉｇｈｔ／ｉｍｉｔａｔｉｖｅ  ｔｒｉｐｌｅｔ」となっていて、テンポ１２０の時の４拍子でメロディリズムが「ｔｉｇｈｔ」である場合は、Ｍａｒｃｈ（マーチ）やＤｉｓｃｏ（ディスコ）がふさわしいパターンジャンルである、という内容が登録されている。同様に、メロディリズムが「ｔｒｉｐｌｅｔ」である場合は「Ｓｈｕｆｆｌｅ」（シャッフル）が、あるいはメロディリズムが「ｓｅｘｔｕｐｌｅｔ」である場合は「Ｆｕｎｋ」（ファンク）もしくはＲ＆Ｂがふさわしいパターンジャンルとなっている。
【００５１】
さらに、テンポとメロディリズムによるパターンジャンルテーブル９００において、３拍子でメロディリズムが「ｔｉｇｈｔ／ｉｍｉｔａｔｉｖｅ  ｔｒｉｐｌｅｔ」である場合は、「Ｐｏｌｋａ」の３拍子バージョンである「ｔｒａｍｂｌａｎｋａ」のパターンジャンルが登録されている。
【００５２】
図６の説明に戻り、ＣＰＵ２１は、図３のステップＳ３０１で抽出された拍子およびテンポをＲＡＭ２３に保持されている拍子変数Ｂｅａｔおよびテンポ変数Ｔに格納し、図３のステップＳ３０２で検出されたメロディリズムをＲＡＭ２３に保持されているメロディリズム変数ＭＲに格納する（ステップＳ６０１）。
【００５３】
そして、ＣＰＵ２１は、拍子変数Ｂｅａｔ、テンポ変数Ｔ、メロディリズム変数ＭＲの各値によって、図９のテンポとメロディリズムによるパターンジャンルテーブル９００を参照して、該当するパターンジャンルを取得し、それをＲＡＭ２３上のパターンジャンル変数ＰＴに格納する（ステップＳ６０２）。
【００５４】
なお、パターンジャンルの候補が複数取得された場合には、ＣＰＵ２１は、パターンジャンル変数ＰＴを配列変数として、この変数に複数のパターンジャンルの候補を格納する。
【００５５】
その後、ＣＰＵ２１は、図６のフローチャートを終了し、ステップＳ３０３のテンポとメロディリズムによるパターンジャンルテーブル参照処理を終了する。
【００５６】
図３の説明に戻り、ＣＰＵ２１は、ステップＳ３０３の処理の結果、パターンジャンルの候補が複数得られたか否かを判定する（ステップＳ３０４）。
【００５７】
ステップＳ３０４の判定がＮＯならば、ＣＰＵ２１は、ステップＳ３０６の処理に移行し、ステップＳ３０３で取得したパターンジャンルを、演奏者が演奏したメロディに対応する推奨パターンジャンルとして図１の表示部１５に表示する。
【００５８】
ステップＳ３０４の判定がＹＥＳならば、ＣＰＵ２１は、候補パターンの優先順位付け処理を実行する（ステップＳ３０５）。図７は、ステップＳ３０５の候補パターンの優先順位付け処理の例を示すフローチャートである。
【００５９】
まず、ＣＰＵ２１は、ステップＳ３０３で取得された複数のパターンジャンル候補で、図２のテーブルメモリ３０に保持されているパターンジャンル毎テンポ・メロディ音数テーブル１０００を参照し、該当するエントリを抽出する（ステップＳ７０１）。
【００６０】
図１０は、パターンジャンル毎テンポ・メロディ音数テーブル１０００のデータ構成例を示す図である。左端のパターンジャンル名の横に、そのパターンで演奏されることの多い最も遅いテンポが「最遅」欄に登録され、次に最もお奨めのテンポが「推奨」欄に登録され、さらにその横に最も速いテンポが「最速」欄に登録され、その横に１拍あたりの平均メロディ音数が「ノート／ビート」欄に登録されているいる。この平均値というのは、例えば、そのパターンで演奏される有名曲をまとまった数分析して得られるものである。
【００６１】
具体的に説明すると、図９に例示されるテンポとメロディリズムによるパターンジャンルテーブル９００の中で、「テンポ」＝「１２０」の「ｔｉｇｈｔ／ｉｍｉｔａｔｉｖｅ  ｔｒｉｐｌｅｔ」に当てはまるパターンジャンルとして、「Ｍａｒｃｈ」と「Ｄｉｓｃｏ」があるが、これら２つの優先順位をつけるにあたって、図１０のパターンジャンル毎テンポ・メロディ音数テーブル１０００が参照される。「Ｍａｒｃｈ」と「Ｄｉｓｃｏ」は推奨テンポが１２０で同じであるが、拍毎のメロディ音数の平均値はやや異なり、「Ｄｉｓｃｏ」の方が「２．２５」と、「Ｍａｒｃｈ」の「０．８」より多い。
【００６２】
本実施形態においては、あるパターンジャンルとメロディの関係を特徴付けるものとして、（１）最適なテンポ（推奨テンポ）と、（２）拍毎のメロディ音数の平均値に着目している。パターンにはゆったりしたパターンにゆったりしたメロディが合うジャンルもあれば、どちらも音数の多いものもあり、それらはテンポ同様、パターンの特性を表すものである。一例として、メロディ自体はそんなに変わらなくても、それにあわせる単純な８ビートのパターンのテンポを落とし、８ビート時のアフタービートを強調すると、跳ねないレゲエに近づくことなどが挙げられる。つまり、テンポとメロディ数の関係、シャッフル検出などがきちんと考慮されれば、合うパターンを選択できる可能性が高くなると言える。
【００６３】
図７の説明に戻り、ＣＰＵ２１は、ステップＳ７０１で抽出されたエントリを、各エントリ毎に図１０の「推奨」項目に登録されていた推奨テンポに近い順に並べる（ステップＳ７０２）。
【００６４】
ＣＰＵ２１は、ステップＳ７０２で並べた推奨テンポの差が１０以内かどうかを判定する（ステップＳ７０３）。
【００６５】
ステップＳ７０３の判定がＮＯならば、ＣＰＵ２１は、図７のフローチャートを終了して図３のステップＳ３０５の処理を終了し、その後図３のステップＳ３０６に移行して、推奨されるパターンジャンルを、推奨テンポの優先順位で表示する。
【００６６】
ステップＳ７０３で推奨テンポの差が１０以内の場合というのは、例えば先ほど例示した「Ｍａｒｃｈ」と「Ｄｉｓｃｏ」のように、推奨テンポが同じ場合などである。その場合は、ＣＰＵ２１はまず、図３のステップＳ３０１で抽出した拍毎のメロディ音数の平均値を計算する（ステップＳ７０４）。
【００６７】
続いて、ＣＰＵ２１は、拍毎のメロディ音数の平均値と図１０のパターンジャンル毎テンポ・メロディ音数テーブル１０００に登録されているノート／ビート値の差が近い順に並び替える（ステップＳ７０５）。前述した、テンポとメロディ音数の関係が、パターンを特徴付けると言う着眼点により、このような処理が実行される。「Ｍａｒｃｈ」と「Ｄｉｓｃｏ」の場合は、現在のメロディの拍毎の平均値が「２．２５」に近ければ「Ｄｉｓｃｏ」が優先パターンとなり、「０．８」に近ければ「Ｍａｒｃｈ」が優先パターンとなる。
【００６８】
ＣＰＵ２１は、ステップＳ７０５の処理により、優先順位が決定したか否かを判定する（ステップＳ７０６）。
【００６９】
ステップＳ７０６の判定がＹＥＳならば、ＣＰＵ２１は、図７のフローチャートを終了して図３のステップＳ３０５の処理を終了し、その後図３のステップＳ３０６の表示処理に移行する。
【００７０】
ステップＳ７０６の判定がＮＯならば、ＣＰＵ２１は、図１０のパターンジャンル毎テンポ・メロディ音数テーブル１０００上のエントリ順に優先順位を決定した後に（ステップＳ７０７）、図７のフローチャートを終了して図３のステップＳ３０５の処理を終了し、その後図３のステップＳ３０６の表示処理に移行する。
【００７１】
図３の処理に戻り、ＣＰＵ２１は、ステップＳ３０６で演奏者が演奏したメロディに対応する推奨パターンジャンルを図１の表示部１５に表示した後、拍、拍子に変化があるか否かを判定する（ステップＳ３０７）。ステップＳ３０７の判定がＹＥＳならば、ＣＰＵ２１は、ステップＳ３０１の処理に戻る。ステップＳ３０７の判定がＮＯならば、ＣＰＵ２１は、図３のフローチャートで例示されるリズムパターン自動選択処理を終了する。
【００７２】
以上のようにして、本実施形態によれば、メロディを弾くだけで、テンポ、拍、拍子、アウフタクトを判定した上で、メロディのリズムがｔｉｇｈｔ／ｔｒｉｐｌｅｔ／ｓｅｘｔｕｐｌｅｔ等のいずれに該当するかを自動分析し、テンポとメロディリズムの推測結果に基づいて、そのメロディに合う最適のリズムパターンのジャンルを自動選択することが可能となる。
【００７３】
図８は、本発明の他の実施形態であるパターン雰囲気指定データ対応処理の例を示すフローチャートである。この処理は、ＣＰＵ２１が、特には図示しないメイン処理において、図１に示された各種スイッチ１２、１３等のうちの一つである特には図示しないパターン雰囲気指定スイッチが操作されたことを検出することにより、ＲＯＭ２２に記憶されているパターン雰囲気指定データ対応処理を呼び出して実行する処理として実現される。この実施形態は、演奏者が持っているメロディのイメージすなわち雰囲気を入力することで、パターンのジャンルを選択しやすくするものである。
【００７４】
まず、ＣＰＵ２１は、ＲＡＭ２３上の変数ｓｔｙｌｅに、演奏者のスイッチ操作により指定された雰囲気を格納する（ステップＳ８０１）。
【００７５】
次に、ＣＰＵ２１は、ステップＳ８０１で設定された変数ｓｔｙｌｅの値により、図２のテーブルメモリ３０に保持されている雰囲気とメロディリズムによるパターンジャンルテーブル１１００を参照する（ステップＳ８０２）。図１１は、雰囲気とメロディリズムによるパターンジャンルテーブル１１００のデータ構成例を示す図である。ここでは４拍子部分だけが示されているが、当然３拍子や５拍子などのテーブルも構成可能である。図１１に示されるテーブルでは、図９のテンポとメロディリズムによるパターンジャンルテーブル９００と同様に、横方向（列方向）に、図３のステップＳ３０２で検出されるメロディリズム「ｔｉｇｈｔ／ｉｍｉｔａｔｉｖｅ  ｔｒｉｐｌｅｔ」（図中では「ｉｍｉｔａｔｉｖｅＴ」と略表記している）（タイトまたは擬似３連符）、「ｔｒｉｐｌｅｔ」（３連シャッフル）、「ｓｅｘｔｕｐｌｅｔ」（６連シャッフル）が分類されている。また、行方向（縦方向）に、パターンジャンルの雰囲気を指定する言葉が分類されている。例えば、「ｔｉｇｈｔ／ｉｍｉｔａｔｉｖｅ  ｔｒｉｐｌｅｔ」の「かっこいい」は「Ｒｏｃｋ」であるが、「ｔｒｉｐｌｅｔ」では「Ｊｉｖｅ」であり、「ｓｅｘｔｕｐｌｅｔ」では「Ｆｕｎｋ／Ｒ＆Ｂ」というパターンジャンルが対応付けられている。あるいは、「都会的な」パターンがほしいときには、メロディリズムが「ｔｉｇｈｔ」であれば「Ｅｕｒｏ  Ｂｅａｔ」と「Ｂｏｓｓａ  Ｎｏｖａ」が対応付けられる。
【００７６】
ＣＰＵ２１は、ステップＳ８０１で設定された変数ｓｔｙｌｅの値により、図１１に例示される雰囲気とメロディリズムによるパターンジャンルテーブル１１００を参照することにより、該当するパターンジャンルを抽出する（ステップＳ８０２）。
【００７７】
次に、ＣＰＵ２１は、ステップＳ８０２で取得された複数のパターンジャンル候補で、図２のテーブルメモリ３０に保持されているパターンジャンル毎テンポ・メロディ音数テーブル１０００を参照し、該当するエントリを抽出する（ステップＳ８０３）。
【００７８】
続いて、ＣＰＵ２１は、ステップＳ８０３での参照の結果、演奏者により指定されたテンポが、テーブル上のエントリのテンポの範囲内であるか否かを判定する（ステップＳ８０４）。
【００７９】
このような雰囲気指定を使う演奏者は、ある程度イメージするパターンジャンルがあると思われるので、もしステップＳ８０４の判定がＮＯならば、ＣＰＵ２１は、テーブルエントリ上の推奨テンポに近づくよう、テンポを倍もしくは半分などにするようにして、メロディとあわせるようにしている。
【００８０】
その後、ＣＰＵ２１は、優先順位順に推奨するパターンジャンルを表示するようにしている（ステップＳ８０６）。
【００８１】
以上の他の実施形態では、パターンジャンルの自動選択のアプローチの仕方が前述した一実施例とは異なっているが、パターンジャンルを雰囲気から選択する場合は、メロディの音数との関係でパターンを選択していく方法よりも、まず雰囲気に合うパターンを選択して、そのパターンにあうようパターンテンポを調整するこのアプローチの仕方のほうが最適なパターンに早く近づける。このようにして、雰囲気指定パラメータから推奨するパターンジャンルの自動選択表示ができるようになる。
【００８２】
以上説明した実施形態により、何とかリズムに合わせて弾けるが、どのパターンを選択したらいいかわからない演奏者にも、弾いているメロディから、最適の伴奏パターン候補を自動選択表示することが可能となる。また、通常の伴奏パターンを使用する演奏者にとっても、ほんの数小節メロディを弾くだけで、推奨する伴奏パターン候補を自動選択表記することも可能であり、また、別のパターン選択方法として、パターンの雰囲気パラメータを設定することで、最適のパターンとテンポを自動選択することも可能である。メロディリズム分析をしているので、合わないリズムは選択されないようにすることができる。
【００８３】
上述した実施形態は、通常の自動伴奏楽器にも応用可能である。
【００８４】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
楽曲を構成する複数の音符を含む演奏情報を取得する演奏情報取得部と、
テンポ情報を取得するテンポ取得部と、
拍に関連する情報を取得する拍関連情報取得部と、
前記演奏情報、テンポ情報および前記拍に関連する情報に基づいて、楽曲の複数種のジャンルの中から前記演奏情報に対応するジャンルを選択するジャンル選択部と、
を備えるジャンル選択装置。
（付記２）
前記テンポ取得部は、前記テンポ情報を前記演奏情報から検出して取得する、付記１に記載のパターン選択装置。
（付記３）
前記テンポ取得部は、前記テンポ情報を演奏者からの指示に基づいて取得する、付記１または２に記載のパターン選択装置。
（付記４）
前記拍関連情報取得部は、前記演奏情報から前記拍、拍子およびアウフタクトを検出して取得する、付記１乃至３のいずれかに記載のジャンル選択装置。
（付記５）
前記ジャンル選択部は、前記演奏情報に含まれる複数の音符のうち、前記拍の先頭、前記拍の１／２、及び前記拍の１／４のタイミングで発生する音符を除く音符除去部を有する、付記１乃至４のいずれかに記載のジャンル選択装置。
（付記６）
前記ジャンル選択部は、前記音符除去部により除去された音符以外の音符の発生タイミングがシャッフルであるか否かを検出するシャッフル検出部を含む、付記５記載のジャンル選択装置。
（付記７）
前記シャッフル検出部はさらに、前記音符除去部により除去された音符以外の音符の発生タイミングが３連符を用いたシャッフルであるか又は６連符を用いたシャッフルか否かを検出する、付記６に記載のジャンル選択装置。
（付記８）
前記シャッフル検出部はさらに、前記演奏情報に含まれる音符の発生タイミングが予め定められた拍でのみ、３連符を用いたシャッフルであるか否かを検出する、付記６乃至７のいずれかに記載のジャンル選択装置。
（付記９）
前記ジャンル毎に推奨テンポと平均音符数を記憶するメモリと、
前記拍関連情報取得部が抽出した前記拍毎の音符数の平均値を計算する平均音符数計算部と、
をさらに備え、
前記ジャンル選択部により、前記ジャンルが複数選択された場合に、当該選択された複数のジャンルについて、前記メモリが記憶する推奨テンポおよび平均音符数の組合せと、前記テンポ取得部が取得したテンポ情報および前記平均音符数計算部が計算した前記拍毎の音符数の平均値の組合せとを比較することにより、前記選択された複数のパターンジャンルに優先順位を付与する、付記１ないし８のいずれかに記載のパターン選択装置。
（付記１０）
前記ジャンル選択部が選択したジャンルを表示する表示部をさらに備えた、付記１乃至９のいずれかに記載のジャンル選択装置。
（付記１１）
ジャンル選択装置において用いられるジャンル選択方法であって、前記ジャンル選択装置は、
楽曲を構成する複数の音符を含む演奏情報を取得し、
テンポ情報を取得し、
拍に関連する情報を取得し、
前記演奏情報、テンポ情報および前記拍に関連する情報に基づいて、楽曲の複数種のジャンルの中から前記演奏情報に対応するジャンルを選択する、ジャンル選択装置。
（付記１２）
ジャンル選択装置として用いられるコンピュータに、
楽曲を構成する複数の音符を含む演奏情報を取得するステップと、
テンポ情報を取得するステップと、
拍に関連する情報を取得するステップと、
前記演奏情報、テンポ情報および前記拍に関連する情報に基づいて、楽曲の複数種のジャンルの中から前記演奏情報に対応するジャンルを選択するステップと、
を実行させるプログラム。
（付記１３）
付記１乃至１１のいずれかに記載のジャンル選択装置と、
演奏情報を供給する鍵盤と、
自動伴奏パターンデータを記憶するメモリと、
前記メモリから選択された自動伴奏パターンを読み出す読み出し部と、
前記演奏情報と前記読み出された自動伴奏パターンとに基づいた楽音を生成する音源と、
を有する電子楽器。
【符号の説明】
【００８５】
１０  電子楽器
１１  鍵盤
１２、１３  スイッチ
１５  表示部
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  サウンドシステム
２５  スイッチ群
３０  テーブルメモリ
９００  テンポとメロディリズムによるパターンジャンルテーブル
１０００  パターンジャンル毎テンポ・メロディ音数テーブル
１１００  雰囲気とメロディリズムによるパターンジャンルテーブル
【図１】
0006606844.tif 000002
【図２】
0006606844.tif 000003
【図３】
0006606844.tif 000004
【図４】
0006606844.tif 000005
【図５】
0006606844.tif 000006
【図６】
0006606844.tif 000007
【図７】
0006606844.tif 000008
【図８】
0006606844.tif 000009
【図９】
0006606844.tif 000010
【図１０】
0006606844.tif 000011
【図１１】
0006606844.tif 000012
【図１２】
0006606844.tif 000013