JP6459237B2 - 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム - Google Patents
自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム Download PDFInfo
- Publication number
- JP6459237B2 JP6459237B2 JP2014125920A JP2014125920A JP6459237B2 JP 6459237 B2 JP6459237 B2 JP 6459237B2 JP 2014125920 A JP2014125920 A JP 2014125920A JP 2014125920 A JP2014125920 A JP 2014125920A JP 6459237 B2 JP6459237 B2 JP 6459237B2
- Authority
- JP
- Japan
- Prior art keywords
- accompaniment
- sound
- chord
- pitch
- pattern
- 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.)
- Active
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
なお、このコード入力のための鍵域以外の鍵域は、楽曲のメロディラインを演奏するためのものであり、鍵が押鍵されると、その押鍵された鍵に対応する音高の楽音が生成されるように構成されている。
ただし、これら伴奏パターンの切り替えは、鍵盤とは別にコンソールパネル等に設けられているスイッチの操作により行われていた。
特に、ユーザーの意図するタイミングでリズム伴奏パターンを切り替えようとすると、ユーザーは演奏している楽曲のテンポを考慮しながらコード入力用鍵域から手を離して、コンソールパネル上にあるスイッチを操作しなければならない。これではユーザーの手の移動量が大きい上に、不慣れな位置にあるスイッチを探す必要があることから、演奏に集中することが難しくなる。
よって、所望の伴奏パターンに切り替えるためには、現在の伴奏パターンと、所望の伴奏パターンとの間に、同じコードをあと何回入力すればいいかを演奏者は正確に把握する必要がある。これはユーザーにとって非常に煩わしいものであった。
その他の手段は、後記する。
各処理部(コード判定部11a、伴奏決定部11b、伴奏出力部11c)は、CPU(Central Processing Unit)11によって構成される演算処理装置が、メモリ上のプログラムを実行することで、実現される。電子楽器1の各構成要素は、システムバス14によって通信可能に接続されている。
「音高(ピッチ)」とは、音の高さである。音高を表現するときは、アルファベット単体(「A」ならラのイタリア式の「ラ」に該当)、または、アルファベットの後にオクターブを示す数字を付す(「A3」ならオクターブ3のラ)。オクターブを示す数字は、値が大きいほど高い音を示す。
「押鍵音高」とは、鍵盤に対して演奏者が実際に押鍵により指定された1つ以上の音高の集合である。本明細書では、押鍵音高を示す「K<押鍵音高>」の表記を用いる。例えば、「K<A2 C#3 E3>」とは、A2とC#3とE3という3つの音高が同時に押鍵された状態を示し、「K< >」とは、どの押鍵もなされていない状態を示す。
「押鍵形態」とは、押鍵音高により構成される伴奏コードの形態が基本形か転回形かを示す。基本形とは、押鍵音高の最低音(最も低い音高の音、ベースノートとも呼ばれる)がコードルートと一致する状態を示し、転回形とは、押鍵音高の最低音がコードルートと不一致である状態を示す。
ノーマルパターンとは、基本的な自動伴奏のパターンであり、バリエーションパターンは、ノーマルパターンを変化(発展)させたパターンである。フィルインパターンとは、異なるメロディの間に挿入される短いフレーズである。
以下、出力される自動伴奏を示す表記として、「B[伴奏コード,伴奏パターン]」の表記を用いる。例えば、「B[A,n]」は、Aメジャーコードのノーマルパターンを示す。
SW群21は、鍵盤の外に配置されるスイッチの集合であり、少なくとも、自動伴奏の開始/終了を指定するスイッチを含む。
鍵盤22は、演奏者によって押鍵される。例えば、61鍵の鍵盤22では、伴奏用鍵域を鍵盤のC2〜F#3の鍵域とし、演奏用鍵域をG3〜の鍵域とする。演奏者は、伴奏用鍵域を押鍵することで、伴奏コード及び伴奏パターンを指定し、演奏用鍵域を押鍵することで、メロディを演奏することができる。
LED(Light Emitting Diode)23は、電子楽器1の状態を演奏者に通知するための表示手段であり、少なくとも、自動伴奏が現在有効であるか否かを把握させるランプを含む。
DAC(Digital Analog Converter)24は、CPU11(音源11d)から出力されるWAV形式などの楽音信号(デジタル信号)をアナログ変換して音響信号とする。
サウンドシステム25は、DAC24が出力する音響信号に対して各種のアナログ信号処理(増幅処理や音質調整処理など)を行う。
スピーカ26は、サウンドシステム25からの音響信号を鳴らす(放音する)。
コードマップには、音名の集合(<A C# E>など)と、それに対応する伴奏コード(「Aメジャー」など)とが定義付けられている。
コード判定部11aは、K<A2 C#3 E3>が押鍵されると、その押鍵音高からオクターブ情報を除去して音名の集合<A C# E>を求め、コードマップを参照することで、対応する伴奏コード(「Aメジャー」)を求めることができる。なお、転回形であるK<C#3 E3 A4>が押鍵される場合でも、音名の集合は<A C# E>であるため、対応する伴奏コード(「Aメジャー」)は、基本形であるK<A2 C#3 E3>と同じである。
例えば、伴奏決定部11bは、伴奏コードが基本形の押鍵形態で押鍵されたときはノーマルパターンとし、転回形の押鍵形態で押鍵されたときはバリエーションパターンとする。
なお、伴奏決定部11bの詳細は、後記する図2〜図6の説明で明らかにする。
そして、伴奏決定部11bにより判別された伴奏コードのコードルート(例えば「D」)が、基準のコードルート(例えば「C」)と異なるときには、伴奏出力部11cは、ROM13にあらかじめ格納されているピッチマップ(例えば、C=0,D=2のように、ある音高と別の音高との差分が半音単位でわかる情報)を参照して、両コードルート間の差分(+2)だけ伴奏パターンデータの音高を移調する。
音源11dは、CPU11のソフト処理により、デジタル形式の楽音信号を生成するものである。この音源11dには、鍵盤22の演奏用鍵域の押鍵によるメロディ演奏により指定される音高、伴奏出力部11cから出力される伴奏パターンにより指定される音高あるいはリズム音指定信号を入力として、デジタル楽音信号を発生し、DAC24に出力する。
本実施形態では、ピアノロール図の補足説明として、各時刻(t10〜t16など)と、期間における自動伴奏の種別(例えば、時刻t10〜t11には、B[C,n]が自動伴奏として出力される)とを併記する。
時刻t11でK<A2 C#3 E3>という3音が同時に押鍵により指定される。なお、押鍵音高の表記「K<+A2 +C#3 +E3>」の「+」とは、今回新たに押鍵されたことを示す。同様に、押鍵音高の表記「K<-A3>」の「-」とは、今回新たに離鍵されたことを示す。
時刻t11〜t12の間は、伴奏決定部11bは、K<A2 C#3 E3>からB[A,n]を特定する。
時刻t12〜t13の間は、伴奏決定部11bは、追加の押鍵K<+A3>に従って、時刻t11〜t12ですでに出力しているノーマルパターン(n)を、ノーマルフィルインパターン(nf)へと変化させる。
時刻t13〜t14の間は、伴奏決定部11bは、時刻t11〜t12と同様に、K<A2 C#3 E3>からB[A,n]を特定する。
時刻t14〜t15の間は、伴奏決定部11bは、時刻t12〜t13と同様に、追加押鍵K<+A3>に従って、B[A,nf]を特定する。
時刻t15ですべて離鍵されると、伴奏決定部11bは、時刻t14から開始したノーマルフィルインパターンの伴奏パターンデータ(1〜2小節)が完了する時刻t16まではB[A,nf]を出力し、その後は、時刻t13〜t14と同様に、B[A,n]を特定する。
また、フィルインパターンからの復帰については、伴奏決定部11bは、追加押鍵だけが離鍵されると(時刻t13)、ただちにフィルインパターンから復帰するが、追加押鍵だけでなく他の押鍵音高が離鍵されると(時刻t15)、フィルインパターンを完了してから復帰する。つまり、全ての押鍵音高が離鍵されると、フィルインパターンから徐々に復帰することになる。
さらに、伴奏決定部11bは、転回形からの追加押鍵K<+E3>によって、すでに出力しているバリエーションパターン(v)を、バリエーションフィルインパターン(vf)へと変化させる。
時刻t31〜t32は、図2の時刻t11〜t12と同様に押鍵音高K<A2 C#3 E3>からの追加押鍵待ちの状態である。しかし、時刻t32において、伴奏コード(Aメジャー)の構成音<A C# E>とは別の追加押鍵K<+G3>がなされたため、コード判定部11aは、伴奏コードをAメジャー(A)から、押鍵音高K<A2 C#3 E3 G3>に対応するAメジャーセブンス(A7)に変更する。
時刻t34においても、伴奏コード(Aメジャー)の構成音<A C# E>とは別の追加押鍵K<+F3>がなされる。しかし、コード判定部11aは、押鍵音高K<A2 C#3 E3 F3>に対応するコードをコードマップから特定できないので、伴奏コードの変更はせずに、追加押鍵K<+F3>を無視する。
時刻t42〜t43と、時刻t45〜t46とでは、同じ押鍵音高K<A2 C#3 E3 A3>であるにもかかわらず、伴奏がB[A,vf]とB[A,n]とで異なっている。その理由は、伴奏決定部11bは、時刻t42のK<+A2>を時刻t41の押鍵音高K<C#3 E3 A3>への追加押鍵と判断しているためである。このように、同じ押鍵音高でも追加押鍵にするか一度に全部押鍵するかで、別々の伴奏を指定することもできる。
また、時刻t46における追加押鍵K<+E2>のように、フィルインパターンのための追加押鍵は、すでに押鍵された音よりも低い音でもよい。
そして、図6では、ある状態から別の状態へと遷移する矢印の付近に、「遷移契機となる入力/遷移時に出力される自動伴奏」の情報も記載している。
例えば、状態「自走伴奏OFF」から、自動伴奏開始スイッチ(SW)のオンが入力されると、デフォルトの自動伴奏(B[C,n])が流れるとともに、状態「離鍵」へと遷移する。
なお、状態「基本形追加」から状態「離鍵」へと遷移するときに出力される伴奏「B[A,nf]→ B[A,n]」とは、図2で説明したように、B[A,nf]を完了するまで演奏した後、B[A,n]の演奏を開始することを意味する。
BF(伴奏フラグ)は、自動伴奏が動作されているか否かを表わすフラグ(1:動作、0:停止)である。
IF(イントロフラグ)は、自動伴奏のリズムパートにおいてイントロが演奏されると「1」になるフラグ(通常は「0」)である。
EF(エンドフラグ)は、エンディングスイッチがオンされると「1」になるフラグ(通常は「0」)である。
ADC(コード用アドレスレジスタ)は、メモリからコードパターンを読み出すためのアドレスが格納されているレジスタである。
ADR(リズム用アドレスレジスタ)は、メモリからリズムパターンを読み出すためのアドレスが格納されているレジスタである。
ADB(ベース用アドレスレジスタ)は、メモリからベースパターンを読み出すためのアドレスが格納されているレジスタである。
TC(コード用タイムレジスタ)は、メモリから読み出されたコードパターンに含まれるタイム(イベント間の時間)を格納するレジスタである。
TR(コード用タイムレジスタ)は、メモリから読み出されたリズムパターンに含まれるタイム(イベント間の時間)を格納するレジスタである。
TB(コード用タイムレジスタ)は、メモリから読み出されたベースパターンに含まれるタイム(イベント間の時間)を格納するレジスタである。
図7(a)は、CPU11の処理動作全体を示すフローチャートである。本フローチャートは電子楽器1の電源投入とともに処理動作を開始し、まず、CPU11、RAM12等のメモリを初期状態にするイニシャライズ処理(ステップS11)を実行する。
そして電子楽器1のスイッチに係る処理(ステップS20)を実行する。この処理として、具体的に伴奏SW処理(ステップS21)、エンディングSW処理(ステップS22)、その他のSW処理(ステップS23)の処理を実行する。続いて、鍵盤22が操作された場合の鍵盤処理(ステップS30)が実行される。
この後、自動伴奏処理(ステップS40)が実行される。この処理は、まず伴奏フラグBFが「1」であるか否か判別する(ステップS41)。ここで「1」である、つまり自動伴奏を行うモードであると判別された場合は、自動伴奏の各パートの処理、つまりコード処理(ステップS42)、リズム処理(ステップS43)、ベース処理(ステップS44)の処理を実行する。一方、伴奏フラグBFが「1」でない、つまりつまり自動伴奏を行うモードでないと判別された場合は、ステップS42〜S44の処理を実行せずに、次のステップに移行する。
続いて、ステップS51に進み、電子楽器1の動作としてその他の必要なその他の処理を行う。これは具体的には、表示部がある場合は、その表示を行う処理や、CPU11の一連動作を行うタイミングを調整する時間調整処理等である。このステップS51の処理の後、ステップS20の処理に戻り、このステップS20〜S51の動作を繰り返す。
まず、SW群21内の伴奏スイッチがオンされたか否か判別する(ステップS201)。ここでスイッチがオンされていないと判別された場合は、何もせずにこのフローチャートの処理を終了する。スイッチがオンされていると判別された場合は、ステップS202に進み、伴奏フラグBFを反転させる。上述の処理により、伴奏フラグBFは伴奏スイッチがオンされる毎に、「1」から「0」へ、または「0」から「1」へと反転される。つまりスイッチがオンされる毎に自動伴奏を実行するモードと実行しないモードとが交互に表れるようになる。
続くステップS203でこの伴奏フラグBFが「1」であるか否かを判別する。ここで「1」であると判別された場合、つまり自動伴奏を実行するモードであるときは、続くステップS204に進み、ROM13に格納されているコードパターンの開始アドレスを、レジスタADCに記憶させる。そしてこのレジスタADCに記憶された開始アドレスに基づいてコードパターンの開始アドレスにて指定されるエリアに記憶されているデータを読み出す(ステップS205)。図3から明白なとおり、ここで読み出されたデータは、コードパートのタイムデータが記憶されており、この読み出されたタイムデータはレジスタTCに記憶される(ステップS206)。
次に、ステップS207に進み、ROM13に格納されているリズム自動伴奏パートのイントロパターンの開始アドレスを、レジスタADRに記憶させる。続いて、リズム伴奏のイントロを発生していることを示すイントロフラグIFを「1」にする(ステップS208)。そしてこのレジスタADRに記憶された開始アドレスに基づいてイントロパターンの開始アドレスにて指定されるエリアに記憶されているタイムデータを読み出し(ステップS209)、この読み出されたタイムデータをレジスタTRに記憶する(ステップS210)。
この後、ステップS211に進み、ROM13に格納されているベース自動伴奏パートのベースパターンの開始アドレスを、レジスタADBに記憶させる。そしてこのレジスタADBに記憶された開始アドレスに基づいてベースパターンの開始アドレスにて指定されるエリアに記憶されているタイムデータを読み出し(ステップS212)、この読み出されたタイムデータをレジスタTBに記憶する(ステップS213)。
続いて、伴奏コードのコード種とルートを記憶するレジスタには、予め設定された値、例えばコード種は「メジャー」、ルートは「C」を格納し(ステップS214)、タイマインタラプト禁止を解除して(ステップS215)、この処理を終了させる。これにより、図7(b)のフローチャートは一定時間間隔で処理動作を行い、各レジスタTC、TR、TBに記憶されたタイムデータを減算することになる。
一方、ステップS203において、伴奏フラグBFが「1」でない場合、つまり自動伴奏を行なわないモードになった場合はステップS221に進み、イントロフラグIF、エンディングフラグEFを「0」にする。続いてタイマインタラプトを禁止する(ステップS222)。これにより、図7(b)のフローチャートは処理動作を停止する。そして電子楽器1にて発音されている楽音を全て消音させて(ステップS223)、この処理を終了する。
まず、伴奏フラグBFが「1」であるか否か判別する(ステップS251)。ここで自動伴奏を実行するモードでないため、「1」でないと判別された場合は、何もせずにこのフローチャートの処理を終了する。一方「1」と判別された場合は、SW群21内のエンディングスイッチがオンされたか否か判別する(ステップS252)。ここでスイッチがオンされていないと判別された場合は、何もせずにこのフローチャートの処理を終了する。スイッチがオンされていると判別された場合は、ROM13に格納されているリズム自動伴奏パートのエンディングパターンの開始アドレスを、レジスタADRに記憶させる(ステップS253)。続いて、リズム伴奏のエンディングを発生していることを示すイントロフラグIFを「1」にして(ステップS254)、この処理を終了させる。
まず、鍵盤22のメロディ演奏用として指定されているメロディ鍵域を走査する(ステップS301)。続いてステップS302に進み、この走査の結果鍵盤の各鍵の状態を判別する。ここで押鍵されている鍵がある場合は、この押鍵された鍵の番号、押鍵速度等に基づきノートオンコマンドを生成し(ステップS303)、音源11dに送信する(ステップS304)。音源11dはこのコマンドの受信に応答して鍵の番号に対応する音高でかつ、押鍵速度に対応する音量の楽音を発生する。
一方、離鍵された鍵がある場合は、この離鍵された鍵の番号に基づきノートオフコマンドを生成し(ステップS305)、音源11dに送信する(ステップS304)。音源11dはこのコマンドの受信に応答して鍵の番号に対応する音高の楽音を消音させる。
さらに走査された結果、鍵盤22に変化がない場合は何もせずにこの処理を終了させる。
まず、鍵盤22内で伴奏用として指定されている鍵域を走査する(ステップS311)。この走査の結果、まず押鍵された鍵があったか否か判別する(ステップS312)。ここで押鍵がないと判別された場合は、ここで処理を終了する。一方、押鍵がありと判別された場合はさらに、この押鍵が3鍵以上を同時に押鍵されたものであるか否か判別する(ステップS313)。ここで鍵同時に押鍵されたものであると判別された場合はステップS314に進み、押鍵によって指定された音高の組み合わせでコードを確定しているか否か判別する。この結果コードが確定していないと判別された場合は、ここでこの処理を終了させる。一方、コードが確定していると判別された場合は、この確定されたコードのコード種とルート音を抽出して記憶する(ステップS315)。
ここでルート音と基底音とが一致している判別された場合は、ステップS314で確定されたコードを基本形で押鍵されていることを意味し、一方、一致していないと判別された場合は、コードを転回形で押鍵されていることを意味する。したがって、コードが基本形で押鍵されていると判別された場合は、ステップS331に進み、ROM13に格納されているリズム自動伴奏パートのノーマルパターンの開始アドレスを、レジスタADRに記憶させる。一方、コードが転回形で押鍵されていると判別された場合は、ステップS332に進み、ROM13に格納されているリズム自動伴奏パートのバリエーションパターンの開始アドレスを、レジスタADRに記憶させる。
以上の処理により、コードが基本形で入力された場合は、ノーマルパターンを読み出し、この読み出されたノーマルパターンに基づくリズムパートの自動伴奏が行われ、コードが転回形で入力された場合は、バリエーションパターンを読み出し、この読み出されたバリエーションパターンに基づくリズムパートの自動伴奏が行われる。
ここで、押鍵中の鍵が4鍵以上になっていないと判別された場合は、この時点でこの処理を終了させる。一方、4鍵以上になっていると判別された場合は、ステップS322に進み、この押鍵された鍵により指定される音高の組み合わせで新たなコードが確定したか否かを判別する。
ここで新たなコードが確定したと判別された場合は、ステップS315に進み、この確定したコードが基本形で押鍵されているのか、転回形で押鍵されているのかに基づいてノーマルパターンあるいはバリエーションパターンに基づいたリズムパートの自動伴奏が行われる。
新たなコードが確定していないと判別された場合は、ステップS323に進み、まず先に押鍵状態にあった3つの鍵で指定されている音高の組み合わせでコードが確定していたのか否か判別する。ここでコードが確定していなかったと判別された場合は、この時点でこの処理を終了させる。もし、コードが確定していた場合は、ステップS324に進み、エンディングフラグEFが「0」、つまり自動伴奏がエンディングを迎えていないか判別する(ステップS324)。
ここでエンディングであると判別された場合は、この時点で処理を終了させるが、エンディングでないと判別された場合は、ステップS317と同様に、ルート音と基底音とが一致するか否か、つまりコードが基本形で押鍵されたか、転回形で押鍵されたかを判別する(ステップS325)。
コードが基本形で押鍵されていると判別された場合は、ステップS333に進み、ROM13に格納されているリズム自動伴奏パートのノーマルフィルインパターンの開始アドレスを、レジスタADRに記憶させる。一方、コードが転回形で押鍵されていると判別された場合は、ステップS334に進み、ROM13に格納されているリズム自動伴奏パートのバリエーションフィルインパターンの開始アドレスを、レジスタADRに記憶させる。
以上の処理により、コードが基本形で入力された場合は、ノーマルフィルインパターンを読み出し、この読み出されたノーマルフィルインパターンに基づくリズムパートの自動伴奏が行われ、コードが転回形で入力された場合は、バリエーションフィルインパターンを読み出し、この読み出されたバリエーションフィルインパターンに基づくリズムパートの自動伴奏が行われる。
まず、レジスタTCに記憶されているタイムデータの値が「0」以下になったか否かを判別する(ステップS401)。このレジスタTCに記憶されたタイムデータは前述のように、図7(b)の割り込みフローチャートにより、一定時間間隔で減算されるように構成されており、この値が「0」になるということは、ROM13に記憶されたコードパターンのタイムデータが読み出されてから、当該タイムデータに対応する時間が経過したことを意味する。
ステップS401において、タイムデータの値が「0」以下でないと判別された場合は、そのままこの処理を終了するが、「0」以下の場合は、ステップS402に進み、レジスタADCに格納されているコードパターンを読み出すためのアドレスデータをインクリメントする。続いてこのインクリメントされたアドレスデータが、コードパターンを読み出すための最終アドレスであるかどうか判別する(ステップS403)。もし最終アドレスであると判別されたならば、レジスタADCにコードパターンの先頭のデータを記憶しているエリアを示す開始アドレスを格納し(ステップS404)、次のステップS405に進む。最終アドレスでないと判別された場合は、ステップS404を介さずに、直接ステップS405に進む。これにより、コードパターンは、繰り返し読み出されることになる。
ステップS405では、レジスタADCに記憶されたアドレスに基づいてコードパターンのデータが読み出され、続くステップS406において、この読み出されたデータがタイムデータであるか、コマンドであるかが判別される。ここでコマンドが読み出されたと判別された場合は、当該コマンドデータに含まれる音高を、記憶されているコード種別及びルート音に基づいて変換し、この変換された音高を含むコマンドを音源11dに送付して、このコマンドに対応するコード音を発生する(ステップS408)。
この後再びS402に戻ってアドレスをインクリメントして新たなデータの読出しを行う。
一方、読み出されたデータがタイムデータであると判別された場合は、レジスタTCにこの読み出されたタイムデータが記憶され(ステップS409)、この処理を終了させる。
以上の処理により、コードパターンに含まれるコマンドは、当該コマンドに対応して記憶されているタイムデータに対応するタイミングで読み出され、読み出されたコマンドに含まれる音高は、その時点で記憶されているコードに基づいて変換される。そしてこの音高の変換されたコマンドに基づいてコード音が発音される。
まず、レジスタTRに記憶されているタイムデータの値が「0」以下になったか否かを判別する(ステップS411)。レジスタTCと同様に、このレジスタTRに記憶されたタイムデータも、一定時間間隔で減算されるように構成されており、この値が「0」になるということは、ROM13に記憶されたリズムパターンのタイムデータが読み出されてから、当該タイムデータに対応する時間が経過したことを意味する。
ステップS411において、タイムデータの値が「0」以下でないと判別された場合は、そのままこの処理を終了するが、「0」以下の場合は、ステップS412に進み、レジスタADRに格納されているリズムパターンを読み出すためのアドレスデータをインクリメントする。続いてこのインクリメントされたアドレスデータが、リズムパターンを読み出すための最終アドレスデータより小さい値、つまりまだ最終アドレスに到達していないかどうか判別する(ステップS413)。
ここで、最終アドレスまで到達していないと判別された場合、レジスタADRに記憶されたアドレスに基づいて、ROM13に記憶されたリズムパターンのデータを読出し(ステップS414)、イントロフラグIFを「0」にする(ステップS415)。
続いてS414にて読み出されたデータがコマンドであるか、タイムデータであるかを判別する(ステップS416)。ここでコマンドである場合は、当該コマンドを音源11dに送付する(ステップS417)。音源11dはこのコマンドに対応し音色のリズム音を生成して出力する。
この後、再びステップS412に戻ってレジスタADRに記憶されたアドレスをインクリメントして新たなリズムパターンに含まれるデータを読み出す、という動作を繰り返す。
一方、読み出されたデータがタイムデータである場合は、この読み出されたタイムデータをレジスタTRに格納して(ステップS418)、この処理を終了する。
このように、リズムパターンに含まれるコマンドは、当該コマンドに対応して記憶されたタイムデータにより決定されるタイミングで読み出され、この読み出されたコマンドに対応した種類のリズム音が発音される。
そして、ステップS413にてレジスタADRのアドレスが最終アドレスを超えた場合はステップS421に進み、この時点で読み出されているリズムパターンがノーマルパターン、バリエーションパターン、エンディングのいずれであるか判別する。ここでノーマルパターンである場合は、ノーマルパターンの読出し開始アドレスをレジスタADRに格納し(ステップS422)、バリエーションパターンである場合は、バリエーションパターンの読出し開始アドレスをレジスタADRに格納する(ステップS423)。そしていずれの場合もステップS414に戻り、パターンの最初から順次読出しを行う。
一方、読み出されるパターンがエンディングである場合は、ステップS424に進み、伴奏フラグBFを「0」にする。続いてタイマインタラプトを禁止し(ステップS425)、発生している楽音を全て消音させる(ステップS426)。このように、がノーマルパターン、バリエーションパターンの読出しが終了した場合は、再び最初から読み出しを行う。一方エンディングパターンの読出しが終了した場合は、自動伴奏を終了させる。
一方、読み出されるパターンがエンディングである場合は、ステップS424に進み、伴奏フラグBFを「0」にする。続いてタイマインタラプトを禁止し(ステップS425)、発生している楽音を全て消音させる(ステップS426)。このように、ノーマルパターン、バリエーションパターンの読出しが終了した場合は、再び最初から読み出しを行う。一方エンディングパターンの読出しが終了した場合は、自動伴奏を終了させる。
このベース処理のS441〜S449は、基本的に図11のコード処理のS401〜S409と同じである。両者は、図13のベース処理に用いられるレジスタがTB、ADBであるのに対して、図11のコード処理においては、レジスタがTC、ADCである点、及び読み出されるパターンがベース処理においてはベースパターンであるのにたいして、コード処理ではコードパターンである点が相違する。
この転回形は、普段の鍵盤演奏であれば演奏に独自の表情をつけるために用いられるものである。しかし、伴奏用鍵盤に伴奏コードだけを指定させる従来の自動伴奏においては、基本形であろうが転回形であろうが同じ伴奏コードが指定されるので、押鍵形態は冗長な情報である。
さらに、図2〜図5で示したように、多彩な自動伴奏の指定を2オクターブ(24鍵)程度の伴奏用鍵盤で実現できるので、電子楽器1全体を小型化したり、広い鍵域の演奏用鍵盤を確保したりできる。
また、同じ伴奏コード内の追加押鍵やその離鍵により、フィルインパターンへの移行や復帰を指定できるので、リアルタイムに多彩な自動伴奏の表現を選択できる。
前記実施形態は、音源11dやスピーカ26等を有する電子鍵盤楽器を前提としていたが、MIDI信号を生成する鍵盤装置と自動伴奏装置とを電気的に接続するように構成してもよい。なお、この場合の自動鍵盤装置は、PC(Personal Computer)で構成することもできる。
(付記)
[請求項1]
予め用意された伴奏パターンに基づいた伴奏音の生成を音源に指示する伴奏音生成指示手段と、
入力された複数の音高が和音を構成しているか否か判別する和音判別手段と、
前記和音判別手段により和音を構成していると判別された場合、当該和音の形態に基づいて、前記伴奏音生成指示手段にて生成の指示される伴奏音を制御する伴奏制御手段と、
を有する自動伴奏装置。
前記伴奏制御手段は、前記和音の形態が基本形及び転回形のいずれかであるかに基づいて、前記伴奏音生成指示手段にて生成の指示される伴奏音を制御する、請求項1記載の自動伴奏装置。
前記伴奏パターンは、リズム伴奏のノーマルパターン及びバリエーションパターンを有し、
前記伴奏制御手段は、前記和音の形態が基本形である場合は前記ノーマルパターンに基づいた伴奏音の生成を音源に指示するとともに、前記和音の形態が転回形である場合は前記バリエーションパターンに基づいた伴奏音の生成を音源に指示するように、前記伴奏音生成指示手段を制御する、請求項1又は2記載の自動伴奏装置。
前記和音判別手段は、和音を構成していると判別された後、新たな音高の入力があった場合、当該新たな音高と前記和音を構成している複数の音高で新たな和音を構成しているか否か判別する、請求項1乃至3のいずれかに記載の自動伴奏装置。
前記伴奏パターンはさらにリズム伴奏のノーマルフィルインパターンを有し、
前記和音判別手段が、前記和音の形態が基本形である場合に、当該和音を構成する複数の音高と前記新たに入力された音高とで新たな和音を構成していないと判別された場合、前記伴奏制御手段は、前記ノーマルフィルインパターンに基づいた伴奏音の生成を音源に指示するように、前記伴奏音生成指示手段を制御する、請求項4記載の自動伴奏装置。
前記伴奏パターンはさらにリズム伴奏のバリエーションフィルインパターンを有し、
前記和音判別手段が、前記和音の形態が転回形である場合に、当該和音を構成する複数の音高と前記新たに入力された音高とで新たな和音を構成していないと判別された場合、前記伴奏制御手段は、前記バリエーションフィルインパターンに基づいた伴奏音の生成を音源に指示するように、前記伴奏音生成指示手段を制御する、請求項4又は5記載の自動伴奏装置。
自動伴奏装置が、
予め用意された伴奏パターンに基づいた伴奏音の生成を音源に指示し、
入力された複数の音高が和音を構成しているか否か判別し、
前記和音を構成していると判別された場合、当該和音の形態に基づいて、前記生成の指示される伴奏音を制御する、自動伴奏方法。
予め用意された伴奏パターンに基づいた伴奏音の生成を音源に指示するステップと、
入力された複数の音高が和音を構成しているか否か判別するステップと、
前記和音を構成していると判別された場合、当該和音の形態に基づいて、前記生成の指示される伴奏音を制御するステップと、
をコンピュータに実行させるためのプログラム。
請求項1の自動伴奏装置と、
前記音高を入力可能な複数の演奏操作子と、
前記複数の演奏操作子のいずれかの操作子により入力された音高に基づく楽音の生成を前記音源に指示する楽音生成指示手段と、
を有する電子楽器。
11 CPU
11a コード判定部
11b 伴奏決定部
11c 伴奏出力部
11d 音源
12 RAM
13 ROM(記憶手段)
14 システムバス
21 SW群
22 鍵盤(演奏入力手段)
23 LED
24 DAC
25 サウンドシステム
26 スピーカ
Claims (10)
- 指定された複数の音高に基づいて第1コードと判定された場合に、前記第1コードに対応する第1伴奏パターンに応じた伴奏音の生成を音源に指示する第1伴奏音生成指示手段と、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいて前記第1コード以外の第2コードと判定された場合に、前記第2コードに対応する第2伴奏パターンに応じた伴奏音の生成を音源に指示する第2伴奏音生成指示手段と、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいていずれのコードも判定できない場合に、前記第1コードに対応する前記第1伴奏パターンに応じた伴奏音の生成を音源に継続させる伴奏制御手段と、
を有する自動伴奏装置。 - 前記伴奏制御手段は、前記第1伴奏パターンに応じた伴奏音の生成を音源に継続させている際に、前記複数の音高及び前記2音高の指定が解除されたとしても、前記第1伴奏パターンに応じた伴奏音の生成を音源に継続させる、請求項1に記載の自動伴奏装置。
- 指定された複数の音高に基づいて第1コードと判定された場合に、前記第1コードに対応する第1伴奏パターンに応じた伴奏音の生成を音源に指示する第1伴奏音生成指示手段と、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいて前記第1コードと判定された場合に、前記第1伴奏パターンと異なる第2伴奏パターンに応じた伴奏音の生成を音源に指示する第2伴奏音生成指示手段と、
を有する自動伴奏装置。 - 前記複数の音高及び前記第2音高が指定されている際に前記第2音高の指定のみ解除された場合に、前記第2伴奏パターンの代わりに前記第1伴奏パターンに応じた伴奏音の生成を音源に指示する第3伴奏音生成指示手段と、
前記複数の音高及び前記第2音高が指定されている際に前記複数の音高及び前記2音高の指定が解除された場合に、前記第2伴奏パターンに応じた伴奏音の生成を音源に継続させる伴奏制御手段と、
を有する請求項3に記載の自動伴奏装置。 - 前記伴奏制御手段は、前記第2伴奏パターンに応じた伴奏音の生成を音源に継続させた後に前記第1伴奏パターンに応じた伴奏音の生成を音源に指示する、請求項4に記載の自動伴奏装置。
- 自動伴奏装置が、
指定された複数の音高に基づいて第1コードと判定された場合に、前記第1コードに対応する第1伴奏パターンに応じた伴奏音の生成を音源に指示し、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいて前記第1コード以外の第2コードと判定された場合に、前記第2コードに対応する第2伴奏パターンに応じた伴奏音の生成を音源に指示し、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいていずれのコードも判定できない場合に、前記第1コードに対応する前記第1伴奏パターンに応じた伴奏音の生成を音源に継続させる、自動伴奏方法。 - 自動伴奏装置が、
指定された複数の音高に基づいて第1コードと判定された場合に、前記第1コードに対応する第1伴奏パターンに応じた伴奏音の生成を音源に指示し、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいて前記第1コードと判定された場合に、前記第1伴奏パターンと異なる第2伴奏パターンに応じた伴奏音の生成を音源に指示する、自動伴奏方法。 - 指定された複数の音高に基づいて第1コードと判定された場合に、前記第1コードに対応する第1伴奏パターンに応じた伴奏音の生成を音源に指示するステップと、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいて前記第1コード以外の第2コードと判定された場合に、前記第2コードに対応する第2伴奏パターンに応じた伴奏音の生成を音源に指示するステップと、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいていずれのコードも判定できない場合に、前記第1コードに対応する前記第1伴奏パターンに応じた伴奏音の生成を音源に継続させるステップと、
をコンピュータに実行させるためのプログラム。 - 指定された複数の音高に基づいて第1コードと判定された場合に、前記第1コードに対応する第1伴奏パターンに応じた伴奏音の生成を音源に指示するステップと、
前記第1伴奏パターンに応じた伴奏音の発音中に前記複数の音高の指定に加えて更に第2音高が指定されることにより、前記複数の音高及び前記第2音高に基づいて前記第1コードと判定された場合に、前記第1伴奏パターンと異なる第2伴奏パターンに応じた伴奏音の生成を音源に指示するステップと、
をコンピュータに実行させるためのプログラム。 - 請求項1乃至請求項5のいずれか1項に記載の自動伴奏装置と、
前記複数の第1音高及び前記第2音高を含む複数の音高をそれぞれ指定可能な複数の演奏操作子と、
前記複数の演奏操作子のいずれかの操作子により指定された音高に基づく楽音の生成を前記音源に指示する楽音生成指示手段と、
を有する電子楽器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014125920A JP6459237B2 (ja) | 2014-06-19 | 2014-06-19 | 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014125920A JP6459237B2 (ja) | 2014-06-19 | 2014-06-19 | 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016004220A JP2016004220A (ja) | 2016-01-12 |
JP2016004220A5 JP2016004220A5 (ja) | 2017-07-27 |
JP6459237B2 true JP6459237B2 (ja) | 2019-01-30 |
Family
ID=55223514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014125920A Active JP6459237B2 (ja) | 2014-06-19 | 2014-06-19 | 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6459237B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10424280B1 (en) | 2018-03-15 | 2019-09-24 | Score Music Productions Limited | Method and system for generating an audio or midi output file using a harmonic chord map |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6044673B2 (ja) * | 1984-05-07 | 1985-10-04 | ヤマハ株式会社 | 電子楽器 |
JP3109134B2 (ja) * | 1991-05-15 | 2000-11-13 | カシオ計算機株式会社 | 自動伴奏装置 |
JP3385543B2 (ja) * | 1994-05-12 | 2003-03-10 | 株式会社河合楽器製作所 | 自動演奏装置 |
JP3455050B2 (ja) * | 1997-02-03 | 2003-10-06 | 株式会社河合楽器製作所 | 自動伴奏装置 |
JP3585722B2 (ja) * | 1998-01-28 | 2004-11-04 | 株式会社コルグ | 自動伴奏装置 |
JP3620321B2 (ja) * | 1998-12-28 | 2005-02-16 | カシオ計算機株式会社 | 自動伴奏装置 |
JP3844286B2 (ja) * | 2001-10-30 | 2006-11-08 | 株式会社河合楽器製作所 | 電子楽器の自動伴奏装置 |
-
2014
- 2014-06-19 JP JP2014125920A patent/JP6459237B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016004220A (ja) | 2016-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3309687B2 (ja) | 電子楽器 | |
JP4748011B2 (ja) | 電子鍵盤楽器 | |
US7091410B2 (en) | Apparatus and computer program for providing arpeggio patterns | |
EP1302927B1 (en) | Chord presenting apparatus and method | |
JP2000214848A (ja) | 演奏支援装置、演奏支援方法、および演奏支援プログラムを記録した記録媒体 | |
JP6459237B2 (ja) | 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム | |
JP3656597B2 (ja) | 電子楽器 | |
JP2010117419A (ja) | 電子楽器 | |
JP3620366B2 (ja) | 電子鍵盤楽器 | |
CN112150994A (zh) | 电子琴空拍插音辅助装置、音色切换信号产生方法及计算机可读存储媒体 | |
JP2007240558A (ja) | コード検出領域設定装置、該装置を具えたコード表示装置、及びこれらのプログラム | |
JP3953071B2 (ja) | 電子楽器 | |
JP3674469B2 (ja) | 演奏ガイド方法と装置及び記録媒体 | |
JP5640308B2 (ja) | 演奏装置及び演奏処理のプログラム | |
US20230035440A1 (en) | Electronic device, electronic musical instrument, and method therefor | |
JP4631222B2 (ja) | 電子楽器、鍵盤楽器、電子楽器の制御方法及びプログラム | |
JP2007178890A (ja) | 自動演奏装置 | |
JP5449963B2 (ja) | 自動旋律演奏装置および自動旋律演奏機能用プログラム | |
JP3879761B2 (ja) | 電子楽器 | |
WO2018198381A1 (ja) | 音生成装置及び方法、楽器 | |
JP3644362B2 (ja) | 楽音生成装置 | |
JP3731532B2 (ja) | 電子楽器 | |
JP5605695B2 (ja) | 電子楽器のレジストレーション装置およびプログラム | |
JP3879760B2 (ja) | 電子楽器 | |
JP3275341B2 (ja) | 楽音発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170616 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170616 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180410 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180608 |
|
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: 20181204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6459237 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |