JP4376169B2 - 自動伴奏装置 - Google Patents

自動伴奏装置 Download PDF

Info

Publication number
JP4376169B2
JP4376169B2 JP2004317653A JP2004317653A JP4376169B2 JP 4376169 B2 JP4376169 B2 JP 4376169B2 JP 2004317653 A JP2004317653 A JP 2004317653A JP 2004317653 A JP2004317653 A JP 2004317653A JP 4376169 B2 JP4376169 B2 JP 4376169B2
Authority
JP
Japan
Prior art keywords
pitch
information
chord
automatic accompaniment
changed
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
JP2004317653A
Other languages
English (en)
Other versions
JP2006126697A (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 Corp
Original Assignee
Roland Corp
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 Corp filed Critical Roland Corp
Priority to JP2004317653A priority Critical patent/JP4376169B2/ja
Publication of JP2006126697A publication Critical patent/JP2006126697A/ja
Application granted granted Critical
Publication of JP4376169B2 publication Critical patent/JP4376169B2/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記載の自動伴奏装置において、前記音高変更手段は、前記音符情報が示す音高を、前記ルート情報に関わらず、前記コード種類情報によって特定されるコード構成音のいずれかの音高に変更した後、その変更した音高を、前記ルート情報に基づいて、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更する変更情報を記憶する音高変更テーブルを備え、前記音符情報が示す音高が、前記コード種類情報によって特定されるコード構成音のいずれにも一致しない場合には、前記ルート情報と、前記コード種類情報と、前記自動伴奏パターンを構成する音符情報の音高とに応じて、前記音高変更テーブルに記憶された変更情報を参照することにより前記自動伴奏パターンを構成する音符情報の音高を変更するものである。
請求項3記載の自動伴奏装置は、請求項1記載の自動伴奏装置において、前記音高変更手段は、前記音符情報が示す音高が、前記コード種類情報によって特定されるコード構成音のいずれにも一致しない場合に前記音高変更を実行する手段として、前記音符情報が示す音高を、前記ルート情報に関わらず、前記特定されるコード構成音のいずれかの音高に変更するコード外音変更手段と、そのコード外音変更手段により変更された音高を、前記ルート情報に基づいて、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更する置換手段とを備えている。
請求項4記載の自動伴奏装置は、請求項3記載の自動伴奏装置において、前記コード外音変更手段は、前記記憶手段に記憶される自動伴奏パターンを構成する音符情報の音高であるとともに、前記コード種類情報によって特定されるコード構成音のいずれにも一致しない音高を、前記ルート情報に関わらず、前記コード種類情報によって特定されるコード構成音のいずれかに変更する変更情報を記憶するコード外音変更テーブルを備え、前記自動伴奏パターンを構成する音符情報の音高に応じて、前記コード外音変更テーブルに記憶された変更情報を参照することにより、前記自動伴奏パターンを構成する音符情報の音高を変更するものである。
請求項5記載の自動伴奏装置は、請求項3または4記載の自動伴奏装置において、前記置換手段は、前記ルート情報と、前記コード外音変更手段により変更された音高とに対応して、前記コード外音変更手段により変更された音高を、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更する変更情報を記憶する置換テーブルを備え、前記コード外音変更手段により変更された音高と、前記ルート情報とに応じて、前記置換テーブルに記憶された変更情報を参照することにより、前記コード外音変更手段により変更された音高を変更するものである。
請求項6記載の自動伴奏装置は、請求項3から5のいずれかに記載の自動伴奏装置において、前記音高変更手段は、前記自動伴奏パターンを構成する音符情報の音高が、前記コード種類情報によって特定されるコード構成音である場合には、前記コード外音変更手段による音高の変更を行わせず、前記音符情報が示す音高そのものを、前記置換手段が変更する音高に決定する決定手段を備え、その決定手段による音高の決定が行われた場合には、前記置換手段を制御することで、前記決定手段により決定された音高である前記音符情報が示す音高そのものを、前記ルート情報に基づいて、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更させるものである。
請求項1または3記載の自動伴奏装置によれば、音高変更手段は、記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高を変更する。コード音高変更手段は、音高変更手段により変更された音高を、入力手段により入力されたコード情報が有するコード種類情報に基づいて変更する。全体音高変更手段は、コード音高変更手段により変更された音高全体を、入力手段により入力されたコード情報が有するルート情報に基づいて変更する。ここで、記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高が、コード種類情報によって特定されるコード構成音のいずれにも一致しない場合には、音高変更手段は、音符情報が示す音高を、ルート情報に関わらず、コード種類情報によって特定されるコード構成音のいずれかの音高へ、変更する。よって、音符情報が示す音高を、入力されたコード情報に基づいた自然な和音を形成する音高へと変更することができる。また、音高変更手段は、音符情報が示す音高を、ルート情報に関わらず、コード種類情報によって特定されるコード構成音のいずれかの音高へ変更するので、音符情報が示す音高を、ルート情報の影響を受けない自然な音高へ変更することができる。よって、自動伴奏パターンの流れを崩すことなく、自動伴奏パターンに従った音高へ、音符情報が示す音高を変更することができる。その後、音高変更手段は、その変更した音高を、ルート情報に基づいて、コード種類情報によって特定されるコード構成音の他のコード構成音へ、更に、変更する。これにより、自動伴奏パターンに従った音高への変更を保った上で、その音高を、更に、他のコード構成音へ、即ち、大きな跳躍を防止した音高へ変更することができる。よって、入力手段により入力されたコード情報に応じて自動伴奏パターンを変更する際、自動伴奏パターンを構成する音符情報の音高が、コード種類情報によって特定されるコード構成音でない場合にも、その音高を、音楽的に適切な音高へ、即ち、自然な和音を形成する音高へ変更することができ、かつ、自動伴奏パターンに従った音高へ変更することができ、更には、自動伴奏の音域が大きく跳躍することがない音高へ変更することができるという効果がある
請求項2に記載の自動伴奏装置によれば、請求項1記載の自動伴奏装置の奏する効果に加え、音高変更手段は、音高変更テーブルを備えており、その音高変更テーブルは、自動伴奏パターンを構成する音符情報が示す音高を、ルート情報に関わらず、コード種類情報によって特定されるコード構成音のいずれかの音高に変更した後、その変更した音高を、ルート情報に基づいて、コード種類情報によって特定されるコード構成音の他のコード構成音に変更する変更情報を記憶している。そして、音高変更手段は、自動伴奏パターンを構成する音符情報の示す音高が、コード種類情報によって特定されるコード構成音のいずれにも一致しない場合には、ルート情報と、コード種類情報と、自動伴奏パターンを構成する音符情報の音高とに応じて、音高変更テーブルに記憶された変更情報を参照することにより、自動伴奏パターンを構成する音符情報の音高を変更する。つまり、音高変更手段は、入力手段へコード情報が入力された場合には、音高変更テーブルに記憶された変更情報を参照するだけで、自動伴奏パターンを構成する音符情報の音高を変更することができる。よって、入力手段へコード情報が入力された場合に、自動伴奏パターンを構成する音符情報の音高を、音高変更テーブルを用いることなく変更する装置に比べ、その音符情報の音高を、速く変更することができるという効果がある。
請求項4記載の自動伴奏装置によれば、請求項3記載の自動伴奏装置の奏する効果に加え、コード外音変更手段は、コード外音変更テーブルを備えており、そのコード外音変更テーブルは、記憶手段に記憶される自動伴奏パターンを構成する音符情報の音高であるとともに、コード種類情報によって特定されるコード構成音のいずれにも一致しない音高を、ルート情報に関わらず、コード種類情報によって特定されるコード構成音のいずれかに変更する変更情報を記憶している。このコード外音変更手段は、自動伴奏パターンを構成する音符情報の音高に応じて、コード外音変更テーブルに記憶された変更情報を参照することにより、自動伴奏パターンを構成する音符情報の音高を変更する。つまり、コード外音変更手段は、入力手段へコード情報が入力された場合には、コード外音変更テーブルに記憶された変更情報を参照するだけで、自動伴奏パターンを構成する音符情報の音高を変更することができる。よって、入力手段へコード情報が入力された場合に、自動伴奏パターンを構成する音符情報の音高を、コード外音変更テーブルを用いることなく変更する装置に比べ、その音符情報の音高を、速く変更することができるという効果がある。
請求項5記載の自動伴奏装置によれば、請求項3または4記載の自動伴奏装置の奏する効果に加え、置換手段は、置換テーブルを備えており、その置換テーブルは、入力手段により入力されるコード情報が有するルート情報と、コード外音変更手段により変更された音高とに対応して、コード外音変更手段により変更された音高を、コード種類情報によって特定されるコード構成音の他のコード構成音に変更する変更情報を記憶している。この置換手段は、コード外音変更手段により変更された音高と、ルート情報とに応じて、置換テーブルに記憶された変更情報を参照することにより、コード外音変更手段により変更された音高を変更する。つまり、置換手段は、入力手段へコード情報が入力された場合には、置換テーブルに記憶された変更情報を参照するだけで、自動伴奏パターンを構成する音符情報の音高を変更することができる。よって、入力手段へコード情報が入力された場合に、自動伴奏パターンを構成する音符情報の音高を、置換テーブルを用いることなく変更する装置に比べ、その音符情報の音高を、速く変更することができるという効果がある。
請求項6記載の自動伴奏装置によれば、請求項3から5のいずれかに記載の自動伴奏装置の奏する効果に加え、決定手段は、自動伴奏パターンを構成する音符情報の音高が、コード種類情報によって特定されるコード構成音である場合には、コード外音変更手段による音高の変更を行わせず、音符情報が示す音高そのものを、置換手段が変更する音高に決定する。そして、音高変更手段は、決定手段による音高の決定が行われた場合には、置換手段を制御することで、決定手段により決定された音高を、即ち、音符情報が示す音高そのものを、ルート情報に基づいて、コード種類情報によって特定されるコード構成音の他のコード構成音に変更させる。つまり、自動伴奏パターンを構成する音符情報の音高が、コード種類情報によって特定されるコード構成音である場合には、不要な音高の変更、即ち、コード外音変更手段による音高の変更を行なわない。よって、自動伴奏パターンを構成する音符情報の音高が、コード種類情報によって特定されるコード構成音である場合には、自動伴奏パターンを構成する音符情報の音高が必要以上に変更されることを防止できるという効果がある。
以下、本発明の好ましい第1の実施形態について、添付図面を参照して説明する。図1は、本発明の一実施形態である自動伴奏装置1の電気的構成を示したブロック図である。自動伴奏装置1は、CPU2(中央処理装置)と、そのCPU2により実行される制御プログラムを記憶したROM3(リード・オンリ・メモリ)と、CPU2が制御プログラムを実行する際の作業用のメモリエリアを提供するRAM4(ランダム・アクセス・メモリ)と、演奏を行うための鍵盤5と、各種パラメータを設定したり自動伴奏装置1に指示を行う操作子6と、その操作子6により設定されたパラメータなどを表示する表示器7と、CPU2により送信された演奏情報に対応した楽音信号を生成する音源8と、その音源8により形成された楽音を増幅する増幅器9と、その増幅器9により増幅された楽音を放音するスピーカ10により構成されている。
ROM3には、図3,4,6,8に示すフローチャートの処理を行う制御プログラムや、図5に示す伴奏パターンや、図7に示す変換テーブルなどが記憶されている。鍵盤5は、メロディを演奏するための鍵域(メロディ鍵域)と、コードを指定するための鍵域(コード鍵域)とが備えられている。
CPU2は、メロディ鍵域において鍵が操作されたことを検出した場合は、その操作に対応する発音開始、または発音停止などの演奏情報を音源8に送信する。一方、コード鍵域において鍵が操作されたことを検出した場合は、その操作によりコードが確定されたか否かを判断する。コードが確定されない場合には、何も行わず、コードが確定された場合には、そのコードのルート情報(ルート)とコード種類情報(コードタイプ)とを求める。そのルート情報とコード種類情報とに基づいて、ROM3から読出した伴奏パターンをオルタレーションし、そのオルタレーションを行った演奏情報を音源8に送信する。
伴奏パターンは、ロック、ジャズ、ポップス、クラシックなどのジャンル毎に分けられ、さらに各ジャンル毎の伴奏パターンは、イントロ、メイン1、フィルイン1、メイン2、フィルイン2、エンディングと言ったディビジョン毎に記憶されている。
各伴奏パターンは、音名「C」をルートとする音符情報により構成され、メジャー、マイナー、セブンスのコードファミリ毎に記憶されている。従って、鍵盤5のコード鍵域で指定されたコードのタイプが属するファミリに応じて、伴奏パターンが読出される。
オルタレーションの仕方には、オブリガートタイプとコードタイプとがあり、イントロやエンディングの場合には、オブリガートタイプ、メイン部分では、コードタイプによりオルタレーションが行われる。オブリガートタイプのオルタレーションについては、本発明の要旨ではないので、その説明を省略する。
コードタイプのオルタレーションについては、まず、読み出した伴奏パターンを構成する音符の音高が、鍵盤5により指定されたコードのファミリにより特定されるコード構成音である場合には、そのままとし、コード構成音ではない場合には、直近のコード構成音に変更する。つぎに、鍵盤5により指定されたコードのルートに従って音高を変更する。単純にルートに従って音高を変更すると音域が大きく変化する場合があるので、そのような場合には、他のコード構成音に変更する。さらに、コードタイプ(アドナインス、サス4)により音高を変化し、最後にルートの値に応じて全体にシフトする。
次に、図2を参照してこの自動伴奏装置1の操作パネルについて説明する。図2は、自動演奏装置1の操作パネルの一部を示すものである。図示するように、操作パネルには、操作子6と表示器7とが備えられている。操作子6として、演奏のテンポを設定するテンポ設定ツマミ6aと、自動伴奏パターンを選択する6つの伴奏パターン選択スイッチ6bと、自動演奏の開始または停止を指示するスタート・ストップスイッチ6cとが備えられている。
テンポ設定ツマミ6aは、自動伴奏のテンポを設定する操作子で、伴奏パターン選択スイッチ6bにより選択された伴奏パターンには、予め所定のテンポ値が設定されており、このテンポ設定ツマミ6aを操作しない場合には、その予め設定されているテンポで演奏され、テンポ設定ツマミ6aが操作された場合は、そのテンポ値が変更される。
伴奏パターン選択スイッチ6bは、自動伴奏のパターンを選択するスイッチである。ロック、ジャズ、ポップス、クラシックなどのジャンルに対応して、それらのジャンルに適合した伴奏情報がROM3記憶され、この伴奏パターン選択スイッチ6bにより、いずれかを選択し、自動的に伴奏を演奏させることができる。
スタート・ストップスイッチ6cは、自動伴奏を開始または停止するように指示するスイッチである。自動伴奏の停止中に、スタート・ストップスイッチ6cが操作された場合には、自動伴奏が開始され、自動伴奏が実行されている時に、スタート・ストップスイッチ6cが操作された場合には、自動伴奏が停止される。なお、自動伴奏装置1には、これらの操作子の他に、図示しないが、フィルインやイントロ、エンディングなどのディビジョンを指定するスイッチや、各パートの音色を設定するスイッチや音量を調整するボリュームなどが備えられているが、本発明の要旨ではないのでその説明を省略する。
表示器7は、LCDなどにより構成されるもので、図2に示すように、スタイル選択スイッチ6bにより選択された伴奏パターン名(Rock3)や、設定されているテンポ(146)が数値で表示される。
次に、図3および図4を参照して、CPU2がROM3に記憶された制御プログラムに従って実行する自動伴奏処理について説明する。図3は、メイン処理を示すフローチャートであって、自動伴奏装置1の電源が投入されてから遮断されるまで実行される処理である。
まず、初期化処理を行う(S1)。この初期化処理としては、自動伴奏を行うための時刻を0に設定したり、表示器7に所定の初期画面を表示する処理などを行う。次に、押鍵イベントが発生したか否かを判断する(S2)。ここでは、メロディ鍵域についての処理は、説明を簡単にするため省略し、コード鍵域において押鍵または離鍵があったか否かを判断する。
押鍵イベントが発生していない場合は(S2:No)、S5の処理へ進み、押鍵イベントが発生した場合は(S2:Yes)、押鍵の変化によりコードが確定されたか否かを判断する(S3)。このコードの確定とは、例えば、鍵が一つだけしか押下されなかった場合は、コードは確定せず、2つ以上押された場合であって、その押鍵によりコードのルートとタイプとを特定することができる場合を、コードが確定したという。
コードが確定しない場合は(S3:No)、S5の処理へ進み、コードが確定された場合は(S3:Yes)、コードのルートとタイプとを求める(S4)。なお、複数の押鍵からコードのルートとタイプを求める方法については、各種の方法が公知である。求められたコードのルートとタイプとは、RAM4の所定の記憶領域に記憶する。
次に、クロックイベントが発生したか否かを判断する(S5)。このクロックイベントは、CPU2に図示しないタイマが設けられ、自動伴奏が開始されると、ティックの時間間隔で、タイマがCPU2に指示するイベントである。このティックとは、テンポ値に対応する時間間隔であり、テンポ値により特定される1拍の時間長さを所定の値(例えば、120)で除算した時間である。例えば、テンポ値が120であれば、1拍の長さは、500msecであり、これを120で除算すると1ティックは、4.17msecとなる。
このクロックイベントが発生した場合は(S5:Yes)、後述するクロックイベント処理を実行する。クロックイベントが発生していない場合(S5:No)およびクロックイベント処理を終了した場合は、次に操作パネルの操作子が操作されたか否かを判断する(S8)。操作子が操作された場合は(S7:Yes)、後述する操作子処理を行う。操作子が、操作されていない場合(S7:No)および操作子処理を終了した場合は、S2の処理に戻る。
次に、図4を参照して、操作子処理について説明する。図4は、操作子処理を示すフローチャートである。まず、テンポ設定ツマミ6aが操作されてテンポ値が変更されたか否かを判断する(S11)。テンポ値が変更された場合は(S11:Yes)、変更されたテンポ値に応じてティックの値を算出し、算出された時間間隔でタイマがCPU2に指示を行うように、タイマを設定する(S12:テンポ変更処理)。
テンポ変更処理を終了した場合、またはテンポ値が変更されていない場合(S11:No)は、次に、伴奏パターン選択スイッチが操作されて、伴奏パターンが変更されたか否かを判断する(S13)。
伴奏パターンが変更された場合は(S13:Yes)、変更された伴奏パターンにより自動伴奏が行われるように設定するとともに、変更された伴奏パターンに設定されているテンポ値に応じてティックの値を算出し、算出された時間間隔でタイマがCPU2に指示を行うように、タイマを設定する(S14:パターン変更処理)。
パターン変更処理を終了した場合、または伴奏パターンが変更されていない場合(S13:No)は、次に、スタート・ストップスイッチが操作されたか否かを判断する(S15)。スタート・ストップスイッチが操作された場合は(S15:Yes)、自動伴奏を停止している時は、自動伴奏を開始するようにタイマの計時を開始し、自動伴奏を行っている時は、自動伴奏を停止するようにタイマの計時を停止する(S16:スタート・ストップ変更処理)。スタート・ストップ変更処理を終了した場合、またはスタート・ストップスイッチが操作されていない場合は(S15:No)、この操作子処理を終了してメイン処理へ戻る。
次に図5を参照してROM3に記憶されている伴奏パターンのデータについて説明する。図5は、伴奏パターンを構成するデータの一例を示している。伴奏パターンは、演奏が行われる順に、時間(dt)に対応してイベントであるMIDIメッセージが記憶されている。時間は、つぎのMIDIメッセージが音源に送られるまでの時間であり、この時間の単位は、ティックである。
MIDIメッセージは、MIDI規格により定められた通信される情報で、音色などを設定するプログラムチェンジや、音量などを設定するコントロールチェンジや、発音の開始を指示するノートオンなどが規定されている。MIDIメッセージは、チャネル番号により、複数の演奏パートをそれぞれ制御することができる。
図5に示された例では、第1番目のデータは、時間が0に設定され、MIDIメッセージとしてプログラムチェンジが記憶されている。従って、演奏の開始と同時に、このプログラムチェンジが、音源8に送られる。音源8は、このプログラムチェンジを受信すると、プログラムチェンジにより指定されるパートの音色をプログラムチェンジにより指定される音色に設定する。
第2番目のデータは、時間が0に設定され、MIDIメッセージとして、コントロールチェンジが記憶されている。第1番目のデータの時間が0に設定されているので、このコントロールチェンジも、演奏の開始と同時に音源8に送られる。音源8は、このコントロールチェンジを受信すると、コントロールチェンジにより指定されるパートの音量などを設定する。
第3番目のデータは、時間が120に設定され、MIDIメッセージとして、ノートオンが記憶されている。第2番目のデータの時間が0に設定されているので、このノートオンも演奏の開始と同時に読出される。このノートオンの音高であるノートナンバは、鍵盤5により指定されるコードに応じてオルタレーションが行われ、音源8に送られる。音源8は、このノートオンを受信すると、ノートオンにより指定されるパートにおいて、ノートオンにより指定される音高の楽音をノートオンにより指定されるベロシティ(押鍵速度)に応じた音量で発音する。
第4番目のデータは、時間が60に設定され、MIDIメッセージとして、ノートオンが記憶されている。第3番目のデータの時間が120に設定されているので、第3番目のデータのノートオンが音源8に送られてから、120ティック後に、この第4番目のノートオンがオルタレーションされて音源8に送られる。
第5番目のデータは、時間が2に設定され、MIDIメッセージとして、ノートオフが記憶されている。第4番目のデータの時間が60に設定されているので、第4番目のデータのノートオンが音源8に送られてから、60ティック後に読出される。ノートオンが音源8に送られた際に、RAM4に、いずれの音高をいずれの音高に変更して音源8へ送られたかを示す変更情報が記憶されている。ノートオフが読出された場合には、RAM4に記憶されている変更情報から対応する音高の変更情報を読出して、ノートオフのノートナンバを変更し、音源8に送信される。音源8は、ノートオフを受信すると、ノートオフにより指定されるパートにおいて、ノートオフにより指定される音高の楽音をノートオフにより指定されるベロシティ(離鍵速度)に応じた速さで減衰させる。以下、同様に、伴奏パターンは、記憶されている。
次に、図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メッセージを、音源8へ送信し(S26)、次のイベントの時間dtを時間変数tに加算し(S27)、S22の処理へ戻る。
次に、図7を参照して、自動伴奏装置1におけるオルタレーション処理に用いる各種テーブルについて説明する。なお、これらの各種テーブルはROM3に予め記憶されているものである。図7(a)は、伴奏パターンに含まれる音符の音高が鍵盤で指定されたコードの構成音以外の音高である場合に、その音高をコードの構成音へ変更するためのコード外音変更テーブルCTである。これらのテーブルに記憶されているシフト量(変更情報)は、半音を単位とするものであり、「+1」は、「半音上げる」、「−1」は、「半音下げる」を意味する。
例えば、図7(a)に示すように伴奏の音高が、C#である場合には、このテーブルからシフト量「−1」が得られる。これは、C#の音高を半音下げることを指示している。C#の音高は、1であり1−1=0という演算が行われ、C#(1)は、C(0)に変更されるということを表している。同様に、音高がD(2)の場合には、テーブルから「−2」が得られ、Dの音高は2であるから、2−2=0となり、Dは、Cに変更される。
同様に、B♭〜Dの音高はCに変更され、E♭〜Fの音高は、Eに変更され、F#〜Aの音高は、Gに変更される。
コードのルートが、C以外の場合には、ルートがCの場合に変換し、コードの構成音になるように変換した後、もとのルートに対応する音高に戻す。コードのファミリがメジャーでない場合は、マイナー、セブンスそれぞれの変更テーブルをROM3に記憶し、それぞれを参照して変更を行う。
図7(b)は、ルートによるオルタレーションテーブルRA(置換テーブル)であり、鍵盤5により指定されるコードのルートと伴奏パターンを構成する音符の音高とに応じて、その伴奏パターンを構成する音符の音高を変更するシフト量が示されている。この図7(b)に示すオルタレーションテーブルは、コードファミリがメジャーの場合を、示しており、コードファミリがマイナーまたはセブンスの場合のオルタレーションテーブルは、別途記憶されている。
このオルタレーションテーブルに示されるように、ルートがCからDまでの場合には、シフト量が0であって、伴奏パターンを構成する音符の音高を変更しない値となっている。ルートが、E♭〜F#、G〜B♭、Bの場合について、伴奏パターンを構成する音符の音高が、B♭〜D、E♭〜F、F#〜Aについて、それぞれシフト量が設定されている。これらの値は、伴奏パターンを構成する音符の音高が、Cのメジャーコードを構成する音高であるC、E,Gを、ルートに応じて変更する(コード構成音を他のコード構成音に変更する)ものであって、伴奏パターンを構成する音符の音高がコード構成音でない場合には、直近のコード構成音のシフト量と同じシフト量としているものである。
図7(c)は、タイプによるオルタレーションテーブルTAであって、入力されたコードのタイプに応じて、各音名毎にオルタレーションのシフト量を決めるテーブルである。このタイプによるオルタレーションテーブルTAにおいては、縦欄に入力されたコードのタイプ、横欄に伴奏パターンを構成する音符の音高が書かれ、入力されたコードのタイプに対して各音高を各々どれだけずつシフトするかが示される。
例えば、コードのタイプがメジャー(maj)である場合には、すべての音高についてシフト量は0に設定されているので、変更は行われない。コードタイプが、アドナインス(add9)の場合には、音高がCの場合にシフト量が2に設定され、その他の音高については、0に設定されている。従って、コードタイプが、アドナインスの場合には、Cの音高が2変更されて、Dになる。
同様に、コードタイプがサス4(sus4)の場合は、音高がEの場合のシフト量が1に設定され、他の音高の場合には、0に設定されている。従って、コードタイプが、サス4の場合には、Eの音高がFに変更される。
次に、図8を参照して、この自動伴奏装置1におけるノート情報処理について説明する。図8は、ノート情報処理を示すフローチャートである。まず、ノート情報がノートオンかノートオフかを判断する(S30)。ノート情報がノートオンである場合は(S31:Yes)、ノートオンの音高を示す値であるノートナンバをn0とする(S31)。次に、n0の値を12で割った剰余(n0%12)に対応するシフト量を図7(a)のコード外音変更テーブルCTから求め、n0に加算してn1とする(S32)。12で割った剰余を求めるのは、伴奏は、所定の音域に渡っている。一方、いずれのオルタレーションテーブルも音高については、最も低いオクターブの音高について記憶されている。したがって、伴奏の音高をもっとも、テーブルを参照するためである。この処理により、ノートナンバが示す音高が、コードの構成音のいずれにも一致しない場合に、直近のコードの構成音に変更される。
次に、n1の値を12で割った剰余(n1%12)と鍵盤5により指定されたコードのルートに基づいて、図7(b)のルートによるオルタレーションテーブルRAを参照し、シフト量を求め、音高n1に加算して音高n2とする(S33)。次に、音高n2を12で割った剰余(n2%12)と鍵盤5により指定されたコードのタイプに基づいて図7(c)のタイプによるオルタレーションテーブルTAを参照し、シフト量を求め、音高n2に加算して音高n3とする。(S34)、最後に、音高n3に鍵盤5により指定されたコードのルートを加算し音高n4とすることにより(S35)オルタレーションを完了する。このようにしてオルタレーションを完了すると、RAM4に、ノートナンバn0をn4に変更したことを示す変更情報を記憶する。
S30の処理で、ノート情報がノートオンではなくノートオフであると判断した場合は(S30:No)、そのノートオフのノートナンバに一致するn0の音高をRAM4に記憶した変更情報の中から検索し、その検索した変更情報に基づいてノートオンのノートナンバをn4の音高に変更するとともに、その変更情報をRAM4から消去する(S36)。ノートオフは、オルタレーションを行わない理由は、ノートオンが読出された時に鍵盤5により指定されていたコードと、そのノートオンに対応するノートオフが読出されたときに鍵盤5により指定されているコードとが異なる場合があるからである。S35、または、S36の処理が終了するとメイン処理に戻る。
以上、第1の実施形態について説明したように、伴奏パターンを構成する音符の音高が鍵盤5により指定されたコードの構成音のいずれにも一致しない場合は、コードの構成音に変更し、鍵盤5により指定されたコードのルートにより変更する際に、音域が大きく跳躍しないように他のコードの構成音に変更される。従って、コードタイプのオルタレーションが、音楽的に適切に行われる。
次に、図9を参照して、第2の実施形態の自動伴奏装置1について説明する。図2は、第1の実施形態におけるコード外音変更テーブルCTと、ルートによるオルタレーションテーブルとを一つのテーブルに合成した音高変更テーブルCRである。なお、前記した第1の実施形態の自動伴奏装置1と同一部分については、説明を省略し、異なる部分についてのみ説明する。
この音高変更テーブルは、鍵盤5により指定されるコードのルートと、伴奏パターンを構成する音符の音高に対応して、伴奏パターンを構成する音符の音高を、鍵盤5により指定されるコード情報が有するコード種類情報により特定されるコード構成音のいずれにも一致しない場合は、コードの構成音に変更するとともに、鍵盤5により指定されるコード情報が有するルート情報に応じて、コード情報が有するコード種類情報により特定されるコード構成音の他のコード構成音に変更するシフト量を記憶したものである。
したがって、この第2の実施形態では、図8に示すノートオン処理において、S31までの処理は、第1の実施形態と同一であり、S32の処理とS33の処理が同時に行われ、n0の値と、ルートとからn2の値が求められる。n2の値が求められると、それ以降の処理は、第1の実施例と同一である。
この実施形態の場合には、伴奏パターンを構成する音符の音高と鍵盤5により指定されたコードのルートとから、そのコードの構成音と一致しない音高をコードの構成音に変更することと、ルートによるオルタレーションとを速く行うことができる。
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。

例えば、上記第1の実施形態では、オルタレーションを行う際、まず音符情報の音高を指定されたコード情報により特定されるコードの構成音に変更し、つぎにそのコードのルート情報に従って変更されたコードの構成音を、音域が変化しないように変更したが、先に、音符情報の音高をコードのルート情報に従って音域が変化しないように変更し、その変更された音高を、コードの構成音に変更するようにしても良い。
また、上記第1および第2の実施形態では、コード情報は、鍵盤5により入力されるものとしたが、予め演奏の進行に対応するコード情報(コード進行)を記憶し、演奏の進行に従ってコード情報を読み出して、そのコード情報を入力するものとしてもよい。
また、上記第1および第2の実施形態では、制御プログラムを実行することによりCPU2が、各種のオルタレーションテーブルを参照し、伴奏パターンから読み出された音符の音高を変更するようにしたが、制御プログラムのみにより条件を判断して、音高を変更するようにしてもよい。
また、上記第1の実施形態では、まず、コード外音変更テーブルCTを参照して伴奏パターンを構成する音符の音高がコードの構成音のいずれにも一致しない場合は、コードの構成音に変更し、つぎにルートによるオルタレーションテーブルRAを参照して、他のコードの構成音に変更するようにしたが、伴奏パターンがコード構成音とそのコード構成音に対する装飾音符とで構成されているような場合には、コード外音変更テーブルCTによる変更を行わず、ルートによるオルタレーションテーブルRAによる変更を行うオルタレーションを行ってもよい。
本発明の自動伴奏装置の電気的構成を示したブロック図である。 自動伴奏装置の操作パネルを示す図である。 メイン処理を示すフローチャートである。 操作子処理を示すフローチャートである。 伴奏パターンの一例を示す図である。 クロックイベント処理を示すフローチャートである。 ノートオン処理を示すフローチャートである。 (a)は、音符の音高をコード構成音へ変更するコード外音変更テーブル、 (b)は、ルートによるオルタレーションテーブル(置換テーブル)、(c)は、タ イプによるオルタレーションテーブルである。 第2の実施形態における音高変更テーブルを示す図である。
1 自動伴奏装置
2 CPU
3 ROM(記憶手段)
4 RAM
5 鍵盤(入力手段)
6b 伴奏パターン選択スイッチ(選択手段)
CT コード外音変更テーブル
RA 置換テーブル
CR 音高変更テーブル

Claims (6)

  1. ルート情報とコード種類情報とを有するコード情報を入力する入力手段と、複数の音符情報により構成される自動伴奏パターンを複数記憶する記憶手段と、その記憶手段に記憶された複数の自動伴奏パターンのうちから任意の自動伴奏パターンを選択する選択手段と、その選択手段により選択された自動伴奏パターンを前記記憶手段から読出し前記入力手段により入力されたコード情報に基づいて自動伴奏を行う自動伴奏手段とを備えた自動伴奏装置において、
    前記記憶手段に記憶された自動伴奏パターンを構成する音符情報が示す音高を変更する音高変更手段と、
    その音高変更手段により変更された音高を、前記入力手段により入力されたコード情報が有するコード種類情報に基づいて変更するコード音高変更手段と、
    そのコード音高変更手段により変更された音高全体を、前記入力手段により入力されたコード情報が有するルート情報に基づいて変更する全体音高変更手段とを備え、
    前記音高変更手段は、
    前記音符情報が示す音高が、前記コード種類情報によって特定されるコード構成音のいずれにも一致しない場合には、
    前記音符情報が示す音高を、前記ルート情報に関わらず、前記コード種類情報によって特定されるコード構成音のいずれかの音高に変更した後、その変更した音高を、前記ルート情報に基づいて、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更する音高変更を実行するものであること特徴とする自動伴奏装置。
  2. 前記音高変更手段は、
    前記音符情報が示す音高を、前記ルート情報に関わらず、前記コード種類情報によって特定されるコード構成音のいずれかの音高に変更した後、その変更した音高を、前記ルート情報に基づいて、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更する変更情報を記憶する音高変更テーブルを備え、
    前記音符情報が示す音高が、前記コード種類情報によって特定されるコード構成音のいずれにも一致しない場合には、前記ルート情報と、前記コード種類情報と、前記自動伴奏パターンを構成する音符情報の音高とに応じて、前記音高変更テーブルに記憶された変更情報を参照することにより前記自動伴奏パターンを構成する音符情報の音高を変更するものであること特徴とする請求項1記載の自動伴奏装置。
  3. 前記音高変更手段は、
    前記音符情報が示す音高が、前記コード種類情報によって特定されるコード構成音のいずれにも一致しない場合に前記音高変更を実行する手段として、
    前記音符情報が示す音高を、前記ルート情報に関わらず、前記特定されるコード構成音のいずれかの音高に変更するコード外音変更手段と、
    のコード外音変更手段により変更された音高を、前記ルート情報に基づいて、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更する置換手段とを備えていること特徴とする請求項1記載の自動伴奏装置。
  4. 記コード外音変更手段は、
    前記記憶手段に記憶される自動伴奏パターンを構成する音符情報の音高であるとともに、前記コード種類情報によって特定されるコード構成音のいずれにも一致しない音高を、前記ルート情報に関わらず、前記コード種類情報によって特定されるコード構成音のいずれかに変更する変更情報を記憶するコード外音変更テーブルを備え、
    前記自動伴奏パターンを構成する音符情報の音高に応じて、前記コード外音変更テーブルに記憶された変更情報を参照することにより、前記自動伴奏パターンを構成する音符情報の音高を変更するものであること特徴とする請求項3記載の自動伴奏装置。
  5. 記置換手段は、
    前記ルート情報と、前記コード外音変更手段により変更された音高とに対応して、前記コード外音変更手段により変更された音高を、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更する変更情報を記憶する置換テーブルを備え、
    記コード外音変更手段により変更された音高と、前記ルート情報とに応じて、前記置換テーブルに記憶された変更情報を参照することにより、前記コード外音変更手段により変更された音高を変更するものであること特徴とする請求項3または4記載の自動伴奏装置。
  6. 前記音高変更手段は、
    前記自動伴奏パターンを構成する音符情報の音高が、前記コード種類情報によって特定されるコード構成音である場合には、前記コード外音変更手段による音高の変更を行わせず、前記音符情報が示す音高そのものを、前記置換手段が変更する音高に決定する決定手段を備え、
    の決定手段による音高の決定が行われた場合には、前記置換手段を制御することで、前記決定手段により決定された音高である前記音符情報が示す音高そのものを、前記ルート情報に基づいて、前記コード種類情報によって特定されるコード構成音の他のコード構成音に変更させることを特徴とする請求項3から5のいずれかに記載の自動伴奏装置。

JP2004317653A 2004-11-01 2004-11-01 自動伴奏装置 Expired - Fee Related JP4376169B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004317653A JP4376169B2 (ja) 2004-11-01 2004-11-01 自動伴奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004317653A JP4376169B2 (ja) 2004-11-01 2004-11-01 自動伴奏装置

Publications (2)

Publication Number Publication Date
JP2006126697A JP2006126697A (ja) 2006-05-18
JP4376169B2 true JP4376169B2 (ja) 2009-12-02

Family

ID=36721486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004317653A Expired - Fee Related JP4376169B2 (ja) 2004-11-01 2004-11-01 自動伴奏装置

Country Status (1)

Country Link
JP (1) JP4376169B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5821229B2 (ja) * 2011-03-25 2015-11-24 ヤマハ株式会社 伴奏データ生成装置及びプログラム
JP5598397B2 (ja) * 2011-03-25 2014-10-01 ヤマハ株式会社 伴奏データ生成装置及びプログラム
JP5598398B2 (ja) 2011-03-25 2014-10-01 ヤマハ株式会社 伴奏データ生成装置及びプログラム
CN103443849B (zh) * 2011-03-25 2015-07-15 雅马哈株式会社 伴奏数据产生设备
JP5626062B2 (ja) * 2011-03-25 2014-11-19 ヤマハ株式会社 伴奏データ生成装置及びプログラム

Also Published As

Publication number Publication date
JP2006126697A (ja) 2006-05-18

Similar Documents

Publication Publication Date Title
JP5041015B2 (ja) 電子楽器および楽音生成プログラム
JP2576700B2 (ja) 自動伴奏装置
JP3829439B2 (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録したコンピュータ読み取り可能な媒体
JPH03192299A (ja) 自動伴奏装置
JP2612923B2 (ja) 電子楽器
JP4376169B2 (ja) 自動伴奏装置
JP4962592B2 (ja) 電子楽器および電子楽器に適用されるコンピュータプログラム
JP4556852B2 (ja) 電子楽器および電子楽器に適用されるコンピュータプログラム
JP2006227247A (ja) カラオケ装置およびカラオケ演奏の歌唱評価処理のプログラム
JP2001022354A (ja) アルペジオ生成装置及びその記録媒体
JP4942938B2 (ja) 自動伴奏装置
JP2010117419A (ja) 電子楽器
JP4748027B2 (ja) 自動伴奏装置及びプログラム
JP6790362B2 (ja) 電子音響装置
JP2007240558A (ja) コード検出領域設定装置、該装置を具えたコード表示装置、及びこれらのプログラム
JP2660456B2 (ja) 自動演奏装置
JP2007163710A (ja) 演奏支援装置及びプログラム
JP7452501B2 (ja) 自動演奏装置、電子楽器、演奏システム、自動演奏方法、及びプログラム
JP5692275B2 (ja) 電子楽器
JP4175364B2 (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録したコンピュータ読み取り可能な媒体
JP2005222052A5 (ja)
WO2022201945A1 (ja) 自動演奏装置、電子楽器、演奏システム、自動演奏方法、及びプログラム
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
JP2000352979A (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
JP3669301B2 (ja) 自動作曲装置及び方法並びに記憶媒体

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090817

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: 20090908

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: 20090908

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees