JP4942938B2 - 自動伴奏装置 - Google Patents

自動伴奏装置 Download PDF

Info

Publication number
JP4942938B2
JP4942938B2 JP2005027549A JP2005027549A JP4942938B2 JP 4942938 B2 JP4942938 B2 JP 4942938B2 JP 2005027549 A JP2005027549 A JP 2005027549A JP 2005027549 A JP2005027549 A JP 2005027549A JP 4942938 B2 JP4942938 B2 JP 4942938B2
Authority
JP
Japan
Prior art keywords
pitch
automatic accompaniment
note
chord
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005027549A
Other languages
English (en)
Other versions
JP2005222052A (ja
JP2005222052A5 (ja
Inventor
ルイジ ブルチ
ニコラ カロ
ルカ マッテオ デ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland Europe SpA
Original Assignee
Roland Europe SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Roland Europe SpA filed Critical Roland Europe SpA
Publication of JP2005222052A publication Critical patent/JP2005222052A/ja
Publication of JP2005222052A5 publication Critical patent/JP2005222052A5/ja
Application granted granted Critical
Publication of JP4942938B2 publication Critical patent/JP4942938B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、自動伴奏パターンをコード情報に応じて変更し自動伴奏を行う自動伴奏装置に関する。
従来、自動伴奏装置には、複数パートからなる自動伴奏パターンを記憶し、鍵盤等から指示されたコード情報に従って変更(オルタレーション)して出力する機能、すなわち指示されたコードに従って伴奏パターンの一部の音符の音高を上げる、または下げるなどして出力する機能を備えたものが知られている。
特開平11−219182号公報(特許文献1)には、音楽的な役割に応じたオルタレーションの仕方で自動伴奏を行うことができる自動伴奏装置が開示されている。例えば、イントロやエンディングのような部分では、旋律を主体とした伴奏が形成されているので、指定されたコード情報のルート情報だけに応じて全体的に音高をシフトする。このオルタレーションの仕方をオブリガートタイプと呼んでいる。一方、楽曲のメイン部分については、コード情報の変化に応じて伴奏の音域が大きく変化しないように、シフト量が少なくなるようなオルタレーションを行っている。このオルタレーションの仕方をコードタイプと呼んでいる。
特開平11−219182号公報
しかしながら、特許文献1に開示された自動伴奏装置において、コードタイプによるオルタレーションを行う場合、伴奏パターンを構成する音符情報の音高が指定されたコード情報により特定されるコード構成音である場合には、他のコード構成音へ変更され、音高が跳躍するという問題点があった。また、コード構成音でない音高は、コード構成音ではない他の音高に変更され、やはり音高が大きく変動し音楽的に好ましくない伴奏パターンに変化してしまうことがあった。
本発明はかかる問題点を解決するためになされたものであり、自動伴奏パターンを構成する音符の音高を音楽的に適切に変更することができる自動伴奏装置を提供することを目的とする。
上述の課題を解決するために、請求項1記載の自動伴奏装置は、ルート情報とコード種類情報とを有するコード情報を入力する入力手段と、複数の音符情報により構成される自動伴奏パターンを複数記憶する記憶手段と、その記憶手段に記憶された複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、その選択手段により選択された自動伴奏パターンを前記記憶手段から読出し前記入力手段により入力されたコード情報に基づいて自動伴奏を行う自動伴奏手段とを備えたものであって、前記記憶手段に記憶された自動伴奏パターンは、その自動伴奏パターンを構成する音符情報の音名として、前記音符情報に割り当てられたコードの構成音の音名と、前記コードの構成音以外の音名とを含むものであり、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、その音符情報に割り当てられたコードの構成音である場合は、前記入力手段に入力されたコード情報により特定されるコードを構成する複数の音名と前記自動伴奏パターンを構成する音符情報が示す音名との音高差を検出する検出手段と、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、その音符情報に割り当てられたコードの構成音であるか否かを判断し、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、その音符情報に割り当てられたコードの構成音であると判断される場合に、前記検出手段により検出された複数の音名と前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名との音高差のうち最も小さい音高差の音名に対応する音高に、前記音符情報が示す音名を変更する音高変更手段とを備え、前記自動伴奏手段は、前記音高変更手段により変更された音高に基づいて自動伴奏を行うものである。
請求項2記載の自動伴奏装置は、請求項1記載の自動伴奏装置において、前記音高変更手段により変更された音高が、現在発音中であるかを検出する検出手段と、その検出手段により前記音高変更手段により変更された音高が発音中であると検出された場合は、前記入力手段により入力されたコードを構成する複数の音名のうち、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名との音高差が次に小さい音名に対応する音高に変更する第2の音高変更手段とを備えている。
請求項1記載の自動伴奏装置によれば、記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、その音符情報に割り当てられたコードの構成音である場合は、入力手段に入力されたコード情報により特定されるコードを構成する複数の音名と自動伴奏を構成する音符情報が示す音名との音高差を検出する検出手段と、その検出手段により検出された複数の音名と前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名との音高差のうち最も小さい音高差の音名に対応する音高に、音符情報が示す音名を変更する音高変更手段とを備えているので、自動伴奏パターンの音符は、鍵盤等により新たなコードが指定された場合に、自動伴奏パターンの音名が鍵盤等により指定されたコードの構成音のうち、最も音高差が小さい音名に対応する音高に変更され、音高の変動が少なくなるので自動伴奏パターンを構成する音符の音高を音楽的に適切に変更することができるという効果がある。
請求項2記載の自動伴奏装置によれば、請求項1記載の自動伴奏装置の奏する効果に加え、音高変更手段により変更された音高が、現在発音中であるかを検出する検出手段と、その検出手段により前記音高変更手段により変更された音高が発音中であると検出された場合は、入力手段により入力されたコードを構成する複数の音名のうち、記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名との音高差が次に小さい音名に対応する音高に変更する第2の音高変更手段とを備えているので、鍵盤等により新たなコードが指定された場合に、自動伴奏パターンの音高が大きく変更されることがなく、さらに同じ音高が連続することがないので、自動伴奏に変化を付与することができるという効果がある。
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の一実施形態である自動伴奏装置1の外観を示した平面図である。自動伴奏装置1は、鍵盤5と、各種スイッチなどの操作子6と、表示器11とを筐体の外部に露出して有し、筐体内部に、処理ユニット3と、メモリユニット7とを備えている。自動伴奏装置1により形成された楽音は、図示しない出力端子から出力され、スピーカ2に送られる。
処理ユニット3には、音源4と、CPU(中央演算処理装置)10が搭載され、メモリユニット7には、複数の自動伴奏パターン(伴奏シーケンス)を記憶するROM8(リード・オンリ・メモリ)と、その複数の自動伴奏パターンのうち操作子6を使用者が操作することにより選択された自動伴奏パターンがROM8から読み出されて記憶されるRAM9(ランダム・アクセス・メモリ)とが搭載される。鍵盤5は、演奏を行う演奏操作子であって、メロディを演奏するための鍵域(メロディ鍵域)と、コードを指定するための鍵域(コード鍵域)とが備えられている。
自動伴奏装置1の操作パネルには、操作子6と表示器11とが備えられている。操作子6として、演奏のテンポを設定するテンポ設定スイッチや、自動伴奏パターンを選択する伴奏パターン選択スイッチや、自動伴奏の開始または停止を指示するスタート・ストップスイッチ等が備えられている。
テンポ設定スイッチは、自動伴奏のテンポを設定する操作子で、伴奏パターン選択スイッチにより選択された伴奏パターンには、予め所定のテンポ値が設定されており、このテンポ設定スイッチを操作しない場合には、その予め設定されているテンポで演奏され、テンポ設定スイッチが操作された場合は、そのテンポ値が変更される。
伴奏パターン選択スイッチは、自動伴奏のパターンを選択するスイッチである。ロック、ジャズ、ポップス、クラシックなどのジャンルに対応して、それらのジャンルに適合した伴奏情報がROM8に記憶され、この伴奏パターン選択スイッチにより、いずれかを選択し、自動的に伴奏を演奏させることができる。
スタート・ストップスイッチは、自動伴奏を開始または停止するように指示するスイッチである。自動伴奏の停止中に、スタート・ストップスイッチが操作された場合には、自動伴奏が開始され、自動伴奏が実行されている時に、スタート・ストップスイッチが操作された場合には、自動伴奏が停止される。なお、自動伴奏装置1には、これらの操作子の他に、図示しないが、フィルインやイントロ、エンディングなどのディビジョンを指定するスイッチや、各パートの音色を設定するスイッチや音量を調整するボリュームなどが備えられているが、本発明の要旨ではないのでその説明を省略する。
表示器11は、LCDなどにより構成されるもので、伴奏パターン選択スイッチにより選択された伴奏パターン名や、設定されているテンポの値が数値で表示される。
次に、図2を参照して自動伴奏装置1の電気的構成について説明する。図2は、自動伴奏装置1の電気的構成を示したブロック図である。自動伴奏装置1は、CPU10と、そのCPU10により実行される制御プログラムや複数の自動伴奏パターン等を記憶したROM8と、CPU10が制御プログラムを実行する際の作業用のメモリエリア等を提供するRAM9と、演奏を行うための鍵盤5と、各種パラメータを設定したり自動伴奏装置1に指示を行う操作子6と、その操作子6により設定されたパラメータなどを表示する表示器11と、CPU10により送信された演奏情報に対応した楽音信号を生成する音源4とを備え、これらはバスラインにより相互に接続されている。また、音源4の出力は、アンプ12に入力され、アンプ12は、スピーカ2を駆動する。
ROM8には、図3,4,6,7に示すフローチャートの処理を行う制御プログラムや、図5に示す伴奏パターンなどが記憶されている。伴奏パターンは、ロック、ジャズ、ポップス、クラシックなどのジャンル毎に分けられ、さらに各ジャンル毎の伴奏パターンは、イントロ、メイン1、フィルイン1、メイン2、フィルイン2、エンディングと言ったディビジョン毎に記憶されている。
RAM9には、上述の通り、使用者により選択された自動伴奏パターンを記憶する自動伴奏パターンメモリ9aと、自動伴奏の処理により自動伴奏パターンを構成する音符の音高を変換する際に、その音符と押鍵により指示されたコードの各構成音との音程を検出し、その音程が小さい音高から順に構成音を並べたコード構成音リストを記憶するコード構成音リストメモリ9bと、自動伴奏パターンの音符の音高と、その音符の音高が変換された音高とを示す変換情報を記憶する変換情報テーブルメモリ9cとを有する。
この変換情報テーブルメモリ9cには、使用者が押鍵によりコードを指定し、自動伴奏パターンを構成する音符のノートオンが読み出されて、指定されたコードに応じてノートオンが音源へ送出された際に、その自動伴奏パターンの音符の音高が、いずれの音高へ変換されて音源へ送出されたかを示す変換情報を記憶し、その音高に対応するノートオフが自動伴奏パターンから読み出された際に消去される。
CPU10は、メロディ鍵域において鍵が操作されたことを検出した場合は、その操作に対応する発音開始、または発音停止などの演奏情報を音源4に送信する。一方、コード鍵域において鍵が操作されたことを検出した場合は、その操作によりコードが確定されたか否かを判断する。コードが確定されない場合には、何も行わず、コードが確定された場合には、そのコードのルート情報(ルート)とコード種類情報(コードタイプ)とを求める。そのルート情報とコード種類情報とに基づいて、RAM9の伴奏パターンメモリ9aから読出した伴奏パターンを処理し、その処理を行った演奏情報を音源4に送信する。
次に、図3および図4を参照して、CPU10がROM8に記憶された制御プログラムに従って実行する処理について説明する。図3は、メイン処理を示すフローチャートであって、自動伴奏装置1の電源が投入されてから遮断されるまで実行される処理である。
まず、初期化処理を行う(S1)。この初期化処理としては、自動伴奏を行うための時刻を0に設定したり、表示器7に所定の初期画面を表示する処理などを行う。次に、押鍵イベントが発生したか否かを判断する(S2)。ここでは、メロディ鍵域についての処理は、説明を簡単にするため省略し、コード鍵域において押鍵または離鍵があったか否かを判断する。
押鍵イベントが発生していない場合は(S2:No)、S5の処理へ進み、押鍵イベントが発生した場合は(S2:Yes)、押鍵の変化によりコードが確定されたか否かを判断する(S3)。このコードの確定とは、例えば、鍵が一つだけしか押下されなかった場合は、コードは確定せず、2つ以上押された場合であって、その押鍵によりコードのルートとタイプとを特定することができる場合を、コードが確定したという。
コードが確定しない場合は(S3:No)、S5の処理へ進み、コードが確定された場合は(S3:Yes)、コードのルートとタイプとを求める(S4)。なお、複数の押鍵からコードのルートとタイプを求める方法については、各種の方法が公知である。求められたコードのルートとタイプとは、RAM9の所定の記憶領域に記憶する。なお、コードを構成する複数のコード構成音は、コードの種類毎にROM8に記憶されており、コードが確定してコード構成音に基づいて処理を行う場合は、ROM8を参照してコード構成音を取得する。
次に、クロックイベントが発生したか否かを判断する(S5)。このクロックイベントは、CPU10に図示しないタイマが設けられ、自動伴奏が開始されると、ティックの時間間隔で、タイマがCPU10に指示するイベントである。このティックとは、テンポ値に対応する時間間隔であり、テンポ値により特定される1拍の時間長さを所定の値(例えば、120)で除算した時間である。例えば、テンポ値が120であれば、1拍の長さは、500msecであり、これを120で除算すると1ティックは、4.17msecとなる。
このクロックイベントが発生した場合は(S5:Yes)、後述するクロックイベント処理を実行する。クロックイベントが発生していない場合(S5:No)およびクロックイベント処理を終了した場合は、次に操作パネルの操作子が操作されたか否かを判断する(S8)。操作子が操作された場合は(S7:Yes)、後述する操作子処理を行う。操作子が、操作されていない場合(S7:No)および操作子処理を終了した場合は、S2の処理に戻る。
次に、図4を参照して、操作子処理について説明する。図4は、操作子処理を示すフローチャートである。まず、テンポ設定ツマミが操作されてテンポ値が変更されたか否かを判断する(S11)。テンポ値が変更された場合は(S11:Yes)、変更されたテンポ値に応じてティックの値を算出し、算出された時間間隔でタイマがCPU10に指示を行うように、タイマを設定する(S12:テンポ変更処理)。
テンポ変更処理を終了した場合、またはテンポ値が変更されていない場合(S11:No)は、次に、伴奏パターン選択スイッチが操作されて、伴奏パターンが変更されたか否かを判断する(S13)。
伴奏パターンが変更された場合は(S13:Yes)、変更された伴奏パターンにより自動伴奏が行われるように設定するとともに、変更された伴奏パターンに設定されているテンポ値に応じてティックの値を算出し、算出された時間間隔でタイマがCPU10に指示を行うように、タイマを設定する(S14:パターン変更処理)。
パターン変更処理を終了した場合、または伴奏パターンが変更されていない場合(S13:No)は、次に、スタート・ストップスイッチが操作されたか否かを判断する(S15)。スタート・ストップスイッチが操作された場合は(S15:Yes)、自動伴奏を停止している時は、自動伴奏を開始するようにタイマの計時を開始し、自動伴奏を行っている時は、自動伴奏を停止するようにタイマの計時を停止する(S16:スタート・ストップ変更処理)。スタート・ストップ変更処理を終了した場合、またはスタート・ストップスイッチが操作されていない場合は(S15:No)、この操作子処理を終了してメイン処理へ戻る。
次に図5を参照してROM8に記憶されている伴奏パターンのデータについて説明する。図5は、伴奏パターンを構成するデータの一例を示している。伴奏パターンは、演奏が行われる順に、時間(dt)に対応してイベントであるMIDIメッセージが記憶されている。時間は、つぎのMIDIメッセージが音源4に送られるまでの時間であり、この時間の単位は、ティックである。
MIDIメッセージは、MIDI規格により定められた通信される情報で、音色などを設定するプログラムチェンジや、音量などを設定するコントロールチェンジや、発音の開始を指示するノートオンなどが規定されている。MIDIメッセージは、チャネル番号により、複数の演奏パートをそれぞれ制御することができる。
図5に示された例では、第1番目のデータは、時間が0に設定され、MIDIメッセージとしてプログラムチェンジが記憶されている。従って、演奏の開始と同時に、このプログラムチェンジにが、音源4に送られる。音源4は、このプログラムチェンジを受信すると、プログラムチェンジにより指定されるパートの音色をプログラムチェンジにより指定される音色に設定する。
第2番目のデータは、時間が0に設定され、MIDIメッセージとして、コントロールチェンジが記憶されている。第1番目のデータの時間が0に設定されているので、このコントロールチェンジも、演奏の開始と同時に音源4に送られる。音源4は、このコントロールチェンジを受信すると、コントロールチェンジにより指定されるパートの音量などを設定する。
第3番目のデータは、時間が0に設定され、コード(C:Cメジャーのコードを表す)のルートと種類を示すデータが記憶されている。第2番目のデータの時間が0に設定されているが、このコードを示すデータは、記憶されている伴奏パターンのコードのルートと種類を示し、押鍵により指定されたコード情報に従って伴奏音の音高を決定する際に使用されるものであって、音源4に送られるものではない。また、このコードは、通常の楽譜に記載される場合と同様に、次に指定されるまでの間のノートオンに対して有効である。言い替えれば、このコードは、次にコードが指定されるまでの間のノートオンに割り当てられることになる。
第4番目のデータは、時間が120に設定され、MIDIメッセージとして、ノートオン(E:音名を表す)が記憶されている。第3番目のデータの時間が0に設定されているので、このノートオンも演奏の開始と同時に読出される。このノートオンの音高であるノートナンバは、鍵盤5により指定されるコードに応じてオルタレーションが行われ、音源4に送られる。音源4は、このノートオンを受信すると、ノートオンにより指定されるパートにおいて、ノートオンにより指定される音高の楽音をノートオンにより指定されるベロシティ(押鍵速度)に応じた音量で発音する。
第5番目のデータは、時間が60に設定され、MIDIメッセージとして、ノートオン(F)が記憶されている。第4番目のデータの時間が120に設定されているので、第3番目のデータのノートオンが音源4に送られてから、120ティック後に、この第4番目のノートオンがオルタレーションされて音源4に送られる。
第6番目のデータは、時間が2に設定され、MIDIメッセージとして、ノートオフ(E)が記憶されている。第5番目のデータの時間が60に設定されているので、第4番目のデータのノートオンが音源4に送られてから60ティック後に読出される。ノートオンが音源4に送られた際に、いずれの音高をいずれの音高に変更して音源4へ送られたかを示す変更情報がRAM9の変更情報テーブルメモリ9cに記憶されている。ノートオフが読出された場合には、RAM9に記憶されている変更情報から対応する音高の変更情報を読出して、ノートオフのノートナンバを変更し、音源4に送られる。ノートオフが送られると、変更情報テーブルメモリ9cに記憶された該当する変更情報が消去される。
音源4は、ノートオフを受信すると、ノートオフにより指定されるパートにおいて、ノートオフにより指定される音高の楽音をノートオフにより指定されるベロシティ(離鍵速度)に応じた速さで減衰させる。以下、同様に、伴奏パターンは、記憶されている。
次に、図6を参照してクロックイベントについて説明する。図6は、ティック時間間隔により起動されるクロックイベント処理を示すフローチャートである。
まず、時間を表す変数tを1減じる(S21)。この変数tは、伴奏パターンに順次記憶されたイベントを時間経過に従って実行するためのもので、一つのイベントが実行されると、その次に実行されるイベントまでの時間が設定され、変数tが0になれば、そのイベントを実行するようになされたものである。
次に、時間の変数tが、0または、負の値であるか否かを判断する(S22)。時間の変数tが、正の値である場合は(S22:No)、このクロックイベント処理を終了してメイン処理へ戻る。時間の変数tが0または負の値である場合は(S22:Yes)、イベントであるMIDIメッセージを読み出し(S23)、そのMIDIメッセージがノートオンまたはノートオフを示すノート情報か否かを判断する(S24)。ノート情報である場合は(S24:Yes)、後述するノート情報処理を行う(S25)。
ノート情報処理を行った後、その処理されたノート情報または、S24の判断処理で、ノート情報ではないと判断したMIDIメッセージを音源4へ送信し(S26)、次のイベントの時間dtを時間変数tに加算し(S27)、S22の処理へ戻る。
次に、図7を参照して、この自動伴奏装置1におけるノート情報処理について説明する。図7は、ノート情報処理を示すフローチャートであり、ここでは説明を簡単にするため、ノート情報がノートオンである場合について説明する。ノート情報がノートオフである場合には、そのノートオフに対応するノートオンの音高をRAM9の変換情報テーブルメモリ9cに記憶された変換情報テーブルを参照し、そのノートオンにより発音が開始された楽音を消音するように制御するものである。
ノートオンの処理は、まず、ノートオンの音高を示す値であるノートナンバを12で割った剰余を求め、その剰余を新たなノートナンバとする。すなわち、最も低いオクターブに含まれるノートナンバである0から11の値に丸める(S31)。このことにより、ノートナンバに対応する音名に変換される。なお、MIDI規格では、ノートナンバ0が音名C,ノートナンバ1が音名C#(以下同様)というように規定されている。
次に、この丸められた音高が、ベーシックノートか否かを判断する(S32)。ベーシックノートとは、このノートに割り当てられているコードの構成音である。例えば、コードが、Cであれば、C,E,Gがベーシックノートであり、コードがCmであれば、C,E♭、Gがベーシックノートである。割り当てられているコードは、図5において、ノートオンの直前に指定されているコードであり、例えば第4番目のデータであるノートオン(E)および第5番目のデータであるノートオン(F)に割り当てられているコードは、第3行目のコード(C)である。よって、ノートオン(E)は、ベーシックノートであり、第5番面のデータであるノートオン(F)は、ベーシックノートではない。
ノートオンのノートナンバが、コード構成音である場合には(S32:Yes)、押鍵により指示されたコードの種類に応じてオルタレーションを行う(S33)。このオルタレーションとは、伴奏パターンに記憶されているコードの種類と、押鍵により指示されたコードの種類が異なる場合に、押鍵により指示されたコードの種類に適合するように変換するものである。例えば、伴奏パターンとして、メジャーコードが指定され、押鍵によりマイナーのコードが指定された場合は、第3音を半音下げるという変換を行うものである。より具体的には、伴奏パターンのノートオンがEであってCメジャーのコードが割り当てられている場合に、押鍵により、ルートの音高にかかわらずマイナーのコードが指定された場合には、E♭に変換される。なお、ノートオンが、CまたはGの場合には、変換されない。
次に、S33により処理されたノートと、押鍵により指示されたコードの複数の構成音毎に音高に対応する音名との音高差を算出して音高が近い(音高差が小さい)ものから順に並べたコード構成音リストを作成し、そのコード構成音リストの先頭の音高を指定する(S34)。したがって、S33により処理されたノートがコードの構成音のいずれかに一致する場合は、その一致する音高が先頭の音高として指定される。
このS34の処理において作成されたコード構成音リストは、RAM9のコード構成音リストメモリ9bに記憶される。なお、ここでいう音高差とは、単純なノートナンバの差ではなく、オクターブを構成する12音がリング状に配置されているとして、そのリング上の2音の音高差である。例えば、ノートナンバが1と5との差は、単純に引き算をして、4であるが、ノートナンバが1と11との差は、1に12を加算して13とし、11との差である2が、音高差である。
次に、その指定された音高が、ノートナンバ50より小さい場合は、12を加算してオクターブ高い音高とする(S35)。次に、S35の処理を終えた音高が、変換情報テーブルを参照し、現在発音中の音高のいずれかの音高と同一の音名か否かを判断する(S36)。現在発音中の音高の音名と同一でなければ(S36:No)、伴奏パターンや音色に応じた好ましい音高範囲となるよう適宜オクターブ変更を行い(S53)その音高のノートオンを音源4へ送出する(S48)。
一方、S36の判断処理において、現在発音中の音高と同一の音名であると判断された場合は(S36:Yes)、現在発音中の音高と、同じオクターブであるか否かを判断する(S37)。現在発音中の音高と同じオクターブではない場合は(S37:No)、次にその発音中の音高が、伴奏パターンに記憶されている元の音高の音名と同じ音名に基づいて生成されたものであるか否かを判断し(S41)伴奏パターンに記憶されている音高の音名と同じ音名から生成された場合は(S41:Yes)、音色に応じてオクターブ調整を行い(S53)、その音高のノートオンを音源4に送出する。
S37の処理において、その指定された音高が、現在発音中の音高と同じオクターブである場合(S37:Yes)、またはS41の判断処理において、その音高が伴奏パターンに記憶されている音高の音名と同じ音名に基づくものではない場合(S41:No)は、次に、その指定された音高が、S34の処理において作成されたコード構成音リストの最後の音高であるか否かを判断する(S38)。
その指定された音高が、コード構成音リストの最後の音高ではない場合は(S38:No)、順にリストされている音高のうち、現在指定されている音高の次にリストされている音高を指定し(S39)、S35の処理へ戻る。
S38の処理において、指定された音高が、コード構成音リストの最後の音高の場合は(S38:Yes)、コード構成音リストの最初に記憶されている音高の音名(最も伴奏パターンの音名に近い音高)を、今回発音する音名に決定し(S40)、音色などに応じてオクターブ調整を行う(S45)。次に、オクターブ調整を行った音高が、現在発音中であるか否かを判断し(S46)、発音中である場合は(S46:Yes)その発音中の楽音の停止を指示するノートオフを音源4に送出し(S47)、発音中でない場合は(S46:No)は、S47の処理をスキップして、その音高に対応するノートオンを音源4に送出する(S48)。
一方、S32の処理において、ノートオンの音高が、コード構成音ではない場合は(S32:No)、押鍵により指示されたコードの構成音の音名(オクターブを無視する)と一致するか否かを判断する(S51)。一致する場合は(S51:Yes)、S45の処理へ進み、一致しない場合は(S51:No)、押鍵により指示されたコードのルートに従って、トランスポーズを行う。例えば、そのノートオンに割り当てられているコードのルートがCであり、押鍵により指示されているコードのルートがFであれば、完全4度高い音高へトランスポーズし、S53の処理へ進み、オクターブ調整が行われた後、その音高のノートオンが音源4に送出される(S48)。このことにより、音源4は、ノートオンにより指定される音高の楽音の発生を開始する。なお、このS48の処理では、自動伴奏パターンに記憶されている音高が、いずれの音高に変換されたかという変換情報をRAM9の変換情報テーブル9cに記憶する処理も行う。
以上、実施形態について説明したように、伴奏パターンを構成する音符の音高が鍵盤5により指定されたコードの構成音のいずれかに一致する場合は、そのままの音高で発音を行い、鍵盤5により指定されたコードの構成音ではない場合は、所定の変換を行うようにしたので、少なくとも伴奏パターンを構成する音符の音高が鍵盤5で指定された音高に一致する場合には、鍵盤で指定される音高で発音されるので、鍵盤5により指定されるコードにより伴奏音の音高が大きく飛躍しないようにすることができる。
また、伴奏パターンを構成する音符の音高が、その音高に割り当てられているコードの構成音である場合は、鍵盤5により指定されたコードの各構成音の音名との音高差に基づいてコード構成音リストが作成され、まず、最も音高が近い音高に変換される。従って、伴奏パターンに記憶された音符の音高が大きく変更されることがない。
また、最も音高が近い音高が、すでに発音中であれば、コード構成音リストの中から順次音高が選択されるので、大きく音高が飛躍することがないとともに、変化のある伴奏を形成することができる。
なお、請求項1記載の検出手段は、図7記載のフローチャートのS34の処理が該当し、音高変更手段は、S34、S36およびS53の処理が該当する。
また、請求項2記載の第2の音高変更手段は、S36、S39およびS53の処理が該当する。
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
例えば、上記実施形態では、指示されるコード情報は、鍵盤5により入力されるものとしたが、予め演奏の進行に対応するコード情報(コード進行)を記憶し、演奏の進行に従ってコード情報を読み出して、そのコード情報を入力するものとしてもよい。
また、上記実施形態では、制御プログラムを実行することによりCPU10が、各種のオルタレーションテーブルを参照し、伴奏パターンから読み出された音符の音高を変更するようにしたが、制御プログラムのみにより条件を判断して、音高を変更するようにしてもよい。
また、上記実施形態の図7に示すフローチャートの処理では、まず、S32の処理において、S31の処理において丸められた音高が、ベーシックノートか否かを判断し、ベーシックノートである場合と、ベーシックノートではない場合とに応じた処理を行っているが、まず、丸められた音高が、鍵盤5により指定されたコードの構成音の音名に一致するか否かを判断し、指定されたコードの構成音である場合と、指定されたコードの構成音ではない場合とに応じた処理を行うようにしてもよい。
また、上記実施形態では、自動伴奏パターンには、伴奏パターンに割り当てられているコードを示すコード情報が記憶されているものとしたが、伴奏パターンは、所定の調(例えばCメジャー)で記憶されているものとしてもよい。
また、上記実施形態では、記憶されている複数の自動伴奏パターンの中から、使用者が自動伴奏パターンを選択する操作子6を操作することにより選択された自動伴奏パターンが選択されるものとしたが、使用者が鍵盤5などにより指示したコードのルートの音高や、そのコードの種類に応じて、自動伴奏パターンを選択するようにしてもよい。
本発明の自動伴奏装置の電気的構成を示したブロック図である。 自動伴奏装置の電気的構成を示したブロック図である。 メイン処理を示すフローチャートである。 操作子処理を示すフローチャートである。 伴奏パターンの一例を示す図である。 クロックイベント処理を示すフローチャートである。 ノートオン処理を示すフローチャートである。
1 自動伴奏装置
4 音源
5 鍵盤(入力手段)
6 伴奏パターン選択スイッチ(選択手段)
8 ROM(記憶手段)
9 RAM
10 CPU

Claims (2)

  1. ルート情報とコード種類情報とを有するコード情報を入力する入力手段と、複数の音符情報により構成される自動伴奏パターンを複数記憶する記憶手段と、その記憶手段に記憶された複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、その選択手段により選択された自動伴奏パターンを前記記憶手段から読出し前記入力手段により入力されたコード情報に基づいて自動伴奏を行う自動伴奏手段とを備えた自動伴奏装置において、
    前記記憶手段に記憶された自動伴奏パターンは、その自動伴奏パターンを構成する音符情報の音名として、前記音符情報に割り当てられたコードの構成音の音名と、前記コードの構成音以外の音名とを含むものであり、
    前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、その音符情報に割り当てられたコードの構成音である場合は、前記入力手段に入力されたコード情報により特定されるコードを構成する複数の音名と前記自動伴奏パターンを構成する音符情報が示す音名との音高差を検出する検出手段と、
    前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、その音符情報に割り当てられたコードの構成音であるか否かを判断し、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名が、その音符情報に割り当てられたコードの構成音であると判断される場合に、前記検出手段により検出された複数の音名と前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名との音高差のうち最も小さい音高差の音名に対応する音高に、前記音符情報が示す音名を変更する音高変更手段とを備え、
    前記自動伴奏手段は、前記音高変更手段により変更された音高に基づいて自動伴奏を行うことを特徴とする自動伴奏装置。
  2. 前記音高変更手段により変更された音高が、現在発音中であるかを検出する検出手段と、
    その検出手段により前記音高変更手段により変更された音高が発音中であると検出された場合は、前記入力手段により入力されたコードを構成する複数の音名のうち、前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音名との音高差が次に小さい音名に対応する音高に変更する第2の音高変更手段とを備えていることを特徴とする請求項1記載の自動伴奏装置。
JP2005027549A 2004-02-06 2005-02-03 自動伴奏装置 Expired - Fee Related JP4942938B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ITBO20040057 ITBO20040057A1 (it) 2004-02-06 2004-02-06 Metodo per l'adattamento della tonalita' di una sequenza di note musicali
ITBO2004A000057 2004-02-06

Publications (3)

Publication Number Publication Date
JP2005222052A JP2005222052A (ja) 2005-08-18
JP2005222052A5 JP2005222052A5 (ja) 2008-03-06
JP4942938B2 true JP4942938B2 (ja) 2012-05-30

Family

ID=34997674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005027549A Expired - Fee Related JP4942938B2 (ja) 2004-02-06 2005-02-03 自動伴奏装置

Country Status (2)

Country Link
JP (1) JP4942938B2 (ja)
IT (1) ITBO20040057A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2879948B2 (ja) * 1990-06-08 1999-04-05 ヤマハ 株式会社 音声処理装置
IT1247269B (it) * 1991-03-01 1994-12-12 Roland Europ Spa Dispositivo di accompagnamento automatico per strumenti musicali elettronici.
JPH05188961A (ja) * 1992-01-16 1993-07-30 Roland Corp 自動伴奏装置
JP2650591B2 (ja) * 1992-11-24 1997-09-03 ヤマハ株式会社 自動伴奏装置
JP2956924B2 (ja) * 1993-10-29 1999-10-04 株式会社河合楽器製作所 電子楽器の自動伴奏装置
JP3455050B2 (ja) * 1997-02-03 2003-10-06 株式会社河合楽器製作所 自動伴奏装置
JP3978277B2 (ja) * 1998-01-30 2007-09-19 ローランド株式会社 自動伴奏装置

Also Published As

Publication number Publication date
ITBO20040057A1 (it) 2004-05-06
JP2005222052A (ja) 2005-08-18

Similar Documents

Publication Publication Date Title
JP5574474B2 (ja) アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム
JP5041015B2 (ja) 電子楽器および楽音生成プログラム
JPH03192299A (ja) 自動伴奏装置
JP4376169B2 (ja) 自動伴奏装置
JP2636640B2 (ja) 自動伴奏装置
JP4670686B2 (ja) コード表示装置及びプログラム
JP4942938B2 (ja) 自動伴奏装置
JP4556852B2 (ja) 電子楽器および電子楽器に適用されるコンピュータプログラム
JP2010117419A (ja) 電子楽器
JP4748027B2 (ja) 自動伴奏装置及びプログラム
JP6790362B2 (ja) 電子音響装置
JP2005222052A5 (ja)
US20230035440A1 (en) Electronic device, electronic musical instrument, and method therefor
JP5692275B2 (ja) 電子楽器
WO2022201945A1 (ja) 自動演奏装置、電子楽器、演奏システム、自動演奏方法、及びプログラム
JP3933070B2 (ja) アルペジオ生成装置及びプログラム
JP3933154B2 (ja) 電子楽器
JP4470895B2 (ja) コード表示装置及びプログラム
JP2022151485A (ja) 自動演奏装置、電子楽器、演奏システム、自動演奏方法、及びプログラム
JP2023043297A (ja) 情報処理装置、電子楽器、音列生成方法及びプログラム
JP2023088608A (ja) 自動演奏装置、自動演奏方法、プログラム、及び電子楽器
JP3577852B2 (ja) 自動演奏装置
JP3499672B2 (ja) 自動演奏装置
JP2005010458A (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
JP2006119662A (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録したコンピュータ読み取り可能な媒体

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110506

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120229

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees