JP3541452B2 - 自動伴奏装置 - Google Patents

自動伴奏装置 Download PDF

Info

Publication number
JP3541452B2
JP3541452B2 JP22092494A JP22092494A JP3541452B2 JP 3541452 B2 JP3541452 B2 JP 3541452B2 JP 22092494 A JP22092494 A JP 22092494A JP 22092494 A JP22092494 A JP 22092494A JP 3541452 B2 JP3541452 B2 JP 3541452B2
Authority
JP
Japan
Prior art keywords
pattern
deformation
accompaniment
data
key
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
JP22092494A
Other languages
English (en)
Other versions
JPH0863167A (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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP22092494A priority Critical patent/JP3541452B2/ja
Priority to US08/505,585 priority patent/US5712436A/en
Publication of JPH0863167A publication Critical patent/JPH0863167A/ja
Application granted granted Critical
Publication of JP3541452B2 publication Critical patent/JP3541452B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【産業上の利用分野】
この発明は、自動リズム演奏やその他の自動伴奏のために適用可能な自動伴奏装置に関し、特に伴奏パターンの作成や変更を容易に行えるようにしたものに関する。
【0002】
【従来の技術】
ユーザーの望みの自動伴奏パターンを得るための、従来の自動伴奏装置における典型例は、複数の伴奏パターンを予めメモリに記憶しておき、その中のいずれかを選択するやり方である。しかし、そのやり方では、選択可能なパターンが限られてしまうという欠点が有る。すなわち、予め記憶された伴奏パターンの中からいずれかを選択するタイプの自動伴奏装置では、記憶可能な伴奏パターンの数に限界があるため、ユーザーが欲しいと思う伴奏パターンに最も近いものを選択することができるだけであり、ユーザーが真に欲する伴奏パターンを得られないことが多い。
【0003】
それに対して、ユーザーの望みに従って全く自由に自動伴奏パターンを作成できるようにするやり方としては、電子楽器等の鍵盤をユーザーが任意に手弾き演奏(押鍵)することにより、望みの伴奏パターンを作成し、これをメモリに記憶するようにしたものがある。こうしてメモリに記憶した伴奏パターンを読出し再生することによって自動伴奏を行うことができる。
また、リズム演奏パターンの作成を比較的容易にするものとして、個々の打楽器音源毎に複数のパターンを予め記憶しておき、各打楽器音源毎に夫々所望の1つのパターンを選択することにより、それらの組合せによって全体として望みのリズム演奏パターンを得るようにしたものもある。
【0004】
【発明が解決しようとする課題】
前者の手弾き演奏を利用するやり方では、ユーザー自身が音楽に関する知識や演奏技術を有していないと、適切な伴奏パターンを作成することができないという問題があり、またユーザーが知識や演奏技術等を有していたとしても、その作成作業自体に多くの手間を要し、望みの伴奏パターンの作成を非常に困難なものにしていた。
後者の打楽器音源毎にパターンを選択するやり方では、打楽器音源の選択操作と望みのパターンを選択するための選択操作を別々に行わねばならないという面倒がある、また、操作性が悪い、また、組合せによって得られる演奏パターンのバリエーションに限度が有る、など解決されるべき問題点が有った。また、メモリに記憶したパターンの中からしか選択することができないので、自由な伴奏パターンの作成を行うことができないものであった。
この発明は上述の点に鑑みてなされたもので、伴奏パターンの作成や変更を容易に行えるようにすると共に、複雑なパターンであっても容易な作成や変更を可能にした自動伴奏装置を提供しようとするものである。
【0005】
【課題を解決するための手段】
この目的を達成するために、第1の発明に従う自動伴奏装置は、伴奏パターンデータを記憶した記憶手段と、前記伴奏パターンに対して与える変形を示す形容詞を指定する指定手段と、前記指定された形容詞に対応した変形アルゴリズムを実行して、前記伴奏パターンを変形させる変形手段と、伴奏パターンの内容を表示する表示手段と、前記表示手段に表示すべき伴奏パターンの内容を制御する表示制御手段であって、前記伴奏パターンの変形を実行する前と後とで伴奏パターンがどのように変化したかを示すように表示内容を制御するものと、変形後の伴奏パターンに従って自動伴奏を行う伴奏手段とを備えたものである。
【0006】
また、この目的を達成するために、第2の発明に従う自動伴奏装置は、伴奏パターンデータを記憶した記憶手段と、前記伴奏パターンに対して与える変形を示す形容詞を指定する指定手段と、前記指定された形容詞に対応した変形アルゴリズムを実行して、前記伴奏パターンを変形させる変形手段であって、形容詞に対応した変形アルゴリズムは複数の変形要素から構成されるものと、前記形容詞に対応した変形アルゴリズムの変形要素を表示する表示手段と、変形後の伴奏パターンに従って自動伴奏を行う伴奏手段とを備えたものである。
【0007】
【作用】
第1の発明においては、ユーザーは伴奏パターンを変形させるための形容詞を指定する。変形手段は、記憶手段に記憶された伴奏パターンを、指定された形容詞に対応した変形アルゴリズムに従って変形処理する。これによって、記憶されていた伴奏パターンが、形容詞に応じた伴奏パターンに変形される。そして、伴奏手段により変形後の伴奏パターンに従った自動伴奏が実行される。ここで、表示手段には変形手段による変形の前と後とで伴奏パターンがどのように変化したかがわかるように、伴奏パターンの内容が表示される。
【0008】
第2の発明においては、ユーザーは伴奏パターンを変形させるための形容詞を指定する。変形手段は、記憶手段に記憶された伴奏パターンを、指定された形容詞に対応した変形アルゴリズムに従って変形処理する。これによって、記憶されていた伴奏パターンが、形容詞に応じた伴奏パターンに変形される。そして、伴奏手段により変形後の伴奏パターンに従った自動伴奏が実行される。ここで、形容詞に対応した変形アルゴリズムは複数の変形要素の集合から成り立っており、表示手段には変形に用いられた変形アルゴリズムの変形要素が表示される。
【0009】
【実施例】
以下、この発明の実施例を添付図面に従って詳細に説明する。
図2は、鍵盤及び音源回路を内蔵した電子楽器1Fと、伴奏パターンのエディット処理及び電子楽器1Fへ伴奏パターンに基づくデータを出力する処理を行うパソコン20との詳細構成、及び両者間の接続関係を示すハードブロック図である。
まず、電子楽器1Fの構成について説明する。
マイクロプロセッサユニット(CPU)11は、この電子楽器1Fの動作を制御するものである。このCPU11に対して、バス1Eを介してROM12、RAM13、押鍵検出回路14、スイッチ検出回路15、表示回路16、音源回路17、サウンドシステム18、タイマ19及びMIDIインターフェイス(I/F)1Dがそれぞれ接続されている。
【0010】
この実施例においてはCPU11によって押鍵検出処理や演奏データ(ノートデータ)の送受信処理及び発音処理等を行う電子楽器について説明するが、押鍵検出回路14からなるモジュールや音源回路17からなるモジュールとがそれぞれ別々に構成され、各モジュール間のデータの授受をMIDIインターフェイスで行うように構成されたものにも同様に適用できる。
ROM12は,CPU11の各種プログラムや各種データを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
RAM13は、演奏情報やCPU11がプログラムを実行する際に発生する各種データを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)の所定のアドレス領域がそれぞれ割り当てられ、レジスタ及びフラグとして利用される。
【0011】
鍵盤1Aは、発音すべき楽音の音高を選択するための複数の鍵を備えており、各鍵に対応してキースイッチを有しており、また必要に応じて押鍵速度検出装置や押圧力検出装置等のタッチ検出手段を有している。鍵盤1Aは音楽演奏のための基本的な操作子であり、これ以外の演奏操作子、例えばドラムパッド等でもよいことはいうまでもない。
【0012】
押鍵検出回路14は、発生すべき楽音の音高を指定する鍵盤1Aのそれぞれの鍵に対応して設けられた複数のキースイッチからなる回路を含んで構成されており、新たな鍵が押圧されたときはキーオンイベント情報を出力し、鍵が新たに離鍵されたときはキーオフイベント情報を出力する。また、鍵押し下げ時の押鍵操作速度又は押圧力等を判別してタッチデータを生成する処理を行い、生成したタッチデータをベロシティデータとして出力する。このようにキーオン、キーオフイベント情報及びベロシティ情報はMIDI規格で表現されておりキーコードと割当てチャンネルを示すデータをも含んでいる。
【0013】
パネルスイッチ1Bは、音色、音量、効果等を選択・設定・制御するための各種操作子を含むものである。パネルスイッチには色々なものがあるが、その詳細については公知なので説明を省略する。
スイッチ検出回路15はパネルスイッチ1Bの各操作子の操作状態を検出し、その操作状態に応じたスイッチ情報を、バス1Eを介してCPU11に出力するものである。
表示回路16はCPU11の制御状態、設定データの内容等の各種の情報を表示部1Cに表示するものである。表示部1Cは液晶表示パネル(LCD)等から構成され、表示回路16によってその表示動作を制御される。
【0014】
音源回路17は複数のチャンネルで楽音信号の同時発生が可能であり、バス1Eを経由して与えられた演奏情報(MIDI規格に準拠したデータ)を入力し、このデータに基づき楽音信号を発生する。後述するように、本電子楽器1Fの音源回路17は各種ドラム音の楽音信号を発生可能なように構成されているものである。
音源回路17における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出すメモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるFM方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるAM方式等の公知の方式を適宜採用してもよい。
【0015】
音源回路17から発生された楽音信号は、図示しないアンプ及びスピーカからなるサウンドシステム18を介して発音される。
タイマ19は時間間隔を計数したりするためのクロックパルスを発生するものであり、このクロックパルスはCPU11に対してインタラプト命令として与えられるので、CPU11はインタラプト処理により各種処理を実行する。
【0016】
MIDIインターフェイス(I/F)1Dは電子楽器1Fのバス1Eとパソコン20のMIDIインターフェイス(I/F)2Cとの間を接続し、MIDIインターフェイス2Cはパソコン20のバス2DとMIDIインターフェイス1Dとの間を接続している。従って、電子楽器19のバス1Eとパソコン20のバス2Dとの間は、MIDIインターフェイス1D及び2Cを介して接続され、両者の間では、MIDI規格に準拠したデータのやり取りが双方向で行えるようになっている。
【0017】
次に、パソコン20の構成について説明する。
マイクロプロセッサユニット(CPU)21は、このパソコン20の動作を制御するためのものである。このCPU21に対して、バス2Dを介してROM22、RAM23、ハードディスク装置24、ディスプレイインターフェイス(I/F)25、マウスインターフェイス(MOUSE I/F)26、スイッチ検出回路27、タイマ28及びMIDIインターフェイス2Cがそれぞれ接続されている。
【0018】
ROM22は、CPU21の各種プログラムや各種データや各種記号文字等のデータを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
RAM23は、CPU21がプログラムを実行する際に発生する各種データを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)で構成されている。なお、この実施例では、RAM23の所定領域が図3に示すようなカレントパターンメモリ領域、アサインメモリ領域、アンドゥバッファ領域、退避メモリ領域及びパターンテーブル領域に割り当てられている。
【0019】
カレントパターンメモリ領域は、自動伴奏時に読み出されるリズムパターンを記憶する領域である。アサインメモリ領域は、エディット処理やトランスフォーマー処理によって新たに作成されたリズムパターンを記憶する領域である。アンドゥバッファ領域は、トランスフォーマー処理によって変形されたリズムパターンを一時的に記憶する領域である。退避メモリ領域は、フィルインを挿入するときにそれまでのカレントパターンを保存したり、データベースからコンポーネントのリズムパターンを読み出す時、前に存在していたコンポーネントのリズムパターンを一時的に保存する領域である。
【0020】
パターンテーブル領域は、データベース(ハードディスク装置24)に記憶されているリズムパターンのアドレスとリズムパターンの複雑度を示すデータを、その複雑度の小さい順序をアドレスとして記憶する領域である。すなわち、パターンテーブル領域はリズムパターンを複雑度の小さい順序に並び替えた場合に、その順序アドレスをデータベース上のアドレスに変換するためのアドレス変換用のパターンテーブルを記憶する領域である。このパターンテーブルの詳細については後述する。
【0021】
ハードディスク装置24は、パソコン20の外部記憶装置であり、数十〜数百メガバイト(MB)の記憶容量を有する。この実施例では、ハードディスク装置24は、リズムパターンのデータベースとして利用され、図3に示すようなそれぞれ異なる音楽スタイル(ジャンル)のパターンを記憶するために3つのバンクA,B,Cに分割にされている。
【0022】
この実施例では、バンクAには各ドラム音のコンポーネントに対応したロック音楽専用の複数のリズムパターンが記憶され、バンクBには各ドラム音のコンポーネントに対応したディスコ音楽専用の複数のリズムパターンが記憶され、バンクCには各ドラム音のコンポーネントに対応したロック及びディスコ音楽に共通の複数のリズムパターンが記憶されている。各バンクに記憶されている複数のリズムパターンを特定するための先頭アドレスが、前述のパターンテーブル領域に単純なものから複雑なものへと、その複雑さの度合いに従った順序をアドレスとして順番に記憶されている。
【0023】
例えば、バスドラム(BD)とスネアドラム(SD)とからなるコンポーネントに対しては、BD+SDパターン1、BD+SDパターン2、・・・のようにパターン番号に従ってより複雑なリズムパターンとなっている。同様に、タムタムのハイ、ミドル及びロー(TomH、TomM、TomL)からなるコンポーネントに対してもTomH+TomM+TomLパターン1、TomH+TomM+TomLパターン2、・・・のようにパターン番号に従ってより複雑なリズムパターンとなっている。
【0024】
図4はパターンテーブル領域に記憶されているアドレス変換用のパターンテーブルの内容を示す図である。図では、ロック音楽用パターンテーブルとディスコ音楽用パターンテーブルが示してある。ロック音楽用パターンテーブルは、バンクA及びCに記憶されている複数のリズムパターンを特定するための先頭アドレスA−1,A−2,A−3,C−1,A−4,C−2,・・・,A−nを、そのリズムパターンの持つ複雑さの度合い(複雑度の大きさ)に従った順番1,2,3,・・・,nに記憶している。一方、ディスコ音楽用パターンテーブルは、バンクB及びCに記憶されている複数のリズムパターンを特定するための先頭アドレスB−1,B−2,C−1,B−3,C−2,・・・,B−nを、そのリズムパターンの持つ複雑さの度合い(複雑度の大きさ)に従った順番1,2,3,・・・,nに記憶している。
【0025】
ここで、先頭アドレスのA、B又はCは、そのリズムパターンの記憶されているバンクの種類を示すものである。すなわち、先頭アドレスA−1,A−2,A−3,A−4,A−nはバンクAのアドレスを示し、先頭アドレスB−1,B−2,B−3,B−nはバンクBのアドレスを示し、そして先頭アドレスC−1,C−2,C−3はバンクCのアドレスを示す。
【0026】
複雑度はリズムパターンを所定の規則に応じて『0〜100』の値に数値化したものを用いる。所定の規則として、例えば、リズムパターン中に含まれる音の数、リズムパターン中のノートイベントデータが存在するタイミングの数、リズムパターンの前半に含まれる音の数と後半に含まれる音の数との差、又はあるタイミング(例えば、一拍目、三拍目、8分の裏拍等)におけるイベントの出現数等を、そのまま複雑度としたり、これらの規則をユーザーが任意に選択し適宜組み合わせたものや、これらを総合的に判断したものを複雑度とする。また、ユーザーが任意にリズムパターンを並び替えることができるようにしてもよい。
【0027】
ロック音楽用パターンテーブルでは、アドレス『1』には、複雑度の最も小さい『5』のロック音楽専用のリズムパターンがデータベース上の先頭アドレス『A−1』に記憶されていることを示している。以下、同様に、アドレス『2』には複雑度『7』のロック音楽専用のリズムパターンがデータベース上の先頭アドレス『A−2』に、アドレス『3』には複雑度『10』のロック音楽専用のリズムパターンがデータベース上の先頭アドレス『A−3』に、アドレス『4』には複雑度『11』のロック及びディスコ音楽共通のリズムパターンがデータベース上の先頭アドレス『C−1』に、アドレス『5』には複雑度『16』のロック音楽専用のリズムパターンがデータベース上の先頭アドレス『A−4』に、アドレス『6』には複雑度『20』のロック及びディスコ音楽共通のリズムパターンがデータベース上の先頭アドレス『C−2』に、アドレス『n』には複雑度の最も高い『95』のロック音楽専用のリズムパターンがデータベース上の先頭アドレス『A−n』に、それぞれ記憶されていることを示している。
【0028】
ディスコ音楽用のパターンテーブルでは、アドレス『1』には、複雑度が最も小さい『10』のディスコ音楽専用のリズムパターンが、データベース上の先頭アドレス『B−1』に記憶されていることを示している。以下、同様に、アドレス『2』には複雑度『14』のディスコ音楽専用のリズムパターンがデータベース上の先頭アドレス『B−2』に、アドレス『3』には複雑度『22』のロック及びディスコ音楽共通のリズムパターンがデータベース上の先頭アドレス『C−1』に、アドレス『4』には複雑度『25』のディスコ音楽専用のリズムパターンがデータベース上の先頭アドレス『B−3』に、アドレス『5』には複雑度『26』のロック及びディスコ音楽共通のリズムパターンがデータベース上の先頭アドレス『C−2』に、アドレス『6』には複雑度『30』のロック及びディスコ音楽共通のリズムパターンがデータベース上の先頭アドレス『C−3』に、アドレス『n』には複雑度の最も高い『91』のディスコ音楽専用のリズムパターンがデータベース上の先頭アドレス『B−n』に、それぞれ記憶されていることを示している。
【0029】
なお、バンクCのリズムパターンはロック音楽及びディスコ音楽に共通するので、ロック音楽用パターンテーブルとディスコ音楽用パターンテーブルの両方に存在する。例えば、図4のパターンテーブルの中では、先頭アドレス『C−1』及び『C−2』のリズムパターンがロック音楽用パターンテーブルとディスコ音楽用パターンテーブルの両方に存在する。図4では、同じリズムパターンでありながら、その複雑度が異なるのは、前述したように複雑度を求める所定の規則がロック音楽用パターンテーブルとディスコ音楽用パターンテーブルとでそれぞれ異なっているからである。
また、各バンクA,B,Cには、図3に示すようにリアルタイム演奏を意識したフィルインパターンやその他の楽器のパターン等も記憶されているので、カレントパターンに代えて一時的にフィルインパターンを挿入して演奏できるようになっている。
【0030】
各バンクA,B,Cに記憶されているリズムパターンの内容は、図3に示すように、イベントの発生タイミングを示すタイミングデータと、そのイベントの種類を示すノートイベントデータとの組み合わせからなる演奏データを相対時間方式で順次記憶することによって構成されている。なお、ここではノートイベントデータは、MIDIのノートオンメッセージに対応した形式で記憶されており、3バイトのデータからなる。また、タイミングデータは、各ノートイベントの発生間隔をクロック数で表わしたものである。その他、ハードディスク装置24には、バリエーションパターン1及び2として、トランスフォーマーの形容詞を指示するためのシーケンスデータが2種類記憶されている。すなわち、図3に示すようにバリエーション1,2は形容詞1、形容詞2、形容詞3及び形容詞4を順番に記憶したシーケンシャルデータで構成されている。
【0031】
なお、図示していないが、ハードディスク装置24に対するアクセスタイムを大幅に短縮するために、数メガバイト程度のキャッシュメモリ(RAM)を設けたり、RAM23とハードディスク装置24との間におけるデータ転送の負担を軽減するために、DMA装置を設けたりしてもよいことはいうまでもない。
【0032】
ディスプレイ29は、パソコン20内部で演算処理されたデータ等をディスプレイインターフェイス(I/F)を介して入力し、これらのデータを視覚的に認識可能なように表示するものであり、通常のCRTやLCD等で構成される。
図5は、ディスプレイ29の表示例を示す図である。ディスプレイ29は、現在どのコンポーネントが選択されているのか示すと共にそれが複雑度でどのレベルに位置するのかを示すために、選択されたコンポーネントのリズムパターンの複雑度を選択パターンの項に表示している。従って、選択パターンの項に複雑度が表示されているコンポーネントは現在選択されており、何も表示されていないコンポーネントは選択されていないことを意味する。また、選択パターンの項に表示された複雑度の大きさに応じてそのリズムパターンが複雑度でどのレベルに位置するのかを示す。
【0033】
例えば、図5(A)では、バスドラム(BD)とスネアドラム(SD)とからなるコンポーネントBD+SDに関しては、複雑度『80』のリズムパターンが選択されていることが示されている。タムタムのコンポーネントTomに関しては、複雑度『20』のリズムパターンが選択されていることが示されている。ハイハットのコンポーネントHHに関しては、複雑度『45』のリズムパターンが選択されていることが示されている。シンバルのコンポーネントCYに関しては複雑度の表示がないので、この場合何も選択されていないことが示されている。以下、同様にして、そのコンポーネントが選択されているかどうかが、選択パターンの項に複雑度が表示されているかどうかで容易に判別できるようになっている。また、選択パターンの項に表示された複雑度の大きさに応じてそのリズムパターンが複雑度でどのレベルに位置するのかを容易に認識することができる。
【0034】
図5(A)では、複雑度を直接数値表示する場合について示してあるが、これに限らず、図5(B)のように複雑度を棒グラフ等の図形で表示してもよい。このように図形表示することよって、そのコンポーネントが選択されているのかどうかが容易に認識できると共に複雑度における位置づけを感覚的に認識することができる。
なお、上述のようにリズムパターンを複雑度で位置づけする場合に限らず、複雑度以外の要素(例えば、激しさ、ノリの良さ等)で位置づけするようにしてもよい。また、これらの要素を複数組み合わせて、2次元、3次元、又は多次元的に表示してもよい。多次元的に表示する場合には、レーダーチャートのような図形表示が有効である。
【0035】
マウス2Aは、ディスプレイ29上の座標点を入力するポインティングデバイスの一種あり、その出力はマウスインターフェイス(MOUSE I/F)26及びバス2Dを介してCPU21に取り込まれる。
パネルスイッチ2Bは、パソコン20にプログラムやデータ等を入力するためのキーボードであり、テンキーやファンクションキー等を備えたものである。
【0036】
スイッチ検出回路27は、パネルスイッチ2Bのキー操作状態を検出し、その操作状態に応じたキー情報をバス2Dを介してCPU21に出力する。
タイマ28は時間間隔を計数したり、パソコン20全体の動作クロックを発生するものである。パソコン20はこの動作クロックを所定数だけ計数することによって所定時間の計時を行い、それに応じたインタラプト処理を行う。例えば、この所定数を自動伴奏のテンポに応じた値とすることで、パソコン20によって自動伴奏の処理を実行するようにしている。
【0037】
この実施例では、鍵盤1Aの押鍵状態に対応したノートナンバをMIDIインターフェイス1D及び2Cを介してパソコン20のCPU21に送信することによって、パソコン20のマウス2Aやパネルスイッチ2B以外にパソコン20の各種機能を選択設定制御する操作子として、電子楽器1Fの鍵盤1Aの各鍵が動作するようになっている。
【0038】
図6は、鍵盤1Aに割り当てられた各種機能の一例を示す図である。
図において、鍵盤1Aは全部で61個の鍵で構成され、パターンアサインエリア、操作子エリア及びドラムパターンエリアに分割されている。ノートナンバE0〜B1のキーがパターンアサインエリアを構成し、ノートナンバC2〜G#3のキーが操作子エリアを構成し、ノートナンバA3〜E5のキーがドラムパターンエリアを構成する。
【0039】
ノートナンバE0〜B1のキーは、エディット処理やトランスフォーマー処理によって作成されたリズムパターンを新たなリズムパターンとして記憶するためのアサインメモリ領域に対応したアドレスを発生する。すなわち、RAM23のアサインメモリ領域は全部で20個のアドレスを有したアサインメモリ管理領域と、20個のパターンを格納可能なパターン記憶領域とから成り、アサイン管理領域の一つ一つのアドレスがノートナンバE0〜B1に対応している。例えば、ノートナンバE0はアサインメモリ管理領域の第1のアドレスに対応し、ノートナンバF0は第2のアドレスに対応し、以下同様にしてノートナンバF#0〜B1がアサインメモリ管理領域の第3から第20のアドレスにそれぞれ対応している。そして、各アドレスには各パターン記憶領域の先頭アドレス値が記憶されている。
【0040】
ノートナンバC2〜G#3のキーは、エディット処理やトランスフォーマー処理を行うための各種操作子として機能する。従って、ノートナンバC2〜G#3がそのまま各鍵に割り当てられた操作子機能を表すキー情報となる。
具体的には、ノートナンバC2のキーがアサインキー、ノートナンバD2、E2、F2、G2及びA2のキーがトランスフォーマー1〜5の指定キー、ノートナンバB2のキーがアンドゥ指定キー、ノートナンバC3のキーがスタート/ストップ指定キー、ノートナンバD3、E3及びF3のキーがバンクA〜Cの指定キー、ノートナンバG3のキーがパターン確定のためののロックキー、ノートナンバC#2及びD#2のキーがバリエーション1、2の指定キー、ノートナンバF#2のキーがリプレース入力キー、ノートナンバG#2のキーがインサート入力キー、ノートナンバA#2のキーがクォンタイズ処理指定キー、ノートナンバC#3のキーがデリートドラム指示キー、ノートナンバD#3のキーがデリートコンポーネント指示キー、ノートナンバF#3のキーがアクセント入力キー、ノートナンバG#3のキーがフィルイン指定キーにそれぞれ対応している。
これら各キーの操作に応じた処理内容の詳細については後述する。
【0041】
ドラムパターンエリアのノートナンバA3〜E5のキーは、ドラム音の指定キーとして機能する。従って、ノートナンバC2〜G#3がそのまま各鍵に割り当てられたドラム音の種類を表すドラム音情報となる。
具体的にはノートナンバA3のキーがバスドラム(BD)、ノートナンバA#3のキーがスネアドラム(SD)、ノートナンバB3のキーがタムタムのハイ(Tom H)、ノートナンバC4のキーがタムタムのロー(Tom L)、ノートナンバC#4のキーがタムタムのミドル(Tom M)、ノートナンバD4のキーがコンガのハイ(Conga H)、ノートナンバE4のキーがコンガのロー(Conga L)、ノートナンバD#4のキーがティンバレ(Timb)、ノートナンバF4のキーがテンプルブロックのロー(TB L)、ノートナンバF#4のキーがテンプルブロックのハイ(TB H)、ノートナンバG4のキーがハイハットのクローズ(HHC)、ノートナンバA4のキーがハイハットのオープン(HHO)である。そしてノートナンバG#4のキーがタンブリン(Tamb)、ノートナンバA#4のキーがクラベス(Clave)、ノートナンバB4のキーがカウベル(Cowbell)、ノートナンバC5のキーがアゴゥゴゥのハイ(Agogo H)、ノートナンバC#5のキーがアゴゥゴゥのロー(Agogo L)、ノートナンバD5のキーがハンドクラップス(Claps)、ノートナンバD#5のキーがクラッシュシンバル(Crash CY)、ノートナンバE5のキーがライドシンバル(Ride CY)のドラム音にそれぞれ対応している。
【0042】
上述の各ドラム音は単独で指定することも可能であるが、この実施例では複数のドラム音をその演奏形態に応じてグループ化したコンポーネントとして利用している。従って、このコンポーネントを構成するドラム音は1又は複数のドラム音である。ここで、コンポーネントが複数のドラム音から構成される場合には、これらの間には、演奏形態に共通性(音楽的な関連)が存在することが必要である。例えば、バスドラム(BD)とスネアドラム(SD)とが、タムタムのハイ(Tom H)とタムタムのミドル(Tom M)とタムタムのロー(Tom L)とが、コンガのハイ(Conga H)とコンガのロー(Conga L)とティンバレ(Timb)とが、テンプルブロックのハイ(TB H)とテンプルブロックのロー(TB L)とが、ハイハットのオープン(HHO)とハイハットのクローズ(HHC)とが、アゴゥゴゥのハイ(Agogo H)とアゴゥゴゥのロー(Agogo L)とがそれぞれ1つのコンポーネントを構成する。従って、タンブリン(Tamb)、クラベス(Clave)、カウベル(Cowbell)、ハンドクラップス(Claps)、クラッシュシンバル(Crash CY)及びライドシンバル(Ride CY)のドラム音は単独扱いのコンポーネントとなる。
【0043】
但し、タンブリン(Tamb)とクラベス(Clave)とを、カウベル(Cowbell)とハンドクラップス(Claps)とを、クラッシュシンバル(Crash CY)とライドシンバル(Ride CY)とを、それぞれ1つのコンポーネントとして扱ってもよいことはいうまでもない。また、これ以外の組合せでもよい。
【0044】
図1は、図2の電子楽器1F及びパソコン20が伴奏パターン作成装置として動作する場合の機能ブロックを示す図である。
図1の伴奏パターン作成装置はカレントパターンメモリ1を中心に動作する。パソコン20は、カレントパターンメモリ1からカレントパターンを読み出しながら自動伴奏処理を行うようになっている。
【0045】
カレントパターンメモリ1、アサインメモリ2、アンドゥバッファ3、退避メモリ4及びパターンテーブル63は、図3に示されたRAM23の所定領域がそれぞれ対応する。
データベース手段5は、図2のハードディスク装置24に対応する。データベース手段5は図3のように多数のリズムパターンデータを記憶している。
パターンセレクタ61は図2の鍵盤1AのノートナンバA3、A#3、B3、・・・、E5のドラムパターンエリアの各指定キーと、鍵盤1AのノートナンバD3、E3及びF3のバンクA,B,Cの指定キーとがそれぞれ対応する。
【0046】
従って、この伴奏パターン作成装置は、パターンセレクタ61によってデータベース手段5内のコンポーネントが適宜選択されると、それに対応したリズムパターンデータをデータベース手段5から読み出して、カレントパターンメモリ1に供給する。この実施例では、コンポーネントの選択は、パターンセレクタ61すなわち鍵盤1Aの操作によって行われ、鍵盤1Aの操作によって発生したノートナンバに対応したコンポーネントが指定される。この時、各コンポーネント中のリズムパターンは複数存在するので、指定されたコンポーネントのどのリズムパターンデータを読み出すかは、鍵盤1Aの操作時におけるベロシティデータによって行う。
【0047】
すなわち、データベース手段5内の各バンクA,B,Cを構成する各リズムパターンデータの先頭アドレスは、図4のようにリズムパターンの複雑度に応じた順番をアドレスとしてパターンテーブル63に記録されている。そこで、パターンセレクタ61の操作時におけるベロシティデータをパターンテーブル63のアドレスに対応付けることによって、パターンテーブル63からはベロシティデータの大きさに応じて複雑度のそれぞれ異なるリズムパターンデータの先頭アドレスがパターンセレクタ61に供給される。パターンセレクタ61は、データベース手段5の該先頭アドレスによって指定されたアドレスに記憶されているリズムパターンデータを読み出して、カレントパターンメモリ1に供給する。データベース手段5から読み出されたリズムパターンデータはカレントパターンメモリ1内にカレントパターンとして格納される。格納されたカレントパターンの内容はエディット手段7やトランスフォーマー9によって種々の変更が施される。
【0048】
エディット手段7は、図2の鍵盤1AのノートナンバF#2のリプレース入力キー、ノートナンバG#2のインサート入力キー、ノートナンバA#2のクォンタイズ処理指定キー、ノートナンバC#3のデリートドラム指示キー、ノートナンバD#3のデリートコンポーネント指示キー、ノートナンバF#3のアクセント入力キーに対応する。
【0049】
ここで、リプレース入力とはカレントパターンの元のノートイベントデータを消去し、新たなノートイベントデータのみを記憶することをいう。インサート入力とはカレントパターンの元のノートイベントデータに新たなノートイベントデータを追加して記憶することをいう。クォンタイズとはノートイベントの発生タイミングを基準タイミングにジャストフィットさせることをいう。アクセントとはカレントパターン内のドラム音で、操作された鍵盤に対応するドラム音にアクセントを付けなおすことをいう。デリートドラムとはカレントパターン内のドラム音であって、操作された鍵盤に対応するドラム音だけを消去することをいう。デリートコンポーネントとはカレントパターン内のドラム音であって、操作した鍵盤に対応するコンポーネントのドラム音を全て消去することをいう。
【0050】
形容詞指示手段8は図2の鍵盤1AのノートナンバD2,E2,F2,G2,A2のトランスフォーマー指定キーに対応する。
トランスフォーマー9は、図2のROM22内に格納されているトランスフォーマー用プログラムに対応する。カレントパターンの内容はこのトランスフォーマー指定キーに対応する形容詞指示手段8で指示された形容詞に応じて変形処理される。このトランスフォーマー9は感覚的な形容詞の指示をするだけで思い通りのイメージに沿ったパターンを作成する。
【0051】
アンドゥ手段10は、図2の鍵盤1AのノートナンバB2のアンドゥキーに対応する。
トランスフォーマー9によって変形されたパターンはアンドゥバッファ3に保存されるので、変形の結果、思い通りのパターンが得られなかった場合には、元のパターンを呼び戻すことができるようになっている。すなわち、アンドゥバッファ3には変形されたパターンが変形処理順に記憶されるので、アンドゥバッファ3の内容を順次遡って読み出すことによって元のパターンを呼び戻すことができる。
このようにして、新たなパターンの追加や変形によって作成されたカレントパターンは、アサインメモリ2に記憶しておくことが可能であり、アサインメモリ2に記憶されたパターンはいつでも鍵盤1Aのパターンアサインエリアのキーを操作することによって読み出すことができる。
【0052】
パターン登録手段62は、図2のパネルスイッチ2B上のパターン登録用操作子が対応する。
パターン登録手段62は、カレントパターンメモリ1内のカレントパターン、すなわちエディット手段7やトランスフォーマー9よって種々変更の施されたものをデータベース手段5に新たなリズムパターンデータとして新規登録する。この時、パターン登録手段62は、データベース手段5に新規登録したリズムパターンデータの複雑度を求め、その複雑度に応じてパターンテーブル63内の順番を並び替えて、新たなパターンテーブル63を作成する。
【0053】
例えば、図5に示すような複雑度『20』のタムタムTomのリズムパターンをデータベース手段5のバンクBのディスコ音楽用パターンテーブルに新たに登録する場合を想定して、パターンテーブルの並び替えについて説明する。まず、パターン登録手段62は、タムタムTomのリズムパターンをデータベース手段5のアドレス『B−n1』に登録する。そして、パターン登録手段62は、タムタムTomのリズムパターンの複雑度を求める。タムタムTomのリズムパターンの複雑度は『20』なので、パターン登録手段62は、図4に示すようなディスコ音楽用パターンテーブルのアドレス『3』以降の先頭アドレス『C−1,B−3,C−2,C−3,・・・,B−n』をそれぞれ1アドレスずつ後方に移動し、アドレス『3』の位置にタムタムTomのリズムパターンの先頭アドレス『B−n1』を新たに記録する。
【0054】
次に、CPU11によって実行される図2の電子楽器1Fの処理の一例を図7のフローチャートを用いて説明する。
図7(A)は図2の電子楽器1FのCPU11が処理するメインルーチンの一例を示す図である。
まず、電源が投入されると、CPU11はROM12に格納されている制御プログラムに応じた処理を開始する。「イニシャライズ処理」では、RAM13内の各種レジスタ及びフラグを初期化する。その後にCPU11は「キー処理」、「MIDI受信処理」及び「その他の処理」をイベントの発生に応じて繰り返し実行する。
【0055】
図7(B)は図7(A)の「キー処理」の詳細を示す図である。
「キー処理」では、鍵盤1Aの操作状態がキーオン状態かキーオフ状態かを判定し、その判定結果に応じて、MIDIノートオンメッセージ又はMIDIノートオフメッセージをMIDIインターフェース1D及び2Cを介してパソコン20に出力する。従って、この実施例では、鍵盤1Aが操作された場合でも電子楽器自体の処理すなわち音源回路17を駆動しないようにしてある。そのため、キー処理の時点では、音源回路17は発音処理を行わないようにしてある。
【0056】
図7(C)は図7(A)の「MIDI受信処理」の詳細を示す図である。
「MIDI受信処理」では、パソコン20からMIDIインターフェース2C及び1Dを介してMIDIメッセージが入力される毎に実行する。「MIDI受信処理」では、そのMIDIメッセージがノートオンメッセージかどうかを判定し、ノートオン(YES)の場合にはそのノートオン信号、ノートナンバ及びベロシティデータを音源回路17に供給し、楽音の発音を音源回路17に実行させる。一方、MIDIメッセージがノートオン以外(NO)の場合には受信したMIDIメッセージに応じた「メッセージ対応処理」を行った後、図7(A)のメインルーチンにリターンする。
「その他の処理」では、パネルスイッチ1Bにおけるその他の操作子の操作に基づく処理やその他の種々の処理を行う。
【0057】
次に、CPU21によって実行される図2のパソコン20の処理の一例を図8〜図17のフローチャートを用いて説明する。
図8(A)は図2のパソコン20のCPU21が処理するメインルーチンの一例を示す図である。
まず、電源が投入されると、CPU21はROM22に格納されている制御プログラムに応じた処理を開始する。「イニシャライズ処理」では、RAM23内の各種レジスタ及びフラグを初期化する。その後に、CPU21は「MIDI受信処理」、「表示処理」及び「その他の処理」を繰り返し実行する。
【0058】
図8(B)は図8(A)の「MIDI受信処理」の詳細を示す図である。
「MIDI受信処理」は、電子楽器1FからMIDIインターフェース1D及び2Cを介してMIDIメッセージが入力する毎に実行される。「MIDI受信処理」では、MIDIメッセージがノートオンメッセージかどうかを判定し、ノートオン(YES)の場合にはそのキーオンのノートナンバに対応した処理(図9〜図12の処理)を実行し、ノートオフ(NO)の場合にはそのキーオフのノートナンバに対応した処理(図13の処理)を実行する。
【0059】
「表示処理」では、データベース手段5のどのバンクを処理中であり、演奏しているドラム音の種類やカレントパターンのどの部分を演奏中であるかをディスプレイ29に表示するための処理を行う。具体的には、図5や図21に示すような画面を表示する。
「その他の処理」では、パネルスイッチ2Bにおけるその他の操作子の操作に基づく処理やその他の種々の処理を行う。ここでは、パネルスイッチ2B上のパターン登録用操作子の操作に応じた図17の「パターン登録処理」を行う。この「パターン登録処理」の詳細について後述する。
【0060】
図9〜図12は、受信したMIDIメッセージがノートオンメッセージの場合に実行される図8(B)のノートオンメッセージのノートナンバに対応した処理を示す図である。
図9(A)は、鍵盤1AのノートナンバE0〜B1に対応したパターンアサインエリアのキーが操作されることによって、ノートナンバE0〜B1を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるパターンアサインエリアキー処理を示す図である。
このパターンアサインエリアキー処理では、まずアサインフラグASSIGNがハイレベル“1”かどうかを判定し、その判定結果に応じた処理を行う。
【0061】
すなわち、アサインフラグASSIGNは、鍵盤1Aのアサインキー(ノートナンバC2のキー)がキーオン操作された場合に、図9(B)のアサインキー処理によってハイレベル“1”にセットされ、逆にキーオフ操作された場合には図13(A)の処理によってローレベル“0”にリセットされる。従って、アサインフラグASSIGNがハイレベル“1”(YES)だと判定された場合は、パターンアサインエリアのキーとアサインキーとが同時に押されていることを意味するので、この場合には、カレントパターンメモリ1内のカレントパターンをそのノートナンバに対応したアサインメモリ2のアサインメモリ領域にコピーしてリターンする。
【0062】
一方、アサインフラグASSIGNがローレベル“0”(NO)だと判定された場合には、パターンアサインエリアのキーだけが操作されたことを意味するので、この場合には、そのノートナンバに対応したアサインメモリ2のアサインメモリ領域に記憶されているリズムパターンをカレントパターンメモリ1にコピーしてリターンする。
【0063】
すなわち、アサインキーを押しながらパターンアサインエリアのキーを操作した場合には、その時にカレントパターンメモリ1に記憶されているリズムパターンデータがそのパターンアサインエリアのキーに登録され、パターンアサインエリアのキーだけを単独に操作した場合には、そのキーに予め登録されているリズムパターンがカレントパターンメモリ1に呼び出されることとなる。
【0064】
図9(B)は,鍵盤1AのノートナンバC2に対応したアサインキーが操作され、ノートナンバC2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるアサインキー処理を示す図である。
このアサインキー処理では、全フラグをローレベル“0”にクリアしてからアサインフラグASSIGNにハイレベル“1”をセットしてリターンする。
【0065】
図9(C)は鍵盤1AのノートナンバD2〜A2(#を除く)に対応したトランスフォーマー1〜5のキーが操作され、ノートナンバD2〜A2(#を除く)を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるトランスフォーマーキー処理を示す図である。
ノートナンバD2〜A2(#を除く)を含むMIDIメッセージが電子楽器1Fから受信されたということは、トランスフォーマーの形容詞の種類を指示したことを意味する。従って、このトランスフォーマーキー処理では、まず、全フラグをローレベル“0”にクリアし、MIDIメッセージ内のノートナンバ及びベロシティデータに応じてトランスフォーマーの形容詞の種類を決定する。トランスフォーマーの種類が決定したらトランスフォーマーフラグTRANSにハイレベル“1”をセットしてリターンする。
【0066】
なお、この実施例では、それぞれのトランスフォーマー1〜5には、2つの形容詞が割り当てられており、ベロシティデータの大きさに応じていずれか一方が選択されるようになっている。例えば、トランスフォーマー1には複雑化処理(Complex)と簡単化処理(Simple)、トランスフォーマー2には硬音化処理(Hard)と軟音化処理(Soft)、トランスフォーマー3には活発化処理(Energetic)と平静化処理(Calm)、トランスフォーマー4には無表情化処理(Mechanical)と優美化処理(Graceful)、トランスフォーマー5にはどもり化処理(Stuttering)と浮動化処理(Floating)がそれぞれ割り当てられている。
従って、ベロシティデータの大きさがある所定値以下の場合には前者が選択され、所定値よりも大きい場合には後者が選択されるようになっている。
トンラスフォーマーフラグTRANSがハイレベル“1”の場合は、トランスフォーマー9は図16(D)のトランスフォーマーキー処理を行い、カレントパターンの内容を各トランスフォーマーの形容詞に応じて変更する。
【0067】
以下、各形容詞の内容について説明する。
複雑化処理(Complex)とは次の処理のいずれか一つを実行することをいう。
複雑化処理の第1は、予め指示されたテンプレートと呼ばれるパターン原型に基づき、このテンプレートに対応した3連音符系のリズムパターンをデータベース手段5からサーチし、それをカレントパターンに加えることによって行われる処理である。
複雑化処理の第2は、データベース手段5からランダムにクラッシュ以外のコンポーネントを構成するドラム音を抽出してカレントパターンに加えることによって行われる。
【0068】
簡単化処理(Simple)とは次のいずれか一つを実行することをいう。
簡単化処理の第1は、カレントパターン内のバスドラム(BD)、スネアドラム(SD)のリズムパターンに比べてより基本のリズムパターンに近いものをデータベース手段5からサーチし、それをカレントパターンとすることによって行われる。
簡単化処理の第2は、カレントパターン内のハイハット(HHC,HHO)のリズムパターンに比べてより基本のリズムパターンに近いものをデータベース手段5からサーチし、それをカレントパターンとすることによって行われる。
簡単化処理の第3は、上記バスドラム(BD)、スネアドラム(SD)、ハイハット(HHC,HHO)以外のコンポーネントのリズムパターンをカレントパターン内から除去することによって行われる。
【0069】
硬音化処理(Hard)とは次のいずれか一つを実行することをいう。
硬音化処理の第1は、カレントパターン内のリズムパターンの全てのベロシティを一律に増加させることによって行われる。
硬音化処理の第2は、カレントパターン内のドラム音をソフト用コンポーネントからハード用コンポーネントに交換することによって行われる。
【0070】
ここで、ハード用コンポーネントを構成するドラム音は、例えばバスドラム(BD)、スネアドラム(SD)、タムタム(Tom H,Tom M,Tom L)、カウベル(Cowbell)、アゴーゴ(Agogo H,Agogo L)、ハンドクラップス(Claps)、クラッシュ(Crash CY)であり、ソフト用コンポーネントを構成するドラム音は、例えばクラベス(Clave)、タンバリン(Tamb)、ハイハット(HHC,HHO)、ライド(Ride CY)、コンガ(Conga H,Conga L)、ウッドブロック、シェイカーである。なお、この実施例では、ウッドブロックとシェイカーのドラム音は、鍵盤1Aへ割当ててないが、これらのドラム音はソフト用コンポーネントを構成するものとして例示した。
【0071】
軟音化(Soft)とは次のいずれか一つを実行することをいう。
軟音化処理の第1は、カレントパターン内のリズムパターンの全てのベロシティを一律に減少させることによって行われる。
軟音化処理の第2は、カレントパターン内のドラム音をハード用コンポーネントからソフト用コンポーネントに交換することによって行われる。
【0072】
活発化処理(Energetic)とは次のいずれか一つを実行することをいう。
活発化処理の第1は、テンプレートに基づいたリズムパターンをカレントパターン内で増加させることによって行われる。
活発化処理の第2は、テンポ速度を120程度に近づけることによって行われる。
活発化処理の第3は、カレントパターン内のリズムパターンをテンプレートに基づいて3連音符系のリズムパターンに近づける(シャッフルする)ことによって行われる。
【0073】
平静化処理(Calm)とは次のいずれか一つを実行することをいう。
平静化処理の第1は、テンプレートに基づいたリズムパターンをカレントパターン内で減少させることによって行われる。
平静化処理の第2は、テンポ速度を60程度に近づけることによって行われる処理である。
平静化処理の第3は、カレントパターン内のリズムパターンをテンプレートに基づいて非3連音符系のリズムパターンに近づける(ノンシャッフルする)ことによって行われる。
【0074】
無表情化処理(Mechanical)とは、次のいずれか一つを実行することをいう。
無表情化処理の第1は、テンプレートに基づいてカレントパターン内のリズムパターンを16分にクォンタイズすることによって行われる。
無表情化処理の第2は、テンプレートに基づいてカレントパターン内のリズムパターンをバスドラム(BD)又はスネアドラム(SD)を基本パターンとした8分にクォンタイズすることによって行われる。
無表情化処理の第3は、カレントパターン内のドラム音をソフト用コンポーネントからハード用コンポーネントに交換することによって行われる。
無表情化処理の第4は、ベロシティデータを『90』の値を中心とした値に圧縮処理することによって行われる。
【0075】
優美化処理(Graceful)とは、次のいずれか一つを実行することをいう。
優美化処理の第1は、ベロシティデータを『64』の値を中心として両側に拡張することによって行われる。
優美化処理の第2は、テンプレートに基づいて3連音符系のリズムパターンをカレントパターンに追加することによって行われる。
優美化処理の第3は、カレントパターン内のドラム音をハード用コンポーネントからソフト用コンポーネントに交換することによって行われる。
優美化処理の第4は、カレントパターン内のドラム音にフラッターを施す(装飾音を付ける)ことによって行われる。
【0076】
どもり化処理(Stuttering)とは、次のいずれか一つを実行することをいう。
どもり化処理の第1は、テンプレートに基づいて、カレントパターン内のリズムパターンからダウンビートを消去し、アップビートに変換する(シンコペーション化する)ことによって行われる。
どもり化処理の第2は、テンプレートに基づいて3連音符系のリズムパターンをカレントパターンに追加することによって行われる。
【0077】
浮動化処理(Floating)とは、次のいずれか一つを実行することをいう。
浮動化処理の第1は、テンプレートに基づいて、カレントパターン内のリズムパターンからアップビートを消去し、ダウンビートに変換する(非シンコペーション化する)ことによって行われる。
浮動化処理の第2は、テンプレートに基づいて3連音符系のリズムパターンをカレントパターンから減少させることによって行われる。
浮動化処理の第3は、テンプレートに基づいて12/8の3連音符系のリズムパターンをカレントパターンに追加することによって行われる。
浮動化処理の第4は、カレントパターン内のドラム音をハード用コンポーネントからソフト用コンポーネントに交換することによって行われる。
浮動化処理の第5は、テンポ速度を『120』程度に近づけることによって行われる。
【0078】
図9(D)は、鍵盤1AのノートナンバB2に対応したアンドゥキーが操作され、ノートナンバB2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるアンドゥキー処理を示す図である。
このアンドゥキー処理では、全フラグをローレベル“0”にクリアしてからアンドゥフラグUNDOにハイレベル“1”をセットしてリターンする。
【0079】
アンドゥフラグUNDOがハイレベル“1”の場合は、アンドゥ手段10は図16(A)のアンドゥ処理を行い、アンドゥバッファ3から前のリズムパターンを読み出しカレントパターンメモリ1にコピーする。これによって、トランスフォーマー9によるパターン変更の結果が気に入らない場合には、前回のリズムパターンに戻すことができる。なお、アンドゥバッファ3は、全部で20個分のリズムパターンを順番に記憶しているので、アンドゥキーの操作に応じて順次遡って前のリズムパターンをカレントパターンメモリ1に復活することができるようになっている。
【0080】
図9(E)は鍵盤1AのノートナンバC3に対応したスタート/ストップキーが操作され、ノートナンバC3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるスタート/ストップキー処理を示す図である。
このスタート/ストップキー処理では、まず走行状態フラグRUNがハイレベル“1”かどうかを判定し、その判定結果に応じた処理を行う。ここで走行状態フラグRUNは、カレントパターンメモリ1からカレントパターンを読み出し中であるかどうかを示すものである。
【0081】
従って、走行状態フラグRUNがハイレベル“1”(YES)だと判定された場合は、読み出しを停止するために走行状態フラグRUNにローレベル“0”をセットしてリターンする。一方、走行状態フラグRUNがローレベル“0”(NO)だと判定された場合は、読み出しを開始するためにカレントパターンメモリ1の最初のタイミングデータをタイミングレジスタTIMEにセットし、走行状態フラグRUNをハイレベル“1”にセットしてリターンする。これによって、図14のタイマ割込処理においてカレントパターンメモリ1から順次カレントパターンの読み出し処理が実行されるようになる。
【0082】
図9(F)は、鍵盤1AのノートナンバD3〜F3(#を除く)に対応したバンクA,B,Cのいずれかのキーが操作され、ノートナンバD3〜F3(#を除く)を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるバンクA,B,Cキー処理を示す図である。
このバンクA,B,Cキー処理において、バンクレジスタBANKに『1』、『2』、『3』のいずれか1つを格納してリターンする。この実施例では、ノートナンバD3に対応したバンクAのキーが操作された場合にはバンクレジスタBANKには『1』を格納し、ノートナンバE3に対応したバンクBのキーが操作された場合にはバンクレジスタBANKには『2』を格納し、ノートナンバF3に対応したバンクCのキーが操作された場合にはバンクレジスタBANKには『3』を格納する。これによって、キー操作に応じてデータベース手段5のバンクA,B,Cが切り替えられるので、これ以後にコンポーネントの指定があれば、そのバンクからリズムパターンが読み出され、カレントパターンメモリ1に格納されるようになる。
【0083】
図10(A)は、鍵盤1AのノートナンバG3に対応したロックキーが操作され、ノートナンバG3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるロックキー処理を示す図である。
このロックキー処理では、全フラグをローレベル“0”にクリアしてからロックフラグLOCKにハイレベル“1”をセットしてリターンする。
データベース手段5からのリズムパターンは、通常はドラムパターンエリアのキーを操作している間だけ有効であるが、このロックキーを操作することによってリズムパターンの内容は確定し、ドラムパターンエリアのキーを離してもそのリズムパターンは有効状態を維持する。
【0084】
図10(B)は鍵盤1AのノートナンバC#2,D#2に対応したバリエーション1,2のキーが操作され、ノートナンバC#2,D#2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるバリエーション1,2キー処理を示す図である。
このバリエーション1,2キー処理では、全フラグをローレベル“0”にクリアしてからバリエーションフラグVARI1又はVARI2にハイレベル“1”をセットしてリターンする。
これによって、カレントパターンの読み出しが小節線まで進んだときに、バリエーションパターン(図3の形容詞シーケンス)が読み出されるようになる。
【0085】
図10(C)は鍵盤1AのノートナンバF#2に対応したリプレースキーが操作され、ノートナンバF#2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるリプレースキー処理を示す図である。
このリプレースキー処理においては、全フラグをローレベル“0”にクリアしてからリプレースフラグREPLACEにハイレベル“1”をセットしてリターンする。
これによって、このリプレースキーを押しつづけている間にドラムパターンエリアのキーを操作すると、図11(D)の処理が実行され、対応するドラム音が操作タイミングの位置に入力されるようになる。このとき、前の対応ドラム音は消去される。
【0086】
図10(D)は鍵盤1AのノートナンバG#2に対応したインサートキーが操作され、ノートナンバG#2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるインサートキー処理を示す図である。
このインサートキー処理では、全フラグをローレベル“0”にクリアしてからインサートフラグINSERTにハイレベル“1”をセットしリターンする。
これによって、このインサートキーを押しつづけている間にドラムパターンエリアのキーを操作すると、対応するドラム音がその操作タイミングの位置に入力されるようになる。このとき、前のドラム音は消去されることなく新たなドラム音が追加される。
【0087】
図10(E)は鍵盤1AのノートナンバA#2に対応したクォンタイズキーが操作され、ノートナンバA#2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるクォンタイズキー処理を示す図である。
このクォンタイズキー処理では、全フラグをローレベル“0”にクリアし、その時のベロシティデータの大きさに応じてクォンタイズの分解能を決定し、クォンタイズフラグQUANTにハイレベル“1”をセットしてリターンする。
これによって、カレントパターンの読み出しが小節線まで達したとき、次の小節線以降のリズムパターンを読み出す際に、データそのものは書き替えずに読み出すタイミングのみをクォンタイズ処理して読み出す。このような処理を読み出しクォンタイズ処理という。
【0088】
図10(F)は鍵盤1AのノートナンバC#3に対応したデリートドラムキーが操作され、ノートナンバC#3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるデリートドラムキー処理を示す図である。
このデリートドラムキー処理では、全フラグをローレベル“0”にクリアしてからデリートドラムフラグDELDRUMにハイレベル“1”をセットしてリターンする。
これによって、例えばその後にノートナンバC4のノートオンメッセージが検出されたら、ノートナンバC4に対応するドラム音(タムタムのロー(Tom L))をカレントパターンの中から削除する。
【0089】
図11(A)は鍵盤1AのノートナンバD#3に対応したデリートコンポーネントキーが操作され、ノートナンバD#3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるデリートコンポーネントキー処理を示す図である。
このデリートコンポーネントキー処理では、全フラグをローレベル“0”にクリアしてからデリートコンポネントフラグDELCOMPにハイレベル“1”をセットしてリターンする。
これによって、例えばその後にノートナンバC4のノートオンメッセージが検出されたら、ノートナンバC4のタムタムのロー(Tom L)が含まれるコンポーネントのドラム音が全て(すなわち、タムタムのハイ(Tom H)タムタムのミッド(Tom M)タムタムのロー(Tom L))カレントパターンから削除される。
【0090】
図11(B)は鍵盤1AのノートナンバF#3に対応したアクセントキーが操作され、ノートナンバF#3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるアクセントキー処理を示す図である。
このアクセントキー処理では、全フラグをローレベル“0”にクリアしてからアクセントフラグACCENTにハイレベル“1”をセットしリターンする。
これによって、例えばその後にノートナンバC4のノートオンメッセージが検出され、対応するノートナンバC4のノートオフメッセージが検出されるまでの間にそのノートナンバと同一のノートイベントがカレントパターンから読み出されたときは、そのノートイベントのベロシティがC4のノートオンベロシティに書き替えられる。
【0091】
図11(C)は鍵盤1AのノートナンバG#3に対応したフィルインキーが操作され、ノートナンバG#3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるフィルインキー処理を示す図である。
このフィルインキー処理では、まず全フラグをローレベル“0”にクリアしてからカレントパターンメモリ1内のカレントパターンを退避メモリ4に一時的に退避させる。そして、データベース手段5の対応するバンクA,B,Cのフィルインパターンをカレントパターンメモリ1にコピーし、その読み出し位置(現在の小節内のタイミングに対応するパターン上のデータ)をサーチしてからフィルインフラグFILLにハイレベル“1”をセットしてリターンする。
これによって、ノートナンバG#3に対応したフィルインキーが操作された時点からその小節の最後までフィルインパターンが演奏されるようになる。
【0092】
図11(D)は鍵盤1AのノートナンバA3〜E5に対応したドラムパターンエリアのキーが操作され、ノートナンバA3〜E5を含むMIDIメッセージを電子楽器1Fから受信した場合に行われるドラムキー処理を示す図である。
このドラムキー処理では、まずロックフラグLOCK以外のフラグ(リプレースフラグREPLACE、インサートフラグINSERT、デリートドラムフラグDELDRUM及びデリートコンポーネントフラグDELCOMP)のいずれかがハイレベル“1”かどうかを判定し、その判定結果に応じた処理を行う。
【0093】
すなわち、ノートナンバがA3〜E5のいずれかであれば、それはドラム音(単音)の指定又はコンポーネントの指定を意味する。従って、ロックフラグLOCK以外のいずれかのフラグがハイレベル“1”(YES)だと判定された場合は、そのハイレベル“1”にセットされているフラグに対応したフラグ対応処理1を実行してリターンする。このフラグ対応処理1の詳細は図12に示されている。
【0094】
一方、ロックフラグLOCK以外のいずれのフラグもハイレベル“1”でない(NO)と判定された場合は、押鍵されたキー(ノートナンバ)に対応したコンポーネントの音(一部についてはドラム音)をカレントパターンから削除して退避メモリ4に一時的に退避させる。そして、押鍵されたキー(ノートナンバ)、ベロシティデータ、ジャンルに対応したコンポーネント(ドラム)のリズムパターンをパターンテーブル63を参照して選択し、選択されたコンポーネントのリズムパターンをデータベース手段5から読み出して、カレントパターンに追加する。
選択されたリズムパターンの複雑度を図5のようにディスプレイ29に表示する。
【0095】
これによって、ノートナンバA3〜E5に対応するキーを押鍵するだけで、ノートナンバに対応するコンポーネントのリズムパターンを、ベロシティデータの大きさに応じて選択して、追加することができる。なお、パターンテーブル63は、図4に示したようにベロシティの値すなわちアドレスが大きいほど、より複雑なパターンとなるように、リズムパターンの先頭アドレスを順番に記憶しているので、リズムパターンの種類をより細かく選択することができる。
【0096】
図12は、図11(D)のフラグ対応処理1の詳細を示す図である。
このフラグ対応処理1は、ロックフラグLOCK以外のリプレースフラグREPLACE、インサートフラグINSERT、デリートドラムフラグDELDRUM及びデリートコンポーネントフラグDELCOMPのいずれかがハイレベル“1”の場合に行われる処理である。
【0097】
図12(A)は、鍵盤1AのノートナンバF#2に対応したリプレースキーが押されている状態でドラムパターンエリアのキーが操作されることによって実行されるリプレース処理を示す図である。すなわち、リプレースキーが押されている間は、図10(C)のリプレースキー処理によってリプレースフラグREPLACEにハイレベル“1”がセットされるので、図11(D)のドラムキー処理でロックフラグLOCK以外のリプレースフラグREPLACEがハイレベル“1”だと判定され、リプレース処理が行われる。
このリプレース処理では、ノートナンバに対応するドラム音をベロシティデータと共にカレントパターンに追加する。そして、押されたドラム音のデリートフラグにハイレベル“1”をセットして図11(D)のドラムキー処理にリターンする。デリートフラグにハイレベル“1”のセットされたドラム音は、図15のステップ54でカレントパターンから削除される。
【0098】
図12(B)は鍵盤1AのノートナンバG#2に対応したインサートキーが押されている状態でドラムパターンエリアのキーが操作されることによって実行されるインサート処理を示す図である。すなわち、インサートキーが押されている間は、図10(D)のインサートキー処理によってインサートフラグINSERTにハイレベル“1”がセットされるので、図11(D)のドラムキー処理でロックフラグLOCK以外のインサートフラグREPLACEがハイレベル“1”だと判定され、インサート処理が行われる。
このインサート処理では、ノートナンバに対応するドラム音をベロシティデータと共にカレントパターンに追加して図11(D)のドラムキー処理にリターンする。
【0099】
図12(C)、は鍵盤1AのノートナンバC#3に対応したデリートドラムキーが押されている状態でドラムパターンエリアのキーが操作されることによって実行されるデリートドラム処理を示す図である。すなわち、デリートドラムキーが押されている間は、図10(F)のデリートドラムキー処理によってデリートドラムフラグDELDRUMにハイレベル“1”がセットされるので、図11(D)のドラムキー処理においてロックフラグLOCK以外のデリートドラムフラグDELDRUMがハイレベル“1”だと判定され、デリートドラム処理が行われる。
このデリートドラム処理では、押されたドラム音のデリートフラグにハイレベル“1”をセットして図11(D)のドラムキー処理にリターンする。デリートフラグにハイレベル“1”のセットされたドラム音は、図15のステップ54でカレントパターンから削除される。
【0100】
図12(D)は、鍵盤1AのノートナンバD#3に対応したデリートコンポーネントキーが押されている状態でドラムパターンエリアのキーが操作されることによって実行されるデリートコンポーネント処理を示す図である。すなわち、デリートコンポーネントキーが押されている間は、図11(A)のデリートコンポーネントキー処理によってデリートコンポーネントフラグDELCOMPにハイレベル“1”がセットされるので、図11(D)のドラムキー処理でロックフラグLOCK以外のデリートコンポーネントフラグDELCOMPがハイレベル“1”だと判定され、デリートコンポーネント処理が行われる。
このデリートコンポーネント処理では、押されたドラム音を含むコンポーネントのデリートフラグにハイレベル“1”をセットして図11(D)のドラムキー処理にリターンする。デリートフラグにハイレベル“1”のセットされたコンポーネントを構成するドラム音は、図15のステップ56でカレントパターンから削除される。
【0101】
図13は受信したMIDIメッセージがノートオフメッセージの場合に行われる図8(B)のノートオフメッセージのノートナンバに対応した処理の詳細を示す図である。
図13(A)では、鍵盤1AのノートナンバC2に対応したアサインキー、ノートナンバG3に対応したロックキー、ノートナンバF#2に対応したリプレースキー、ノートナンバG#2に対応したインサートキー、ノートナンバA#2に対応したクォンタイズ、ノートナンバC#3に対応したデリートドラム、ノートナンバD#3に対応したデリートコンポーネントキーあるいはノートナンバF#3に対応したアクセントキーが操作され、ノートナンバC2、G3、F#2、G#2、A#2、C#3、D#3又はF#3を含むMIDIメッセージを電子楽器1Fから受信した場合に、それぞれのノートナンバに対応した図9から図11の各キー処理でハイレベル“1”にセットされたフラグをクリアする。
【0102】
図13(B)は鍵盤1AのノートナンバA3〜E5に対応したドラムパターンエリアのキーが離鍵され、ノートナンバA3〜E5のノートオフメッセージを含むMIDIメッセージを電子楽器1Fから受信した場合に行われるドラムキー処理を示す図である。
このドラムキー処理においては、まず、ロックフラグLOCKがローレベル“0”かどうかを判定し、YESの場合には以下の処理を行い、NOの場合にはデータベース手段5から読出し中のリズムパターンを確定させるために、そのまま図8(A)のメインルーチンにリターンする。
ロックフラグLOCKがローレベル“0”の場合には、離鍵されたキーのノートナンバA3〜E5のドラム音(単音)又はコンポーネントの音をカレントパターンから削除し、図11(D)で退避していたコンポーネント(ドラム)の音をカレントパターンに戻す。
【0103】
図14は、4分音符当たり480回の割込みで実行されるタイマ割込処理を示す図である。このタイマ割込処理は、カレントパターンメモリ1からカレントパターンを読み出す時のテンポに対応した時間間隔で処理される。すなわち、テンポに応じて割込み周期が変更される。この処理はつぎのようなステップで順番に実行される。
【0104】
ステップ31:走行状態フラグRUNがハイレベル“1”かどうかを判定し、ハイレベル“1”(YES)の場合には次のステップ32に進み、そうでない(NO)場合はリターンする。
ステップ32:タイミングデータを格納してあるタイムレジスタTIMEの値が『0』かどうか、すなわち次のノートイベントまでの時間が経過したか否かを判定し、『0』(YES)の場合は時間が経過しているので、次のステップ33に進み、そうでない(NO)場合は時間がまだ経過していないので、ステップ40に進む。
【0105】
ステップ33:前のステップ32で次のノートイベントまでの時間が経過したと判定されたので、ここではそのタイミングに対応するイベントデータを読み出す。
ステップ34:前のステップ33で読み出されたイベントデータがエンドデータかどうかを判定し、エンドデータの場合にはステップ39に進み、それ以外のデータの場合にはステップ35に進む。
【0106】
ステップ35:前のステップ33で読み出されたイベントデータがエンドデータ以外のデータだと判定されたので、そのデータに対応したMIDIノートイベント(MIDIメッセージ)をMIDIインターフェイス2C及び1Dを介して電子楽器1Fに出力する。このMIDIノートイベント出力の詳細については後述する。
ステップ36:前のステップ33で読み出されたイベントデータの次のデータを読み出す。
【0107】
ステップ37:前のステップ36で読み出されたデータがタイミングデータかどうかを判定し、YESの場合は次のステップ38に進み、NOの場合はステップ34にリターンする。従って、前のステップ36で読み出されたデータがエンドデータの場合には、ステップ34でYESと判定され、ステップ39の処理が行われ、イベントデータの場合にはステップ35,36の処理が行われる。
【0108】
ステップ38:読み出されたタイミングデータをタイムレジスタTIMEにセットする。
ステップ39:前のステップ34でエンドデータと判定されたので、ここではリズムパターンの最初のタイミングデータをタイムレジスタTIMEにセットしてステップ41に進む。
ステップ40:前のステップ32でまだ時間が経過していないと判定されたので、ここではタイムレジスタTIMEの値を1だけデクリメント処理してステップ41に進む。
【0109】
ステップ41:小節内における読み出しタイミング(図示しないカウンタによりカウントされる)が小節線のタイミングかどうかを判定し、小節線のタイミングの場合(YES)は次のステップ42に進み、そうでない(NO)場合はリターンする。
ステップ42:いずれかのフラグがハイレベル“1”かどうかを判定し、ハイレベル“1”のフラグがあれば(YES)ステップ43に進み、そうでなければリターンする。
ステップ43:前のステップ42でハイレベル“1”のフラグ有りと判定されたので、ここではそのハイレベル“1”のフラグに対応したフラグ対応処理2を行ってからリターンする。このフラグ対応処理2の詳細は、図16に示されている。
【0110】
図15は、図14のステップ35のMIDIノートイベント出力処理の詳細を示す図である。
このMIDIノートイベント出力処理は、アクセントフラグACCENT、デリートドラムフラグDELDRUM又はデリートコンポーネントフラグDELCOMPのいずれかがハイレベル“1”の場合には、そのフラグに対応した処理を行い、そうでない場合にはカレントパターンメモリ1のリズムパターンに応じたノートイベントの出力処理を行う。この処理はつぎのようなステップで順番に実行される。
【0111】
ステップ51:鍵盤1AのノートナンバF#3に対応したアクセントキーが押鍵されてアクセントフラグACCENTにハイレベル“1”がセットされているかどうかを判定し、セットされている(YES)場合は、次のステップ52に進み、そうでない(NO)場合はステップ53に進む。
ステップ52:読み出されたノートイベントのノートナンバが、受信したノートイベントの(そのときノートオンされている)ノートナンバに対応すれば、読み出しノートイベントのベロシティを受信したノートオンメッセージのベロシティに差し替える。
【0112】
ステップ53:鍵盤1AのノートナンバC#3に対応したデリートドラムキーが押鍵され、いずれかのドラム音のデリートドラムフラグDELDRUMにハイレベル“1”がセットされているかどうかを判定する。セットされている(YES)場合は次のステップ54に進み、そうでない(NO)場合はステップ55に進む。
ステップ54:受信したノートナンバに対応したドラム音のイベントがカレントパタンーメモリ1から読み出されたイベント中に存在する場合はそれを読み出されたカレントパターンのイベント中から削除する。
【0113】
ステップ55:鍵盤1AのノートナンバD#3に対応したデリートコンポーネントキーが押鍵され、いずれかのコンポーネントのデリートコンポーネントフラグDELCOMPにハイレベル“1”がセットされているかどうかを判定し、セットされている(YES)場合は次のステップ56に進み、そうでない(NO)場合はステップ59に進む。
ステップ56:受信したノートナンバに対応したコンポーネントを構成するドラム音のイベントがカレントパタンーメモリ1から読み出されたイベント中に存在する場合はそのコンポーネントを構成するドラム音全てを読み出されたカレントパターンのイベント中から削除する。
【0114】
ステップ57:前のステップ54又は56でドラム音が削除された結果、読み出されたカレントパターンのイベント内に残ったイベントが有るかどうかを判定し、残ったイベントが有る場合(YES)にはステップ58に進み、そうでない(NO)場合はリターンして図14のステップ36に進む。
ステップ58:ステップ52でアクセント処理されたノートイベント、ステップ54で削除された結果残ったノートイベント又はステップ52,54,56の処理を経なかったノートイベントをMIDIインターフェイス2C,1Dを介して電子楽器1Fに出力する。
【0115】
図16は図14のステップ43のフラグ対応処理2の詳細を示す図である。
このフラグ対応処理2は、アンドゥフラグUNDO、フィルインフラグFILL、バリエーションフラグVARI1,VARI2及びトランスフォーマーフラグTRANSのいずれかがハイレベル“1”の場合に行われる処理である。
【0116】
図16(A)は鍵盤1AのノートナンバB2に対応したアンドゥキーが押鍵されることによってアンドゥフラグUNDOにハイレベル“1”がセットされている場合(UNDO=1)に行われるアンドゥ処理を示す図である。
このアンドゥ処理では、アンドゥバッファ3に格納されているリズムパターンの1つ前のパターンを読み出し、カレントパターンメモリ1内にカレントパターンとして転送する。そして、アンドゥフラグUNDOをローレベル“0”にクリアする。
【0117】
図16(B)は、鍵盤1AのノートナンバG#3に対応したフィルインキーが押鍵されることによってフィルインフラグFILLにハイレベル“1”がセットされている場合(FILL=1)に行われる、フィルイン復帰処理を示す図である。
このフィルイン復帰処理では、退避メモリ4に退避していたリズムパターンを読み出し、カレントパターンメモリ1内にカレントパターンとしてコピーする。そして、フィルインフラグFILLをローレベル“0”にクリアする。
【0118】
図16(C)は鍵盤1AのノートナンバD#2又はC#2に対応したバリエーションキーが押鍵されることによってバリエーションフラグVARI1,VARI2にハイレベル“1”がセットされている場合(VARI1又はVARI2=1)に行われるバリエーション処理を示す図である。
このバリエーション処理では、バリエーションの指示中なので、図3のバリエーションシーケンスから次(又は先頭)の形容詞を読み出してトランスフォーマー9に指示する。例えば、バリエーションシーケンスが4小節分存在する場合には、1回この処理を実行する毎に形容詞を1つずつ読み出し、4回分の読み出しが終了するまで繰り返す。そして、4回分終了した時には、バリエーションフラグVARI1又はVARI2をローレベル“0”にクリアする。
【0119】
図16(D)は鍵盤1AのノートナンバD2,E2,F2,G2,A2に対応したトランスフォーマーキーが押鍵されることによってトランスフォーマーフラグTRANSにハイレベル“1”がセットされている場合(TRANS=1)に行われるトランスフォーマー処理を示す図である。
このトランスフォーマー処理においては、アンドゥバッファ3にカレントパターンメモリ1のカレントパターンをコピーし、指示されている形容詞に応じてカレントパターンの内容を変更する演算を行う。この演算の内容については後述する。そして、トランスフォーマーフラグTRANSをローレベル“0”にクリアする。
【0120】
図17は、パソコン20のCPU21が行う図8の「その他の処理」の中の「パターン登録処理」の詳細を示す図である。この「パターン登録処理」は、カレントパターンメモリ1内の新たなリズムパターンデータをデータベース手段5に登録する際に、そのリズムパターンデータの複雑度を求め、その複雑度がパターンテーブル63のどのレベルに位置するのかを判定し、そのレベル位置に登録して、パターンテーブル63の書換えを行う処理である。この処理はつぎのようなステップで順番に実行される。
【0121】
ステップ71:新規に登録するリズムパターンの複雑度を求め、その複雑度を新規登録複雑度レジスタCOMP(N)に格納する。
ステップ72:図1のパターンテーブル63からアドレスレジスタAD=1のリズムパターンの複雑度を読み出し、その複雑度を既登録複雑度レジスタCOMP(D)に格納する。このアドレスレジスタADは図4のパターンテーブル上のアドレスを格納するものである。
【0122】
ステップ73:新規登録複雑度レジスタCOMP(N)の複雑度が既登録複雑度レジスタCOMP(D)の複雑度よりも小さいかどうかを判定し、小さい(YES)場合にはステップ76に進み、同じか大きい(NO)場合にはステップ74に進む。
ステップ74:アドレスレジスタADを1だけインクリメント処理する。
ステップ75:パターンテーブル63からアドレスレジスタADのアドレスに記録されているリズムパターンの複雑度を読み出し、その複雑度を既登録複雑度レジスタCOMP(D)に格納し、ステップ73にリターンする。
すなわち、ステップ73〜75は、新規登録されるリズムパターンの複雑度が現在のパターンテーブル63上でどのアドレスに対応するのかを検出する。
【0123】
ステップ76:前のステップ73で新規登録複雑度レジスタCOMP(N)の複雑度が既登録複雑度レジスタCOMP(D)の複雑度よりも小さいと判定されたので、ここでは、アドレスレジスタADのアドレス以降のリズムパターンの先頭アドレスを1アドレスずつ後ろにずらして記録する。
ステップ77:新規登録リズムパターンの先頭アドレスと、その複雑度をアドレスレジスタADのアドレスの位置に登録する。
【0124】
図18〜図20はトランスフォーマー処理によってカレントパターンの内容を変更する演算処理の一例を示す図である。
図18〜図20に示されたトランスフォーマー処理は、カレントパターン内の変更対象となるリズムパターンをサーチテンプレート(Search−template)に基づいてサーチし、それをリプレーステンプレート(Replace−template)に基づいて所定のリズムパターンに変更して置き替えている。具体的には、サーチテンプレートに対応したリズムパターンをリプレーステンプレートの3連音符系のリズムパターンに置き替えている。
【0125】
図において、サーチテンプレートのデータフォーマットはSearch−template=((オフセットデータ)(サーチデータ)(誤差範囲データ))で与えられ、リプレーステンプレートのデータフォーマットはReplace−template=((リプレースデータ)(ベロシティー選択データ)(ドラム音選択データ))で与えれる。
サーチデータ及びリプレースデータにはタイミングデータで表現されたリズムパターンが記憶されている。すなわち、この実施例では、4分音符に相当するタイミングデータの値を「480」、8分音符相当のタイミングデータ値を「240」、16分音符相当のタイミングデータ値を「120」、32分音符相当のタイミングデータ値を「60」としている。従って、図18に示したサーチテンプレートのサーチデータ(0 240 360 480)は1個の8分音符と2個の16分音符からなる4分音符相当のリズムパターンを示し、リプレーステンプレートのリプレースデータ(0 160 320)は4分音符相当の3連音符系のリズムパターンを示す。
【0126】
図18では、サーチテンプレートのデータフォーマットはSearch−template=((0 480 960 1440)(0 240 360 480)(20 20 20 20))であり、リプレーステンプレートのデータフォーマットはReplace−template=((0 160 320)(001)(011))である。
ここで、サーチテンプレートのオフセットデータ(0 480 960 1440)は、サーチデータに示されるリズムパターンをカレントパターン内からサーチする際のオフセット量、すなわちサーチデータが示すリズムパターンが存在すべきカレントパターン中の位置を示す。誤差範囲データ(20 20 20 20)はサーチデータの許容誤差範囲を示す。従ってリズムパターンがサーチデータ(0 240 360 480)に正確に一致しなくても、誤差範囲データを含むサーチデータ(0±20 240±20 360±20 480±20)=(460〜20 220〜260 340〜380 460〜20)に該当するようなリズムパターンであれば、変更対象となり、リプレースデータに置き替えられる。
【0127】
リプレーステンプレートのリプレースデータ(0 160 320)は、置き替えられるリズムパターンを示す。
ベロシティー選択データはリプレースデータのベロシティーとしてサーチデータのどの音符のものを用いるかを示す。すなわち、ベロシティー選択データの『0』はサーチデータの第1番目のデータ(8分音符)のベロシティーを示し、『1』はサーチデータの第2番目のデータ(第1番目の16分音符)のベロシティーを示し、『2』はサーチデータの第3番目のデータ(第2番目の16分音符)のベロシティーを示す。そして、ベロシティー選択データのそれぞれの順番はリプレースデータの順番に対応している。
【0128】
すなわち、ベロシティー選択データ(001)の場合には、サーチデータの第1番目のデータ(8分音符)のベロシティーがリプレースデータの第1及び第2番目のデータ(3連音符の第1及び第2番目の音符)に置き替わり、サーチデータの第2番目のデータ(16分音符)のベロシティーがリプレースデータの第3番目のデータ(3連音符の第3番目の音符)に置き替わることとなる。
【0129】
ドラム音選択データはリプレースデータのドラム音としてサーチデータのどの音符のものを用いるかを示す。すなわち、ドラム音選択データの『0』はサーチデータの第1番目のデータ(8分音符)のドラム音を示し、『1』はサーチデータの第2番目のデータ(第1番目の16分音符)のドラム音を示し、『2』はサーチデータの第3番目のデータ(第2番目の16分音符)のドラム音を示す。そして、ドラム音選択データのそれぞれの順番はリプレースデータの順番に対応している。
【0130】
すなわち、ドラム音選択データ(011)の場合には、サーチデータの第1番目のデータ(8分音符)のドラム音が、リプレースデータの第1番目のデータ(3連音符の第1番目の音符)のドラム音に置き替わり、サーチデータの第2番目のデータ(16分音符)のドラム音が、リプレースデータの第2及び第3番目のデータ(3連音符の第2及び第3番目の音符)のドラム音に置き替わることを示す。
【0131】
図18は、サーチテンプレート((0 480 960 1440)(0 240 360 480)(20 20 20 20))及びリプレーステンプレート((0 160 320)(001)(011))に応じて、図18(A)のカレントパターンが図18(B)〜(E)のように順番にトランスフォーマー処理される様子を示す図である。
まず、図18(A)のカレントパターンは、各オフセットデータ(0 480960 1440)の位置からサーチデータ(0 240 360)に対応する4分音符相当のリズムパターンが存在するので、その中のいずれか一つがランダムに置き替えられる。この例では、図18(B)のようにサーチデータ(0 240 360)に対応する第4番目のリズムパターンがリプレースデータ(0160 320)の3連音符に置き替えられ、次の時点では図18(C)のように第2番目のリズムパターンが3連音符に置き替えられ、さらに次の時点では図18(D)のように第1番目のリズムパターンが3連音符に置き替えられ、最後に図18(E)のように第3番目のリズムパターンが3連音符に置き替えられることによって、図18(A)のリズムパターンは図18(E)のような3連音符のリズムパターンになる。
【0132】
図19(A)及び図19(B)は、サーチテンプレート((0 480 1440)(0 240 360 480)(20 20 20 20))及び、リプレーステンプレート((0 160 320)(001)(011))に応じて、図18(A)のカレントパターンがトランスフォーマー処理される様子を示す図である。
図19(A)のカレントパターンは図18(A)と同じであり、各オフセットデータ(0 480 960 1440)の位置からサーチデータ(0 240360)に対応するリズムパターンが存在する。ところが図19(A)では、サーチテンプレートのオフセットデータが(0 480 1440)であり、図18の場合のオフセットデータから『960』が削除された状態となっている。従って、この場合は図19(B)のようにサーチデータ(0 240 360)に対応する第3番目のリズムパターンだけがリプレースデータ(0 160 320)の3連音符に置き替えられることなく、元の(0 240 360)のリズムパターンを維持することとなる。
【0133】
図19(C)及び図19(D)は、サーチテンプレート((0 480 960 1440)(0 240 360 480)(20 20 20 20))及びリプレーステンプレート((0 160 320)(001)(011))に応じて、図19(C)のカレントパターンがトランスフォーマー処理される様子を示す図である。
図19(C)のカレントパターンは、図18(A)と異なり、各オフセットデータ『0』、『480』、『960』を基準として、サーチデータ(0 240360)に対応するリズムパターンは存在しないが、最後のオフセットデータ『1440』を基準としてサーチデータ(0 240 360)に対応するリズムパターンが存在する。従って、この例では、図19(D)のようにサーチデータ(0 240 360)に対応する第4番目のリズムパターンだけがリプレースデータ(0 160 320)の3連音符に置き替えられ、これ以外は元のリズムパターンを維持している。
【0134】
図20は、ドラム音選択データ及びベロシティー選択データに応じて、リズムパターンのドラム音及びベロシティーがどのように置き替えられるのか、その様子を示す図である。
図20(A)及び図20(B)において、サーチテンプレート((0 480960 1440)(0 240 360 480)(20 20 20 20))及びリプレーステンプレート((0 160 320)(001)(011))は、図18の場合と同じである。従って、図20(A)のリズムパターンは図20(B)のような3連音符のリズムパターンになる。
【0135】
このとき、ドラム音選択データは(011)であるからサーチデータの第1番目のデータ(8分音符)のドラム音がリプレースデータの第1番目のデータ(3連音符の第1番目の音符)のドラム音に置き替わり、サーチデータの第2番目のデータ(16分音符)のドラム音がリプレースデータの第2及び第3番目のデータ(3連音符の第2及び第3番目の音符)のドラム音に置き替わることとなる。この様子を図20(A)及び(B)の第1及び第2番目のリズムパターンが3連音符に置き替わる部分に矢印で示した。
同様に、ベロシティー選択データは(001)であるからサーチデータの第1番目のデータ(8分音符)のベロシティーがリプレースデータの第1及び第2番目のデータ(3連音符の第1及び第2番目の音符)に置き替わり、サーチデータの第2番目のデータ(16分音符)のベロシティーがリプレースデータの第3番目のデータ(3連音符の第3番目の音符)に置き替わることとなる。この様子を図20(A)及び(B)の第3及び第4番目のリズムパターンが3連音符に置き替わる部分に矢印で示した。
【0136】
図20(C)及び図20(D)において、サーチテンプレートは((0 480 960 1440)(0 240 360 480)(20 20 20 20))であり、前述の場合と同じであるが、リプレーステンプレートは((0160 320)(001)(***))であり、ドラム音選択データだけが前回の場合と異なっている。この場合ドラム音選択データが異なるだけであり、図20(C)のリズムパターンは前述のトランスフォーマー処理の場合と同様に図20(D)のような3連音符のリズムパターンに置き替わる。
【0137】
このとき、ドラム音選択データの(***)は、(000)、(111)、(222)、(012)・・・のように『0』と『1』と『2』の組み合わせが順番に現れるようになっている。
従って、図20(C)の第1番目のリズムパターンでは、サーチデータの第1番目のデータ(8分音符)のドラム音がリプレースデータの第1、第2及び第3番目のデータ(3連音符の第1、第2及び第3番目の音符)のドラム音に置き替わる。
第2番目のリズムパターンでは、サーチデータの第2番目のデータ(16分音符)のドラム音がリプレースデータの第1、第2及び第3番目のデータ(3連音符の第1、第2及び第3番目の音符)のドラム音に置き替わる。
【0138】
第3番目のリズムパターンでは、サーチデータの第3番目のデータ(16分音符)のドラム音がリプレースデータの第1、第2及び第3番目のデータ(3連音符の第1、第2及び第3番目の音符)のドラム音に置き替わる。
第4番目のリズムパターンではサーチデータの第1番目のデータ(8分音符)のドラム音がリプレースデータの第1番目のデータ(3連音符における第1番目の音符)のドラム音に、サーチデータの第2番目のデータ(16分音符)のドラム音がリプレースデータの第2番目のデータ(3連音符の第2番目の音符)のドラム音に、サーチデータの第3番目のデータ(16分音符)のドラム音がリプレースデータの第3番目のデータ(3連音符の第3番目の音符)のドラム音に、それぞれ置き替わる。
この様子を図20(C)及び(D)の各リズムパターンが3連音符に置き替わる部分に矢印で示した。
【0139】
図21は、図2のディスプレイ29の表示画面の表示例を示す図である。
バンク表示部29Aは、現在のバンクがハードディスク装置24のどのバンクであるかを示すものである。図では、現在のバンクはバンクAであることを示している。
このバンク表示部29Aの下には、現在のカレントパターンの状態を示す部分がある。
この部分は、ドラム音名表示部29Bと、現発音表示部29Cと、カレントパターン表示部29Dと、現在位置表示部29Eとから構成される。
ドラム音名表示部29Bには、鍵盤1Aに対応したドラム音名が表示されている。
現発音表示部29Cは、各ドラム音の右側に設けられた円形状の点灯部で構成され、現在発音中のドラム音に対応する点灯部のみが点灯する。
カレントパターン表示部29Dは、1小節分のリズムパターンを正方形状の点灯部で表示するようになっている。図では、バスドラム、スネアドラム及びハイハットのクローズドのリズムパターンがそれぞれ表示されている。
現在位置表示部29Eは、1小節中の現在発音中の位置を示すものである。
【0140】
このような表示をすることによって、発音されるドラム音や現在のカレントパターンの内容を一目で認識することができる。また、このカレントパターンが変形された場合でもその変形内容を簡単に把握できる。この場合には、変形前のパターンと変形後のパターンとを同時に表示するようにすればよい。さらに、図5のような複雑度を同時に表示してもよい。
【0141】
なお、上述の実施例では、リズム伴奏を例に説明したが、これに限らず、ベースやコードバッキング等の伴奏に本発明を適用してもよい。例えば、データベースに多数のベースパターンと、多数のバッキングパターンを記憶させておき、操作子の操作によって、各パート毎にいずれかのパターンを選択するようにすればよい。すなわち、ベースパート、パッキングパート1、2、3、・・・(各バッキングパートは音色が異なる)のそれぞれの操作子を設け、ベースパートの操作子を操作したらデータベースからベースパターンのいずれかを選択し、パッキングパート1の操作子を操作したらデータベースからバッキングパターンのいずれかを選択するといった具合にすればよい。
【0142】
また、上述の実施例ではフラグ対応処理2(アンドゥ処理、フィルイン処理、バリエーション処理、トランスフォーマー処理)を小節線までの演奏が終了した時点で実行する場合について説明したが、これら各処理に対応するキーが操作された時点で直ちにその処理を実行するようにしてもよい。
【0143】
図15のステップ52のアクセント処理では、ノートオンされているノートナンバに対応するベロシティをそのままノートオンベロシティに差し替えて、アクセントとしているが、上述のサーチテンプレートやリプレーステンプレートのようなアクセントテンプレート(例えば、タイミング毎にどれくらいのベロシティに差し替えるかを示したパターン)を複数容易しておき、これらをノートオンされているノートナンバに対応するベロシティによって選択し、選択されたアクセントテンプレートのベロシティをノートオンベロシティに差し替えるようにしてもよい。
【0144】
上述の実施例では、鍵盤楽器の鍵盤を各種機能の割当てキーとして使用した例を示したが、パソコン側のディスプレイ上にスイッチを表示させ、そのスイッチを指定することによって各種機能を指定するようにしてもよい。また、鍵盤以外にもドラムパッドのようなものを用いてもよいし、単なるスイッチでもよい。さらに、上述の実施例では全ての機能を鍵盤で指定する場合について説明したが、ロック機能はフットスイッチに割り当てる等のようにして他の操作子と組合せて各種機能を指定するようにしてもよい。
【0145】
また、実施例では、電子楽器とパソコンとをMIDI回線で接続して自動伴奏装置を構成したが、単体の電子楽器に適用してもよい。
上述の実施例では、トランスフォーマーの形容詞を指定するときに、1つのキーに対して2種類の形容詞を割当て、それをベロシティの値に応じて切り換えるようにしたが、形容詞による変形の度合いをベロシティの値に応じて段階的に切り換えるようにしてもよい。また、1つのキーに対して1つの形容詞を割り当ててもよい。
【0146】
上述の実施例では、形容詞のシーケンスデータとして4小節分を割当て、この4小節の演奏が終了した形容詞のシーケンスも終了するが、シーケンス読出終了の指示がない場合には、その4小節分のシーケンスデータを繰り返し実行するようにしてもよい。また、シーケンスデータは4小節分に限定されず、何小節分でもよいことはいうまでもない。さらに、形容詞の指定は小節線のタイミングでなくてもよい。
【0147】
また、トランスフォーマーによりリズムパターンを変形させる際に、現在のリズムパターンの内容に応じて異なる変形処理を施すようにしてもよい。例えば、トランスフォーマーによってドラム音を追加する、あるいは差し替えるような変形のとき、現在のリズムパターンがどのようなパターンであるか判断し、16ビート系のリズムパターンである場合と、8ビート系である場合とで、追加するドラム音や差し替えるパターンを異ならせるようにしてもよい。
【0148】
次に、この発明の他の例について説明する。他の例にあっては、主に、前述のトランスフォーマー処理において変形されたリズムパターンが、変形前と比べてどのように変化したかを確認することができるようになっているとともに、トランスフォーマー処理において、どのような変形要素(1つの形容詞を構成する細かな変形アルゴリズム:例えば複雑化処理(Complex)において、第1の変形要素は、予め指示されたテンプレートと呼ばれるパターン原型に基づき、このテンプレートに対応した3連音符系のリズムパターンをデータベース手段5からサーチし、それをカレントパターンに加えること(Search Template処理)であり、第2の変形要素は、データベース手段5からランダムにクラッシュ以外のコンポーネントを構成するドラム音を抽出してカレントパターンに加えること(Add Component処理)である。)が用いられてその変形がなされたかを確認することができるようになっている。
【0149】
図22は、図2のディスプレイ29の表示画面の他の表示例を示す図である。カレントパターン表示部29Dに表示される1小節のリズムパターンのうち、トランスフォーマー処理によって新たに追加されたイベントについては円形状の点灯部で表示するとともに、トランスフォーマー処理によって削除されたイベントについては×印状の点灯部で表示するようになっている。これにより、今回の変形によって変形前と、変形後とでリズムパターンがどのように変化したかを目視で確認することができ、指定した形容詞と実際の変形状態との関連をユーザーが把握することができる。
【0150】
また、カレントパターン表示部29Dの下方には、トランスフォーマーの複数種類の形容詞のうち、いずれが指定されたかを示すとともに、該形容詞を構成する複数の変形要素のうち、どの変形要素が用いられて変形がなされたかを示すトランスフォーマー表示部29Fが表示されている。図22においては、トランスフォーマーの形容詞として「複雑化(Complex)」が指定され、この「複雑化」はSearch Template処理とAdd Component処理の2つの変形要素からなることが表示されている。そして、2つの変形要素のうち、Search Templateのみが強調表示(図においては長方形の枠で囲んである)されており、これによりSearch Template処理のみが動作して今回の変形処理が実行されたことが示されるようになっている。したがって、上述のカレントパターン表示部29Dとあわせて、指定した形容詞のうちの動作した変形要素と実際の変形状態との関連をユーザが把握することができる。なお、2つの変形要素の両方が動作した場合は、両方とも強調表示されるようになることはいうまでもない。
【0151】
そして、トランスフォーマー表示部29Fの左側には、複数のドラム音種類のうちの代表的なものがドラムセットの絵によって表示されているドラムセット表示部29Gが設けられている。ここでは発音時に発音に係る楽器が非発音楽器と区別できるような態様(例えば色が変化する、反転表示される等)で表示されるようになっており、現在発音中のドラム音がどの楽器であるかの確認が容易となる。
【0152】
図23は、上述した他の例の処理フローチャートを示す図である。これは前述した図16(D)のトランスフォーマー処理を変形したものであり、鍵盤1AのノートナンバD2,E2,F2,G2,A2に対応したトランスフォーマーキーが押鍵されることによってトランスフォーマーフラグTRANSにハイレベル“1”がセットされている場合(TRANS=1)に図16(D)の処理に代えて実行することにより、上記の表示に関した処理がなされる。
【0153】
図23のトランスフォーマー処理では、まずアンドゥバッファ3にカレントパターンメモリ1のカレントパターンをコピーし、指示されている形容詞に応じてカレントパターンの内容を変更する前述の演算を行う。そして、トランスフォーマーによるパターン変形時に動作させた形容詞名(図22においてはComplex)及びその形容詞を構成する変形要素(図22においてはSearch TemplateとAdd Component)をディスプレイ29に表示し、実際の変形に用いた変形要素を強調表示する。次に、変形後のカレントパターンと、アンドゥバッファにコピーした変形前のパターンとを比較し、変化状態を図22に示したように表示する。そして、トランスフォーマーフラグTRANSをローレベル“0”にクリアする。
【0154】
なお、上述した他の例においては、トランスフォーマー処理によって新たに追加されたイベントについては円形状の点灯部で表示するとともに、トランスフォーマー処理によって削除されたイベントについては×印状の点灯部で表示し、以前と同じイベントについては正方形の点灯部で示すようにしたが、これらを全て同一形状の点灯部とし、表示色や表示図形の大きさ、塗りつぶしパターン等を追加イベント、削除イベント、同じイベントで異ならせるようにしてもよい。
【0155】
また、トランスフォーマー処理によってベロシティデータや音色等が変化したときは、これらがわかるように表示するようにしてもよい。例えばベロシティが変化したときはイベントを表す図形の大きさを変化させる、音色が変化したときは図形の色や形状等を変化させるようにしてもよい。
また、本発明は自動リズム演奏に限らず、ベース演奏やコードバッキング演奏等を含んだ自動伴奏に対しても適用できる。
【0156】
【発明の効果】
以上のようにこの発明によれば、リズムパターンの変更操作が簡単かつ容易に行えるので、ユーザーが欲する伴奏パターンを容易に得ることができる。また、パターンの変更状態や形容詞や変形要素と実際の変形の仕方との関係が把握しやすいという効果がある。
【図面の簡単な説明】
【図1】図2の電子楽器及びパソコンが伴奏パターン作成装置として動作する場合の機能ブロックを示す図である。
【図2】鍵盤及び音源回路を内蔵した電子楽器と、伴奏パターンのエディット処理を行うパソコンとの詳細構成及び両者間の接続関係を示すハードブロック図である。
【図3】図2のパソコン側のRAM及びハードディスク装置のデータ構成を示す図である。
【図4】パターンテーブル領域に記憶されているアドレス変換用のパターンテーブルの内容を示す図である。
【図5】ディスプレイの表示例を示す図である。
【図6】図2の鍵盤に割り当てられた各種機能の一例を示す図である。
【図7】図2の電子楽器のCPUが実行する処理ルーチンの一例を示す図であり、図7(A)はメインルーチンの一例を、図7(B)は図7(A)のキー処理の詳細を、図7(C)は図7(A)のMIDI受信処理の詳細を示す。
【図8】図2のパソコンのCPUが実行する処理ルーチンの一例を示す図であり、図8(A)はメインルーチンの一例を、図8(B)は図8(A)のMIDI受信処理の詳細を示す。
【図9】受信したMIDIメッセージがノートナンバE0〜B1,C2,D2〜A2(#を除く),B2,C3,D3〜F3(#を除く)に対応したノートオンメッセージの場合に行われる図8(B)の処理の詳細を示す図であって、図9(A)はノートナンバE0〜B1のパターンアサインエリアキーの場合を、図9(B)はノートナンバC2のアサインキーの場合を、図9(C)はノートナンバD2〜A2(#を除く)のトランスフォーマーキーの場合を、図9(D)はノートナンバB2のアンドゥキーの場合を、図9(E)はノートナンバC3のスタート/ストップキーの場合を、図9(F)はノートナンバD3〜F3(#を除く)のバンクA,B,Cキーの場合を示す。
【図10】受信したMIDIメッがノートナンバG3,C#2,D#2,F#2,G#2,A#2,C#3に対応したノートオンメッセージの場合に行われる図8(B)の処理の詳細を示す図であり、図10(A)はノートナンバG3のロックキーの場合を、図10(B)はノートナンバC#2,D#2のバリエーション1、2キーの場合を、図10(C)はノートナンバF#2のリプレースキーの場合を、図10(D)はノートナンバG#2のインサートキーの場合を、図10(E)はノートナンバA#2のクォンタイズキーの場合を、図10(F)はノートナンバC#3のデリートドラムキーの場合を示す。
【図11】受信したMIDIメッセージがノートナンバD#3,F#3,G#3,A3〜E5に対応したノートオンメッセージであった場合に行われる図8(B)の処理の詳細を示す図であり、図11(A)はノートナンバD#3のデリートコンポーネントキーの場合を、図11(B)はノートナンバF#3のアクセントキーの場合を、図11(C)はノートナンバG#3のフィルインキーの場合を、図11(D)はノートナンバA3〜E5のドラムキーの場合を示す。
【図12】図11(D)のフラグ対応処理1の詳細を示す図であり、図12(A)はリプレース処理を、図12(B)はインサート処理を、図12(C)はデリートドラム処理を、図12(D)はデリートコンポーネント処理を示すものである。
【図13】受信したMIDIメッセージがノートナンバC2,G3,F#2,G#2,A#2,C#3,D#3,F#3,A3〜E5に対応したノートオフメッセージの場合に行われる図6(B)の処理の詳細を示す図であり、図13(A)はノートナンバC2,G3,F#2,G#2,A#2,C#3,D#3,F#3の場合を示し、図13(B)はノートナンバA3〜E5の場合を示す。
【図14】4分音符当たり24回の割込みで実行されるタイマ割込処理を示す図である。
【図15】図14のステップ35のMIDIノートイベント出力処理の詳細を示す図である。
【図16】図14のステップ43のフラグ対応処理2の詳細を示す図であり、図16(A)はアンドゥ処理を、図16(B)はフィルイン復帰処理を、図16(C)はバリエーション処理を、図16(D)はトランスフォーマー処理を示す。
【図17】図2のパソコンのCPUが行う図8の「その他の処理」の中の「パターン登録処理」の詳細を示す図である。
【図18】トランスフォーマー処理によってカレントパターンの内容を変更する演算処理の一例を示す図である。
【図19】トランスフォーマー処理によってカレントパターンの内容を変更する演算処理の他の例を示す図である。
【図20】トランスフォーマー処理によってカレントパターンのドラム音及びベロシティーがどのように置き替えられるのか、その様子の概念を示す図である。
【図21】図2のディスプレイ29における表示画面の表示例を示す図である。
【図22】図2のディスプレイ29における表示画面の他の表示例を示す図である。
【図23】図14のステップ43のフラグ対応処理2の詳細を示す図であり、図22の表示画面に対応したトランスフォーマー処理を示す。
【符号の説明】
1…カレントパターンメモリ、2…アサインメモリ、3…アンドゥバッファ、4…退避メモリ、5…データベース手段、6…パターンセレクタ、7…エディット手段、8…形容詞指示手段、9…トランスフォーマー、10…アンドゥ手段、
1F…電子楽器、11…マイクロプロセッサユニット(CPU)、
12…ROM、13…RAM、14…押鍵検出回路、15…スイッチ検出回路、16…表示回路、17…音源回路、18…サウンドシステム、19…タイマ、1A…鍵盤、1B…パネルスイッチ、1C…表示部、1D…MIDIインターフェース、1E…バス、
20…パソコン、21…マイクロプロセッサユニット(CPU)、
22…ROM、23…RAM、24…ハードディスク装置、25…ディスプレイインターフェース、26…マウスインターフェース、27…スイッチ検出回路、28…タイマ、29…ディスプレイ、2A…マウス、2B…パネルスイッチ、2C…MIDIインターフェイス、2D…バス。

Claims (9)

  1. 伴奏パターンデータを記憶した記憶手段と、
    前記伴奏パターンに対して与える変形を示す形容詞を指定する指定手段と、
    前記指定された形容詞に対応した変形アルゴリズムを実行して、前記伴奏パターンを変形させる変形手段と、
    伴奏パターンの内容を表示する表示手段と、
    前記表示手段に表示すべき伴奏パターンの内容を制御する表示制御手段であって、前記伴奏パターンの変形を実行する前と後とで伴奏パターンがどのように変化したかを示すように表示内容を制御するものと、
    変形後の伴奏パターンに従って自動伴奏を行う伴奏手段と、
    を備えた自動伴奏装置。
  2. 前記表示手段は伴奏パターン中に存在する楽音発生イベントを表示するものであり、前記表示制御手段は変形前の伴奏パターンと、変形後の伴奏パターンとを比較し、変形前と変形後の両方に存在するイベントと、変形前のみに存在するイベントと、変形後のみに存在するイベントとを異なる態様で表示するように制御するものである請求項1記載の自動伴奏装置。
  3. 伴奏パターンデータを記憶した記憶手段と、
    前記伴奏パターンに対して与える変形を示す形容詞を指定する指定手段と、
    前記指定された形容詞に対応した変形アルゴリズムを実行して、前記伴奏パターンを変形させる変形手段であって、形容詞に対応した変形アルゴリズムは複数の変形要素から構成されるものと、
    前記形容詞に対応した変形アルゴリズムの変形要素を表示する表示手段と、
    変形後の伴奏パターンに従って自動伴奏を行う伴奏手段と、
    を備えた自動伴奏装置。
  4. 前記変形アルゴリズムを構成する複数の変形要素は、予め定められたパターン原型を変形前の伴奏パターン内から抽出し、それを他のパターンに置き換えるものを含み、表示手段はこの変形要素を表す名称を表示することを特徴とする請求項3記載の自動伴奏装置。
  5. 前記変形アルゴリズムを構成する複数の変形要素は、所定の楽器音の伴奏パターンを変形前の伴奏パターンに付加するものを含み、表示手段はこの変形要素を表す名称を表示することを特徴とする請求項3記載の自動伴奏装置。
  6. 前記変形アルゴリズムを構成する複数の変形要素は、変形前の伴奏パターンから所定の楽器音のパターンを除去するものを含み、表示手段はこの変形要素を表す名称を表示することを特徴とする請求項3記載の自動伴奏装置。
  7. 前記変形アルゴリズムを構成する複数の変形要素は、変形前の伴奏パターンの発音強度情報を変更するものを含み、表示手段はこの変形要素を表す名称を表示することを特徴とする請求項3記載の自動伴奏装置。
  8. 前記変形アルゴリズムを構成する複数の変形要素は、変形前の伴奏パターン内の所定の楽器音を他の楽器音に交換するものを含み、表示手段はこの変形要素を表す名称を表示することを特徴とする請求項3記載の自動伴奏装置。
  9. 前記変形アルゴリズムを構成する複数の変形要素は、変形前の伴奏パターン中の楽器音の発音タイミングを所定の拍タイミングに正規化するものを含み、表示手段はこの変形要素を表す名称を表示することを特徴とする請求項3記載の自動伴奏装置。
JP22092494A 1994-07-25 1994-08-22 自動伴奏装置 Expired - Fee Related JP3541452B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP22092494A JP3541452B2 (ja) 1994-08-22 1994-08-22 自動伴奏装置
US08/505,585 US5712436A (en) 1994-07-25 1995-07-21 Automatic accompaniment apparatus employing modification of accompaniment pattern for an automatic performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22092494A JP3541452B2 (ja) 1994-08-22 1994-08-22 自動伴奏装置

Publications (2)

Publication Number Publication Date
JPH0863167A JPH0863167A (ja) 1996-03-08
JP3541452B2 true JP3541452B2 (ja) 2004-07-14

Family

ID=16758690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22092494A Expired - Fee Related JP3541452B2 (ja) 1994-07-25 1994-08-22 自動伴奏装置

Country Status (1)

Country Link
JP (1) JP3541452B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003029748A (ja) * 2001-07-17 2003-01-31 Roland Corp アルペジエータ

Also Published As

Publication number Publication date
JPH0863167A (ja) 1996-03-08

Similar Documents

Publication Publication Date Title
US7091410B2 (en) Apparatus and computer program for providing arpeggio patterns
US20060201311A1 (en) Chord presenting apparatus and storage device storing a chord presenting computer program
US5756917A (en) Automatic accompaniment device capable of selecting a desired accompaniment pattern for plural accompaniment components
JP3454140B2 (ja) コンピュータ用キーボードを楽器用鍵盤として使用する装置、方法、及びプログラムを記録した媒体
JP2956505B2 (ja) 自動伴奏装置
US5712436A (en) Automatic accompaniment apparatus employing modification of accompaniment pattern for an automatic performance
US6023017A (en) Musical performance assisting system and storage medium storing musical performance assisting program
JP3579916B2 (ja) 自動伴奏装置
JP3596048B2 (ja) 自動伴奏装置
JP3541452B2 (ja) 自動伴奏装置
JP3584503B2 (ja) 自動伴奏装置
JP3340565B2 (ja) 自動伴奏装置
JP2904020B2 (ja) 自動伴奏装置
JPH04204598A (ja) 電子楽器
JP3116948B2 (ja) 自動伴奏装置
JP2904022B2 (ja) 自動伴奏装置
JPH0644192B2 (ja) 自動リズム演秦装置
JP2856025B2 (ja) 自動伴奏装置
JP2756799B2 (ja) 自動リズム演奏装置
JP2000250556A (ja) 電子楽器等における和音検出装置
JP3690174B2 (ja) 楽音発生装置
JP2953217B2 (ja) 電子楽器
JP2972364B2 (ja) 音楽的情報処理装置及び音楽的情報処理方法
JP2565152B2 (ja) 自動伴奏装置
JP2697287B2 (ja) 電子楽器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040322

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090409

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090409

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100409

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110409

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees