JP3844286B2 - 電子楽器の自動伴奏装置 - Google Patents

電子楽器の自動伴奏装置 Download PDF

Info

Publication number
JP3844286B2
JP3844286B2 JP2001333455A JP2001333455A JP3844286B2 JP 3844286 B2 JP3844286 B2 JP 3844286B2 JP 2001333455 A JP2001333455 A JP 2001333455A JP 2001333455 A JP2001333455 A JP 2001333455A JP 3844286 B2 JP3844286 B2 JP 3844286B2
Authority
JP
Japan
Prior art keywords
sound
key
chord
accompaniment
automatic accompaniment
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
JP2001333455A
Other languages
English (en)
Other versions
JP2003140654A (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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP2001333455A priority Critical patent/JP3844286B2/ja
Priority to US10/284,034 priority patent/US6777606B2/en
Publication of JP2003140654A publication Critical patent/JP2003140654A/ja
Application granted granted Critical
Publication of JP3844286B2 publication Critical patent/JP3844286B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、鍵盤の操作に応じて検出されたコードに基づいて伴奏音を発生する電子楽器の自動伴奏装置に関し、特に検出されたコードに従った伴奏音の再発生(以下、「リトリガ」という)を制御する技術に関する。
【0002】
【従来の技術】
近年、自動伴奏装置を備えた電子楽器が開発されている。このような電子楽器の1つとして、1つの鍵盤をコード検出用鍵盤と通常演奏用鍵盤とに分け、コード検出用鍵盤の操作に応じてコード検出を行って自動的に伴奏音を発生する一方、通常演奏用鍵盤の操作に応じて通常の楽音を発生するものが知られている。
【0003】
この自動伴奏装置において、伴奏音は次のようにして発生される。先ず、コード検出用鍵盤の押された鍵に従ってコード検出が行われる。このコード検出では、例えばコードルート及びコードタイプ、ベースルート等が検出される。次いで、予めメモリに記憶されている自動伴奏データが読み出される。そして、この読み出された自動伴奏データに含まれるステップタイム値が、別途、ステップタイムカウンタで計数されている値に一致した時に発音タイミングが到来したことが判断され、その自動伴奏データが先に検出されたコードに従って展開される。そして、この展開により得られたコード構成音を表す楽音データが音源に送られることにより伴奏音が発生される。
【0004】
このような伴奏音を発生するための処理は、演奏者がコード検出用鍵盤を押す度に実行される。従って、演奏者は、コード検出用鍵盤を所定の押下パターンで順次押すことにより、所望のコード進行に従った伴奏音を順次発生させることができる。
【0005】
しかしながら、上述した従来の自動伴奏装置では、伴奏音の発生は、演奏者がコード検出用鍵盤を押した瞬間なされる訳ではなく、自動伴奏データ中のステップタイム値で指定されている発音タイミングが到来するまで待たされる。換言すれば、伴奏音のコードの変更は、自動伴奏データの変更に同期して行われる。また、他の従来の自動伴奏装置では、次の小節の先頭に至るまで発音はなされず、伴奏音のコードの変更は、小節の変更に同期して行われる。このような従来の自動伴奏装置では、鍵を押したタイミングとコードを構成する音(以下、「コード構成音」という)が発生されるタイミング(以下、「発音タイミング」という)とがずれるので演奏しにくいという欠点がある。
【0006】
このような欠点を解消するために、鍵が押されることによって新たなコードが検出された時に、発音タイミングが到来していなくても、その時点で発生中のコード構成音を消音し、検出された新たなコードに対応するコード構成音で発音をやり直すというリトリガ機能を搭載した自動伴奏装置が開発されている。このリトリガ機能を用いることにより、鍵を押した瞬間にコード構成音が変更されるので演奏者の感覚に合致したスムーズなコード変更が可能になる。
【0007】
ところで、オルガンのような持続音を発生する楽器でコード演奏を行う場合、押下中の鍵の一部だけを押し直してコード変更を行う奏法が多く用いられている。この奏法を用いる場合、以下に説明するように、演奏者が意図したコード検出がなされないケースが頻繁に起こる。そこで、鍵を押したタイミングでコードを検出(以下、「オン検出」という)のみならず、鍵を離したタイミングでもコード検出(以下、「オフ検出」という)を行う自動伴奏装置が開発されている。
【0008】
このような場合の動作を、図20を参照しながら説明する。図20(A)は、メモリに自動伴奏データとして記憶された、Cをキーとする基本コードパターンを示し、図20(B)は、基本ベースパターンを示す。以下では、説明の煩雑さを避けるために、ベースの自動伴奏を行う場合について説明する。
【0009】
図20(C)は、演奏者が意図するベースの伴奏パターンを示す。演奏者は、1小節目の先頭で「ミ」、「ラ」及び「ド」の鍵を押してコードAmを指定する。これにより、基本ベースパターンの1拍目のタイミングで、ベース音が「ラ」の音高で発生される。この押鍵状態が続けられると、基本ベースパターンの3拍目のタイミングで、次のベース音が「ラ」の音高で発生される。次に、演奏者は、コードCを指定するために、1小節目の終わりで「ソ」の鍵を押して「ラ」の鍵を離す。これにより、「ド」、「ミ」及び「ソ」の鍵が押されるのでコードCが検出され、基本ベースパターンの2小節目の1拍目のタイミングで、ベース音が「ド」の音高で発生される。
【0010】
以上のような演奏者の意図に対し、オフ検出を行わない自動伴奏装置では、図20(D)に示すように、演奏者が、1小節目の終わりで「ソ」の鍵を押した時点でオン検出が行われ、コードAm7が検出される。その後、演奏者が「ラ」の鍵を離してもオフ検出が行われないので、コードAm7が検出された状態が継続され、基本ベースパターンの2小節目の1拍目のタイミングで、ベース音が「ラ」の音高で発生される。即ち、演奏者の意図である「ド」の音とは異なった「ラ」の音が発生される。
【0011】
一方、オフ検出を行う自動伴奏装置では、図20(E)に示すように、演奏者が、1小節目の終わりで「ソ」の鍵を押した時点でオン検出が行われ、コードAm7が検出される。その後、演奏者が「ラ」の鍵を離すと、「ミ」、「ソ」及び「ド」の鍵が押された状態でオフ検出が行われるので、コードCが検出される。その結果、基本ベースパターンの2小節目の1拍目のタイミングで、ベース音が「ド」の音高で発生される。即ち、演奏者の意図に合致する音が発生される。
【0012】
【発明が解決しようとする課題】
しかしながら、オフ検出を行うように構成すると、リトリガ機能を備えた自動伴奏装置では、鍵を押したタイミングのみならず、鍵を離したタイミングでもリトリガ処理が行われる。この状態を、図21を参照しながら説明する。図21(A)は、メモリに自動伴奏データとして記憶された、Cをキーとする基本ベースパターンを示す。図21(A)において、三角印は基本ベースパターンに従ってベース音の発生が開始されるタイミング、即ち、トリガ位置を示す。
【0013】
図21(B)は、演奏者の意図するベースパターンを示す。図21(B)において、塗りつぶしの三角印は、鍵が押された時点でベース音の発生が開始されるタイミング、即ち、リトリガ位置を示す。演奏者は、1小節目の先頭で「ミ」、「ラ」及び「ド」の鍵を押してコードAmを指定する。これにより、基本ベースパターンの1拍目のタイミングでトリガされ、ベース音が「ラ」の音高で発生される。この押鍵状態が続くと、基本ベースパターンの3拍目のタイミングで再びトリガされ、次のベース音が「ラ」の音高で発生される。次に、演奏者は、4拍目で「ミ」及び「ラ」の鍵を離して「ファ」及び「ラ」の鍵を押すと、「ファ」、「ラ」及び「ド」の鍵が押されているのでコードFが検出される。その結果、リトリガ機能により4拍目のタイミングでリトリガされ、ベース音が「ファ」の音高で発生される。
【0014】
以上のような演奏者の意図に対し、オフ検出を行う自動伴奏装置では、図21(C)に示すように、演奏者が1小節目の3拍目から半拍遅れたタイミングで「ミ」及び「ラ」の鍵を離すと「ド」の鍵のみが押された状態になるので、オフ検出によってコードCが検出される。その結果、3拍目から半拍遅れたタイミングでリトリガされ、「ド」の音高でベース音が発生される。次に、演奏者が4拍目で「ファ」及び「ラ」の鍵を押すと、「ファ」、「ラ」及び「ド」の鍵が押された状態になるので、オン検出によってコードFが検出される。その結果、4拍目のタイミングでリトリガされ、「ファ」の音高のベース音が発生される。
【0015】
以上説明したように、リトリガ機能を有し、且つ鍵を離したタイミングでもコード検出を行うオフ検出機能を備えた自動伴奏装置では、例えば図21(C)の1小節目の3拍目から半拍遅れたタイミングで発生するリトリガのような、演奏者の意図しないリトリガが発生する。その結果、演奏者の意図しないベース音が頻繁に発生し、演奏の妨げになるという問題がある。
【0016】
本発明は、このような問題を解消するためになされたもので、その目的は、演奏者の意図に合致する伴奏音を発生させることができる電子楽器の自動伴奏装置を提供することにある。
【0017】
【課題を解決するための手段】
本発明に係る電子楽器の自動伴奏装置は、上記目的を達成するために、鍵盤と、前記鍵盤の鍵が押された時及び離された時の双方でコードを検出するコード検出部と、発音タイミングを含む自動伴奏データを記憶する記憶部と、前記記憶部に記憶されている自動伴奏データの発音タイミングが到来した時に、該自動伴奏データを前記コード検出部で検出されたコードに従って展開して伴奏音を発生させ、前記発音タイミング以外のタイミングで鍵が押された時にのみ、その時点で発生されている伴奏音を消し、前記コード検出部で検出されたコードに従って伴奏音を発生させるリトリガ処理を行う制御部、とを備えている。
【0018】
この構成によれば、コード検出は鍵盤の鍵が押された時と離された時の双方で行われるが、リトリガは鍵が押された時のみ行われ、鍵が離された時は行われない。従って、演奏者の意図しないリトリガによる伴奏音の発生が抑止されるので、演奏者の意図に合致する伴奏音を発生させることができる。
【0019】
この電子楽器の自動伴奏装置において、前記伴奏音は、コードパート及びベースパートの少なくとも1つの音、換言すれば、コードパートの音、ベースパートの音、並びにコードパート及びベースパートの双方の音の何れかとすることができる。
【0020】
この電子楽器の自動伴奏装置における前記制御部は、前記記憶部に記憶されている自動伴奏データの発音タイミングが到来した時に、該自動伴奏データを前記コード検出部で検出されたコードを構成する音に展開してコードパートの音を発生させ、前記発音タイミング以外のタイミングで鍵が離された時にのみ、その時点で発生されているコードパートの音のうち、前記コード検出部で検出されたコードを構成しない音を消し、残りの音をコードパートの音として持続させるように構成できる。
【0021】
この構成によれば、鍵が離された時にリトリガ処理は行われないが、その時点で発生されているコードパートの音のうち、コード検出部で検出されたコードを構成しない音が消される。従って、リトリガ処理による伴奏音の再発生が行われないのでアタックを有する音が発生することなく、また、コードの構成音以外の音が発生されるような不自然さを避けることができる。
【0022】
また、この電子楽器の自動伴奏装置における前記制御部は、更に、前記記憶部に記憶されている自動伴奏データの発音タイミングが到来した時に、該自動伴奏データを前記コード検出部で検出されたコードを構成する音に展開してベースパートの音を発生させ、前記発音タイミング以外のタイミングで鍵が離された時にのみ、その時点で発生されているベースパートの音のうち、特定音以外の音を消し、前記特定音のピッチを、前記コード検出部で検出されたコードのルート音と同じになるように一時的にベンドさせるように構成できる。この場合、前記特定音は、ベースパートを構成する音のうちの最低音とすることができる。
【0023】
この構成によれば、鍵が離された時には、その時点で発生されているベースパートの音のうち、特定音以外の音が消され、特定音のピッチが、コード検出部で検出されたコードのルート音と同じになるように一時的にベンドされる。従って、リトリガ処理によるベースパートの音の再発生が行われないのでアタックを有するベース音が発生することがなく、また音程がスムーズに移行されるので不自然さを避けることができる。
【0024】
また、この電子楽器の自動伴奏装置は、足鍵盤を更に備え、前記伴奏音は、コードパート及びベースパートの音から成り、前記制御部は、前記足鍵盤の鍵が押されたことにより前記コード検出部で検出されたコードのルート音が変更されない場合は、前記ベースパートのリトリガ処理は行わず、前記コードパートのリトリガ処理のみを行うように構成できる。
【0025】
この構成によれば、足鍵盤が押された時に、ルート音に変更がない場合はベースパートのリトリガ処理が行われず、コードパートのリトリガ処理のみが行われる。その結果、足鍵盤の操作によるトリガをベースパートに、手鍵盤の操作によるトリガをコードパートに反映させることができるので、例えば分数コード演奏時、足鍵盤によるベースパートの制御と手鍵盤によるコードパートの制御との分離が可能になる等、コード検出による自動伴奏のレスポンスを、演奏者の意図に更に近づけることができる。
【0026】
更に、この電子楽器の自動伴奏装置は、足鍵盤を更に備え、前記伴奏音は、ベースパートを含み、前記コード検出部は、前記足鍵盤の最後に押された鍵をベースルートとして検出し、前記制御部は、前記コード検出部でベースルートが検出された時に、ベースパートに発音中の音があればルート音で前記リトリガ処理を行い、発音中の音がなければ、最後に発音したベースパートの音を規定する前記自動伴奏データに含まれるゲートタイム及びベロシティ、並びに前記ルート音のノートナンバに従ってベースパートの音を発生させるように構成できる。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態に係る電子楽器の自動伴奏装置を、図面を参照しながら詳細に説明する。
【0028】
図1は、本発明の自動伴奏装置が適用された電子楽器の構成を示すブロック図である。この電子楽器は、中央処理装置(以下、「CPU」という)10、プログラムメモリ11、ワークメモリ12、自動伴奏データメモリ13、パネルインタフェース回路14、鍵盤インタフェース回路15、シーケンサ16及び音源17がバス30によって相互に接続されている。バス30は、上記各構成要素間で、例えばアドレス信号、データ信号、制御信号等を送受する。
【0029】
CPU10は、本発明のコード検出部、制御部に対応する。このCPU10は、プログラムメモリ11に記憶されている制御プログラムに従って、自動伴奏機能を含む電子楽器の各種機能を実現するための処理を行う。このCPU10にはMIDIインタフェース回路100が接続されている。このMIDIインタフェース回路100は、CPU10からのMIDIデータをMIDI規格に従ったMIDI信号に変換して外部装置に出力する。また、外部装置からのMIDI信号をMIDIデータに変換してCPU10に送る。外部装置としては、他の電子楽器、コンピュータ等を挙げることができる。
【0030】
また、このCPU10には、タイマ101が接続されている。このタイマ101は、所定周期で割り込み信号を発生し、CPU10に送る。CPU10は、この割り込み信号に応答して、複数鍵でコード検出を行うことに伴って発生する鍵操作チャタリング除去処理を実行する(詳細は後述する)。
【0031】
プログラムメモリ11は、例えばROM(リードオンリメモリ)から構成されている。このプログラムメモリ11は、上述した制御プログラム、CPU10が使用する種々の固定データ、音色を指定するための音色パラメータ等を記憶する。音色パラメータは、例えば複数の楽器音の各々について複数の音域毎に設けられている。各音色パラメータは、波形アドレス、周波数データ、エンベロープデータ、フィルタ係数等から構成されている。
【0032】
ワークメモリ12は、例えばRAM(ランダムアクセスメモリ)から構成されている。このワークメモリ12は、CPU10によって処理される種々のデータを一時的に記憶する。このワークメモリ12には、例えばテーブル、バッファ、レジスタ、カウンタ、フラグ等が設けられている。これらの詳細については、以下において必要の都度説明する。
【0033】
自動伴奏データメモリ13は、本発明の記憶部に対応し、例えばROMから構成されている。この自動伴奏データメモリ13は、複数のリズムにそれぞれ対応する複数の自動伴奏データを記憶する。各リズムの自動伴奏データは、図2に示すように、ベーシック(BASIC)、イントロ(INTRO)、フィルイン(FILIN)及びエンディング(ENDING)といったパターンデータから構成されている。
【0034】
ベーシックは当該リズムの基本的な伴奏パターンを発生し、イントロはイントロの伴奏パターンを発生し、フィルインはフィルインの伴奏パターンを発生し、エンディングはエンディングの伴奏パターンを発生するためのデータである。各パターンデータは、コードパート、ベースパート及びドラムパートといった3つのパートのパートデータから成り、各パートデータは数小節分の音符データ及び1個のエンドデータから構成されている。
【0035】
各音符データは例えば4バイトで構成され、各バイトには、キーナンバ、ステップタイム、ゲートタイム及びベロシティが割り当てられている。キーナンバは音高を指定し、ステップタイムは発音タイミング(時刻)を指定し、ゲートタイムは発音の長さを指定し、ベロシティは発音の強さを指定する。また、エンドデータは2バイトから構成され、各バイトにはエンドマーク及びステップタイムが割り当てられている。エンドマークは、1つのパートの自動伴奏データの終わりを表す。
【0036】
パネルインタフェース回路14には、操作パネル140が接続されている。操作パネル140には、図3に示すように、LCD141、自動伴奏スイッチ142、シーケンサ再生スイッチ143、シーケンサ録音スイッチ144、リズム選択スイッチ145、イントロスイッチ146、フィルインスイッチ147及びエンディングスイッチ148が設けられている。なお、図3には、本発明を説明するために必要なものだけが示されており、実際の電子楽器には、これらの他に、モード設定スイッチ、音色選択スイッチ、音量スイッチ、エフェクト選択スイッチといったスイッチ類や、各スイッチの設定状態を表すインジケータ等が設けられている。
【0037】
LCD141は、各種メッセージや電子楽器の状態を表示する他に、後述するように、コード検出処理によって検出されたコードを表示する。なお、このLCD141の代わりに、文字、数字、図形等を表示できるLEDディスプレイ、CRTディスプレイ、プラズマディスプレイ等を用いることができる。
【0038】
自動伴奏スイッチ142は、自動伴奏の開始及び停止を指示するために使用される。この自動伴奏スイッチ142は、押される毎に自動伴奏の開始と停止とを交互に繰り返す機能を有する。シーケンサ再生スイッチ143は、シーケンサ演奏の開始及び停止を指示するために使用される。このシーケンサ再生スイッチ143は、押される毎にシーケンサ演奏の開始と停止とを交互に繰り返す機能を有する。
【0039】
シーケンサ録音スイッチ144は、シーケンサ16への録音の開始及び停止を指示するために使用される。このシーケンサ録音スイッチ144は、押される毎にシーケンサ16への録音の開始と停止とを交互に繰り返す機能を有する。
【0040】
リズム選択スイッチ145は、各々にリズムが割り当てられた複数のスイッチから構成されている。このリズム選択スイッチ145は、自動伴奏させるリズムを選択するために使用される。
【0041】
イントロスイッチ146は、イントロの伴奏を開始させるために使用される。このイントロスイッチ146がオンにされている状態で自動伴奏スイッチ142により自動伴奏の開始が指示されると、イントロの自動伴奏が開始される。一方、イントロスイッチ146がオフにされている状態で自動伴奏スイッチ142により自動伴奏の開始が指示されると、ベーシックの自動伴奏が開始される。
【0042】
フィルインスイッチ147は、フィルインの自動伴奏を開始させるために使用される。イントロ又はベーシックの自動伴奏が行われている状態でフィルインスイッチ147が押されると、フィルインの自動伴奏を数小節分だけ実行し、元のイントロ又はベーシックの自動伴奏に戻る。
【0043】
エンディングスイッチ148は、エンディングの自動伴奏を開始させるために使用される。イントロ又はベーシックの自動伴奏が行われている状態でエンディングスイッチ148が押されると、エンディングの自動伴奏を数小節分だけ実行し、その後、自動伴奏を終了する。
【0044】
上述したリズム選択スイッチ145を構成する各スイッチ、イントロスイッチ146、フィルインスイッチ147及びエンディングスイッチ148は、押される毎にオンとオフとを交互に繰り返す機能を有する。
【0045】
パネルインタフェース回路14は、操作パネル140とCPU10との間のデータの送受を制御する。即ち、パネルインタフェース回路14は、操作パネル140からの信号に基づきパネルデータを生成し、CPU10に送る。パネルデータは、各スイッチを1ビットに対応させたビット列から構成されており、「1」でスイッチのオンを表し、「0」でスイッチのオフを表す。CPU10は、このパネルデータに基づいて操作パネル140の操作に応じた種々の処理を実行する。
【0046】
また、パネルインタフェース回路14は、CPU10から受け取った表示データをLCD141に送る。これにより、操作パネル140に搭載されたLCD141へのデータの表示、各種インジケータ(図示しない)の点灯/消灯の制御等が行われる。
【0047】
鍵盤インタフェース回路15には手鍵盤150及び足鍵盤151が接続されている。手鍵盤150及び足鍵盤151の各々は、発音/消音を指示するための複数の鍵を備えている。これら手鍵盤150及び足鍵盤151には、押鍵又は離鍵に連動して開閉し、且つ異なる押圧深さで開閉する第1のキースイッチ及び第2のキースイッチを備えた2接点方式の鍵が採用されている。
【0048】
手鍵盤150は、ユーザが電子楽器をスプリットモードに設定することにより、所定の鍵位置(スプリットポイント)で機能的に2つに分割され、低音側がコード検出用鍵盤、高音側が通常演奏用鍵盤として使用される。なお、スプリットモードに設定されていない場合は、全体が通常演奏用鍵盤として使用される。なお、スプリットポイントを、ユーザが任意に設定できるように構成することもできる。
【0049】
鍵盤インタフェース回路15は、手鍵盤150及び足鍵盤151の各鍵の押鍵又は離鍵状態及び鍵タッチの強さを検出する。即ち、鍵盤インタフェース回路15は、手鍵盤150及び足鍵盤151から受け取った第1及び第2のキースイッチのオン/オフ状態を示す信号から押鍵又は離鍵を示す鍵データ及び鍵タッチの強さを示すタッチデータを生成し、CPU10に送る。
【0050】
鍵データは、各鍵に対応するビット列で構成されており、各ビットは鍵に設けられた2個のキースイッチが何れもオンにされている場合に押鍵中であることを示す「1」、そうでない場合に離鍵中であることを示す「0」にセットされる。上記タッチデータは、各鍵に設けられた第1のキースイッチがオンになってから第2のキースイッチがオンになるまでの時間に基づいて作成される。CPU10は、鍵盤インタフェース回路15から送られてくる鍵データ及びタッチデータに基づいて、押鍵又は離鍵に応じた発音処理、消音処理及びコード検出処理を行う。
【0051】
シーケンサ16は、シーケンサ録音スイッチ144によりシーケンサ録音モードに設定されている場合に、通常演奏用鍵盤から出力される鍵データ及びタッチデータに基づいて生成された音符データ、コード検出用鍵盤から出力されるコード及び操作パネル140からのパネルデータに基づいて生成された楽音制御データ、例えばリズムや音色を指定するデータを、その時点におけるステップタイム、拍及び小節の各値から成る発音タイミングを表すデータと共に、シーケンスデータとして記録する。このシーケンサ16に記録されたシーケンスデータは、シーケンサ再生スイッチ143で指示されることにより再生される。なお、このシーケンサ16は、MIDIインタフェース回路100に接続するように構成してもよい。この場合、シーケンスデータは、MIDI形式のデータとして記録されることになる。
【0052】
音源17にはD/A変換器170が接続されている。音源17は、例えばデジタルシグナルプロセッサ(DSP)から構成されている。この音源17は、複数の発音チャンネルを備えており、CPU10からの指示に応じて楽音信号を生成する。即ち、音源17は、CPU10から発音チャンネルを指定するデータと音色パラメータを受け取ると、指定された発音チャンネルをアクティブにする。アクティブにされた発音チャンネルは、図示しない楽音波形メモリから音色パラメータに対応する波形データを読み出し、これにエンベロープを付加してデジタル楽音信号を生成する。このデジタル楽音信号は、D/A変換器170に送られる。
【0053】
D/A変換器170は、受け取ったデジタル楽音信号をアナログ楽音信号に変換する。このD/A変換器170からの出力は、アンプ171に送る。アンプ171は、受け取った楽音信号を増幅してスピーカ172に送る。スピーカ172は、アンプ171からの楽音信号を音響信号に変換して出力する。これにより、スピーカ172から楽音が発生される。
【0054】
次に、上記のように構成される本発明の実施の形態に係る自動伴奏装置の動作を説明する。
【0055】
(実施の形態1)
本発明の実施の形態1に係る自動伴奏装置は、鍵を押したタイミングでコード検出を行うオン検出時にのみリトリガを行い、鍵を離したタイミングでコード検出を行うオフ検出時にはリトリガを行わないように構成されている。
【0056】
図4は、この実施の形態1に係る自動伴奏装置の概略的な動作を説明するための図である。演奏者が1小節目の先頭で「ミ」、「ラ」及び「ド」の鍵を押してコードAmを指定すると、オン検出が実行されてコードAmが検出される。これにより、基本ベースパターンの1拍目のタイミングでトリガされ、ベース音が「ラ」の音高で発生される。この押鍵状態が続くと、基本ベースパターンの3拍目のタイミングで再びトリガされ、次のベース音が「ラ」の音高で発生される。
【0057】
次に、演奏者が1小節目の3拍目から若干遅れたタイミングで「ミ」及び「ラ」の鍵を離すと「ド」の鍵のみが押された状態になる。その結果、3拍目から半拍遅れたタイミングでコードCが検出される。しかしながら、オフ検出に基づく発音は行われないのでリトリガは発生せず、この検出されたコードCに基づく「ド」の音高でのベース音の発生はなされない。
【0058】
次に、演奏者が4拍目で「ファ」及び「ラ」の鍵を押すと、「ファ」、「ラ」及び「ド」の鍵が押された状態になるので、オン検出によってコードFが検出される。その結果、リトリガが行われ、4拍目のタイミングで、「ファ」の音高のベース音が発生される。
【0059】
(実施の形態2)
本発明の実施の形態2に係る自動伴奏装置は、リトリガを行う代わりに、発生されているコードパートの音のうち、コード検出処理により検出されたコードを構成しない音を消し、残りの音をコードパートの音として持続させるようにしたものである。
【0060】
図5は、この実施の形態2に係る自動伴奏装置の概略的な動作を説明するための図である。演奏者が1小節目の先頭で「ミ」、「ラ」及び「ド」の鍵を押してコードAmを指定すると、オン検出が実行されてコードAmが検出される。これにより、基本コードパターンの1拍目のタイミングでトリガされ、「ミ」、「ラ」及び「ド」の音から成るコード音が発生される。この押鍵状態が続くと、基本コードパターンの3拍目のタイミングで再びトリガされ、次の、「ミ」、「ラ」及び「ド」の音から成るコード音が発生される。
【0061】
次に、演奏者が1小節目の3拍目から若干遅れたタイミングで「ミ」及び「ラ」の鍵を離すと「ド」の鍵のみが押された状態になり、コードCが検出される。ここで、コードCを構成する音は「ド」、「ミ」及び「ソ」であるので、直前のコードAmを構成する音である「ミ」、「ラ」及び「ド」のうちコードCを構成しない「ラ」の音が消される。従って、1小節目の4拍目のタイミングでは、「ド」及び「ミ」の音がコードパートの音として持続される。
【0062】
次に、演奏者が2小節目の1拍目で「ファ」及び「ラ」の鍵を押すと、「ファ」、「ラ」及び「ド」の鍵が押された状態になるので、オン検出によってコードFが検出される。その結果、基本コードパターンの2小節目の1拍目のタイミングでトリガが行われ、コードFを構成する「ファ」、「ラ」及び「ド」の音がコードパートの音として発生される。
【0063】
(実施の形態3)
本発明の実施の形態3に係る自動伴奏装置は、鍵を離したタイミングでコード検出を行うオフ検出では、リトリガを行う代わりに、発生されているベースパートの音のうち、特定音以外の音を消し、特定音のピッチを、コード検出処理で検出されたコードのルート音(コードルート)と同じになるように一時的にベンドさせるようにしたものである。
【0064】
図6は、この実施の形態3に係る自動伴奏装置の動作を説明するための図である。演奏者が1小節目の先頭で「ミ」、「ラ」及び「ド」の鍵を押してコードAmを指定すると、オン検出が実行されてコードAmが検出される。これにより、基本ベースパターンの1拍目のタイミングでトリガされ、ベース音が「ラ」の音高で発生される。この押鍵状態が続くと、基本ベースパターンの3拍目のタイミングで再びトリガされ、次のベース音が「ラ」の音高で発生される。
【0065】
次に、演奏者が1小節目の4拍目のタイミングで「ミ」及び「ラ」の鍵を離すと「ド」の鍵のみが押された状態になり、コードCが検出される。ここで、コードCのルート音は「ド」であるので、直前のコードAmのルート音である「ラ」から「ド」に変化するピッチベンドが行われる。従って、1小節目の3拍目から4拍目にかけて「ラ」から「ド」にピッチベンドするベース音が発生される。
【0066】
次に、演奏者が2小節目の1拍目で「ファ」及び「ラ」の鍵が押されると、「ファ」、「ラ」及び「ド」の鍵が押された状態になるので、オン検出によってコードFが検出される。その結果、コードFのルート音である「ファ」の音がベース音として発生される。
【0067】
次に、上述した実施の形態1〜3に係る機能を実現するための自動伴奏装置の動作をフローチャートを参照しながら説明する。
【0068】
(1)メイン処理
図7は、本発明の実施の形態1〜3に係る自動伴奏装置が適用された電子楽器のメイン処理を示すフローチャートである。このメイン処理ルーチンは、電源の投入により起動される。電源が投入されると、先ず、初期化処理が行われる(ステップS10)。この初期化処理では、CPU10の内部がリセットされると共に、ワークメモリ12に定義されているバッファ、レジスタ、カウンタ、フラグ等に初期値が設定される。
【0069】
この初期化処理が終了すると、次いで、パネル処理が行われる(ステップS11)。このパネル処理では、先ず、操作パネル140がスキャンされる。具体的には、CPU10はパネルインタフェース回路14にスキャン指令を送る。このスキャン指令を受け取ったパネルインタフェース回路14は、操作パネル140上の各スイッチのオン又はオフを表す信号を読み込み、パネルデータとしてCPU10に送る。CPU10は、受け取ったパネルデータ中の各スイッチに対応するビットが「0」から「1」に変化したかどうかを調べることにより、各スイッチのオンイベントがあるかどうかを調べる。
【0070】
そして、スイッチのオンイベントがあることが判断されると、そのスイッチに対応してワークメモリ12に設けられたフラグが反転される。具体的には、自動伴奏スイッチ142、シーケンサ再生スイッチ143、シーケンサ録音スイッチ144、リズム選択スイッチ145、イントロスイッチ146、フィルインスイッチ147及びエンディングスイッチ148のオンイベントがあると、自動伴奏フラグ、シーケンサ再生フラグ、シーケンサ録音フラグ、リズム選択フラグ、イントロフラグ、フィルインフラグ及びエンディングフラグがそれぞれ反転される。これにより、スイッチが押される毎にオンとオフとが交互に繰り返される機能が実現されている。以後は、これらのフラグを参照して各スイッチのイベントに対する処理が実行される。
【0071】
次いで、鍵盤処理が行われる(ステップS12)。この鍵盤処理では、手鍵盤150及び足鍵盤151がスキャンされる。このスキャンにより得られた信号は、鍵盤インタフェース回路15を介して、鍵データ及びタッチデータとしてCPU10に送られる。CPU10は、受け取った鍵データに基づいて、発音処理、消音処理及びコード検出処理等を実行する。この際、鍵データが、足鍵盤151が押されたことを示している場合は、ワークメモリ12に設けられたベース検出要求フラグがセットされる。この鍵盤処理の詳細は後述する。
【0072】
次いで、シーケンサ/自動伴奏処理が行われる(ステップS13)。このシーケンサ/自動伴奏処理では、シーケンサ16に記録されているシーケンスデータの再生、シーケンサ16へのシーケンスデータの録音及び自動伴奏データに基づく自動伴奏音の発生などが行われる。このシーケンサ/自動伴奏処理の詳細は後述する。
【0073】
次いで、その他の処理が行われる(ステップS14)。その後、ステップS11に戻り、以下、同様の処理が繰り返される。上記ステップS11〜S14の繰り返し実行の過程で、操作パネル140、手鍵盤150及び足鍵盤151が操作されると、その操作に対応する処理が実行され、電子楽器及び自動伴奏装置としての機能が実現されている。
【0074】
(2)鍵盤処理
次に、メイン処理ルーチンのステップS12で実行される鍵盤処理の詳細を、図8に示したフローチャートを参照しながら説明する。
【0075】
鍵盤処理では、先ず、鍵イベントの有無が調べられる(ステップS20)。具体的には、CPU10は鍵盤インタフェース回路15にスキャン指令を送る。このスキャン指令を受け取った鍵盤インタフェース回路15は、手鍵盤150及び足鍵盤151の各鍵に設けられたキースイッチのオン又はオフを表す信号を読み込む。そして、この読み込んだ信号に基づいて鍵データを生成してCPU10に送る。CPU10は、受け取った鍵データ中の各ビットが変化したかどうかを調べることにより各鍵のイベントがあるかどうかを調べる。鍵データ中の各ビットが「0」から「1」に変化した場合はオンイベントが発生した旨が、「1」から「0」に変化した場合はオフイベントが発生した旨がそれぞれ認識される。
【0076】
上記ステップS20で鍵イベントが発生したことが認識されると、次いで、コード検出が必要であるかどうかが調べられる(ステップS21)。具体的には、この電子楽器が自動伴奏モード(自動伴奏フラグが「1」)に設定されており、且つコード検出用鍵盤の鍵イベントが発生したかどうかが調べられる。ここで、コード検出が必要でない、つまり自動伴奏モードに設定されていない、又は自動伴奏モードに設定されているが通常演奏用鍵盤の鍵イベントであることが判断されると、発音/消音処理が実行される(ステップS22)。この場合、鍵イベントがオンイベントである場合は発音処理が実行され、オフイベントである場合は消音処理が実行される。
【0077】
発音処理では、鍵盤インタフェース回路15から送られてきた鍵データに基づいて押された鍵のキーナンバが生成される。そして、この生成されたキーナンバーと鍵盤インタフェース回路15から送られてきたタッチデータとに基づいてプログラムメモリ11中の1つの音色パラメータが選択されて音源17に送られる。これにより、上記キーナンバで指定された高さの音が上記タッチデータで指定された音量で発音される。消音処理では、図示しない楽音波形メモリから読み出された波形データに、高速で減衰するエンベロープを付加するためのデータが音源17に送られる。これにより、離鍵に応答して消音がなされる。
【0078】
次いで、録音処理が行われる(ステップS23)。この録音処理は、シーケンサ録音スイッチ144が押されることによって、電子楽器がシーケンサ録音モード(シーケンサ録音フラグが「1」)に設定されている場合にのみ実行される。この録音処理では、既に説明したようにして生成されたシーケンスデータがシーケンサ16に送られて記録される。次いで、MIDI送信処理が行われる(ステップS24)。このMIDI送信処理では、上記シーケンスデータがMIDI形式のデータに変換され、MIDIインタフェース回路100を介して外部装置に送信される。次いで、その他の処理が行われる(ステップS25)。その後、シーケンスはメイン処理ルーチンにリターンする。
【0079】
上記ステップS21でコード検出が必要であることが判断されると、押鍵マップ作成処理が実行される(ステップS26)。この押鍵マップ作成処理の詳細を、図9のフローチャートを参照しながら説明する。
【0080】
押鍵マップ作成処理では、先ず、鍵イベントがオンイベントであるかどうかが調べられる(ステップS30)。ここで、オンイベントであることが判断されると、ワークメモリ12に設けられたオン検出要求カウンタに、押鍵から所定時間が経過したことを判断するためのオンカウント値がセットされる(ステップS31)。次いで、押鍵マップ中の、オンイベントが発生した鍵に対応するビットが「1」にセットされる(ステップS32)。ここで、押鍵マップは、コード検出用鍵盤の鍵のオン及びオフ状態を1オクターブにまとめて記憶するバッファである。この押鍵マップは、コード検出用鍵盤から送られてくる鍵データをオクターブ毎に区切り、区切られた複数のオクターブにそれぞれ対応する複数の鍵データの論理和をとることにより生成される。その後、シーケンスは鍵盤処理ルーチンを介してメイン処理ルーチンにリターンする。
【0081】
上記ステップS30で、オンイベントでないことが判断されると、オフイベントが発生したことが認識され、押鍵マップ中の、オフイベントが発生した鍵に対応するビットが「0」にクリアされる(ステップS33)。次いで、押鍵マップはゼロであるかどうかが調べられる(ステップS34)。即ち、鍵のオフイベントがあっても他に押されている鍵が存在するかどうかが調べられる。ここで、押鍵マップはゼロでないことが判断されると、ワークメモリ12に設けられたオフ検出要求カウンタに、離鍵から所定時間が経過したことを判断するためのオフカウント値がセットされる(ステップS35)。その後、シーケンスは鍵盤処理ルーチンを介してメイン処理ルーチンにリターンする。上記ステップS34で、押鍵マップがゼロであることが判断された場合も、シーケンスは鍵盤処理ルーチンを介してメイン処理ルーチンにリターンする。
【0082】
(3)タイマ処理
次に、メイン処理と並行して実行されるタイマ処理を、図10に示したフローチャートを参照しながら説明する。このタイマ処理は、所定の時間間隔でタイマ101から発生される割り込み信号に応答して起動される。
【0083】
タイマ処理では、先ずオン検出中であるかどうかが調べられる(ステップS40)。具体的には、オン検出要求カウンタがカウント動作中であるかどうかが調べられる。ここで、オン検出中であることが判断されると、オン検出要求カウンタの内容がデクリメント(−1)される(ステップS41)。次いで、オン検出カウンタの内容がゼロになったかどうかが調べられる(ステップS42)。ここで、ゼロになったことが判断されると、押鍵から所定時間が経過したことが認識され、ワークメモリ12に設けられたオン検出要求フラグが「1」にセットされる(ステップS43)。一方、ゼロでないことが判断されると、ステップS43の処理はスキップされる。上記ステップS40で、オン検出中でないことが判断されると、ステップS41〜S43の処理はスキップされる。
【0084】
以上の処理により、押鍵から所定時間が経過した後にオン検出要求が出されることになる。上記所定時間は、複数鍵でコード検出を行うことに伴って発生する鍵操作チャタリングが収束する時間になるように設定される。従って、不確定な状態でコード検出が実行されることが防止される。
【0085】
次いで、オフ検出中であるかどうかが調べられる(ステップS44)。具体的には、オフ検出要求カウンタがカウント動作中であるかどうかが調べられる。ここで、オフ検出中であることが判断されると、オフ検出要求カウンタの内容がデクリメント(−1)される(ステップS45)。次いで、オフ検出カウンタの内容がゼロになったかどうかが調べられる(ステップS46)。ここで、ゼロになったことが判断されると、押鍵から所定時間が経過したことが認識され、ワークメモリ12に設けられたオフ検出要求フラグが「1」にセットされる(ステップS47)。上記ステップS46でゼロでないことが判断された場合及び上記ステップS40で、オン検出中でないことが判断された場合は、シーケンスは割り込まれた位置にリターンする。
【0086】
以上の処理により、離鍵から所定時間が経過した後にオフ検出要求が出されることになる。上記所定時間は、複数鍵でコード検出を行うことに伴って発生する鍵操作チャタリングが収束する時間になるように設定される。従って、不確定な状態でコード検出が実行されることが防止される。
【0087】
(4)シーケンサ/自動伴奏処理
次に、メイン処理ルーチンのステップS13で実行されるシーケンサ/自動伴奏処理の詳細を、図11及び図12に示したフローチャートを参照しながら説明する。
【0088】
このシーケンサ/自動伴奏処理では、先ず、クロックの抽出処理が行われる(ステップS50)。CPU10に内蔵されるテンポクロック用タイマ(図示省略)から1ステップタイムの時間間隔で発生されるクロックは、ワークメモリ12に設けられたクロックカウンタで計数されている。このクロックの抽出処理では、今回のシーケンサ/自動伴奏処理でクロックカウンタから読み出された値NOWから、前回のシーケンサ/自動伴奏処理でクロックカウンタから読み出された値OLDを減算することによりクロック値CLKが算出される。このクロック値CLKは、前回のシーケンサ/自動伴奏処理が実行されてから今回のシーケンサ/自動伴奏処理が実行されるまでに経過した時間をステップタイム値で表している。
【0089】
次いで、クロック値CLKが、変数Iとしてワークメモリ12に設けられたテンポラリレジスタにセットされる(ステップS51)。次いで、テンポラリレジスタに格納されている変数Iがゼロであるかどうかが調べられる(ステップS52)。ここで、変数Iがゼロでないことが判断されると、現在発音中の音のゲートタイム値がデクリメントされ、このデクリメントの結果、ゲートタイム値がゼロになれば発音中の音を消すための消音処理が行われる(ステップS53)。次いで、テンポラリレジスタに格納されている変数Iがデクリメント(−1)され(ステップS54)、その後、ステップS52に分岐する。
【0090】
上記ステップS52〜S54の処理は、ステップS52で変数Iがゼロになったことが判断されるまで繰り返される。以上の繰り返し処理により、前回のシーケンサ/自動伴奏処理が実行されてから今回のシーケンサ/自動伴奏処理が実行されるまでに1ステップタイム以上が経過した場合であっても、発音中の音はゲートタイムで指定された音長が経過した時点で消音される。
【0091】
上記ステップS42で、変数Iがゼロであることが判断されると、次いで、コード検出処理が行われる(ステップS55)。このコード検出処理では、コードルート、コードタイプ及びベースルートが検出される。このコード検出処理の詳細は後述する。
【0092】
次いで、自動伴奏フラグが「1」にセットされているかどうかを調べることにより、自動伴奏中であるかどうかが調べられる(ステップS56)。ここで、自動伴奏中でないことが判断されると、次いで、シーケンサ再生フラグが「1」にセットされているかどうかを調べることにより、シーケンサ再生中であるかどうかが調べられる(ステップS57)。ここで、シーケンサ再生中でないことが判断されると、自動伴奏中でもシーケンサ再生中でもないことが認識され、シーケンスはメイン処理ルーチンにリターンする。
【0093】
上記ステップS56で自動伴奏中であることが判断された場合又は上記ステップS57でシーケンサ再生中であることが判断された場合は、次いで、クロック値CLKが変数Iとして再度テンポラリレジスタにセットされる(ステップS58)。次いで、テンポラリレジスタに格納されている変数Iがゼロであるかどうかが調べられる(ステップS59)。ここで、変数Iがゼロでないことが判断されると、次いで、シーケンサ再生中であるかどうかが調べられる(ステップS60)。ここで、シーケンサ再生中であることが判断されると、シーケンサ再生処理が行われる(ステップS61)。このシーケンサ再生処理では、シーケンサ16からシーケンスデータが読み出され、発音タイミングが到来していれば、つまり、別途カウントされているステップタイム、拍及び小節の値がシーケンスデータに含まれるステップタイム、拍及び小節の値に一致すれば、そのシーケンスデータに基づく発音処理が行われる。上記ステップS60でシーケンサ再生中でないことが判断されると、ステップS61の処理はスキップされる。
【0094】
次いで、自動伴奏中であるかどうかが調べられる(ステップS62)。ここで、自動伴奏中であることが判断されると、自動伴奏処理が行われる(ステップS63)。この自動伴奏処理では、コードパート、ベースパート及びドラムパートの各々について、自動伴奏電子楽器メモリ13から自動伴奏データが読み出される。そして、読み出された自動伴奏データの発音タイミングが到来していれば、つまり、自動伴奏データに含まれる音符データ中のステップタイムが、ワークメモリ12に設けられたステップタイムカウンタでカウントされているステップタイム値STEPに一致すれば、そのステップタイムを有する音符データに従った発音処理が行われる。上記ステップS60で自動伴奏中でないことが判断されると、ステップS63の処理はスキップされる。
【0095】
次いで、ステップカウント処理が実行される(ステップS64)。このステップカウント処理では、ステップタイムカウンタでカウントされているステップタイム値STEPを更新する処理が行われる。このステップカウント処理の詳細は後述する。
【0096】
次いで、シーケンサ録音フラグが「1」にセットされているかどうかを調べることにより、シーケンサ録音中であるかどうかが調べられる(ステップS65)。ここで、シーケンサ録音中であることが判断されると、拍及び小節の書き込み処理が実行される(ステップS66)。ステップS65でシーケンサ録音中でないことが判断されると、このステップS66の処理はスキップされる。
【0097】
次いで、テンポラリレジスタに格納されている変数Iがデクリメント(−1)され(ステップS67)、その後、シーケンスは、ステップS59に分岐する。上記ステップS59〜S67の処理は、ステップS59で変数Iがゼロになったことが判断されるまで繰り返される。この繰り返し処理により、前回のシーケンサ/自動伴奏処理が実行されてから今回のシーケンサ/自動伴奏処理が実行されるまでに1ステップタイム以上が経過した場合であっても、発音されるべき自動伴奏音及びシーケンサ再生音は全て発音され、また、シーケンサ16に録音すべきデータは全て録音される。更に、ステップタイムカウンタでカウントされているステップタイム値STEPも最新の状態に更新される。
【0098】
上記ステップS59で、変数Iがゼロであることが判断されると、次いで、リトリガ処理が行われる(ステップS68)。このリトリガ処理は、クロックカウンタでカウントされているクロックの値とは無関係に、換言すれば、自動伴奏データで規定される発音タイミングとは無関係に、上述したコード検出処理(ステップS55)でリトリガ要求が出された時に実行される。リトリガ要求が出されたか否かは、ワークメモリ12に設けられたコードパートリトリガ要求フラグ及びベースパートリトリガ要求フラグが「1」にセットされたかどうかにより判断される。このリトリガ処理では、コード検出処理で検出されたコードルート、コードタイプ及びベースルートに基づいて生成され、ワークメモリ12に設けられたリトリガ用バッファに格納された音符データに従って発音がなされる。これにより、自動伴奏データに基づくタイミングで発生される伴奏音とは別に、鍵が押されたタイミングで伴奏音を発生するリトリガ機能が実現されている。その後、シーケンスはメイン処理ルーチンにリターンする。
【0099】
(4−1)ステップカウント処理
次に、シーケンサ/自動伴奏処理のステップS64で実行されるステップカウント処理の詳細を、図13に示すフローチャートを参照しながら説明する。
【0100】
このステップカウント処理では、先ず、ステップタイムカウンタに格納されているステップタイム値STEPがインクリメント(+1)される(ステップS70)。次いで、ステップタイム値STEPがステップタイムの最大値以上になったかどうかが調べられる(ステップS71)。ここで、ステップタイムの最大値は、1拍が例えば96ステップから構成されている場合は「96」である。
【0101】
このステップS71で、ステップタイム値STEPがステップタイムの最大値以上になっていないことが判断されると、シーケンスはシーケンサ/自動伴奏処理にリターンする。一方、ステップタイム値STEPがステップタイムの最大値以上になったことが判断されると、ステップタイムカウンタの内容がゼロにクリアされる(ステップS72)。次いで、ワークメモリ12に設けられた拍カウンタに格納されている拍値BEATがインクリメント(+1)される(ステップS73)。
【0102】
次いで、拍値BEATのインクリメントの結果、拍カウンタに格納されている拍値BEATが拍の最大値以上になったかどうかが調べられる(ステップS74)。ここで、拍の最大値は、その時点で選択されているリズムの拍子、例えば、3拍子であれば「3」、4拍子であれば「4」である。
【0103】
ここで、拍値BEATが拍の最大値以上になっていないことが判断されると、シーケンスはシーケンサ/自動伴奏処理にリターンする。一方、拍値BEATが拍の最大値以上になったことが判断されると、拍カウンタの内容がゼロにクリアされる(ステップS75)。次いで、ワークメモリ12に設けられた小節カウンタに格納されている小節値BARがインクリメント(+1)される(ステップS76)。
【0104】
次いで、パターンエンドであるかどうかが調べられる(ステップS76)。これは、その時点のステップタイム値STEP、拍値BEAT及び小節値BARで指定される自動伴奏データにエンドマークが存在するどうかを調べることにより行われる。ここで、パターンエンドであることが判断されると、次いで、自動伴奏データを読み出す位置が、現在使用されている自動伴奏パターンの先頭に戻される(ステップS78)。次いで、イントロ/フィルイン(INTRO/FIL)の伴奏パターンの終了であるかどうかが調べられる(ステップS79)。ここで、イントロ/フィルインの伴奏パターンの終了であることが判断されると、次に自動伴奏に用いられる伴奏パターンがベーシック(BASIC)の伴奏パターンへ変更される(ステップS80)。その後、ステップS83に分岐する。
【0105】
上記ステップS79で、イントロ/フィルインの伴奏パターンの終了でないことが判断されると、エンディング(ENDING)の伴奏パターンの終了であるかどうかが調べられる(ステップS81)。ここで、エンディングの伴奏パターンの終了であることが判断されると、自動伴奏終了処理が実行される(ステップS82)。この処理では、自動伴奏フラグが「0」にクリアされる。これにより、自動伴奏処理(ステップS63)の実行はスキップされるので、以後は自動伴奏音は発生されない。一方、エンディングの伴奏パターンの終了でないことが判断されると、ステップS83に分岐する。上記ステップS77でパターンエンドでないことが判断された場合も、ステップS83に分岐する。
【0106】
ステップS83では、パターン変更要求があるかどうかが調べられる。具体的には、フィルインフラグ及びエンディングフラグが「1」にセットされているかどうかが調べられる。ここで、パターン変更要求があることが判断されると、伴奏パターン変更処理が行われる(ステップS84)。
【0107】
この伴奏パターン変更処理では、フィルインフラグが「1」の場合は、次にフィルインの伴奏パターンが使用されるように変更される。また、エンディングフラグが「1」の場合は、次にエンディングの伴奏パターンが使用されるように変更される。その後、シーケンスは、シーケンサ/自動伴奏処理にリターンする。上記ステップS83で、パターン変更要求がないことが判断された場合も、シーケンスは、シーケンサ/自動伴奏処理にリターンする。
【0108】
以上の処理により、ステップタイムカウンタの内容がインクリメントされ、その結果に基づいて拍カウンタ及び小節カウンタの内容が更新されると共に、1つの伴奏パターンに基づく自動伴奏が終了した時点で他の伴奏パターンに基づく自動伴奏に変更する機能が実現されている。
【0109】
(4−2)コード検出処理
次に、シーケンサ/自動伴奏処理のステップS55で実行されるコード検出処理の詳細を、図14〜図16に示すフローチャートを参照しながら説明する。
【0110】
このコード検出処理では、先ず、オン検出要求フラグが「1」であるかどうかが調べられる(ステップS90)。このステップS90で、オン検出要求フラグが「0」であることが判断されると、次いで、オフ検出要求フラグが「1」であるかどうかが調べられる(ステップS91)。このステップS91で、オフ検出要求フラグが「0」であることが判断されると、次いで、ベース検出要求フラグが「1」であるかどうかが調べられる(ステップS92)。このステップS92で、ベース検出要求フラグが「0」であることが判断されると、オン検出要求フラグ、オフ検出要求フラグ及びベース検出要求フラグが何れも「0」であることが認識されされ、シーケンスはシーケンサ/自動伴奏処理ルーチンにリターンする。
【0111】
一方、ステップS90でオン検出要求フラグが「1」であることが判断された場合、ステップS91でオフ検出要求フラグが「1」であることが判断された場合又はステップS92でベース検出要求フラグが「1」であることが判断された場合は、コード検出テーブル参照処理が行われる(ステップS93)。このコード検出テーブル参照処理の詳細を図17のフローチャートに示す。
【0112】
このコード検出テーブル参照処理では、先ず、手鍵盤150のコード検出用鍵盤に基づいて、上記ステップS26で作成された押鍵マップを参照することにより、押鍵があるかどうかが調べられる(ステップS130)。そして、押鍵がないことが判断されると、このシーケンスは、コード検出処理ルーチンにリターンする。
【0113】
一方、上記ステップS131で押鍵がないことが判断されると、次いで、コード検出テーブルを参照する処理が行われる(ステップS132)。ここで、コード検出テーブルは、1オクターブ内の押鍵パターンとコードとの対応を記憶したテーブルである。このステップS131では、押鍵マップの内容とコード検出テーブルの内容とを順次比較し、一致するものを検索する。ここで、一致するものが見つかるとコードが確定し、そうでなければコードは確定しないものと認識される。コードが確定した場合、換言するとコードが検出された場合は、そのコードのコードルート、コードタイプ及びベースルートが、ワークメモリ12に設けられたコードバッファに格納される。
【0114】
次いで、コードが確定しているかどうかが調べられる(ステップS133)。ここで、コードが確定していることが判断されると、3鍵以上が押されているかどうかが調べられる(ステップS134)。ここで、3鍵以上が押されていることが判断されると、次いで、足鍵盤151の押鍵があるかどうかが調べられる(ステップS135)。
【0115】
このステップS135で、足鍵盤151の押鍵があることが判断されると、足鍵変換テーブルによる分数コードの検出が行われる(ステップS136)。足鍵変換テーブルは、コードの構成音に足鍵盤の音が加わった場合に通常のコード又は分数コードに変換するためのテーブルである。このステップS136では、ステップS132の処理で確定したコードと押された足鍵盤151の鍵の音とに基づいて通常のコード又は分数コードが決定される。その後、シーケンスはコード検出処理ルーチンにリターンする。上記ステップS135で足鍵盤151の押鍵がないことが判断された場合は、分数コードを検出する必要はないので、シーケンスはコード検出処理ルーチンにリターンする。
【0116】
上記ステップS134で、3鍵以上が押されていないことが判断された場合は、次いで、足鍵盤151の押鍵があるかどうかが調べられる(ステップS137)。そして、足鍵盤151が押されていることが判断されると、足鍵盤151の鍵をルート音として、再度コード検出が行われる(ステップS138)。この再コード検出により検出されたコードのコードルート及びコードタイプは、コードバッファに格納される。その後、シーケンスはコード検出処理ルーチンにリターンする。これにより、手鍵盤150で1鍵又は2鍵が押されている場合であっても、足鍵盤151の鍵を交えたコード検出を行うことで、コード検出の精度が向上する。
【0117】
上記ステップS133でコードが確定していないことが判断された場合も、足鍵盤151の押鍵があるかどうかが調べられ(ステップS137)、足鍵盤151の押鍵があることが判断されると、足鍵盤151の鍵をルート音として、再度コード検出が行われる(ステップS138)。これにより、手鍵盤150だけではコードが成立しない場合であっても、足鍵盤151の鍵を加えることによりコードとして成立する場合があるので、コード検出の精度が向上する。
【0118】
コード検出処理ルーチンでは、次いで、コードが確定しているかどうかが調べられる(ステップS94)。これは、コードバッファに新たなコードが格納されたかどうかを調べることにより行われる。ここで、コードが確定していることが判断されると、コード更新処理が行われる(ステップS95)。このコード更新処理では、ワークメモリ12に設けられたコードレジスタに記憶された現在のコードが、コードバッファの内容で置き換えられる。
【0119】
次いで、更新がなされたかどうか、つまり、コードバッファの内容で置き換えられたコードレジスタの内容が、置き換えられる前のコードと同じであるかどうかが調べられる(ステップS96)。そして、更新がなされたことが判断されると、オン検出要求フラグが「1」であるかどうかが調べられる(ステップS97)。ここで、オフ検出要求フラグが「1」であることが判断されると、離鍵がなされたことが認識され、オフ検出ではリトリガ処理は行われないので、検出されたコードが、リトリガを実行しないことを表すデータと共に、シーケンスデータとしてシーケンサ16に録音される(ステップS99)。その後、シーケンスはステップS100に分岐する。
【0120】
一方、上記ステップS97で、オフ検出要求フラグが「1」でないことが判断されると、押鍵がなされたことが認識され、オン検出ではリトリガ処理が行われるので、検出されたコードが、リトリガを実行することを表すデータと共に、シーケンスデータとしてシーケンサ16に録音される(ステップS98)。その後、シーケンスはステップS100に進む。
【0121】
ステップS100では、上述したようにして検出されたコード(コードレジスタの内容)がLCD141に表示される。次いで、自動伴奏中であるかどうかが調べられる(ステップS101)。このステップS101で、自動伴奏中であることが判断されると、次いで、オフ検出要求フラグが「1」であるかどうかが調べられる(ステップS102)。このステップS102でオフ検出要求フラグが「1」でないことが判断されると、押鍵がなされたものと認識され、ベースルートの変更があったかどうかが調べられる(ステップS103)。これはコードレジスタの内容を調べることにより行われる。このステップS103で、ベースルートの変更があったことが判断されると、ベースパートの消音・リトリガ要求処理が行われる(ステップS104)。
【0122】
このベースパートの消音・リトリガ要求処理では、図18に示すように、先ず、ベースパートの消音が行われる(ステップS140)。次いで、発音中の音の最低音が検索される(ステップS141)。より具体的には、自動伴奏の発音を音源17に割り当てるアサイナから発音中の音の最低音が検索される。そして、最低音が存在するかどうかが調べられる(ステップS142)。この場合、例えば、休符のタイミングでは最低音は存在しないことになる。このステップS142で、最低音が存在することが判断されると、発音中の最低音に対応する音符データが、リトリガ用バッファにセットされる(ステップS143)。音符データには、上述したように、ゲートタイム、ベロシティ及びノートナンバが含まれる。その後、シーケンスはステップS145に分岐する。
【0123】
一方、最低音が存在しないことが判断されると、前回発音したベース音に対応する音符データが、リトリガ用バッファにセットされる(ステップS144)。そして、シーケンスはステップS145に進む。ステップS145では、ベースパートリトリガ要求フラグが「1」にセットされる。その後、シーケンスはコード検出ルーチンにリターンする。これにより、後に実行されるシーケンサ/自動伴奏処理のステップS68において、ベース音が発音される。
【0124】
以上の処理により、足鍵盤151の最後に押された鍵をベースルートとして検出し、この時、ベースパートに発音中の音があればルート音でリトリガ処理を行い、発音中の音がなければ、最後に発音したベースパートの音を規定する音符データに含まれるゲートタイム及びベロシティ、並びにルート音のノートナンバに従ってベースパートの音を発生させる機能が実現されている。
【0125】
上記ステップS103で、ベースルートの変更がなかったことが判断されると、ステップS104の処理はスキップされる。次いで、コードパートの音が消されると共に、リトリガ要求処理が行われる(ステップS105)。コードパートリトリガ要求フラグが「1」にセットされる。これにより、後に実行されるシーケンサ/自動伴奏処理のステップS68において、検出されたコードの構成音が発音される。その後、シーケンスはステップS108に進む。以上のステップS103〜S105の処理により、足鍵盤151の鍵が押されたことによりコード検出部で検出されたコードのルート音が変更されない場合は、ベースパートのリトリガ処理は行わず、コードパートのリトリガ処理のみを行う機能が実現されている。これにより、足鍵盤151の操作によるトリガをベースパートに、手鍵盤150の操作によるトリガをコードパートに反映させることができるので、例えば分数コード演奏時、コード検出による自動伴奏のレスポンスを、演奏者の意図に更に近づけることができる。
【0126】
上記ステップS102で、オフ検出要求フラグが「1」であることが判断されると、離鍵がなされたものと認識され、ベースパートのピッチ変更が行われる(ステップS106)。即ち、発生されているベースパートの音のうち、特定音以外の音が消され、特定音のピッチが、検出されたコードのルート音(コードルート)と同じになるように一時的にベンドされる。このピッチ変更は、例えば図19に示すようなベースベンド値テーブルを参照して行われる。具体的には、検出されたコードのルート音を新ベースルート音とし、それまで発音されていたベースルート音との音高の差が半音単位で算出される。そして、この算出された差に対応するベンド値(半音単位で記憶されている)がベースベンド値テーブルから読み出され、音源17に送られる。これにより、周知の技術を用いて、従前の音高から新ベースルートの音高にピッチが変化される。これにより、上述した実施の形態3の機能が実現されている。この場合、リトリガによる発音のように、アタックを有するベース音が発生されることがないので、不自然さを避けることができる。
【0127】
次いで、検出されたコードの構成音以外を消音する処理が行われる(ステップS107)。具体的には、発生されているコードパートの音のうち、検出されたコードを構成しない音が消され、残りの音がコードパートの音として持続される。これにより、上述した実施の形態2の機能が実現されている。この場合、リトリガによる発音のように、アタックを有するコード音が発生することがないので音程の移行がスムーズに行われ、不自然さを避けることができる。その後、シーケンスはステップS108に分岐する。
【0128】
ステップS108、S109及びS110では、オン検出フラグ、オフ検出フラグ及びベース検出要求フラグがそれぞれクリアされる。その後、シーケンスは、シーケンサ/自動伴奏処理ルーチンにリターンする。
【0129】
上記ステップS96で、更新がなされなかったことが判断されると、次いで、ベース検出要求フラグが「1」であるかどうかが調べられる(ステップS111)。ここで、ベース検出要求フラグが「1」であることが判断されると、足鍵盤151が押されたことが認識され、オン検出ではリトリガ処理が行われるので、検出されたコードが、リトリガを実行することを表すデータと共に、シーケンスデータとしてシーケンサ16に録音される(ステップS112)。次いで、上述したようにして検出されたコードがLCD141に表示される(ステップS113)。
【0130】
次いで、自動伴奏中であるかどうかが調べられる(ステップS114)。ここで、自動伴奏中であることが判断されると、ベースパート消音及びリトリガ要求処理が行われる(ステップS115)。このステップS115の処理は、上述したステップS104の処理と同じである。その後、シーケンスはステップS108に分岐する。上記ステップS114で自動伴奏中でないことが判断された場合も、シーケンスはステップS108に分岐する。以上のステップS111〜S115の処理により、手鍵盤150を押すことにより検出されたコードが従前のコードから変更されなくても、足鍵盤151の鍵が押された場合は、ベースパートのリトリガを行う機能が実現されている。
【0131】
上記ステップS94で、コードが確定していないことが判断されると、次いで、ベース検出要求フラグが「1」であるかどうかが調べられる(ステップS116)。ここで、ベース検出要求フラグが「1」であることが判断されると、足鍵盤151が押されたかどうかが調べられる(ステップS117)。このステップS117で、足鍵盤151が押されたことが判断されると、ベースルートによるコード変換処理が実行される(ステップS118)。このコード変換処理では、分数コードを分数でない通常のコードに変換する処理が行われる。例えばAm7/Cという分数コードがC6という通常のコードに変換される。
【0132】
次いで、コード更新処理が行われる(ステップS119)。即ち、コードレジスタに記憶された現在のコードが、上記ステップS118で得られたコードに置き換えられる。次いで、オン検出ではリトリガ処理が行われるので、検出されたコードが、リトリガを実行することを表すデータと共に、シーケンスデータとしてシーケンサ16に録音される(ステップS120)。次いで、更新されたコードがLCD141に表示される(ステップS121)。
【0133】
次いで、自動伴奏中であるかどうかが調べられる(ステップS122)。ここで、自動伴奏中であることが判断されると、ベースパート消音及びリトリガ要求処理が行われる(ステップS123)。このステップS123の処理は、上述したステップS104の処理と同じである。その後、シーケンスはステップS108に分岐する。上記ステップS122で自動伴奏中でないことが判断された場合、ステップS117で足鍵盤151が押されたことが判断された場合及び上記ステップS116でベース検出要求フラグが「1」であるも、シーケンスはステップS108に分岐する。以上のステップS116〜S123の処理により、手鍵盤150の押鍵によりコードが確定しない場合であっても、足鍵盤151の鍵を押すことにより、その鍵に対応する音をベースルートとするコード変換によりコードが得られる場合はベースパートのリトリガを行う機能が実現されている。
【0134】
以上説明したように、本発明の実施の形態に係る電子楽器の自動伴奏装置によれば、コード検出は鍵盤の鍵が押された時と離された時の双方で行われるが、リトリガは鍵が押された時のみ行われ、鍵が離された時は行われない。従って、演奏者の意図しないリトリガによる伴奏音の発生が抑止されるので、演奏者の意図に合致する伴奏音を発生させることができる。
【0135】
なお、上述した実施の形態は、次のように変形できる。即ち、前回行われたコード検出部によるコードの検出が、鍵盤の鍵が押された時に行われたオン検出であるか離された時に行われたオフ検出であるかをバッファに記憶しておき、CPU10は、コード検出部によるオン検出がなされた時に、バッファがオフ検出がなされたことを記憶していれば、コード検出部で検出されたコードが、前回にコード検出部で検出されたコードから変更されていなくてもリトリガ処理を行うように構成できる。
【0136】
【発明の効果】
以上詳述したように、本発明によれば、演奏者の意図に合致する伴奏音を発生させることができる電子楽器の自動伴奏装置を提供できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る自動伴奏装置が適用された電子楽器の構成を示すブロック図である。
【図2】本発明の実施の形態に係る自動伴奏装置で用いられる自動伴奏データの構成を示す図である。
【図3】本発明の実施の形態に係る自動伴奏装置で用いられる操作パネルの一例を示す図である。
【図4】本発明の実施の形態1に係る自動伴奏装置の概略動作を説明するための図である。
【図5】本発明の実施の形態2に係る自動伴奏装置の概略動作を説明するための図である。
【図6】本発明の実施の形態3に係る自動伴奏装置の概略動作を説明するための図である。
【図7】本発明の実施の形態1〜3に係る自動伴奏装置におけるメイン処理を示すを示すフローチャートである。
【図8】図7に示したメイン処理で実行される鍵盤処理の詳細を示すフローチャートである。
【図9】図8に示した鍵盤処理で実行される押鍵マップ作成処理の詳細を示すフローチャートである。
【図10】本発明の実施の形態1〜3に係る自動伴奏装置におけるタイマ処理を示すを示すフローチャートである。
【図11】図7に示したメイン処理で実行されるシーケンサ/自動伴奏処理(その1)の詳細を示すフローチャートである。
【図12】図7に示したメイン処理で実行されるシーケンサ/自動伴奏処理(その2)の詳細を示すフローチャートである。
【図13】図12に示したシーケンサ/自動伴奏処理で実行されるステップカウント処理の詳細を示すフローチャートである。
【図14】図11に示したシーケンサ/自動伴奏処理で実行されるコード検出処理(その1)の詳細を示すフローチャートである。
【図15】図11に示したシーケンサ/自動伴奏処理で実行されるコード検出処理(その2)の詳細を示すフローチャートである。
【図16】図11に示したシーケンサ/自動伴奏処理で実行されるコード検出処理(その3)の詳細を示すフローチャートである。
【図17】図14〜図16に示したコード検出処理で実行されるコード検出テーブル参照処理の詳細を示すフローチャートである。
【図18】図14〜図16に示したコード検出処理で実行されるベースパート消音・リトリガ処理の詳細を示すフローチャートである。
【図19】図14〜図16に示したコード検出処理で実行されるベースパートピッチ変更処理で使用されるベースベンド値テーブルを示す図である。
【図20】従来の自動伴奏装置におけるコード検出の動作を説明するための図である。
【図21】従来の自動伴奏装置におけるリトリガの動作を説明するための図である。
【符号の説明】
10 CPU
11 プログラムメモリ
12 ワークメモリ
13 自動伴奏データメモリ
14 パネルインタフェース回路
15 鍵盤インタフェース回路
16 シーケンサ
17 音源
100 MIDIインタフェース回路
101 タイマ
140 操作パネル
141 LCD
142 自動伴奏スイッチ
143 シーケンサ再生スイッチ
144 シーケンサ録音スイッチ
145 リズム選択スイッチ
146 イントロスイッチ
147 フィルインスイッチ
148 エンディングスイッチ
150 手鍵盤
151 足鍵盤
170 D/A変換器
171 アンプ
172 スピーカ

Claims (6)

  1. 鍵盤と、
    前記鍵盤のうちの押されている鍵に従ってコードを検出するコード検出部と、
    発音タイミングを示す自動伴奏データを記憶する記憶部と、
    前記鍵盤のうちの記発音タイミングで押されている鍵に従って検出されたコードに従っ伴奏音を前記発音タイミングで発生させ、前記鍵盤のうちの前記発音タイミング以外のタイミングで押された鍵に従って検出されたコードに従わない伴奏音を前記タイミングで消す制御部
    とを備えた電子楽器の自動伴奏装置。
  2. 前記自動伴奏データは、前記発音タイミングで発生させる楽音を更に示し、
    前記音は、コードパート及びベースパートの少なくとも1つの音である
    請求項1に記載の電子楽器の自動伴奏装置。
  3. 前記制御部は、
    記発音タイミングに検出されたコードを構成する音に前記コードパートの楽音を転回させた伴奏音を発生させ、
    記鍵が離された離鍵タイミングに検出されたコードを構成しない音を前記コードパートの伴奏音から前記離鍵タイミングで
    請求項2に記載の電子楽器の自動伴奏装置。
  4. 前記制御部は、更に、
    記発音タイミングに検出されたコードを構成する音に前記ベースパートの楽音を転回させた伴奏音を発生させ、
    前記離鍵タイミングで検出されたコードのルート音と前記ベースパートの伴奏音のうちの特定音のピッチとが同じになるように前記離鍵タイミングに前記特定音のピッチをベンドさせ、前記ベースパートの伴奏音のうちの前記特定音以外の音を前記離鍵タイミングに消す
    請求項3に記載の電子楽器の自動伴奏装置。
  5. 前記特定音は、前記ベースパートの伴奏音のうちの最低音である
    請求項4に記載の電子楽器の自動伴奏装置。
  6. 足鍵盤を更に備え、
    前記コード検出部は、前記足鍵盤のうちの押されている鍵に更に従ってコードを検出し、
    前記伴奏音は、コードパート及びベースパートの音から成り、
    前記制御部は、
    前記足鍵盤の鍵が押されたことによりコードのルート音が変更されない場合は、前記ベースパートの伴奏音を持続させ
    前記足鍵盤の鍵が押された足鍵押鍵タイミングに検出されたコードに従わない伴奏音を前記足鍵押鍵タイミングで前記コードパートの伴奏音から消す
    請求項1に記載の電子楽器の自動伴奏装置
JP2001333455A 2001-10-30 2001-10-30 電子楽器の自動伴奏装置 Expired - Fee Related JP3844286B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001333455A JP3844286B2 (ja) 2001-10-30 2001-10-30 電子楽器の自動伴奏装置
US10/284,034 US6777606B2 (en) 2001-10-30 2002-10-29 Automatic accompanying apparatus of electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001333455A JP3844286B2 (ja) 2001-10-30 2001-10-30 電子楽器の自動伴奏装置

Publications (2)

Publication Number Publication Date
JP2003140654A JP2003140654A (ja) 2003-05-16
JP3844286B2 true JP3844286B2 (ja) 2006-11-08

Family

ID=19148710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001333455A Expired - Fee Related JP3844286B2 (ja) 2001-10-30 2001-10-30 電子楽器の自動伴奏装置

Country Status (2)

Country Link
US (1) US6777606B2 (ja)
JP (1) JP3844286B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5228315B2 (ja) * 2006-11-30 2013-07-03 ヤマハ株式会社 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム
CN103443849B (zh) * 2011-03-25 2015-07-15 雅马哈株式会社 伴奏数据产生设备
DE102013007910B4 (de) * 2012-05-10 2021-12-02 Kabushiki Kaisha Kawai Gakki Seisakusho Automatische Begleitungsvorrichtung für elektronisches Tastenmusikinstrument und in dieser verwendete Slash-Akkord-Bestimmungsvorrichtung
JP6260191B2 (ja) * 2013-10-21 2018-01-17 ヤマハ株式会社 電子楽器、プログラム及び発音音高選択方法
JP6459237B2 (ja) * 2014-06-19 2019-01-30 カシオ計算機株式会社 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム
JP7419830B2 (ja) * 2020-01-17 2024-01-23 ヤマハ株式会社 伴奏音生成装置、電子楽器、伴奏音生成方法および伴奏音生成プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526430B2 (ja) * 1991-03-01 1996-08-21 ヤマハ株式会社 自動伴奏装置
JPH09179559A (ja) * 1995-12-22 1997-07-11 Kawai Musical Instr Mfg Co Ltd 自動伴奏装置及び自動伴奏方法
JP4237386B2 (ja) * 2000-08-31 2009-03-11 株式会社河合楽器製作所 電子楽器のコード検出装置、コード検出方法及び記録媒体

Also Published As

Publication number Publication date
US20030110927A1 (en) 2003-06-19
US6777606B2 (en) 2004-08-17
JP2003140654A (ja) 2003-05-16

Similar Documents

Publication Publication Date Title
JP3844286B2 (ja) 電子楽器の自動伴奏装置
JP3239411B2 (ja) 自動演奏機能付電子楽器
JP4232882B2 (ja) 電子楽器のデモ曲演奏装置及びデモ曲演奏方法
JP3640235B2 (ja) 自動伴奏装置及び自動伴奏方法
JP3192597B2 (ja) 電子楽器の自動演奏装置
JP4056902B2 (ja) 自動演奏装置及び自動演奏方法
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
JPH06348258A (ja) 電子楽器の自動演奏装置
JP3192579B2 (ja) 自動演奏装置及び自動演奏方法
JPH06337674A (ja) 電子楽器の自動演奏装置
JP3555255B2 (ja) 自動伴奏装置
JP3226268B2 (ja) コンサートマジック自動演奏装置
JP2002032083A (ja) 電子楽器
JP4186855B2 (ja) 楽音制御装置及びプログラム
JP3549083B2 (ja) 音量制御装置
JPH11184465A (ja) 演奏装置
JP3630266B2 (ja) 自動伴奏装置
JP2513014B2 (ja) 電子楽器の自動演奏装置
JP3150580B2 (ja) 自動演奏装置及び自動演奏方法
JP3356326B2 (ja) 電子楽器
JP4218566B2 (ja) 楽音制御装置及びプログラム
JP3169535B2 (ja) 自動演奏装置及び自動演奏方法
JP3476863B2 (ja) 電子楽器の自動伴奏装置
JP3296248B2 (ja) 楽音演奏装置
JPH06314096A (ja) 電子楽器の前コード検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060811

R150 Certificate of patent or registration of utility model

Ref document number: 3844286

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090825

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100825

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110825

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120825

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120825

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130825

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees