電子楽器
【課題】 コードやリズムに関する知識がない演奏者であっても、適切な自動伴奏を演奏できる。
【解決手段】 ROM22には、発音すべき楽音の発音タイミングを含む自動伴奏データが記憶される。CPU21は、鍵盤11の操作タイミングと、自動伴奏データについて予め設定され、ROM22に記憶された基準タイミングとの時間差を算出して、算出された時間差に基づいて、自動伴奏データ中の楽音の発音タイミングを制御する。音源部26は、CPU21の指示にしたがって、発音タイミングが制御された自動伴奏パターンの楽音の楽音データを生成する。
【解決手段】 ROM22には、発音すべき楽音の発音タイミングを含む自動伴奏データが記憶される。CPU21は、鍵盤11の操作タイミングと、自動伴奏データについて予め設定され、ROM22に記憶された基準タイミングとの時間差を算出して、算出された時間差に基づいて、自動伴奏データ中の楽音の発音タイミングを制御する。音源部26は、CPU21の指示にしたがって、発音タイミングが制御された自動伴奏パターンの楽音の楽音データを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動伴奏パターンの演奏が可能な電子楽器に関する。
【背景技術】
【0002】
電子楽器においては、いわゆる「自動伴奏」という機能が良く知られている。自動伴奏においては、一般的に、ユーザの鍵操作によって指定されたコードの構成音に相当する楽音が、自動伴奏パターンが示す伴奏シーケンスにしたがって発音される。また、自動伴奏パターンには、単一或いは複数の楽音によるメロディ音、メロディ音の対旋律などを構成するオブリガート音、および、リズム音も含まれ得る。
【0003】
自動伴奏の機能を用いることによって、一人の演奏者でも、コード音やリズム音を含む豊富な楽音の演奏が実現できる。その一方、コードの知識の無い演奏者は、この機能を有効に利用できないという問題点があった。
【0004】
演奏者によるコード指定を簡易化するために、たとえば、特許文献1においては、押鍵数が基準値を超えるごとに、複数の自動伴奏パターンを所定の順序で順次切り換えて読み出し、自動伴奏パターンが、押鍵数に応じて変化する電子楽器が提案されている。
【0005】
また、特許文献2においては、演奏者の押鍵を、コード構成音に変換して、当該コード構成音を含む自動伴奏を演奏する電子楽器が提案されている。この電子楽器においては、曲データを利用することで、音階の指定を自動化しており、演奏者がコードの知識を有していなくても、表現を加えた自動伴奏を演奏することが可能となる。
【特許文献1】特開平4−242297号公報
【特許文献2】特開2004−177893号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
たとえば、特許文献1に開示された技術では、複数のコードパターンが切り換えられるため、演奏形態の変化が画一的になってしまう可能性がある。
【0007】
また、特許文献2に開示された技術では、押鍵タイミングや押鍵数を適切に与えない場合には、適切な自動伴奏の演奏ができない可能性がある。すなわち、演奏者はコードの知識を必要としないが、リズムについての一定のセンスや知識を必要とする。
【0008】
本発明は、コードやリズムに関する知識がない演奏者であっても、適切な自動伴奏を演奏することができる電子楽器を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の目的は、予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミング、を含む自動伴奏データを記憶する記憶手段と、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
前記演奏操作子の操作タイミングと、前記自動伴奏データについて予め設定された基準タイミングとの時間差を算出して、前記時間差に基づいて、前記自動伴奏データ中の楽音の前記発音タイミングを制御する制御手段を備え、
前記制御手段が、前記操作タイミングが前記基準タイミングより早い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを遅くして、
前記楽音データ生成手段が、前記制御手段により発音タイミングが制御された自動伴奏パターンの楽音の楽音データを生成することを特徴とする電子楽器により達成される。
【0010】
好ましい実施態様においては、前記制御手段が、前記演算操作子の操作タイミングが、前記基準タイミングから所定の範囲内である評価対象期間であるか否かを判断し、前記評価対象期間での操作であるときに、前記操作タイミングと基準タイミングとの時間差を算出し、
前記操作タイミングが前記基準タイミングより早い場合には、前記時間差の分だけ、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差の分だけ、前記自動伴奏パターンの発音タイミングを遅くすることを特徴とする請求項1に記載の電子楽器。
【0011】
また、好ましい実施態様においては、前記基準タイミングが、前記自動伴奏パターンにおける拍の先頭に対応し、
前記制御手段が、前記自動伴奏パターンにおいて、拍ごとに前記操作タイミングと前記基準タイミングとの時間差を算出する。
【0012】
別の好ましい実施態様においては、前記制御手段が、予め定められたタイミングにおいて、一定の期間だけ前記演奏操作子の操作がなかった場合に、前記自動伴奏パターンに基づく楽音の生成を停止する。
【0013】
より好ましい実施態様においては、前記制御手段が、前記自動伴奏パターンにおける拍の先頭において、それ以前に1拍に対応する時間だけ前記演奏操作子の操作がなかった場合に、前記自動伴奏パターンに基づく楽音の生成を停止する。
【0014】
また、好ましい実施態様においては、前記自動伴奏パターンが、前記発音すべき楽音の音長を含み、
前記制御手段が、前記演奏操作子が操作された期間と、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準操作期間との相違に基づいて、前記自動伴奏データ中の楽音の音長を制御する。
【0015】
より好ましい実施態様においては、前記制御手段が、前記演奏操作子が操作された期間と前記基準操作期間との比を算出し、当該算出された比に基づいて、前記自動伴奏データ中の楽音の音長を制御する。
【0016】
さらに別の好ましい実施態様においては、前記演奏操作子が鍵盤であり、
前記自動伴奏パターンが、コード構成音を特定する情報を含み、
前記制御手段が、操作された鍵の白鍵/黒鍵の種別を判断し、黒鍵の数が多くなるのにしたがって、前記コード構成音を指定する情報から、三和音により複雑な音を付加したコード構成音を選択する。
【0017】
また、本発明の目的は、予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミングおよび音長を含む自動伴奏データを記憶する記憶手段と、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
前記演奏操作子が操作された期間と、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準操作期間との相違に基づいて、前記自動伴奏データ中の楽音の音長を制御する制御手段を備え、
前記楽音データ生成手段が、前記発音タイミングで、前記制御手段により音長が制御された自動伴奏パターンの楽音の楽音データを生成することを特徴とする電子楽器により達成される。
【0018】
さらに、本発明の目的は、予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミングを含む自動伴奏データを記憶する記憶手段と、
鍵盤の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
操作された鍵の白鍵/黒鍵の種別を判断し、黒鍵の数が多くなるのにしたがって、前記コード構成音を指定する情報から、三和音により複雑な音を付加したコード構成音を選択する制御手段を備え、
前記楽音データ生成手段が、前記発音タイミングで、前記制御手段により選択されたコード構成音に基づいた楽音の楽音データを生成することを特徴とする電子楽器により達成される。
【0019】
また、本発明の目的は、予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミング、を含む自動伴奏データを記憶する記憶手段を備えたコンピュータに、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成ステップと、
前記演奏操作子の操作タイミングと、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準タイミングとの時間差を算出して、前記時間差に基づいて、前記自動伴奏データ中の楽音の前記発音タイミングを制御する制御ステップとを実行させ、
前記制御ステップが、前記操作タイミングが前記基準タイミングより早い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを遅くするステップを含み、
前記楽音データ生成ステップにおいて、前記制御ステップにおいて発音タイミングが制御された自動伴奏パターンの楽音の楽音データが生成されることを特徴とする電子楽器のプログラムにより達成される。
【発明の効果】
【0020】
本発明によれば、コードやリズムに関する知識がない演奏者であっても、適切な自動伴奏を演奏することができる電子楽器を提供することが可能となる。
【発明を実施するための最良の形態】
【0021】
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本実施の形態にかかる電子楽器の外観を示す図である。図1に示すように、本実施の形態にかかる電子楽器10は、鍵盤11を有する。また、鍵盤11の上部には、音色の指定、自動伴奏の開始・終了、リズムパターンの指定などを行なうためのスイッチ(符号12、13参照)や、演奏される楽曲に関する種々の情報、たとえば、音色、リズムパターン、コードネームなどを表示する表示部15を有する。本実施の形態にかかる電子楽器10は、たとえば、61個の鍵(C2〜C7)を有する。また、電子楽器10は、自動伴奏をオンする自動伴奏モード、および、自動伴奏をオフにする通常モードの2つの演奏モードのうち、何れかの下での演奏が可能である。自動伴奏モードの下では、C2〜F3の18鍵(符号101参照)が、伴奏用の鍵盤として使用され、F#4〜C7の43鍵(符号102参照)がメロディ用の鍵盤として使用される。符号101で示す鍵域を伴奏鍵域とも称し、符号102で示す鍵域をメロディ鍵域とも称する。
【0022】
図2は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。図2に示すように、本実施の形態にかかる電子楽器10は、CPU21、ROM22、RAM23、サウンドシステム24、スイッチ群25、鍵盤11および表示部15を備える。
【0023】
CPU21は、電子楽器10全体の制御、鍵盤11の鍵の押鍵やスイッチ群25を構成するスイッチ(たとえば、図1の符号12、13参照)の操作の検出、鍵やスイッチの操作にしたがったサウンドシステム24の制御、自動伴奏パターンにしたがった自動伴奏の演奏など、種々の処理を実行する。
【0024】
ROM22は、CPU21に実行させる種々の処理、たとえば、スイッチの操作、鍵盤の何れかの鍵の押鍵、押鍵に応じた楽音の発音、自動伴奏パターンを構成する楽音の発音データなどのプログラムを記憶する。また、ROM22は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリア、および、種々の自動伴奏パターンを示すデータ(自動伴奏データ)を格納した自動伴奏パターンエリアを有する。RAM23は、ROM22から読み出されたプログラムや、処理の過程で生じたデータを記憶する。なお、本実施の形態において、自動伴奏パターンは、メロディ音およびオブリガート音を含むメロディ自動伴奏パターン、コード音を含むコード自動伴奏パターン、並びに、ドラム音を含むリズムパターンを有する。たとえば、メロディ自動伴奏パターンのデータのレコードは、楽音の音色、音高、発音タイミング(発音時刻)、音長などを含む。コード自動伴奏パターンのデータのレコードは、上記情報に加えて、コード構成音を示すデータを含む。また、リズムパターンのデータは、楽音の音色、発音タイミングを含む。
【0025】
サウンドシステム24は、音源部26、オーディオ回路27およびスピーカ28を有する。音源部26は、たとえば、押鍵された鍵についての情報或いは自動伴奏パターンについての情報をCPU21から受信すると、ROM22の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部26は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音データとして出力することもできる。オーディオ回路27は、楽音データをD/A変換して増幅する。これによりスピーカ28から音響信号が出力される。
【0026】
本実施の形態にかかる電子楽器10は、通常モードの下においては、鍵盤11の鍵の押鍵に基づいて楽音を発生する。その一方、電子楽器10は、自動伴奏スイッチ(図示せず)が操作されることにより、自動伴奏モードとなる。自動伴奏モードの下では、メロディ鍵域の鍵の押鍵により、その鍵の音高の楽音が発生する。また、伴奏鍵域の鍵の押鍵にしたがって自動伴奏パターンが制御され、制御された自動伴奏パターンにしたがった楽音が発生する。なお、自動伴奏パターンは、ピアノやギターなど音高の変化を伴うメロディ自動伴奏パターン、コード自動伴奏パターンと、バスドラム、スネアドラム、シンバルなど音高の変化を伴わないリズムパターンとを含む。
【0027】
本実施の形態においては、伴奏鍵域の鍵の押鍵タイミングにしたがって、自動伴奏パターン、特に、コード自動伴奏パターンの発音タイミングが制御される。また、伴奏鍵域の押鍵が無い場合には、メロディ自動伴奏パターンおよびコード自動伴奏パターンの発音が停止され、リズムパターンのみの発音となる。
【0028】
図3は、本実施の形態にかかる伴奏鍵域の押鍵と、自動伴奏パターンの制御との関係を概略的に示すタイミングチャート、図4は、自動伴奏パターンのデータ中、コード伴奏データの例を概略的に説明する図、図5は、図4の自動伴奏パターンに対応する楽譜を示す図である。
【0029】
図3において、符号300は、想定操作を示す。演奏者が、想定操作300と同一音タイミングで押鍵および離鍵を行なうと、コード伴奏データ初期値(符号320参照)と同一のタイミングで、コード自動伴奏パターンが発音される。すなわち、想定操作は、演奏者がコード伴奏データ初期値と同一のコード自動伴奏パターンを演奏するときの操作を想定している。また、この想定操作における押鍵時間(符合351参照)は、想定音長値として、後述する図15の処理において利用される。
【0030】
図3では、コード自動伴奏データ初期値を、例示的に、1拍を2分割したパルスとして表している。楽曲が4/4拍子と考えた場合に、コード自動伴奏データ初期値におけるパルスの立ち上がりおよび立下りが、それぞれ、16分音符の先頭位置を示す。
【0031】
演奏者による実際の操作が符号310に示すようなものであったと考える。たとえば、1拍目の演奏者の押鍵のタイミング(符号311)は、想定操作より早くなっている。この場合には、本実施の形態にかかるCPU21は、コード自動伴奏データの読み出し時刻を早めるような処理を実行する(符号310参照)。したがって、制御されたコード自動伴奏データは、コード自動伴奏データ初期値よりも発音タイミングが早められたものとなる(符号331参照)。
【0032】
その一方、2拍目の演奏者の押鍵タイミング(符号312参照)は、想定操作より遅くなっている。この場合には、CPU21は、コード自動伴奏データの読み出し時刻を遅くするような処理を実行する(符号322参照)。したがって、制御されたコード自動伴奏データは、コード自動伴奏データ初期値よりも発音タイミングが早められたものとなる(符号332参照)。なお、演奏者による実際の押鍵タイミングが変化する場合であっても、ドラムパターン(符号340参照)およびメロディ自動伴奏パターン(図3においては図示せず)は変化しない。
【0033】
また、本実施の形態においては、ユーザが伴奏鍵域の鍵を、所定の期間だけ押鍵しないことにより(符号313参照)、自動伴奏パターンの発音、より詳細には、メロディ自動伴奏パターンおよびコード自動伴奏パターンの楽音の発音が停止され、リズムパターンのみが発音される(符号323、333参照)。
【0034】
さらに、本実施の形態においては、押鍵タイミングが相対操作における押鍵タイミングより早いか、遅いかだけではなく、押鍵されている時間長が、想定操作における時間長よりも長いか短いかによっても、コード音自動伴奏データを制御できるようになっている。たとえば、5拍目(第2小節1拍目)の演奏者の押鍵の時間長(符号314参照)は、想定操作における押鍵の時間長よりも短い。この場合には、CPU21は、コード自動伴奏データにおいて、発音される楽音の音長を短くするような処理を実行する(符号324参照)。したがって、制御されたコード自動伴奏データにおいては、音長が、コード自動伴奏データ初期値に含まれる楽音の音長よりも短くなる(符号334参照)。
【0035】
また、6拍目(第2小節2拍目)の演奏者の押鍵の時間長は、想定操作における時間長よりも長い。この場合には、CPU21は、コード自動伴奏データにおいて、発音された楽音の音長を長くするような処理を実行する(符号325参照)。したがって、制御されたコード自動伴奏データにおいては、音長が、コード自動伴奏データ初期値に含まれる楽音の音長よりも長くなる(符号335参照)。
【0036】
上記例において、コード自動伴奏データの発音タイミングを早めること(符号331参照)により、いわゆる「前ノリ」の演奏を実現でき、或いは、コード自動伴奏データの発音タイミングを遅くすること(符号332参照)により、いわゆる「後ノリ」の演奏を実現できる。また、コード自動伴奏データを構成する楽音の音長を短くすること(符号334参照)により、いわゆる「タイト」な演奏を実現でき、或いは、楽音の音長を長くすること(符号335参照)により、いわゆる「ゆるやか」な演奏を実現することができる。
【0037】
図4に示すように、本実施の形態において、コード自動伴奏データは、ベース音、第1のコード構成音(ルート音)、第2のコード構成音(第3音)、第3のコード構成音(第5音)、第4のコード構成音(第7音、テンションノート等)を含む。実際には、伴奏データは、上記ベース音およびコード構成音のほか、発音開始時刻および音長などを含む。図4に示す例では、1拍目および2拍目は、コード名「C7」に基づく楽音となり、3拍目および4拍目は、コード名「F7」に基づく楽音となり、5拍目および6拍目(第2小節1拍目および2拍目)は、コード名「G7」に基づく楽音となり、7拍目および8拍目(第2小節3拍目および4拍目)は、コード名「C6」に基づく楽音となる。
【0038】
また、図4の例では、1拍目および2拍目では、最初に1.5拍(4/4拍子では符点4分音符)の音長、引き続いて、0.5拍(4/4拍子では8分音符)の音長でコード構成音が発音し、0.5拍(4/4拍では8分音符)の音長で、4つのベース音が順次発音する。3拍目および4拍目、並びに、5拍目および6拍目においても同様である。図4に示すコード自動伴奏データを5線譜上に表したものが、図5に示す楽譜である。
【0039】
以下、コード自動伴奏データの制御を含む、本実施の形態にかかる電子楽器10において実行される処理についてより詳細に説明する。図6(a)は、本実施の形態にかかる電子楽器において実行されるメインフローの例を示すフローチャートである。また、図6(b)は、本実施の形態にかかるタイマ割り込み処理の例を示す図である。
【0040】
タイマ割り込み処理においては、図6(a)に示すメインフローが実行されているときに、所定の時間間隔で、割込カウンタのカウンタ値がインクリメントされる(ステップ611)。
【0041】
図6(a)に示すように、電子楽器10のCPU21は、電子楽器10の電源が投入されると、RAM23中のデータや、表示部15の画像のクリアクリアを含むイニシャル処理(初期化処理)を実行する(ステップ601)。イニシャル処理(ステップ601)が終了すると、CPU21は、スイッチ群25を構成するスイッチのそれぞれの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行する(ステップ602)。
【0042】
たとえば、スイッチ処理(ステップ602)においては、音色指定スイッチや、自動伴奏パターンの種別の指定スイッチ、自動伴奏パターンのオン・オフの指定スイッチなど、種々のスイッチの操作が検出される。自動伴奏パターンがオンとなったときには、CPU21は、演奏モードを、伴奏モードに切り換える。演奏モードを示すデータは、RAM23の所定の領域に指定される。音色や自動伴奏パターンの種別を示すデータも、同様に、RAM23の所定の領域に格納される。
【0043】
次いで、CPU21は、鍵盤処理を実行する(ステップ603)。図7は、本実施の形態にかかる鍵盤処理の例をより詳細に示すフローチャートである。鍵盤処理において、CPU21は、鍵盤11の鍵を走査する。鍵の走査結果であるイベント(鍵オン或いはオフ)は、RAM23に一時的に記憶される。CPU21は、RAM23に記憶された鍵の走査結果を参照して、ある鍵についてイベントが有るか否かを判断する(ステップ702)。ステップ702でYesと判断された場合には、CPU11は、当該イベントが生じている鍵が、メロディ鍵域の鍵(メロディ鍵)であるか否かを判断する(ステップ703)。ステップ703でYesと判断された場合には、CPU21は、メロディ鍵処理を実行する(ステップ704)。
【0044】
図8は、本実施の形態にかかるメロディ鍵処理の例をより詳細に示すフローチャートである。図8に示すように、CPU21は、イベントが鍵オンであるか否かを判断する(ステップ801)。ステップ801でYesと判断された場合には、CPU21は、当該鍵オンがあった鍵について発音処理を実行する(ステップ802)。発音処理においては、CPU21は、RAM23に記憶されていたメロディ鍵用の音色データ、および、鍵の音高を示すデータを読み出してRAM23に一時的に記憶する。後述する音源発音処理(図6のステップ605)において、音色や音高を示すデータは音源部26に与えられる。音源部26は、音色および音高を示すデータにしたがって、ROM22の波形データを読み出して、所定の音高の楽音データを生成する。これにより、スピーカ28から所定の楽音が発生する。
【0045】
ステップ801でNoと判断された場合には、イベントが鍵オフであったことになる。したがって、CPU21は、鍵オフになった鍵についての消音処理を実行する(ステップ803)。消音処理においては、CPU21は、消音すべき楽音の音高を示すデータを生成し、RAM23に一時的に記憶する。この場合にも、後述する音源発音処理(ステップ605)において、消音すべき楽音の音色および音高を示すデータが、音源部26に与えられる。音源部26は、与えられたデータに基づいて、所定の楽音を消音する。
【0046】
ステップ703でNoと判断された場合には、CPU21は、自動伴奏パターンが演奏中か否かを判断する(ステップ705)。たとえば、ステップ705においては、CPU21は、自動伴奏パターンがオンとなっており演奏モードが伴奏モードであるか否かを判断する。ステップ705でNoと判断された場合には、CPU21は、メロディ鍵処理(ステップ704)を実行する。
【0047】
その一方、ステップ705でYesと判断された場合、つまり、自動伴奏パターンの演奏中であった場合には、CPU21は、伴奏鍵処理を実行する(ステップ706)。図9は、本実施の形態にかかる伴奏鍵処理の一例を示すフローチャートである。図9に示すように、伴奏鍵処理においては、CPU21は、まず、イベントが鍵オンであるか否かを判断する(ステップ901)。ステップ901でYesと判断された場合には、CPU21は、当該鍵の押鍵タイミングが、評価対象範囲であるかどうかを判断する(ステップ902)。評価対象範囲とは、想定操作における押鍵時間に、前後所定の時間を加えた所定の時間範囲である。図3において、想定操作において、1拍目の押鍵時間を符号351で示す。この押鍵時間351の前後に所定の時間を加えた時間範囲(符号350参照)が、評価対象範囲となる。
【0048】
ステップ902でYesと判断された場合には、CPU21は、タイマをスタートさせて音長カウントを開始する(ステップ903)。なお、本実施の形態においては、複数の押鍵が考えられるが、ステップ902でYesと判断されるのは、評価対象範囲での最初の押鍵についてである。次いで、CPU21は、想定操作における押鍵時刻と、実際の押鍵時刻との間のズレを算出して、タイミング評価値として、RAM23に一時的に記憶する(ステップ904)。たとえば、図3において、1拍目の鍵オンについて考える。想定操作における押鍵時刻は、符号351に示す押鍵時間における立ち上がり時刻である。そこで、「(立ち上がり時刻)−(実際の押鍵時刻)」を算出すればよい。このタイミング評価値は、後述するコード自動伴奏パターン演奏の際に、楽音の発音タイミングの制御に利用される。
【0049】
その後、CPU21は、RAM23に一時的に記憶された、押鍵された鍵数を示す押鍵数カウント値をインクリメントする(ステップ905)。押鍵数カウント値は、後述するコード自動伴奏パターン演奏の際に、コード種別を決定するために利用される。なお、ステップ902でNoと判断された場合にも、ステップ905の押鍵数カウント値のインクリメントは実行される。
【0050】
次いで、CPU21は、押鍵数カウント値を参照して、押鍵数が4以上であるか否かを判断する(ステップ906)。本実施の形態において、コード自動伴奏パターンにおけるコード種別を決定するために押鍵数の最高数が4であるため、4以上となった段階(ステップ906でYes)で、CPU21は、押鍵されている鍵のそれぞれの音高を参照して、白鍵と黒鍵との比率を示す白鍵黒鍵比率評価値を算出する(ステップ907)。白鍵黒鍵比率評価値は、たとえば、「黒鍵の押鍵数/白鍵の押鍵数」であっても良いし、「黒鍵の押鍵数/(黒鍵+白鍵)の押鍵数」であっても良い。算出された白鍵黒鍵比率評価値は、RAM23に一時的に記憶される。
【0051】
このように、伴奏鍵域の鍵のオンによってタイマが起動されるとともに、タイミング評価値、押鍵数カウント値、白鍵黒鍵比率表値が得られ、RAM23に一時的に記憶される。
【0052】
ステップ901でNoと判断された場合、つまり、鍵オフ(離鍵)と判断された場合には、CPU21は、当該鍵の離鍵タイミングが、評価対象範囲であるかどうかを判断する(ステップ908)。評価対象範囲は、前述したステップ902におけるものと同様である。ステップ908でYesと判断された場合には、CPU21は、タイマを停止して、音長カウントを終了する(ステップ909)。CPU21は、タイマの値を、操作音長値として、RAM23に一時的に記憶する。
【0053】
次いで、CPU21は、RAM23に一時的に記憶された押鍵数カウント値をデクリメントする(ステップ910)。また、CPU21は、押鍵数カウント値を参照して、押鍵数が4以上であるか否かを判断する(ステップ911)。ステップ911でYesと判断された場合には、CPU21は、押鍵されている鍵のそれぞれの音高を参照して、白鍵と黒鍵との比率を示す白鍵黒鍵比率評価値を算出する(ステップ912)。
【0054】
鍵盤処理(図6のステップ603)が終了すると、CPU21は、ソング伴奏処理を実行する(ステップ604)。図10は、本実施の形態にかかるソング伴奏処理の例を示す図である。図10に示すように、CPU21は、自動伴奏パターンが演奏中か否かを判断する(ステップ1001)。ステップ1001でYesと判断された場合には、CPU21は、自動伴奏パターンを構成する楽音(自動伴奏におけるメロディ音、オブリガート音、コード音(和音による伴奏音)、リズム音)を生成する。自動伴奏データには、上述したように概略的には4つの種類の楽音、すなわち、メロディ音、オブリガート音、コード音、リズム音のデータが含まれる。メロディ音およびオブリガート音によってメロディ自動伴奏パターンが構成され、コード音によってコード自動伴奏パターンが構成される。また、リズム音によってリズムパターンが構成される。
【0055】
この楽音の生成には、概略的には、以下の4つの処理、割込カウンタ値を参照して、自動伴奏パターンの経過時間を管理するための処理が実行される基準時間処理(ステップ1010)、コード音についての経過時間(伴奏経過時間)を管理する処理が実行される伴奏時間処理(ステップ1011)、ステップ1010で生成される基準時間に基づいて楽音を生成する基準経過時間によるイベント処理(ステップ1012)、および、ステップ1011で生成される伴奏経過時間に基づいて楽音を生成する伴奏経過時間によるイベント処理(ステップ1013)が含まれる。
【0056】
基準時間処理(ステップ1010)においては、CPU21は、基準時間カウント処理(ステップ1002)および拍先頭処理(ステップ1003)を実行する。
【0057】
図11(a)は、本実施の形態にかかる基準時間カウント処理の例を示すフローチャート、図11(b)は、拍先頭処理の例を示すフローチャートである。基準時間カウント処理においては、CPU21は、割込カウンタのカウンタ値を取得する(ステップ1101)。次いで、CPU21は、予めRAM23の所定の領域に格納されていた伴奏経過時間に、取得したカウンタ値を加算して、基準経過時間を更新する(ステップ1102)。更新された基準経過時間は、RAM23の所定の領域に格納される。
【0058】
次いで、CPU21は、RAM23の所定の領域に格納されていた拍内カウント値に、拍内カウント値は、1拍の間における時間的な位置を示す値である。取得したカウンタ値を加算して、拍内カウント値を更新する(ステップ1103)。更新された拍内カウント値も、RAM23の所定の領域に格納される。その後、次回の基準時間カウント処理で使用するために、CPU21は、割込カウンタのカウンタ値をクリアする(ステップ1104)。
【0059】
また、拍先頭処理においては、CPU21は、拍内カウント値を参照して、処理時が、拍の先頭に相当するか否かを判断する(ステップ1111)。ステップ1111でYesと判断された場合には、CPU21は、過去1拍以上にわたって押鍵が無いか否かを判断する(ステップ1112)。ステップ1112でYesと判断された場合には、CPU21は、コード音停止処理を実行する(ステップ1113)。コード音停止処理(ステップ1113)においては、CPU21は、所定の期間(たとえば1小節)だけ、メロディ音、オブリガート音およびコード音の発音を停止する。すなわち、メロディ音、オブリガート音およびコード音のそれぞれに対応する音色および音高の楽音データの発音を、音源部26に対して指示しない。
【0060】
図3において、ユーザが伴奏鍵域の鍵を、所定の期間だけ押鍵しないことにより(符号313参照)、自動伴奏パターンのうちメロディ音、オブリガート音を含むメロディ自動伴奏パターン、および、コード音を含むコード自動伴奏パターンの発音が停止され、リズムパターンのみが発音されている(符号323、333参照)。これは、拍先頭処理のステップ1111〜1113が実行された結果である。
【0061】
次に、ステップ1011の伴奏経過時間処理について説明する。 伴奏経過時間処理には、伴奏経過時間カウント処理(ステップ1003)が含まれる。図12は、本実施の形態にかかる経過時間カウント処理の例を示すフローチャートである。図12に示すように、CPU21は、RAM23に格納された基準経過時間を取得する(ステップ1201)。次いで、CPU21は、RAM23に格納されたタイミング評価値を取得する(ステップ1202)。CPU21は、タイミング評価値を伴奏経過時間に反映させる(ステップ1203)。ステップ1203においては、基準経過時間に、タイミング評価値を加算することで、コード自動伴奏パターンにおけるコード音の発音タイミングを規定する伴奏経過時間を得る。
【0062】
図16において、想定操作および基準経過時間を、それぞれ符号1601、1602で示す。なお、基準経過時間において、n、n+1、・・・は、基準経過時間に基づく内部時刻を示す。
【0063】
いわゆる前ノリによって、想定操作における押鍵タイミングよりも早い時刻に押鍵がされていた場合には、タイミング評価値d1(d1<0)を考慮して、伴奏経過時間=(基準経過時間−d1)となり、伴奏経過時間に基づく内部時刻は、基準経過時間に基づく内部時刻よりも、前倒しとなる(符号1611参照)。
【0064】
その一方、いわゆる後ノリによって想定操作における押鍵タイミングよりも遅い時刻に押鍵がされていた場合には、タイミング評価値d2(d2>0)を考慮して、伴奏経過時間=(基準経過時間−d2)となり、伴奏経過時間に基づく内部時刻は、基準経過時間に基づく内部時刻よりも、遅いものとなる(符号1621参照)。
【0065】
次に、ステップ1012の基準経過時間によるイベント処理について説明する。基準経過時間によるイベント処理には、メロディ処理(ステップ1005)およびリズム処理(ステップ(ステップ1006)が含まれる。図13(a)は、本実施の形態にかかるメロディ処理の例を示すフローチャート、図13(b)は、リズム処理の例を示すフローチャートである。
【0066】
図13(a)に示すように、メロディ処理において、CPU21は、RAM23に記憶された基準経過時間を参照する(ステップ1301)。次いで、CPU21は、メロディ自動伴奏パターンを構成するメロディ音およびオブリガート音について、メロディ自動伴奏パターンのデータを参照して、次のイベントを処理すべき時間(ソング時間Δt)が経過しているか否かを判断する(ステップ1302)。
【0067】
ステップ1302でYesと判断された場合には、CPU21は、メロディ自動伴奏パターンのデータから、メロディ音について次のイベントに相当するレコード、および、オブリガート音についての次のイベントに相当するレコードを読み出して(ステップ1303)、当該レコード中の音色、音高および音長を示すデータをRAM23に一時的に記憶する(ステップ1304)。後述するように、音源発音処理(図6のステップ605)において、ステップ1304において一時的に記憶されたメロディ音およびオブリガート音の音色、音高および音長を示すデータは、音源部26に与えられる。
【0068】
なお、同一時刻で複数の楽音を生成すべき場合があるため、ステップ1304の後、再度ステップ1301に戻り、ステップ1302でNoと判断されるまで処理が繰り返される。
【0069】
図13(b)に示すように、リズム処理において、CPU21は、RAM23に記憶された基準経過時間を参照する(ステップ1311)。次いで、CPU21は、リズムパターンを構成するリズム音について、リズムパターンのデータを参照して、次のイベントを処理すべき時間(リズム時間Δt)が経過しているか否かを判断する(ステップ1312)。
【0070】
ステップ1312でYesと判断された場合には、CPU21は、リズムパターンのデータから、リズム音について次のイベントに相当するレコードを読み出して(ステップ1313)、当該リズム音の音色を示すデータをRAM23に一時的に記憶する(ステップ1314)。後述するように、音源発音処理(ステップ605)において、ステップ1314において一時的に記憶された、リズム音の音色を示すデータが音源部26に与えられる。
【0071】
なお、同一時刻で複数の楽音(リズム音)を生成すべき場合があるため、ステップ1404の後、再度ステップ1311に戻り、ステップ1312でNoと判断されるまで処理が繰り返される。
【0072】
次に、ステップ1012の伴奏経過時間によるイベント処理について説明する。伴奏経過時間によるイベント処理には、コード音伴奏処理(ステップ1007)が含まれる。図14は、本実施の形態にかかるコード音伴奏処理の例を示すフローチャートである。図14に示すように、コード音伴奏処理においては、CPU21は、CPU21は、RAM23に記憶された伴奏経過時間を参照する(ステップ1401)。次いで、CPU21は、コード音について、コード自動伴奏パターンのデータを参照して、次のイベントを処理すべき時間(伴奏時間Δt)が経過しているか否かを判断する(ステップ1402)。メロディ処理(図13(a))およびリズム処理(図13(b))においては、基準経過時間が参照されているが、コード音伴奏処理においては、伴奏経過時間が参照される。伴奏経過時間は、図12および図16を参照して説明したように、伴奏経過時間は、想定操作における押鍵タイミングと実際の押鍵のタイミングとの差異であるタイミング評価値が反映された伴奏経過時間である。
【0073】
ステップ1402でYesと判断された場合には、CPU21は、コード自動伴奏パターンのデータから、コード音について次のイベントに相当するレコードを読み出す(ステップ1403)。また、コード音伴奏処理では、演奏者による実際の押鍵における音長や押鍵数にしたがって、音長やコード名を変更するため、CPU21は、操作反映処理を実行する(ステップ1404)。図15は、本実施の形態にかかる操作反映処理の例を示すフローチャートである。
【0074】
図15に示すように、操作反映処理において、CPU21は、ステップ909で得られてRAM23に記憶された操作音長値を参照して、発音すべきコード音の音長に反映させる処理を実行する(ステップ1501)。コード音の音長は以下のように算出される。
【0075】
音長=(操作音長値/想定操作における想定音長値)*コード音伴奏データ初期値にて示される音長
ここに、想定操作における想定音長値は、図3に示す想定操作における押鍵時間に相当する。
【0076】
また、休符の長さは、次のコード音の発音タイミングまでのステップ時間から、算出された音長を減じた値となる。図17は、操作反映処理において得られたコード音の再生音長を説明する図である。伴奏例1では、音符の音長t2は、コード音伴奏データ初期値にて示される音長t1の半分であり、これは、(操作音長値/想定操作における想定音長値)=0.5であった場合である。また、伴奏例2では、音符の音長t3は、コード音伴奏データ初期値にて示される音長t1の1.5倍であり、これは、操作音長値/想定操作における想定音長値)=1.5であった場合である。
【0077】
次いで、CPU21は、押鍵数カウント値を参照して、押鍵数にしたがって、発音すべきコード構成音を決定する(ステップ1502)。図18は、本実施の形態にかかる押鍵数反映処理の例を示すフローチャートである。図18に示すように、CPU12は、RAM23に記憶された押鍵数カウント値を取得して参照する(ステップ1801)。前述したように、本実施の形態において、コード自動伴奏パターンのデータは、ベース音、第1のコード構成音(ルート音)、第2のコード構成音(第3音)、第3のコード構成音(第5音)、第4のコード構成音(第7音、テンションノート等)を含む(図19の符号1900参照)。特に、第4のコード構成音(図19の符号1910)は、第6音、第7音、第9音などを含む3和音以外のコード構成音(便宜上、「テンション付加コード構成音」と称する:符号1904)、或いは、ルート音のオクターブ音に相当する楽音を付加したコード構成音(便宜上、「テンション非付加コード構成音」と称する:符号1905)のいずれかが選択されるようになっている。
【0078】
押鍵数カウント値が「1」である場合には、CPU21は、発音すべきコード構成音が、ベース音だけであること(図19の符号1901参照)を示すコード音制御情報を生成して、RAM23に一時的に記憶する(ステップ1802)。押鍵数カウント値が「2」である場合には、CPU21は、発音すべきコード構成音が、ベース音、第1のコード構成音(ルート)および第2のコード構成音(第5音)を含むこと(符号1902参照)を示すコード音制御情報を生成して、RAM23に一時的に記憶する(ステップ1803)。
【0079】
また、押鍵数カウント値が「3」である場合には、CPU21は、コード構成音が、ベース音、第1のコード構成音、第2のコード構成音および第3のコード構成音を含むこと、つまり、ベース音および3和音であること(符号1903参照)を示すコード音制御情報を生成して、RAM23に一時的に記憶する(ステップ1804)。さらに、押鍵数カウント値が「4」以上である場合には、コード構成音が、ベース音、第1のコード構成音、第2のコード構成音、第3のコード構成音および第4のコード構成音を含むことを示すコード音制御情報を生成して、RAM23に記憶する(ステップ1805)。
【0080】
押鍵数判断処理(ステップ1502)が終了すると、CPU21は、押鍵数カウント値が4以上であるか否かを判断する(ステップ1503)。ステップ1503でYesと判断された場合には、CPUは、和音反映処理を実行する(ステップ1504)。本実施の形態にかかる和音反映処理において、CPU21は、RAM23に記憶された白鍵黒鍵比率評価値を参照して、押鍵された鍵に黒鍵が含まれる場合には、第4のコード構成音として、第7音やテンションノート等を含むテンション付加コード構成音を選択する(図9の符号1904参照)。その一方、押鍵された鍵に黒鍵が含まれない場合には、CPU21は、第4のコード構成音として、テンションコード非付加コード構成音を選択する(図9の符号1905参照)。選択されたコード音制御情報は、RAM23に一時的に記憶される。
【0081】
その後、CPU21は、コード音の音色、決定されたコード構成音に基づいて、コード音を構成する楽音のそれぞれの音高、音長を示すデータをRAM23に一時的に記憶する(ステップ1405)。後述するように、音源発音処理(図6のステップ605)において、ステップ1404において一時的に記憶された音色、音高および音長を示すデータは、音源部26に与えられる。
【0082】
なお、コード音伴奏処理では、同一時刻で複数の楽音(和音)を生成すべきであるため、ステップ1404の後、再度ステップ1401に戻り、ステップ1402でNoと判断されるまで処理が繰り返される。
【0083】
ソング伴奏処理(図6のステップ604)が終了すると、CPU21は、音源発音処理を実行する(ステップ605)。音源発音処理において、CPU21は、たとえば、メロディ鍵処理(図7のステップ704)で生成された、発音すべき楽音の音色および音高を示すデータを音源部26に与え、或いは、消音すべき楽音の音色および音高を示すデータを音源部26に与える。また、CPU21は、ソング伴奏処理(図10)において生成された、メロディ音やオブリガート音の音色、音高および音長を示すデータを、音源部26に与えるとともに、リズム音の音色を示すデータを、音源部26に与える。さらに、CPU21は、コード音の音色、コード構成音それぞれの音高および音長を含むデータを、音源部26に与える。
【0084】
音源部26は、音色、音高、音長等を示すデータにしたがって、ROM22の波形データを読み出して、所定の楽音データを生成する。これにより、スピーカ28から所定の楽音が発生する。
【0085】
音源発音処理(ステップ605)が終了すると、CPU21は、その他の処理(たとえば、表示部15への画像表示など:ステップ606)を実行して、ステップ602に戻る。
【0086】
本実施の形態によれば、CPU21は、予め定められた想定操作の押鍵タイミングと、実際の鍵盤の押鍵タイミングとの時間差に基づいて、自動伴奏データにおけるコード自動伴奏データの発音タイミングを制御する。これにより、演奏者の押鍵タイミングにしたがって、いわゆる前ノリ或いは後ノリの伴奏を実現することができる。演奏者がリズムパターンについての知識がなくても、押鍵タイミングのみによって、コード自動伴奏データのパターンを時間軸方向に移動することで変化させることが可能となる。
【0087】
また、本実施の形態によれば、押鍵タイミングについて、想定操作における押鍵タイミングから一定範囲である場合に、CPU21が時間差を算出し、その時間差の分だけ、コード自動伴奏データの楽音の発音タイミングを早め或いは遅くしている。これにより、演奏者は直感的かつ容易に自動伴奏パターンの変化を把握することが可能となる。
【0088】
たとえば、想定操作における押鍵タイミングは拍の先頭である。リズムについての知識の無い演奏者であっても、拍の先頭は容易に理解できるため、拍の先頭を基準にすることで、演奏者は簡単に自動伴奏パターンを所望のように変化させることができる。
【0089】
また、本実施の形態においては、一定の期間だけ押鍵が無い場合には、コード伴奏パターンの発音を停止する。これにより、単に押鍵を中断するだけで、コード音の発音を停止することができる。
【0090】
たとえば、CPU21は、拍の先頭において、それ以前に1拍に対応する時間だけ鍵盤の操作がなかった場合に、コード自動伴奏パターンに基づく楽音の生成を停止する。拍を単位としてコード自動伴奏パターンに基づく楽音の生成の停止を判断するため、演奏者は難しい操作なくかつ直感的に所望のタイミングでのコード伴奏パターンの停止を指示することが可能となる。
【0091】
また、本実施の形態においては、CPU21は、演奏者による実際の押鍵時間と、想定操作における押鍵時間との相違に基づいて、コード自動伴奏データの楽音の音長を制御する。これにより、演奏者は、リズムパターンについての知識を有していなくても、直感的に、押鍵時間を長くする或いは短くするという簡単な行為だけで、コード伴奏データのパターンを所望のように変更することが可能となる。
【0092】
たとえば、CPU21は、演奏者による実際の押鍵時間と、想定操作における押鍵時間との比に基づいて、コード自動伴奏データの楽音の音長を制御する。これにより、コード自動伴奏データの楽音に、演奏者による実際の押鍵時間を適切に反映させることが可能となる。
【0093】
また、本実施の形態にいては、CPU21は、押鍵された白鍵の数および黒鍵の数に基づいて、押鍵された鍵に黒鍵が含まれる場合には、三和音よりも複雑な音、たとえば、テンションノートを付加したテンション付加コード構成音を選択する。したがって、演奏者にコードについて知識が無い場合にも、単に黒鍵を押鍵することで、より複雑なコード名を有する楽音の発音が可能となる。
【0094】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【0095】
たとえば、前記実施の形態においては、自動伴奏モードにおいて、伴奏鍵域における実際の押鍵タイミング、および、押鍵時間によって、自動伴奏パターンのうち、コード自動伴奏パターンの発音タイミングおよび発音時間(音長)を制御しているが、これに限定されるものではなく、メロディ自動伴奏パターンのメロディ音やオブリガート音の発音タイミングや音長を制御しても良い。
【0096】
また、前記実施の形態においては、想定操作における押鍵タイミングは拍の先頭であり、実際の押鍵タイミングと想定操作における押鍵タイミングとの比較や、押鍵時間の比較は拍ごとに行なわれるが、これに限定されるものではなく、複数拍(たとえば、2拍)ごと、あるいは、小節ごとであっても良い。
【0097】
さらに、前記実施の形態においては、押鍵数カウント値が「4」以上であって、かつ、押鍵された鍵に黒鍵が含まれる場合には、CPU21は、第4のコード構成音として、第7音やテンションノート等を含むテンション付加コード構成音、つまり、より複雑なコードネームとなるコード構成音を選択している。しかしながら、これに限定されるものではなく、黒鍵および白鍵の割合に基づいて、押鍵された鍵のうち、黒鍵の割合が、白鍵の割合以上であれば、テンション付加構成音を選択しても良い。
【図面の簡単な説明】
【0098】
【図1】図1は、本実施の形態にかかる電子楽器の外観を示す図である。
【図2】図2は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。
【図3】図3は、本実施の形態にかかる電子楽器10にて実行される処理を示すフローチャートである。
【図4】図4は、自動伴奏パターンのデータ(伴奏データ)の例を説明する図である。
【図5】図5は、図4の自動伴奏パターンに対応する楽譜を示す図である。
【図6】図6(a)は、本実施の形態にかかる電子楽器10において実行されるメインフローの例を示すフローチャート、図6(b)は、本実施の形態にかかるタイマ割り込み処理の霊を示す図である。
【図7】図7は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。
【図8】図8は、本実施の形態にかかるメロディ鍵処理の例を示すフローチャートである。
【図9】図9は、本実施の形態にかかる伴奏鍵処理の一例を示すフローチャートである。
【図10】図10は、本実施の形態にかかるソング伴奏処理の例を示す図である。
【図11】図11(a)は、本実施の形態にかかる基準時間カウント処理の例を示すフローチャート、図11(b)は、拍先頭処理の例を示すフローチャートである。
【図12】図12は、本実施の形態にかかる経過時間カウント処理の例を示すフローチャートである。
【図13】図13(a)は、本実施の形態にかかるメロディ処理の例を示すフローチャート、図13(b)は、リズム処理の例を示すフローチャートである。
【図14】図14は、本実施の形態にかかるコード音伴奏処理の例を示すフローチャートである。
【図15】図15は、本実施の形態にかかる操作反映処理の例を示すフローチャートである。
【図16】図16は、本実施の形態における基準経過時間および伴奏経過時間を説明する図である。
【図17】図17は、操作反映処理において得られたコード音の再生音長を説明する図である。
【図18】図18は、本実施の形態にかかる押鍵数反映処理の例を示すフローチャートである。
【図19】図19は、本実施の形態にかかるコード音におけるコード構成音を説明する図である。
【符号の説明】
【0099】
10 電子楽器
11 鍵盤
12、13 スイッチ
15 表示部
21 CPU
22 ROM
23 RAM
24 サウンドシステム
25 スイッチ群
26 音源部
27 オーディオ回路
28 スピーカ
【技術分野】
【0001】
本発明は、自動伴奏パターンの演奏が可能な電子楽器に関する。
【背景技術】
【0002】
電子楽器においては、いわゆる「自動伴奏」という機能が良く知られている。自動伴奏においては、一般的に、ユーザの鍵操作によって指定されたコードの構成音に相当する楽音が、自動伴奏パターンが示す伴奏シーケンスにしたがって発音される。また、自動伴奏パターンには、単一或いは複数の楽音によるメロディ音、メロディ音の対旋律などを構成するオブリガート音、および、リズム音も含まれ得る。
【0003】
自動伴奏の機能を用いることによって、一人の演奏者でも、コード音やリズム音を含む豊富な楽音の演奏が実現できる。その一方、コードの知識の無い演奏者は、この機能を有効に利用できないという問題点があった。
【0004】
演奏者によるコード指定を簡易化するために、たとえば、特許文献1においては、押鍵数が基準値を超えるごとに、複数の自動伴奏パターンを所定の順序で順次切り換えて読み出し、自動伴奏パターンが、押鍵数に応じて変化する電子楽器が提案されている。
【0005】
また、特許文献2においては、演奏者の押鍵を、コード構成音に変換して、当該コード構成音を含む自動伴奏を演奏する電子楽器が提案されている。この電子楽器においては、曲データを利用することで、音階の指定を自動化しており、演奏者がコードの知識を有していなくても、表現を加えた自動伴奏を演奏することが可能となる。
【特許文献1】特開平4−242297号公報
【特許文献2】特開2004−177893号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
たとえば、特許文献1に開示された技術では、複数のコードパターンが切り換えられるため、演奏形態の変化が画一的になってしまう可能性がある。
【0007】
また、特許文献2に開示された技術では、押鍵タイミングや押鍵数を適切に与えない場合には、適切な自動伴奏の演奏ができない可能性がある。すなわち、演奏者はコードの知識を必要としないが、リズムについての一定のセンスや知識を必要とする。
【0008】
本発明は、コードやリズムに関する知識がない演奏者であっても、適切な自動伴奏を演奏することができる電子楽器を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の目的は、予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミング、を含む自動伴奏データを記憶する記憶手段と、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
前記演奏操作子の操作タイミングと、前記自動伴奏データについて予め設定された基準タイミングとの時間差を算出して、前記時間差に基づいて、前記自動伴奏データ中の楽音の前記発音タイミングを制御する制御手段を備え、
前記制御手段が、前記操作タイミングが前記基準タイミングより早い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを遅くして、
前記楽音データ生成手段が、前記制御手段により発音タイミングが制御された自動伴奏パターンの楽音の楽音データを生成することを特徴とする電子楽器により達成される。
【0010】
好ましい実施態様においては、前記制御手段が、前記演算操作子の操作タイミングが、前記基準タイミングから所定の範囲内である評価対象期間であるか否かを判断し、前記評価対象期間での操作であるときに、前記操作タイミングと基準タイミングとの時間差を算出し、
前記操作タイミングが前記基準タイミングより早い場合には、前記時間差の分だけ、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差の分だけ、前記自動伴奏パターンの発音タイミングを遅くすることを特徴とする請求項1に記載の電子楽器。
【0011】
また、好ましい実施態様においては、前記基準タイミングが、前記自動伴奏パターンにおける拍の先頭に対応し、
前記制御手段が、前記自動伴奏パターンにおいて、拍ごとに前記操作タイミングと前記基準タイミングとの時間差を算出する。
【0012】
別の好ましい実施態様においては、前記制御手段が、予め定められたタイミングにおいて、一定の期間だけ前記演奏操作子の操作がなかった場合に、前記自動伴奏パターンに基づく楽音の生成を停止する。
【0013】
より好ましい実施態様においては、前記制御手段が、前記自動伴奏パターンにおける拍の先頭において、それ以前に1拍に対応する時間だけ前記演奏操作子の操作がなかった場合に、前記自動伴奏パターンに基づく楽音の生成を停止する。
【0014】
また、好ましい実施態様においては、前記自動伴奏パターンが、前記発音すべき楽音の音長を含み、
前記制御手段が、前記演奏操作子が操作された期間と、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準操作期間との相違に基づいて、前記自動伴奏データ中の楽音の音長を制御する。
【0015】
より好ましい実施態様においては、前記制御手段が、前記演奏操作子が操作された期間と前記基準操作期間との比を算出し、当該算出された比に基づいて、前記自動伴奏データ中の楽音の音長を制御する。
【0016】
さらに別の好ましい実施態様においては、前記演奏操作子が鍵盤であり、
前記自動伴奏パターンが、コード構成音を特定する情報を含み、
前記制御手段が、操作された鍵の白鍵/黒鍵の種別を判断し、黒鍵の数が多くなるのにしたがって、前記コード構成音を指定する情報から、三和音により複雑な音を付加したコード構成音を選択する。
【0017】
また、本発明の目的は、予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミングおよび音長を含む自動伴奏データを記憶する記憶手段と、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
前記演奏操作子が操作された期間と、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準操作期間との相違に基づいて、前記自動伴奏データ中の楽音の音長を制御する制御手段を備え、
前記楽音データ生成手段が、前記発音タイミングで、前記制御手段により音長が制御された自動伴奏パターンの楽音の楽音データを生成することを特徴とする電子楽器により達成される。
【0018】
さらに、本発明の目的は、予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミングを含む自動伴奏データを記憶する記憶手段と、
鍵盤の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
操作された鍵の白鍵/黒鍵の種別を判断し、黒鍵の数が多くなるのにしたがって、前記コード構成音を指定する情報から、三和音により複雑な音を付加したコード構成音を選択する制御手段を備え、
前記楽音データ生成手段が、前記発音タイミングで、前記制御手段により選択されたコード構成音に基づいた楽音の楽音データを生成することを特徴とする電子楽器により達成される。
【0019】
また、本発明の目的は、予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミング、を含む自動伴奏データを記憶する記憶手段を備えたコンピュータに、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成ステップと、
前記演奏操作子の操作タイミングと、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準タイミングとの時間差を算出して、前記時間差に基づいて、前記自動伴奏データ中の楽音の前記発音タイミングを制御する制御ステップとを実行させ、
前記制御ステップが、前記操作タイミングが前記基準タイミングより早い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを遅くするステップを含み、
前記楽音データ生成ステップにおいて、前記制御ステップにおいて発音タイミングが制御された自動伴奏パターンの楽音の楽音データが生成されることを特徴とする電子楽器のプログラムにより達成される。
【発明の効果】
【0020】
本発明によれば、コードやリズムに関する知識がない演奏者であっても、適切な自動伴奏を演奏することができる電子楽器を提供することが可能となる。
【発明を実施するための最良の形態】
【0021】
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本実施の形態にかかる電子楽器の外観を示す図である。図1に示すように、本実施の形態にかかる電子楽器10は、鍵盤11を有する。また、鍵盤11の上部には、音色の指定、自動伴奏の開始・終了、リズムパターンの指定などを行なうためのスイッチ(符号12、13参照)や、演奏される楽曲に関する種々の情報、たとえば、音色、リズムパターン、コードネームなどを表示する表示部15を有する。本実施の形態にかかる電子楽器10は、たとえば、61個の鍵(C2〜C7)を有する。また、電子楽器10は、自動伴奏をオンする自動伴奏モード、および、自動伴奏をオフにする通常モードの2つの演奏モードのうち、何れかの下での演奏が可能である。自動伴奏モードの下では、C2〜F3の18鍵(符号101参照)が、伴奏用の鍵盤として使用され、F#4〜C7の43鍵(符号102参照)がメロディ用の鍵盤として使用される。符号101で示す鍵域を伴奏鍵域とも称し、符号102で示す鍵域をメロディ鍵域とも称する。
【0022】
図2は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。図2に示すように、本実施の形態にかかる電子楽器10は、CPU21、ROM22、RAM23、サウンドシステム24、スイッチ群25、鍵盤11および表示部15を備える。
【0023】
CPU21は、電子楽器10全体の制御、鍵盤11の鍵の押鍵やスイッチ群25を構成するスイッチ(たとえば、図1の符号12、13参照)の操作の検出、鍵やスイッチの操作にしたがったサウンドシステム24の制御、自動伴奏パターンにしたがった自動伴奏の演奏など、種々の処理を実行する。
【0024】
ROM22は、CPU21に実行させる種々の処理、たとえば、スイッチの操作、鍵盤の何れかの鍵の押鍵、押鍵に応じた楽音の発音、自動伴奏パターンを構成する楽音の発音データなどのプログラムを記憶する。また、ROM22は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリア、および、種々の自動伴奏パターンを示すデータ(自動伴奏データ)を格納した自動伴奏パターンエリアを有する。RAM23は、ROM22から読み出されたプログラムや、処理の過程で生じたデータを記憶する。なお、本実施の形態において、自動伴奏パターンは、メロディ音およびオブリガート音を含むメロディ自動伴奏パターン、コード音を含むコード自動伴奏パターン、並びに、ドラム音を含むリズムパターンを有する。たとえば、メロディ自動伴奏パターンのデータのレコードは、楽音の音色、音高、発音タイミング(発音時刻)、音長などを含む。コード自動伴奏パターンのデータのレコードは、上記情報に加えて、コード構成音を示すデータを含む。また、リズムパターンのデータは、楽音の音色、発音タイミングを含む。
【0025】
サウンドシステム24は、音源部26、オーディオ回路27およびスピーカ28を有する。音源部26は、たとえば、押鍵された鍵についての情報或いは自動伴奏パターンについての情報をCPU21から受信すると、ROM22の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部26は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音データとして出力することもできる。オーディオ回路27は、楽音データをD/A変換して増幅する。これによりスピーカ28から音響信号が出力される。
【0026】
本実施の形態にかかる電子楽器10は、通常モードの下においては、鍵盤11の鍵の押鍵に基づいて楽音を発生する。その一方、電子楽器10は、自動伴奏スイッチ(図示せず)が操作されることにより、自動伴奏モードとなる。自動伴奏モードの下では、メロディ鍵域の鍵の押鍵により、その鍵の音高の楽音が発生する。また、伴奏鍵域の鍵の押鍵にしたがって自動伴奏パターンが制御され、制御された自動伴奏パターンにしたがった楽音が発生する。なお、自動伴奏パターンは、ピアノやギターなど音高の変化を伴うメロディ自動伴奏パターン、コード自動伴奏パターンと、バスドラム、スネアドラム、シンバルなど音高の変化を伴わないリズムパターンとを含む。
【0027】
本実施の形態においては、伴奏鍵域の鍵の押鍵タイミングにしたがって、自動伴奏パターン、特に、コード自動伴奏パターンの発音タイミングが制御される。また、伴奏鍵域の押鍵が無い場合には、メロディ自動伴奏パターンおよびコード自動伴奏パターンの発音が停止され、リズムパターンのみの発音となる。
【0028】
図3は、本実施の形態にかかる伴奏鍵域の押鍵と、自動伴奏パターンの制御との関係を概略的に示すタイミングチャート、図4は、自動伴奏パターンのデータ中、コード伴奏データの例を概略的に説明する図、図5は、図4の自動伴奏パターンに対応する楽譜を示す図である。
【0029】
図3において、符号300は、想定操作を示す。演奏者が、想定操作300と同一音タイミングで押鍵および離鍵を行なうと、コード伴奏データ初期値(符号320参照)と同一のタイミングで、コード自動伴奏パターンが発音される。すなわち、想定操作は、演奏者がコード伴奏データ初期値と同一のコード自動伴奏パターンを演奏するときの操作を想定している。また、この想定操作における押鍵時間(符合351参照)は、想定音長値として、後述する図15の処理において利用される。
【0030】
図3では、コード自動伴奏データ初期値を、例示的に、1拍を2分割したパルスとして表している。楽曲が4/4拍子と考えた場合に、コード自動伴奏データ初期値におけるパルスの立ち上がりおよび立下りが、それぞれ、16分音符の先頭位置を示す。
【0031】
演奏者による実際の操作が符号310に示すようなものであったと考える。たとえば、1拍目の演奏者の押鍵のタイミング(符号311)は、想定操作より早くなっている。この場合には、本実施の形態にかかるCPU21は、コード自動伴奏データの読み出し時刻を早めるような処理を実行する(符号310参照)。したがって、制御されたコード自動伴奏データは、コード自動伴奏データ初期値よりも発音タイミングが早められたものとなる(符号331参照)。
【0032】
その一方、2拍目の演奏者の押鍵タイミング(符号312参照)は、想定操作より遅くなっている。この場合には、CPU21は、コード自動伴奏データの読み出し時刻を遅くするような処理を実行する(符号322参照)。したがって、制御されたコード自動伴奏データは、コード自動伴奏データ初期値よりも発音タイミングが早められたものとなる(符号332参照)。なお、演奏者による実際の押鍵タイミングが変化する場合であっても、ドラムパターン(符号340参照)およびメロディ自動伴奏パターン(図3においては図示せず)は変化しない。
【0033】
また、本実施の形態においては、ユーザが伴奏鍵域の鍵を、所定の期間だけ押鍵しないことにより(符号313参照)、自動伴奏パターンの発音、より詳細には、メロディ自動伴奏パターンおよびコード自動伴奏パターンの楽音の発音が停止され、リズムパターンのみが発音される(符号323、333参照)。
【0034】
さらに、本実施の形態においては、押鍵タイミングが相対操作における押鍵タイミングより早いか、遅いかだけではなく、押鍵されている時間長が、想定操作における時間長よりも長いか短いかによっても、コード音自動伴奏データを制御できるようになっている。たとえば、5拍目(第2小節1拍目)の演奏者の押鍵の時間長(符号314参照)は、想定操作における押鍵の時間長よりも短い。この場合には、CPU21は、コード自動伴奏データにおいて、発音される楽音の音長を短くするような処理を実行する(符号324参照)。したがって、制御されたコード自動伴奏データにおいては、音長が、コード自動伴奏データ初期値に含まれる楽音の音長よりも短くなる(符号334参照)。
【0035】
また、6拍目(第2小節2拍目)の演奏者の押鍵の時間長は、想定操作における時間長よりも長い。この場合には、CPU21は、コード自動伴奏データにおいて、発音された楽音の音長を長くするような処理を実行する(符号325参照)。したがって、制御されたコード自動伴奏データにおいては、音長が、コード自動伴奏データ初期値に含まれる楽音の音長よりも長くなる(符号335参照)。
【0036】
上記例において、コード自動伴奏データの発音タイミングを早めること(符号331参照)により、いわゆる「前ノリ」の演奏を実現でき、或いは、コード自動伴奏データの発音タイミングを遅くすること(符号332参照)により、いわゆる「後ノリ」の演奏を実現できる。また、コード自動伴奏データを構成する楽音の音長を短くすること(符号334参照)により、いわゆる「タイト」な演奏を実現でき、或いは、楽音の音長を長くすること(符号335参照)により、いわゆる「ゆるやか」な演奏を実現することができる。
【0037】
図4に示すように、本実施の形態において、コード自動伴奏データは、ベース音、第1のコード構成音(ルート音)、第2のコード構成音(第3音)、第3のコード構成音(第5音)、第4のコード構成音(第7音、テンションノート等)を含む。実際には、伴奏データは、上記ベース音およびコード構成音のほか、発音開始時刻および音長などを含む。図4に示す例では、1拍目および2拍目は、コード名「C7」に基づく楽音となり、3拍目および4拍目は、コード名「F7」に基づく楽音となり、5拍目および6拍目(第2小節1拍目および2拍目)は、コード名「G7」に基づく楽音となり、7拍目および8拍目(第2小節3拍目および4拍目)は、コード名「C6」に基づく楽音となる。
【0038】
また、図4の例では、1拍目および2拍目では、最初に1.5拍(4/4拍子では符点4分音符)の音長、引き続いて、0.5拍(4/4拍子では8分音符)の音長でコード構成音が発音し、0.5拍(4/4拍では8分音符)の音長で、4つのベース音が順次発音する。3拍目および4拍目、並びに、5拍目および6拍目においても同様である。図4に示すコード自動伴奏データを5線譜上に表したものが、図5に示す楽譜である。
【0039】
以下、コード自動伴奏データの制御を含む、本実施の形態にかかる電子楽器10において実行される処理についてより詳細に説明する。図6(a)は、本実施の形態にかかる電子楽器において実行されるメインフローの例を示すフローチャートである。また、図6(b)は、本実施の形態にかかるタイマ割り込み処理の例を示す図である。
【0040】
タイマ割り込み処理においては、図6(a)に示すメインフローが実行されているときに、所定の時間間隔で、割込カウンタのカウンタ値がインクリメントされる(ステップ611)。
【0041】
図6(a)に示すように、電子楽器10のCPU21は、電子楽器10の電源が投入されると、RAM23中のデータや、表示部15の画像のクリアクリアを含むイニシャル処理(初期化処理)を実行する(ステップ601)。イニシャル処理(ステップ601)が終了すると、CPU21は、スイッチ群25を構成するスイッチのそれぞれの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行する(ステップ602)。
【0042】
たとえば、スイッチ処理(ステップ602)においては、音色指定スイッチや、自動伴奏パターンの種別の指定スイッチ、自動伴奏パターンのオン・オフの指定スイッチなど、種々のスイッチの操作が検出される。自動伴奏パターンがオンとなったときには、CPU21は、演奏モードを、伴奏モードに切り換える。演奏モードを示すデータは、RAM23の所定の領域に指定される。音色や自動伴奏パターンの種別を示すデータも、同様に、RAM23の所定の領域に格納される。
【0043】
次いで、CPU21は、鍵盤処理を実行する(ステップ603)。図7は、本実施の形態にかかる鍵盤処理の例をより詳細に示すフローチャートである。鍵盤処理において、CPU21は、鍵盤11の鍵を走査する。鍵の走査結果であるイベント(鍵オン或いはオフ)は、RAM23に一時的に記憶される。CPU21は、RAM23に記憶された鍵の走査結果を参照して、ある鍵についてイベントが有るか否かを判断する(ステップ702)。ステップ702でYesと判断された場合には、CPU11は、当該イベントが生じている鍵が、メロディ鍵域の鍵(メロディ鍵)であるか否かを判断する(ステップ703)。ステップ703でYesと判断された場合には、CPU21は、メロディ鍵処理を実行する(ステップ704)。
【0044】
図8は、本実施の形態にかかるメロディ鍵処理の例をより詳細に示すフローチャートである。図8に示すように、CPU21は、イベントが鍵オンであるか否かを判断する(ステップ801)。ステップ801でYesと判断された場合には、CPU21は、当該鍵オンがあった鍵について発音処理を実行する(ステップ802)。発音処理においては、CPU21は、RAM23に記憶されていたメロディ鍵用の音色データ、および、鍵の音高を示すデータを読み出してRAM23に一時的に記憶する。後述する音源発音処理(図6のステップ605)において、音色や音高を示すデータは音源部26に与えられる。音源部26は、音色および音高を示すデータにしたがって、ROM22の波形データを読み出して、所定の音高の楽音データを生成する。これにより、スピーカ28から所定の楽音が発生する。
【0045】
ステップ801でNoと判断された場合には、イベントが鍵オフであったことになる。したがって、CPU21は、鍵オフになった鍵についての消音処理を実行する(ステップ803)。消音処理においては、CPU21は、消音すべき楽音の音高を示すデータを生成し、RAM23に一時的に記憶する。この場合にも、後述する音源発音処理(ステップ605)において、消音すべき楽音の音色および音高を示すデータが、音源部26に与えられる。音源部26は、与えられたデータに基づいて、所定の楽音を消音する。
【0046】
ステップ703でNoと判断された場合には、CPU21は、自動伴奏パターンが演奏中か否かを判断する(ステップ705)。たとえば、ステップ705においては、CPU21は、自動伴奏パターンがオンとなっており演奏モードが伴奏モードであるか否かを判断する。ステップ705でNoと判断された場合には、CPU21は、メロディ鍵処理(ステップ704)を実行する。
【0047】
その一方、ステップ705でYesと判断された場合、つまり、自動伴奏パターンの演奏中であった場合には、CPU21は、伴奏鍵処理を実行する(ステップ706)。図9は、本実施の形態にかかる伴奏鍵処理の一例を示すフローチャートである。図9に示すように、伴奏鍵処理においては、CPU21は、まず、イベントが鍵オンであるか否かを判断する(ステップ901)。ステップ901でYesと判断された場合には、CPU21は、当該鍵の押鍵タイミングが、評価対象範囲であるかどうかを判断する(ステップ902)。評価対象範囲とは、想定操作における押鍵時間に、前後所定の時間を加えた所定の時間範囲である。図3において、想定操作において、1拍目の押鍵時間を符号351で示す。この押鍵時間351の前後に所定の時間を加えた時間範囲(符号350参照)が、評価対象範囲となる。
【0048】
ステップ902でYesと判断された場合には、CPU21は、タイマをスタートさせて音長カウントを開始する(ステップ903)。なお、本実施の形態においては、複数の押鍵が考えられるが、ステップ902でYesと判断されるのは、評価対象範囲での最初の押鍵についてである。次いで、CPU21は、想定操作における押鍵時刻と、実際の押鍵時刻との間のズレを算出して、タイミング評価値として、RAM23に一時的に記憶する(ステップ904)。たとえば、図3において、1拍目の鍵オンについて考える。想定操作における押鍵時刻は、符号351に示す押鍵時間における立ち上がり時刻である。そこで、「(立ち上がり時刻)−(実際の押鍵時刻)」を算出すればよい。このタイミング評価値は、後述するコード自動伴奏パターン演奏の際に、楽音の発音タイミングの制御に利用される。
【0049】
その後、CPU21は、RAM23に一時的に記憶された、押鍵された鍵数を示す押鍵数カウント値をインクリメントする(ステップ905)。押鍵数カウント値は、後述するコード自動伴奏パターン演奏の際に、コード種別を決定するために利用される。なお、ステップ902でNoと判断された場合にも、ステップ905の押鍵数カウント値のインクリメントは実行される。
【0050】
次いで、CPU21は、押鍵数カウント値を参照して、押鍵数が4以上であるか否かを判断する(ステップ906)。本実施の形態において、コード自動伴奏パターンにおけるコード種別を決定するために押鍵数の最高数が4であるため、4以上となった段階(ステップ906でYes)で、CPU21は、押鍵されている鍵のそれぞれの音高を参照して、白鍵と黒鍵との比率を示す白鍵黒鍵比率評価値を算出する(ステップ907)。白鍵黒鍵比率評価値は、たとえば、「黒鍵の押鍵数/白鍵の押鍵数」であっても良いし、「黒鍵の押鍵数/(黒鍵+白鍵)の押鍵数」であっても良い。算出された白鍵黒鍵比率評価値は、RAM23に一時的に記憶される。
【0051】
このように、伴奏鍵域の鍵のオンによってタイマが起動されるとともに、タイミング評価値、押鍵数カウント値、白鍵黒鍵比率表値が得られ、RAM23に一時的に記憶される。
【0052】
ステップ901でNoと判断された場合、つまり、鍵オフ(離鍵)と判断された場合には、CPU21は、当該鍵の離鍵タイミングが、評価対象範囲であるかどうかを判断する(ステップ908)。評価対象範囲は、前述したステップ902におけるものと同様である。ステップ908でYesと判断された場合には、CPU21は、タイマを停止して、音長カウントを終了する(ステップ909)。CPU21は、タイマの値を、操作音長値として、RAM23に一時的に記憶する。
【0053】
次いで、CPU21は、RAM23に一時的に記憶された押鍵数カウント値をデクリメントする(ステップ910)。また、CPU21は、押鍵数カウント値を参照して、押鍵数が4以上であるか否かを判断する(ステップ911)。ステップ911でYesと判断された場合には、CPU21は、押鍵されている鍵のそれぞれの音高を参照して、白鍵と黒鍵との比率を示す白鍵黒鍵比率評価値を算出する(ステップ912)。
【0054】
鍵盤処理(図6のステップ603)が終了すると、CPU21は、ソング伴奏処理を実行する(ステップ604)。図10は、本実施の形態にかかるソング伴奏処理の例を示す図である。図10に示すように、CPU21は、自動伴奏パターンが演奏中か否かを判断する(ステップ1001)。ステップ1001でYesと判断された場合には、CPU21は、自動伴奏パターンを構成する楽音(自動伴奏におけるメロディ音、オブリガート音、コード音(和音による伴奏音)、リズム音)を生成する。自動伴奏データには、上述したように概略的には4つの種類の楽音、すなわち、メロディ音、オブリガート音、コード音、リズム音のデータが含まれる。メロディ音およびオブリガート音によってメロディ自動伴奏パターンが構成され、コード音によってコード自動伴奏パターンが構成される。また、リズム音によってリズムパターンが構成される。
【0055】
この楽音の生成には、概略的には、以下の4つの処理、割込カウンタ値を参照して、自動伴奏パターンの経過時間を管理するための処理が実行される基準時間処理(ステップ1010)、コード音についての経過時間(伴奏経過時間)を管理する処理が実行される伴奏時間処理(ステップ1011)、ステップ1010で生成される基準時間に基づいて楽音を生成する基準経過時間によるイベント処理(ステップ1012)、および、ステップ1011で生成される伴奏経過時間に基づいて楽音を生成する伴奏経過時間によるイベント処理(ステップ1013)が含まれる。
【0056】
基準時間処理(ステップ1010)においては、CPU21は、基準時間カウント処理(ステップ1002)および拍先頭処理(ステップ1003)を実行する。
【0057】
図11(a)は、本実施の形態にかかる基準時間カウント処理の例を示すフローチャート、図11(b)は、拍先頭処理の例を示すフローチャートである。基準時間カウント処理においては、CPU21は、割込カウンタのカウンタ値を取得する(ステップ1101)。次いで、CPU21は、予めRAM23の所定の領域に格納されていた伴奏経過時間に、取得したカウンタ値を加算して、基準経過時間を更新する(ステップ1102)。更新された基準経過時間は、RAM23の所定の領域に格納される。
【0058】
次いで、CPU21は、RAM23の所定の領域に格納されていた拍内カウント値に、拍内カウント値は、1拍の間における時間的な位置を示す値である。取得したカウンタ値を加算して、拍内カウント値を更新する(ステップ1103)。更新された拍内カウント値も、RAM23の所定の領域に格納される。その後、次回の基準時間カウント処理で使用するために、CPU21は、割込カウンタのカウンタ値をクリアする(ステップ1104)。
【0059】
また、拍先頭処理においては、CPU21は、拍内カウント値を参照して、処理時が、拍の先頭に相当するか否かを判断する(ステップ1111)。ステップ1111でYesと判断された場合には、CPU21は、過去1拍以上にわたって押鍵が無いか否かを判断する(ステップ1112)。ステップ1112でYesと判断された場合には、CPU21は、コード音停止処理を実行する(ステップ1113)。コード音停止処理(ステップ1113)においては、CPU21は、所定の期間(たとえば1小節)だけ、メロディ音、オブリガート音およびコード音の発音を停止する。すなわち、メロディ音、オブリガート音およびコード音のそれぞれに対応する音色および音高の楽音データの発音を、音源部26に対して指示しない。
【0060】
図3において、ユーザが伴奏鍵域の鍵を、所定の期間だけ押鍵しないことにより(符号313参照)、自動伴奏パターンのうちメロディ音、オブリガート音を含むメロディ自動伴奏パターン、および、コード音を含むコード自動伴奏パターンの発音が停止され、リズムパターンのみが発音されている(符号323、333参照)。これは、拍先頭処理のステップ1111〜1113が実行された結果である。
【0061】
次に、ステップ1011の伴奏経過時間処理について説明する。 伴奏経過時間処理には、伴奏経過時間カウント処理(ステップ1003)が含まれる。図12は、本実施の形態にかかる経過時間カウント処理の例を示すフローチャートである。図12に示すように、CPU21は、RAM23に格納された基準経過時間を取得する(ステップ1201)。次いで、CPU21は、RAM23に格納されたタイミング評価値を取得する(ステップ1202)。CPU21は、タイミング評価値を伴奏経過時間に反映させる(ステップ1203)。ステップ1203においては、基準経過時間に、タイミング評価値を加算することで、コード自動伴奏パターンにおけるコード音の発音タイミングを規定する伴奏経過時間を得る。
【0062】
図16において、想定操作および基準経過時間を、それぞれ符号1601、1602で示す。なお、基準経過時間において、n、n+1、・・・は、基準経過時間に基づく内部時刻を示す。
【0063】
いわゆる前ノリによって、想定操作における押鍵タイミングよりも早い時刻に押鍵がされていた場合には、タイミング評価値d1(d1<0)を考慮して、伴奏経過時間=(基準経過時間−d1)となり、伴奏経過時間に基づく内部時刻は、基準経過時間に基づく内部時刻よりも、前倒しとなる(符号1611参照)。
【0064】
その一方、いわゆる後ノリによって想定操作における押鍵タイミングよりも遅い時刻に押鍵がされていた場合には、タイミング評価値d2(d2>0)を考慮して、伴奏経過時間=(基準経過時間−d2)となり、伴奏経過時間に基づく内部時刻は、基準経過時間に基づく内部時刻よりも、遅いものとなる(符号1621参照)。
【0065】
次に、ステップ1012の基準経過時間によるイベント処理について説明する。基準経過時間によるイベント処理には、メロディ処理(ステップ1005)およびリズム処理(ステップ(ステップ1006)が含まれる。図13(a)は、本実施の形態にかかるメロディ処理の例を示すフローチャート、図13(b)は、リズム処理の例を示すフローチャートである。
【0066】
図13(a)に示すように、メロディ処理において、CPU21は、RAM23に記憶された基準経過時間を参照する(ステップ1301)。次いで、CPU21は、メロディ自動伴奏パターンを構成するメロディ音およびオブリガート音について、メロディ自動伴奏パターンのデータを参照して、次のイベントを処理すべき時間(ソング時間Δt)が経過しているか否かを判断する(ステップ1302)。
【0067】
ステップ1302でYesと判断された場合には、CPU21は、メロディ自動伴奏パターンのデータから、メロディ音について次のイベントに相当するレコード、および、オブリガート音についての次のイベントに相当するレコードを読み出して(ステップ1303)、当該レコード中の音色、音高および音長を示すデータをRAM23に一時的に記憶する(ステップ1304)。後述するように、音源発音処理(図6のステップ605)において、ステップ1304において一時的に記憶されたメロディ音およびオブリガート音の音色、音高および音長を示すデータは、音源部26に与えられる。
【0068】
なお、同一時刻で複数の楽音を生成すべき場合があるため、ステップ1304の後、再度ステップ1301に戻り、ステップ1302でNoと判断されるまで処理が繰り返される。
【0069】
図13(b)に示すように、リズム処理において、CPU21は、RAM23に記憶された基準経過時間を参照する(ステップ1311)。次いで、CPU21は、リズムパターンを構成するリズム音について、リズムパターンのデータを参照して、次のイベントを処理すべき時間(リズム時間Δt)が経過しているか否かを判断する(ステップ1312)。
【0070】
ステップ1312でYesと判断された場合には、CPU21は、リズムパターンのデータから、リズム音について次のイベントに相当するレコードを読み出して(ステップ1313)、当該リズム音の音色を示すデータをRAM23に一時的に記憶する(ステップ1314)。後述するように、音源発音処理(ステップ605)において、ステップ1314において一時的に記憶された、リズム音の音色を示すデータが音源部26に与えられる。
【0071】
なお、同一時刻で複数の楽音(リズム音)を生成すべき場合があるため、ステップ1404の後、再度ステップ1311に戻り、ステップ1312でNoと判断されるまで処理が繰り返される。
【0072】
次に、ステップ1012の伴奏経過時間によるイベント処理について説明する。伴奏経過時間によるイベント処理には、コード音伴奏処理(ステップ1007)が含まれる。図14は、本実施の形態にかかるコード音伴奏処理の例を示すフローチャートである。図14に示すように、コード音伴奏処理においては、CPU21は、CPU21は、RAM23に記憶された伴奏経過時間を参照する(ステップ1401)。次いで、CPU21は、コード音について、コード自動伴奏パターンのデータを参照して、次のイベントを処理すべき時間(伴奏時間Δt)が経過しているか否かを判断する(ステップ1402)。メロディ処理(図13(a))およびリズム処理(図13(b))においては、基準経過時間が参照されているが、コード音伴奏処理においては、伴奏経過時間が参照される。伴奏経過時間は、図12および図16を参照して説明したように、伴奏経過時間は、想定操作における押鍵タイミングと実際の押鍵のタイミングとの差異であるタイミング評価値が反映された伴奏経過時間である。
【0073】
ステップ1402でYesと判断された場合には、CPU21は、コード自動伴奏パターンのデータから、コード音について次のイベントに相当するレコードを読み出す(ステップ1403)。また、コード音伴奏処理では、演奏者による実際の押鍵における音長や押鍵数にしたがって、音長やコード名を変更するため、CPU21は、操作反映処理を実行する(ステップ1404)。図15は、本実施の形態にかかる操作反映処理の例を示すフローチャートである。
【0074】
図15に示すように、操作反映処理において、CPU21は、ステップ909で得られてRAM23に記憶された操作音長値を参照して、発音すべきコード音の音長に反映させる処理を実行する(ステップ1501)。コード音の音長は以下のように算出される。
【0075】
音長=(操作音長値/想定操作における想定音長値)*コード音伴奏データ初期値にて示される音長
ここに、想定操作における想定音長値は、図3に示す想定操作における押鍵時間に相当する。
【0076】
また、休符の長さは、次のコード音の発音タイミングまでのステップ時間から、算出された音長を減じた値となる。図17は、操作反映処理において得られたコード音の再生音長を説明する図である。伴奏例1では、音符の音長t2は、コード音伴奏データ初期値にて示される音長t1の半分であり、これは、(操作音長値/想定操作における想定音長値)=0.5であった場合である。また、伴奏例2では、音符の音長t3は、コード音伴奏データ初期値にて示される音長t1の1.5倍であり、これは、操作音長値/想定操作における想定音長値)=1.5であった場合である。
【0077】
次いで、CPU21は、押鍵数カウント値を参照して、押鍵数にしたがって、発音すべきコード構成音を決定する(ステップ1502)。図18は、本実施の形態にかかる押鍵数反映処理の例を示すフローチャートである。図18に示すように、CPU12は、RAM23に記憶された押鍵数カウント値を取得して参照する(ステップ1801)。前述したように、本実施の形態において、コード自動伴奏パターンのデータは、ベース音、第1のコード構成音(ルート音)、第2のコード構成音(第3音)、第3のコード構成音(第5音)、第4のコード構成音(第7音、テンションノート等)を含む(図19の符号1900参照)。特に、第4のコード構成音(図19の符号1910)は、第6音、第7音、第9音などを含む3和音以外のコード構成音(便宜上、「テンション付加コード構成音」と称する:符号1904)、或いは、ルート音のオクターブ音に相当する楽音を付加したコード構成音(便宜上、「テンション非付加コード構成音」と称する:符号1905)のいずれかが選択されるようになっている。
【0078】
押鍵数カウント値が「1」である場合には、CPU21は、発音すべきコード構成音が、ベース音だけであること(図19の符号1901参照)を示すコード音制御情報を生成して、RAM23に一時的に記憶する(ステップ1802)。押鍵数カウント値が「2」である場合には、CPU21は、発音すべきコード構成音が、ベース音、第1のコード構成音(ルート)および第2のコード構成音(第5音)を含むこと(符号1902参照)を示すコード音制御情報を生成して、RAM23に一時的に記憶する(ステップ1803)。
【0079】
また、押鍵数カウント値が「3」である場合には、CPU21は、コード構成音が、ベース音、第1のコード構成音、第2のコード構成音および第3のコード構成音を含むこと、つまり、ベース音および3和音であること(符号1903参照)を示すコード音制御情報を生成して、RAM23に一時的に記憶する(ステップ1804)。さらに、押鍵数カウント値が「4」以上である場合には、コード構成音が、ベース音、第1のコード構成音、第2のコード構成音、第3のコード構成音および第4のコード構成音を含むことを示すコード音制御情報を生成して、RAM23に記憶する(ステップ1805)。
【0080】
押鍵数判断処理(ステップ1502)が終了すると、CPU21は、押鍵数カウント値が4以上であるか否かを判断する(ステップ1503)。ステップ1503でYesと判断された場合には、CPUは、和音反映処理を実行する(ステップ1504)。本実施の形態にかかる和音反映処理において、CPU21は、RAM23に記憶された白鍵黒鍵比率評価値を参照して、押鍵された鍵に黒鍵が含まれる場合には、第4のコード構成音として、第7音やテンションノート等を含むテンション付加コード構成音を選択する(図9の符号1904参照)。その一方、押鍵された鍵に黒鍵が含まれない場合には、CPU21は、第4のコード構成音として、テンションコード非付加コード構成音を選択する(図9の符号1905参照)。選択されたコード音制御情報は、RAM23に一時的に記憶される。
【0081】
その後、CPU21は、コード音の音色、決定されたコード構成音に基づいて、コード音を構成する楽音のそれぞれの音高、音長を示すデータをRAM23に一時的に記憶する(ステップ1405)。後述するように、音源発音処理(図6のステップ605)において、ステップ1404において一時的に記憶された音色、音高および音長を示すデータは、音源部26に与えられる。
【0082】
なお、コード音伴奏処理では、同一時刻で複数の楽音(和音)を生成すべきであるため、ステップ1404の後、再度ステップ1401に戻り、ステップ1402でNoと判断されるまで処理が繰り返される。
【0083】
ソング伴奏処理(図6のステップ604)が終了すると、CPU21は、音源発音処理を実行する(ステップ605)。音源発音処理において、CPU21は、たとえば、メロディ鍵処理(図7のステップ704)で生成された、発音すべき楽音の音色および音高を示すデータを音源部26に与え、或いは、消音すべき楽音の音色および音高を示すデータを音源部26に与える。また、CPU21は、ソング伴奏処理(図10)において生成された、メロディ音やオブリガート音の音色、音高および音長を示すデータを、音源部26に与えるとともに、リズム音の音色を示すデータを、音源部26に与える。さらに、CPU21は、コード音の音色、コード構成音それぞれの音高および音長を含むデータを、音源部26に与える。
【0084】
音源部26は、音色、音高、音長等を示すデータにしたがって、ROM22の波形データを読み出して、所定の楽音データを生成する。これにより、スピーカ28から所定の楽音が発生する。
【0085】
音源発音処理(ステップ605)が終了すると、CPU21は、その他の処理(たとえば、表示部15への画像表示など:ステップ606)を実行して、ステップ602に戻る。
【0086】
本実施の形態によれば、CPU21は、予め定められた想定操作の押鍵タイミングと、実際の鍵盤の押鍵タイミングとの時間差に基づいて、自動伴奏データにおけるコード自動伴奏データの発音タイミングを制御する。これにより、演奏者の押鍵タイミングにしたがって、いわゆる前ノリ或いは後ノリの伴奏を実現することができる。演奏者がリズムパターンについての知識がなくても、押鍵タイミングのみによって、コード自動伴奏データのパターンを時間軸方向に移動することで変化させることが可能となる。
【0087】
また、本実施の形態によれば、押鍵タイミングについて、想定操作における押鍵タイミングから一定範囲である場合に、CPU21が時間差を算出し、その時間差の分だけ、コード自動伴奏データの楽音の発音タイミングを早め或いは遅くしている。これにより、演奏者は直感的かつ容易に自動伴奏パターンの変化を把握することが可能となる。
【0088】
たとえば、想定操作における押鍵タイミングは拍の先頭である。リズムについての知識の無い演奏者であっても、拍の先頭は容易に理解できるため、拍の先頭を基準にすることで、演奏者は簡単に自動伴奏パターンを所望のように変化させることができる。
【0089】
また、本実施の形態においては、一定の期間だけ押鍵が無い場合には、コード伴奏パターンの発音を停止する。これにより、単に押鍵を中断するだけで、コード音の発音を停止することができる。
【0090】
たとえば、CPU21は、拍の先頭において、それ以前に1拍に対応する時間だけ鍵盤の操作がなかった場合に、コード自動伴奏パターンに基づく楽音の生成を停止する。拍を単位としてコード自動伴奏パターンに基づく楽音の生成の停止を判断するため、演奏者は難しい操作なくかつ直感的に所望のタイミングでのコード伴奏パターンの停止を指示することが可能となる。
【0091】
また、本実施の形態においては、CPU21は、演奏者による実際の押鍵時間と、想定操作における押鍵時間との相違に基づいて、コード自動伴奏データの楽音の音長を制御する。これにより、演奏者は、リズムパターンについての知識を有していなくても、直感的に、押鍵時間を長くする或いは短くするという簡単な行為だけで、コード伴奏データのパターンを所望のように変更することが可能となる。
【0092】
たとえば、CPU21は、演奏者による実際の押鍵時間と、想定操作における押鍵時間との比に基づいて、コード自動伴奏データの楽音の音長を制御する。これにより、コード自動伴奏データの楽音に、演奏者による実際の押鍵時間を適切に反映させることが可能となる。
【0093】
また、本実施の形態にいては、CPU21は、押鍵された白鍵の数および黒鍵の数に基づいて、押鍵された鍵に黒鍵が含まれる場合には、三和音よりも複雑な音、たとえば、テンションノートを付加したテンション付加コード構成音を選択する。したがって、演奏者にコードについて知識が無い場合にも、単に黒鍵を押鍵することで、より複雑なコード名を有する楽音の発音が可能となる。
【0094】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【0095】
たとえば、前記実施の形態においては、自動伴奏モードにおいて、伴奏鍵域における実際の押鍵タイミング、および、押鍵時間によって、自動伴奏パターンのうち、コード自動伴奏パターンの発音タイミングおよび発音時間(音長)を制御しているが、これに限定されるものではなく、メロディ自動伴奏パターンのメロディ音やオブリガート音の発音タイミングや音長を制御しても良い。
【0096】
また、前記実施の形態においては、想定操作における押鍵タイミングは拍の先頭であり、実際の押鍵タイミングと想定操作における押鍵タイミングとの比較や、押鍵時間の比較は拍ごとに行なわれるが、これに限定されるものではなく、複数拍(たとえば、2拍)ごと、あるいは、小節ごとであっても良い。
【0097】
さらに、前記実施の形態においては、押鍵数カウント値が「4」以上であって、かつ、押鍵された鍵に黒鍵が含まれる場合には、CPU21は、第4のコード構成音として、第7音やテンションノート等を含むテンション付加コード構成音、つまり、より複雑なコードネームとなるコード構成音を選択している。しかしながら、これに限定されるものではなく、黒鍵および白鍵の割合に基づいて、押鍵された鍵のうち、黒鍵の割合が、白鍵の割合以上であれば、テンション付加構成音を選択しても良い。
【図面の簡単な説明】
【0098】
【図1】図1は、本実施の形態にかかる電子楽器の外観を示す図である。
【図2】図2は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。
【図3】図3は、本実施の形態にかかる電子楽器10にて実行される処理を示すフローチャートである。
【図4】図4は、自動伴奏パターンのデータ(伴奏データ)の例を説明する図である。
【図5】図5は、図4の自動伴奏パターンに対応する楽譜を示す図である。
【図6】図6(a)は、本実施の形態にかかる電子楽器10において実行されるメインフローの例を示すフローチャート、図6(b)は、本実施の形態にかかるタイマ割り込み処理の霊を示す図である。
【図7】図7は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。
【図8】図8は、本実施の形態にかかるメロディ鍵処理の例を示すフローチャートである。
【図9】図9は、本実施の形態にかかる伴奏鍵処理の一例を示すフローチャートである。
【図10】図10は、本実施の形態にかかるソング伴奏処理の例を示す図である。
【図11】図11(a)は、本実施の形態にかかる基準時間カウント処理の例を示すフローチャート、図11(b)は、拍先頭処理の例を示すフローチャートである。
【図12】図12は、本実施の形態にかかる経過時間カウント処理の例を示すフローチャートである。
【図13】図13(a)は、本実施の形態にかかるメロディ処理の例を示すフローチャート、図13(b)は、リズム処理の例を示すフローチャートである。
【図14】図14は、本実施の形態にかかるコード音伴奏処理の例を示すフローチャートである。
【図15】図15は、本実施の形態にかかる操作反映処理の例を示すフローチャートである。
【図16】図16は、本実施の形態における基準経過時間および伴奏経過時間を説明する図である。
【図17】図17は、操作反映処理において得られたコード音の再生音長を説明する図である。
【図18】図18は、本実施の形態にかかる押鍵数反映処理の例を示すフローチャートである。
【図19】図19は、本実施の形態にかかるコード音におけるコード構成音を説明する図である。
【符号の説明】
【0099】
10 電子楽器
11 鍵盤
12、13 スイッチ
15 表示部
21 CPU
22 ROM
23 RAM
24 サウンドシステム
25 スイッチ群
26 音源部
27 オーディオ回路
28 スピーカ
【特許請求の範囲】
【請求項1】
予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミング、を含む自動伴奏データを記憶する記憶手段と、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
前記演奏操作子の操作タイミングと、前記自動伴奏データについて予め設定された基準タイミングとの時間差を算出して、前記時間差に基づいて、前記自動伴奏データ中の楽音の前記発音タイミングを制御する制御手段を備え、
前記制御手段が、前記操作タイミングが前記基準タイミングより早い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを遅くして、
前記楽音データ生成手段が、前記制御手段により発音タイミングが制御された自動伴奏パターンの楽音の楽音データを生成することを特徴とする電子楽器。
【請求項2】
前記制御手段が、前記演算操作子の操作タイミングが、前記基準タイミングから所定の範囲内である評価対象期間であるか否かを判断し、前記評価対象期間での操作であるときに、前記操作タイミングと基準タイミングとの時間差を算出し、
前記操作タイミングが前記基準タイミングより早い場合には、前記時間差の分だけ、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差の分だけ、前記自動伴奏パターンの発音タイミングを遅くすることを特徴とする請求項1に記載の電子楽器。
【請求項3】
前記基準タイミングが、前記自動伴奏パターンにおける拍の先頭に対応し、
前記制御手段が、前記自動伴奏パターンにおいて、拍ごとに前記操作タイミングと前記基準タイミングとの時間差を算出することを特徴とする請求項1または2に記載の電子楽器。
【請求項4】
前記制御手段が、予め定められたタイミングにおいて、一定の期間だけ前記演奏操作子の操作がなかった場合に、前記自動伴奏パターンに基づく楽音の生成を停止することを特徴とする請求項1ないし3の何れか一項に記載の電子楽器。
【請求項5】
前記制御手段が、前記自動伴奏パターンにおける拍の先頭において、それ以前に1拍に対応する時間だけ前記演奏操作子の操作がなかった場合に、前記自動伴奏パターンに基づく楽音の生成を停止することを特徴とする請求項4に記載の電子楽器。
【請求項6】
前記自動伴奏パターンが、前記発音すべき楽音の音長を含み、
前記制御手段が、前記演奏操作子が操作された期間と、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準操作期間との相違に基づいて、前記自動伴奏データ中の楽音の音長を制御することを特徴とする請求項1ないし5の何れか一項に記載の電子楽器。
【請求項7】
前記制御手段が、前記演奏操作子が操作された期間と前記基準操作期間との比を算出し、当該算出された比に基づいて、前記自動伴奏データ中の楽音の音長を制御することを特徴とする請求項6に記載の電子楽器。
【請求項8】
前記演奏操作子が鍵盤であり、
前記自動伴奏パターンが、コード構成音を特定する情報を含み、
前記制御手段が、操作された鍵の白鍵/黒鍵の種別を判断し、黒鍵の数が多くなるのにしたがって、前記コード構成音を指定する情報から、三和音により複雑な音を付加したコード構成音を選択することを特徴とする請求項1ないし7の何れか一項に記載の電子楽器。
【請求項9】
予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミングおよび音長を含む自動伴奏データを記憶する記憶手段と、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
前記演奏操作子が操作された期間と、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準操作期間との相違に基づいて、前記自動伴奏データ中の楽音の音長を制御する制御手段を備え、
前記楽音データ生成手段が、前記発音タイミングで、前記制御手段により音長が制御された自動伴奏パターンの楽音の楽音データを生成することを特徴とする電子楽器。
【請求項10】
予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミングを含む自動伴奏データを記憶する記憶手段と、
鍵盤の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
操作された鍵の白鍵/黒鍵の種別を判断し、黒鍵の数が多くなるのにしたがって、前記コード構成音を指定する情報から、三和音により複雑な音を付加したコード構成音を選択する制御手段を備え、
前記楽音データ生成手段が、前記発音タイミングで、前記制御手段により選択されたコード構成音に基づいた楽音の楽音データを生成することを特徴とする電子楽器。
【請求項11】
予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミング、を含む自動伴奏データを記憶する記憶手段を備えたコンピュータに、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成ステップと、
前記演奏操作子の操作タイミングと、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準タイミングとの時間差を算出して、前記時間差に基づいて、前記自動伴奏データ中の楽音の前記発音タイミングを制御する制御ステップとを実行させ、
前記制御ステップが、前記操作タイミングが前記基準タイミングより早い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを遅くするステップを含み、
前記楽音データ生成ステップにおいて、前記制御ステップにおいて発音タイミングが制御された自動伴奏パターンの楽音の楽音データが生成されることを特徴とする電子楽器のプログラム。
【請求項1】
予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミング、を含む自動伴奏データを記憶する記憶手段と、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
前記演奏操作子の操作タイミングと、前記自動伴奏データについて予め設定された基準タイミングとの時間差を算出して、前記時間差に基づいて、前記自動伴奏データ中の楽音の前記発音タイミングを制御する制御手段を備え、
前記制御手段が、前記操作タイミングが前記基準タイミングより早い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを遅くして、
前記楽音データ生成手段が、前記制御手段により発音タイミングが制御された自動伴奏パターンの楽音の楽音データを生成することを特徴とする電子楽器。
【請求項2】
前記制御手段が、前記演算操作子の操作タイミングが、前記基準タイミングから所定の範囲内である評価対象期間であるか否かを判断し、前記評価対象期間での操作であるときに、前記操作タイミングと基準タイミングとの時間差を算出し、
前記操作タイミングが前記基準タイミングより早い場合には、前記時間差の分だけ、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差の分だけ、前記自動伴奏パターンの発音タイミングを遅くすることを特徴とする請求項1に記載の電子楽器。
【請求項3】
前記基準タイミングが、前記自動伴奏パターンにおける拍の先頭に対応し、
前記制御手段が、前記自動伴奏パターンにおいて、拍ごとに前記操作タイミングと前記基準タイミングとの時間差を算出することを特徴とする請求項1または2に記載の電子楽器。
【請求項4】
前記制御手段が、予め定められたタイミングにおいて、一定の期間だけ前記演奏操作子の操作がなかった場合に、前記自動伴奏パターンに基づく楽音の生成を停止することを特徴とする請求項1ないし3の何れか一項に記載の電子楽器。
【請求項5】
前記制御手段が、前記自動伴奏パターンにおける拍の先頭において、それ以前に1拍に対応する時間だけ前記演奏操作子の操作がなかった場合に、前記自動伴奏パターンに基づく楽音の生成を停止することを特徴とする請求項4に記載の電子楽器。
【請求項6】
前記自動伴奏パターンが、前記発音すべき楽音の音長を含み、
前記制御手段が、前記演奏操作子が操作された期間と、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準操作期間との相違に基づいて、前記自動伴奏データ中の楽音の音長を制御することを特徴とする請求項1ないし5の何れか一項に記載の電子楽器。
【請求項7】
前記制御手段が、前記演奏操作子が操作された期間と前記基準操作期間との比を算出し、当該算出された比に基づいて、前記自動伴奏データ中の楽音の音長を制御することを特徴とする請求項6に記載の電子楽器。
【請求項8】
前記演奏操作子が鍵盤であり、
前記自動伴奏パターンが、コード構成音を特定する情報を含み、
前記制御手段が、操作された鍵の白鍵/黒鍵の種別を判断し、黒鍵の数が多くなるのにしたがって、前記コード構成音を指定する情報から、三和音により複雑な音を付加したコード構成音を選択することを特徴とする請求項1ないし7の何れか一項に記載の電子楽器。
【請求項9】
予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミングおよび音長を含む自動伴奏データを記憶する記憶手段と、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
前記演奏操作子が操作された期間と、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準操作期間との相違に基づいて、前記自動伴奏データ中の楽音の音長を制御する制御手段を備え、
前記楽音データ生成手段が、前記発音タイミングで、前記制御手段により音長が制御された自動伴奏パターンの楽音の楽音データを生成することを特徴とする電子楽器。
【請求項10】
予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミングを含む自動伴奏データを記憶する記憶手段と、
鍵盤の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
操作された鍵の白鍵/黒鍵の種別を判断し、黒鍵の数が多くなるのにしたがって、前記コード構成音を指定する情報から、三和音により複雑な音を付加したコード構成音を選択する制御手段を備え、
前記楽音データ生成手段が、前記発音タイミングで、前記制御手段により選択されたコード構成音に基づいた楽音の楽音データを生成することを特徴とする電子楽器。
【請求項11】
予め定められた自動伴奏パターンであって、発音すべき楽音の発音タイミング、を含む自動伴奏データを記憶する記憶手段を備えたコンピュータに、
演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成ステップと、
前記演奏操作子の操作タイミングと、前記自動伴奏データについて予め設定され、前記記憶手段に記憶された基準タイミングとの時間差を算出して、前記時間差に基づいて、前記自動伴奏データ中の楽音の前記発音タイミングを制御する制御ステップとを実行させ、
前記制御ステップが、前記操作タイミングが前記基準タイミングより早い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを早め、前記操作タイミングが前記基準タイミングより遅い場合には、前記時間差に基づいて、前記自動伴奏パターンの発音タイミングを遅くするステップを含み、
前記楽音データ生成ステップにおいて、前記制御ステップにおいて発音タイミングが制御された自動伴奏パターンの楽音の楽音データが生成されることを特徴とする電子楽器のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2010−117419(P2010−117419A)
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願番号】特願2008−288716(P2008−288716)
【出願日】平成20年11月11日(2008.11.11)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願日】平成20年11月11日(2008.11.11)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]