JP3579916B2 - Automatic accompaniment device - Google Patents

Automatic accompaniment device Download PDF

Info

Publication number
JP3579916B2
JP3579916B2 JP10168494A JP10168494A JP3579916B2 JP 3579916 B2 JP3579916 B2 JP 3579916B2 JP 10168494 A JP10168494 A JP 10168494A JP 10168494 A JP10168494 A JP 10168494A JP 3579916 B2 JP3579916 B2 JP 3579916B2
Authority
JP
Japan
Prior art keywords
pattern
accompaniment
data
key
note
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
JP10168494A
Other languages
Japanese (ja)
Other versions
JPH07287578A (en
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 JP10168494A priority Critical patent/JP3579916B2/en
Priority to US08/423,149 priority patent/US5756917A/en
Publication of JPH07287578A publication Critical patent/JPH07287578A/en
Application granted granted Critical
Publication of JP3579916B2 publication Critical patent/JP3579916B2/en
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の発明に従う自動伴奏装置は、伴奏演奏用の1又は複数の楽器のパートの集合からなる伴奏演奏のための複数のコンポーネントの各々について、選択候補となる複数の伴奏パターンを記憶している伴奏パターン記憶手段であって、前記選択候補となる複数の伴奏パターンは所定の規則に従った並び順を持つものと、各コンポーネント毎に前記選択候補となる複数の伴奏パターンの中からいずれかを選択するための選択操作子と、前記選択操作子の操作に応じて前記伴奏パターン記憶手段からコンポーネント毎に前記選択された伴奏パターンを読み出す読み出し手段であって、前記操作子の操作タッチと前記伴奏パターンにおける前記並び順とが対応しており、操作された操作子の操作タッチに対応した並び順の伴奏パターンを選択して読み出すものと、前記読み出し手段によって読み出された伴奏パターンに基づいて自動伴奏音を発生する伴奏音発生手段と、新たに任意の伴奏パターンを前記伴奏パターン記憶手段に書き込む書き込み手段であって、新たに伴奏パターンに書き込む際に、前記所定の規則に従った並び順の伴奏パターンとして書き込むものとを備えたものである。
【0006】
この目的を達成するために、第2の発明に従う自動伴奏装置は、伴奏演奏用の1又は複数の楽器のパートの集合からなる伴奏演奏のための複数のコンポーネントの各々について、選択候補となる複数の伴奏パターンを記憶している伴奏パターン記憶手段であって、前記選択候補となる複数の伴奏パターンは所定の規則に従った並び順を持つものと、各コンポーネント毎に前記選択候補となる複数の伴奏パターンの中からいずれかを選択するための選択操作子と、前記選択操作子の操作に応じて前記伴奏パターン記憶手段からコンポーネント毎に前記伴奏パターンを読み出す読み出し手段であって、前記操作子の操作タッチと前記伴奏パターンにおける前記並び順とが対応しており、操作された操作子の操作タッチに対応した並び順の伴奏パターンを選択して読み出すものと、前記読み出し手段によって読み出された伴奏パターンに基づいて自動伴奏音を発生する伴奏音発生手段と、前記読み出し手段によって読み出された伴奏パターン前記所定の規則に従った並び順を表す情報を表示する表示手段とを備えたものである。
【0007】
この目的を達成するために、第3の発明に従う自動伴奏装置は、複数の伴奏ジャンルにつ、伴奏演奏用の1又は複数の楽器のパートの集合からなる伴奏演奏のための複数のコンポーネントの各々について、選択候補となる複数の伴奏パターンを記憶している伴奏パターン記憶手段であって、前記選択候補となる複数の伴奏パターンは所定の規則に従った並び順を持つものであり、また、特定の伴奏パターンについては、複数のジャンルにおいて共通に使用されるものを含むものと、各コンポーネント毎に前記選択候補となる複数の伴奏パターンの中からいずれかを選択するための選択操作子と、前記選択操作子の操作に応じて前記伴奏パターン記憶手段からコンポーネント毎に前記伴奏パターンを読み出す読み出し手段であって、前記操作子の操作タッチと前記伴奏パターンにおける前記並び順とが対応しており、操作された操作子の操作タッチに対応した並び順の伴奏パターンを選択して読み出すものと、前記読み出し手段によって読み出された伴奏パターンに基づいて自動伴奏音を発生する伴奏音発生手段とを備えたものである。
【0008】
【作用】
各コンポーネントは、伴奏演奏用の1又は複数の楽器のパートの集合からなるものであり、例えば、関連性のある複数の楽器パート(スネアドラムとバスドラム、あるいはライドシンバルとハイハットのように)がそれぞれ共通のコンポーネントとして分類されていてよい。ユーザーは、操作子の操作によって所望のコンポーネントを指定することができ、操作時にこの操作子に加えるタッチの強さによって該コンポーネントにおける何らかの伴奏パターンを選択することができる。選択された伴奏パターンはデータベース(伴奏パターン記憶手段)から読み出される。従って、自動伴奏装置はこの伴奏パターンに基づいて自動伴奏音を発生する。
1つのコンポーネントに対応して選択された伴奏パターンは、そのコンポーネントに対応する1又は複数の楽器パートの集合の伴奏パターンである。従って、ユーザーは最適な状態でデータベース内に数多く用意されている伴奏パターンの中から、コンポーネント単位で、パターンを選択することができるので、音楽的な知識があまりなかったとしても、最適な伴奏パターンの選択が行なえることになり、有利である。
第1の発明に従う自動伴奏装置は、新たに任意の伴奏パターンを伴奏パターン記憶手段に書き込む書き込み手段であって、新たに伴奏パターンを書き込む際に、前記所定の規則に従った並び順の伴奏パターンとして書き込むものを具備している。従って、伴奏パターン記憶手段から読み出された伴奏パターンに適当な修正が加えられた場合などは、書き込み手段はその修正された伴奏パターンをデータベースに新たな伴奏パターンとして書き込むので、パターン選択の幅が広がり、より複雑なパターンを容易に選択設定することができるようになる。また、書き込み手段は伴奏パターンを所定の規則に従った並び順の伴奏パターンとして書き込むので、読み出し手段は新たな伴奏パターンが書き込まれた場合でも、特別の処理をしなくても操作子の操作タッチに対応した伴奏パターンとしてそれらを選択的に読み出すことができる。
なお、所定の規則を伴奏パターンの複雑度に対応したものとしてもよい。これ以外の所定の規則として、伴奏パターンの激しさ、ノリの良さなどがある。
また、伴奏パターン記憶手段を、複数の伴奏パターンを記憶する伴奏パターン記憶部と、複数の伴奏パターンを所定の規則に従って並べるための並び順情報を記憶する並び順記憶部とから構成し、読み出し手段が操作子の操作に応じてこの並び順記憶部を参照して、操作タッチに対応した伴奏パターンを選択するようにしてもよい。この場合、書き込み手段が新たに伴奏パターンを伴奏パターン記憶手段に書き込む際に並び順記憶部を書き換えるようにしてもよい。
【0009】
第2の発明に従う自動伴奏装置は、読み出し手段によって読み出された伴奏パターンの前記所定の規則に従った並び順を表す情報を表示する表示手段を具備している。ここで所定の規則とは、伴奏パターンの複雑度、激しさ、ノリの良さなどであり、伴奏パターン中に含まれる音数やイベント発生状態などの種々の要因に基づいて求められたものである。従って、ユーザは表示手段に表示された所定の規則に従った並び順を表す情報を見るだけで、読み出された伴奏パターンの複雑度、激しさ、ノリの良さなどを認識することができる。なお、表示手段によって表示される情報を数値又は図形で示してもよい。
【0010】
第3の発明に従う自動伴奏装置においては、伴奏パターン記憶手段が、複数の伴奏ジャンル(例えば、ロック、ディスコ、ワルツなどのジャンル毎)につ、伴奏演奏用の1又は複数の楽器のパートの集合からなる伴奏演奏のための複数のコンポーネントの各々について、選択候補となる複数の伴奏パターンを記憶しており、前記選択候補となる複数の伴奏パターンは所定の規則に従った並び順を持つものであり、また、特定の伴奏パターンについては、複数のジャンルにおいて共通に使用されるものを含むように記憶している。音楽スタイル毎(複数ジャンル)に伴奏パターンを形成するとき、すべてのジャンルに対して独自の伴奏パターンを持たせると、データ量が膨大となってしまうので、第3の発明では特定の伴奏パターンについて複数のジャンルで共通に使用されるものを含むように記憶している。例えば、伴奏パターン記憶手段に記憶されている伴奏パターンがロック音楽及びディスコ音楽に共通に使用できる場合には、ロック音楽用とディスコ音楽用の両方で共通に使用されるものを含むように記憶する。これによって、特定の伴奏パターンについては複数ジャンルで同じ伴奏パターンを共用するので、伴奏パターン記憶手段内のデータ量を減らすことができる。
【0011】
【実施例】
以下、この発明の実施例を添付図面に従って詳細に説明する。
図2は鍵盤及び音源回路を内蔵した電子楽器1Fと、伴奏パターンのエディット処理及び電子楽器1Fへ伴奏パターンに基づくデータを出力する処理を行うパソコン20との詳細構成及び両者間の接続関係を示すハードブロック図である。
まず、電子楽器1Fの構成について説明する。
マイクロプロセッサユニット(CPU)11は、この電子楽器1Fの動作を制御するものである。このCPU11に対して、バス1Eを介してROM12、RAM13、押鍵検出回路14、スイッチ検出回路15、表示回路16、音源回路17、サウンドシステム18、タイマ19及びMIDIインターフェイス(I/F)1Dがそれぞれ接続されている。
【0012】
この実施例ではCPU11によって押鍵検出処理や演奏データ(ノートデータ)の送受信処理及び発音処理等を行う電子楽器について説明するが、押鍵検出回路14からなるモジュールや音源回路17からなるモジュールとがそれぞれ別々に構成され、各モジュール間のデータの授受をMIDIインターフェイスで行うように構成されたものにも同様に適用できる。
ROM12はCPU11の各種プログラムや各種データを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
RAM13は、演奏情報やCPU11がプログラムを実行する際に発生する各種データを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)の所定のアドレス領域がそれぞれ割り当てられ、レジスタ及びフラグとして利用される。
【0013】
鍵盤1Aは、発音すべき楽音の音高を選択するための複数の鍵を備えており、各鍵に対応してキースイッチを有しており、また必要に応じて押鍵速度検出装置や押圧力検出装置等のタッチ検出手段を有している。鍵盤1Aは音楽演奏のための基本的な操作子であり、これ以外の演奏操作子、例えばドラムパッド等でもよいことはいうまでもない。
【0014】
押鍵検出回路14は、発生すべき楽音の音高を指定する鍵盤1Aのそれぞれの鍵に対応して設けられた複数のキースイッチからなる回路を含んで構成されており、新たな鍵が押圧されたときはキーオンイベント情報を出力し、鍵が新たに離鍵されたときはキーオフイベント情報を出力する。また、鍵押し下げ時の押鍵操作速度又は押圧力等を判別してタッチデータを生成する処理を行い、生成したタッチデータをベロシティデータとして出力する。このようにキーオン、キーオフイベント情報及びベロシティ情報はMIDI規格で表現されておりキーコードと割当てチャンネルを示すデータをも含んでいる。
【0015】
パネルスイッチ1Bは、音色、音量、効果等を選択・設定・制御するための各種操作子を含むものである。パネルスイッチには色々なものがあるが、その詳細については公知なので説明を省略する。
スイッチ検出回路15は、パネルスイッチ1Bの各操作子の操作状態を検出し、その操作状態に応じたスイッチ情報をバス1Eを介してCPU11に出力する。
表示回路16はCPU11の制御状態、設定データの内容等の各種の情報を表示部1Cに表示するものである。表示部1Cは液晶表示パネル(LCD)等から構成され、表示回路16によってその表示動作を制御される。
【0016】
音源回路17は、複数のチャンネルで楽音信号の同時発生が可能であり、バス1Eを経由して与えられた演奏情報(MIDI規格に準拠したデータ)を入力し、このデータに基づき楽音信号を発生する。後述するように、本電子楽器1Fの音源回路17は各種ドラム音の楽音信号を発生可能なように構成されているものである。
音源回路17における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出すメモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるFM方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるAM方式等の公知の方式を適宜採用してもよい。
【0017】
音源回路17から発生された楽音信号は、図示しないアンプ及びスピーカからなるサウンドシステム18を介して発音される。
タイマ19は時間間隔を計数したりするためのクロックパルスを発生するものであり、このクロックパルスはCPU11に対してインタラプト命令として与えられるので、CPU11はインタラプト処理により各種処理を実行する。
【0018】
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規格に準拠したデータのやり取りが双方向で行えるようになっている。
【0019】
次に、パソコン20の構成について説明する。
マイクロプロセッサユニット(CPU)21は、このパソコン20の動作を制御するものである。このCPU21に対して、バス2Dを介してROM22、RAM23、ハードディスク装置24、ディスプレイインターフェイス(I/F)25、マウスインターフェイス(MOUSE I/F)26、スイッチ検出回路27、タイマ28及びMIDIインターフェイス2Cがそれぞれ接続されている。
【0020】
ROM22はCPU21の各種プログラムや各種データや各種記号文字等のデータを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
RAM23は、CPU21がプログラムを実行する際に発生する各種データを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)で構成されている。なお、この実施例では、RAM23の所定領域が図3に示すようなカレントパターンメモリ領域、アサインメモリ領域、アンドゥバッファ領域、退避メモリ領域及びパターンテーブル領域に割り当てられている。
【0021】
カレントパターンメモリ領域は、自動伴奏時に読み出されるリズムパターンを記憶する領域である。アサインメモリ領域は、エディット処理やトランスフォーマー処理によって新たに作成されたリズムパターンを記憶する領域である。アンドゥバッファ領域は、トランスフォーマー処理によって変形されたリズムパターンを一時的に記憶する領域である。退避メモリ領域は、フィルインを挿入するときにそれまでのカレントパターンを保存したり、データベースからコンポーネントのリズムパターンを読み出す時、前に存在していたコンポーネントのリズムパターンを一時的に保存する領域である。
【0022】
パターンテーブル領域は、データベース(ハードディスク装置24)に記憶されているリズムパターンのアドレスとリズムパターンの複雑度を示すデータを、その複雑度の小さい順序をアドレスとして記憶する領域である。すなわち、パターンテーブル領域はリズムパターンを複雑度の小さい順序に並び替えた場合に、その順序アドレスをデータベース上のアドレスに変換するためのアドレス変換用のパターンテーブルを記憶する領域である。このパターンテーブルの詳細については後述する。
【0023】
ハードディスク装置24は、パソコン20の外部記憶装置であり、数十〜数百メガバイト(MB)の記憶容量を有する。この実施例では、ハードディスク装置24は、リズムパターンのデータベースとして利用され、図3に示すようなそれぞれ異なる音楽スタイル(ジャンル)のパターンを記憶するために3つのバンクA,B,Cに分割にされている。
【0024】
この実施例では、バンクAには各ドラム音のコンポーネントに対応したロック音楽専用の複数のリズムパターンが記憶され、バンクBには各ドラム音のコンポーネントに対応したディスコ音楽専用の複数のリズムパターンが記憶され、バンクCには各ドラム音のコンポーネントに対応したロック及びディスコ音楽に共通の複数のリズムパターンが記憶されている。各バンクに記憶されている複数のリズムパターンを特定するための先頭アドレスが、前述のパターンテーブル領域に単純なものから複雑なものへと、その複雑さの度合いに従った順序をアドレスとして順番に記憶されている。
【0025】
例えば、バスドラム(BD)とスネアドラム(SD)とからなるコンポーネントに対しては、BD+SDパターン1、BD+SDパターン2、・・・のようにパターン番号に従ってより複雑なリズムパターンとなっている。同様に、タムタムのハイ、ミドル及びロー(TomH、TomM、TomL)からなるコンポーネントに対してもTomH+TomM+TomLパターン1、TomH+TomM+TomLパターン2、・・・のようにパターン番号に従ってより複雑なリズムパターンとなっている。
【0026】
図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,C−3,・・・,B−nを、そのリズムパターンの持つ複雑さの度合い(複雑度の大きさ)に従った順番1,2,3,・・・,nをアドレスとして記憶している。
【0027】
ここで、先頭アドレスの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のアドレスを示す。
【0028】
複雑度はリズムパターンを所定の規則に応じて『0〜100』の値に数値化したものを用いる。所定の規則として、例えば、リズムパターン中に含まれる音の数、リズムパターン中のノートイベントデータが存在するタイミングの数、リズムパターンの前半に含まれる音の数と後半に含まれる音の数との差、又はあるタイミング(例えば、一拍目、三拍目、8分の裏拍等)におけるイベントの出現数等を、そのまま複雑度としたり、これらの規則をユーザーが任意に選択し適宜組み合わせたものや、これらを総合的に判断したものを複雑度とする。また、ユーザーが任意にリズムパターンを並び替えることができるようにしてもよい。
【0029】
ロック音楽用パターンテーブルでは、アドレス『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』に、それぞれ記憶されていることを示している。
【0030】
ディスコ音楽用のパターンテーブルでは、アドレス『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』に、それぞれ記憶されていることを示している。
【0031】
なお、バンクCのリズムパターンはロック音楽及びディスコ音楽に共通するので、ロック音楽用パターンテーブルとディスコ音楽用パターンテーブルの両方に存在する。例えば、図4のパターンテーブルの中では、先頭アドレス『C−1』及び『C−2』のリズムパターンがロック音楽用パターンテーブルとディスコ音楽用パターンテーブルの両方に存在する。図4では、同じリズムパターンでありながら、その複雑度が異なるのは、前述したように複雑度を求める所定の規則がロック音楽用パターンテーブルとディスコ音楽用パターンテーブルとでそれぞれ異なっているからである。
また、各バンクA,B,Cには、図3に示すようにリアルタイム演奏を意識したフィルインパターンやその他の楽器のパターン等も記憶されているので、カレントパターンに代えて一時的にフィルインパターンを挿入して演奏できるようになっている。
【0032】
各バンクA,B,Cに記憶されているリズムパターンの内容は、図3に示すように、イベントの発生タイミングを示すタイミングデータと、そのイベントの種類を示すノートイベントデータとの組み合わせからなる演奏データを相対時間方式で順次記憶することによって構成されている。なお、ここではノートイベントデータは、MIDIのノートオンメッセージに対応した形式で記憶されており、3バイトのデータからなる。また、タイミングデータは、各ノートイベントの発生間隔をクロック数で表される。その他、ハードディスク装置24には、バリエーションパターン1及び2として、トランスフォーマーの形容詞を指示するためのシーケンスデータが2種類記憶されている。すなわち、図3に示すようにバリエーション1,2は形容詞1、形容詞2、形容詞3及び形容詞4を順番に記憶したシーケンシャルデータで構成されている。
【0033】
なお、図示していないが、ハードディスク装置24に対するアクセスタイムを大幅に短縮するために、数メガバイト程度のキャッシュメモリ(RAM)を設けたり、RAM23とハードディスク装置24との間におけるデータ転送の負担を軽減するために、DMA装置を設けたりしてもよいことはいうまでもない。
【0034】
ディスプレイ29は、パソコン20内部で演算処理されたデータ等をディスプレイインターフェイス(I/F)を介して入力し、これらのデータを視覚的に認識可能なように表示するものであり、通常のCRTやLCD等で構成される。
図5は、ディスプレイ29の表示例を示す図である。ディスプレイ29は、現在どのコンポーネントが選択されているのか示すと共にそれが複雑度でどのレベルに位置するのかを示すために、選択されたコンポーネントのリズムパターンの複雑度を選択パターンの項に表示している。従って、選択パターンの項に複雑度が表示されているコンポーネントは現在選択されており、何も表示されていないコンポーネントは選択されていないことを意味する。また、選択パターンの項に表示された複雑度の大きさに応じてそのリズムパターンが複雑度でどのレベルに位置するのかを示す。
【0035】
例えば、図5(A)では、バスドラム(BD)とスネアドラム(SD)とからなるコンポーネントBD+SDに関しては、複雑度『80』のリズムパターンが選択されていることが示されている。タムタムのコンポーネントTomに関しては、複雑度『20』のリズムパターンが選択されていることが示されている。ハイハットのコンポーネントHHに関しては、複雑度『45』のリズムパターンが選択されていることが示されている。シンバルのコンポーネントCYに関しては、複雑度の表示がないので、何も選択されていないことが示されている。以下、同様にして、そのコンポーネントが選択されているかどうかが、選択パターンの項に複雑度が表示されているかどうかで容易に判別できるようになっている。また、選択パターンの項に表示された複雑度の大きさに応じてそのリズムパターンが複雑度でどのレベルに位置するのかを容易に認識することができる。
【0036】
図5(A)では、複雑度を直接数値表示する場合について示してあるが、これに限らず、図5(B)のように複雑度を棒グラフ等の図形で表示してもよい。このように図形表示することよって、そのコンポーネントが選択されているのかどうかが容易に認識できると共に複雑度における位置づけを感覚的に認識することができる。
なお、上述のようにリズムパターンを複雑度で位置づけする場合に限らず、複雑度以外の要素(例えば、激しさ、ノリの良さ等)で位置づけしてもよい。また、これらの要素を複数組み合わせて、2次元、3次元、又は多次元的に表示してもよい。多次元的に表示する場合には、レーダーチャートのような図形表示が有効である。
【0037】
マウス2Aは、ディスプレイ29上の座標点を入力するポインティングデバイスの一種あり、その出力はマウスインターフェイス(MOUSE I/F)26及びバス2Dを介してCPU21に取り込まれる。
パネルスイッチ2Bは、パソコン20にプログラムやデータ等を入力するためのキーボードであり、テンキーやファンクションキー等を備えたものである。
【0038】
スイッチ検出回路27は、パネルスイッチ2Bのキー操作状態を検出し、その操作状態に応じたキー情報をバス2Dを介してCPU21に出力する。
タイマ28は時間間隔を計数したり、パソコン20全体の動作クロックを発生するものである。パソコン20はこの動作クロックを所定数だけ計数することによって所定時間の計時を行い、それに応じたインタラプト処理を行う。例えば、この所定数を自動伴奏のテンポに応じた値とすることで、パソコン20によって自動伴奏の処理を実行するようにしている。
【0039】
この実施例では、鍵盤1Aの押鍵状態に対応したノートナンバをMIDIインターフェイス1D及び2Cを介してパソコン20のCPU21に送信することによって、パソコン20のマウス2Aやパネルスイッチ2B以外にパソコン20の各種機能を選択設定制御する操作子として、電子楽器1Fの鍵盤1Aの各鍵が動作するようになっている。
【0040】
図6は、鍵盤1Aに割り当てられた各種機能の一例を示す図である。
図において、鍵盤1Aは全部で61個の鍵で構成され、パターンアサインエリア、操作子エリア及びドラムパターンエリアに分割されている。ノートナンバE0〜B1のキーがパターンアサインエリアを構成し、ノートナンバC2〜G#3のキーが操作子エリアを構成し、ノートナンバA3〜E5のキーがドラムパターンエリアを構成する。
【0041】
ノートナンバE0〜B1のキーは、エディット処理やトランスフォーマー処理によって作成されたリズムパターンを新たなリズムパターンとして記憶するためのアサインメモリ領域に対応したアドレスを発生する。すなわち、RAM23のアサインメモリ領域は全部で20個のアドレスを有したアサインメモリ管理領域と、20個のパターンを格納可能なパターン記憶領域とから成り、アサイン管理領域の一つ一つのアドレスがノートナンバE0〜B1に対応している。例えば、ノートナンバE0はアサインメモリ管理領域の第1のアドレスに対応し、ノートナンバF0は第2のアドレスに対応し、以下同様にしてノートナンバF#0〜B1がアサインメモリ管理領域の第3から第20のアドレスにそれぞれ対応している。そして、各アドレスには各パターン記憶領域の先頭アドレス値が記憶されている。
【0042】
ノートナンバ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のキーがフィルイン指定キーにそれぞれ対応している。
これら各キーの操作に応じた処理内容の詳細については後述する。
【0043】
ドラムパターンエリアのノートナンバ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のキーが(TBH)、ノートナンバ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)のドラム音にそれぞれ対応している。
【0044】
上述の各ドラム音は単独で指定することも可能であるが、この実施例では、複数のドラム音をその演奏形態に応じてグループ化したコンポーネントとして利用している。従って、このコンポーネントを構成するドラム音は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)のドラム音は単独扱いのコンポーネントとなる。
【0045】
但し、タンブリン(Tamb)とクラベス(Clave)とを、カウベル(Cowbell)とハンドクラップス(Claps)とを、クラッシュシンバル(Crash CY)とライドシンバル(Ride CY)とを、それぞれ1つのコンポーネントとして扱ってもよいことはいうまでもない。また、これ以外の組合せでもよい。
【0046】
図1は、図2の電子楽器1F及びパソコン20が伴奏パターン作成装置として動作する場合の機能ブロックを示す図である。
図1の伴奏パターン作成装置はカレントパターンメモリ1を中心に動作する。パソコン20は、カレントパターンメモリ1からカレントパターンを読み出しながら自動伴奏処理を行うようになっている。
【0047】
カレントパターンメモリ1、アサインメモリ2、アンドゥバッファ3、退避メモリ4及びパターンテーブル63は、図3に示されたRAM23の所定領域がそれぞれ対応する。
データベース手段5は、図2のハードディスク装置24に対応する。データベース手段5は図3のように多数のリズムパターンデータを記憶している。
パターンセレクタ61は、図2の鍵盤1AのノートナンバAB、B3、C4、D4、E4、F4、G4、A4、B4、C5、D5及びE5のドラムパターンエリアの各指定キーと、鍵盤1AのノートナンバD3、E3及びF3のバンクA,B,Cの指定キーとがそれぞれ対応する。
【0048】
従って、この伴奏パターン作成装置は、パターンセレクタ61によってデータベース手段5内のコンポーネントが適宜選択されると、それに対応したリズムパターンデータをデータベース手段5から読み出して、カレントパターンメモリ1に供給する。この実施例では、コンポーネントの選択は、パターンセレクタ61すなわち鍵盤1Aの操作によって行われ、鍵盤1Aの操作によって発生したノートナンバに対応したコンポーネントが指定される。この時、各コンポーネントは複数存在するので、指定されたコンポーネントのどのリズムパターンデータを読み出すかは、鍵盤1Aの操作時におけるベロシティデータによって行う。
【0049】
すなわち、データベース手段5内の各バンクA,B,Cを構成するリズムパターンデータの先頭アドレスは、図4のようにリズムパターンの複雑度に応じた順番をアドレスとしてパターンテーブル63に記録されている。そこで、パターンセレクタ61の操作時におけるベロシティデータをパターンテーブル63のアドレスに対応付けることによって、パターンテーブル63からはベロシティデータの大きさに応じて複雑度のそれぞれ異なるリズムパターンデータの先頭アドレスがパターンセレクタ61に供給される。パターンセレクタ61は、データベース手段5の先頭アドレスに記憶されているリズムパターンデータを読み出して、カレントパターンメモリ1に供給する。データベース手段5から読み出されたリズムパターンデータはカレントパターンメモリ1内にカレントパターンとして格納される。格納されたカレントパターンの内容はエディット手段7やトランスフォーマー9によって種々の変更が施される。
【0050】
エディット手段7は、図2の鍵盤1AのノートナンバF#2のリプレース入力キー、ノートナンバG#2のインサート入力キー、ノートナンバA#2のクォンタイズ処理指定キー、ノートナンバC#3のデリートドラム指示キー、ノートナンバD#3のデリートコンポーネント指示キー、ノートナンバF#3のアクセント入力キーに対応する。
【0051】
ここで、リプレース入力とはカレントパターンの元のノートイベントデータを消去し、新たなノートイベントデータのみを記憶することをいう。インサート入力とはカレントパターンの元のノートイベントデータに新たなノートイベントデータを追加して記憶することをいう。クォンタイズとはノートイベントの発生タイミングを基準タイミングにジャストフィットさせることをいう。アクセントとはカレントパターン内のドラム音で、操作された鍵盤に対応するドラム音にアクセントを付けなおすことをいう。デリートドラムとはカレントパターン内のドラム音であって、操作された鍵盤に対応するドラム音だけを消去することをいう。デリートコンポーネントとはカレントパターン内のドラム音であって、操作した鍵盤に対応するコンポーネントのドラム音を全て消去することをいう。
【0052】
形容詞指示手段8は、図2の鍵盤1AのノートナンバD2,E2,F2,G2,A2のトランスフォーマー指定キーに対応する。
トランスフォーマー9は、図2のROM22内に格納されているトランスフォーマー用プログラムに対応する。カレントパターンの内容はこのトランスフォーマー指定キーに対応する形容詞指示手段8で指示された形容詞に応じて変形処理される。このトランスフォーマー9は感覚的な形容詞の指示をするだけで思い通りのイメージに沿ったパターンを作成する。
【0053】
アンドゥ手段10は、図2の鍵盤1AのノートナンバB2のアンドゥキーに対応する。
トランスフォーマー9によって変形されたパターンはアンドゥバッファ3に保存されるので、変形の結果、思い通りのパターンが得られなかった場合には、元のパターンを呼び戻すことができるようになっている。すなわち、アンドゥバッファ3には変形されたパターンが変形処理順に記憶されるので、アンドゥバッファ3の内容を順次遡って読み出すことによって元のパターンを呼び戻すことができる。
このようにして、新たなパターンの追加や変形によって作成されたカレントパターンは、アサインメモリ2に記憶しておくことが可能であり、アサインメモリ2に記憶されたパターンはいつでも鍵盤1Aのパターンアサインエリアのキーを操作することによって読み出すことができる。
【0054】
パターン登録手段62は、図2のパネルスイッチ2B上のパターン登録用操作子が対応する。
パターン登録手段62は、カレントパターンメモリ1内のカレントパターン、すなわちエディット手段7やトランスフォーマー9よって種々変更の施されたものをデータベース手段5に新たなリズムパターンデータとして新規登録する。この時、パターン登録手段62は、データベース手段5に新規登録したリズムパターンデータの複雑度を求め、その複雑度に応じてパターンテーブル63内の順番を並び替えて、新たなパターンテーブル63を作成する。
【0055】
例えば、図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』を新たに記録する。
【0056】
次に、CPU11によって実行される図2の電子楽器1Fの処理の一例を図7のフローチャートを用いて説明する。
図7(A)は図2の電子楽器1FのCPU11が処理するメインルーチンの一例を示す図である。
まず、電源が投入されると、CPU11はROM12に格納されている制御プログラムに応じた処理を開始する。「イニシャライズ処理」では、RAM13内の各種レジスタ及びフラグを初期化する。その後に、CPU11は「キー処理」、「MIDI受信処理」及び「その他の処理」をイベントの発生に応じて繰り返し実行する。
【0057】
図7(B)は図7(A)の「キー処理」の詳細を示す図である。
「キー処理」では、鍵盤1Aの操作状態がキーオン状態かキーオフ状態かを判定し、その判定結果に応じて、MIDIノートオンメッセージ又はMIDIノートオフメッセージをMIDIインターフェース1D及び2Cを介してパソコン20に出力する。従って、この実施例では、鍵盤1Aが操作された場合でも電子楽器自体の処理すなわち音源回路17を駆動しないようにしてある。そのため、キー処理の時点では、音源回路17は発音処理を行わないようにしてある。
【0058】
図7(C)は図7(A)の「MIDI受信処理」の詳細を示す図である。
「MIDI受信処理」では、パソコン20からMIDIインターフェース2C及び1Dを介してMIDIメッセージを入力する毎に実行する。「MIDI受信処理」では、そのMIDIメッセージがノートオンメッセージかどうかを判定し、ノートオン(YES)の場合にはそのノートオン信号、ノートナンバ及びベロシティデータを音源回路17に供給し、楽音の発音を音源回路17に行わせる。一方、MIDIメッセージがノートオン以外(NO)の場合には受信したMIDIメッセージに応じた「メッセージ対応処理」を行った後、図7(A)のメインルーチンにリターンする。
「その他の処理」では、パネルスイッチ1Bにおけるその他の操作子の操作に基づく処理やその他の種々の処理を行う。
【0059】
次に、CPU21によって実行される図2のパソコン20の処理の一例を図8〜図17のフローチャートを用いて説明する。
図8(A)は図2のパソコン20のCPU21が処理するメインルーチンの一例を示す図である。
まず、電源が投入されると、CPU21はROM22に格納されている制御プログラムに応じた処理を開始する。「イニシャライズ処理」では、RAM23内の各種レジスタ及びフラグを初期化する。その後に、CPU21は「MIDI受信処理」、「表示処理」及び「その他の処理」を繰り返し実行する。
【0060】
図8(B)は図8(A)の「MIDI受信処理」の詳細を示す図である。
「MIDI受信処理」は、電子楽器1FからMIDIインターフェース1D及び2Cを介してMIDIメッセージが入力する毎に実行される。「MIDI受信処理」では、MIDIメッセージがノートオンメッセージかどうかを判定し、ノートオン(YES)の場合にはそのキーオンのノートナンバに対応した処理(図9〜図12の処理)を実行し、ノートオフ(NO)の場合にはそのキーオフのノートナンバに対応した処理(図13の処理)を実行する。
【0061】
「表示処理」では、データベース手段5のどのバンクを処理中であり、演奏しているドラム音の種類やカレントパターンのどの部分を演奏中であるかをディスプレイ29に表示するための処理を行う。具体的には、図5や図21に示すような画面を表示する。
「その他の処理」では、パネルスイッチ2Bにおけるその他の操作子の操作に基づく処理やその他の種々の処理を行う。ここでは、パネルスイッチ2B上のパターン登録用操作子の操作に応じた図17の「パターン登録処理」を行う。この「パターン登録処理」の詳細について後述する。
【0062】
図9〜図12は、受信したMIDIメッセージがノートオンメッセージの場合に実行される図8(B)のノートオンメッセージのノートナンバに対応した処理を示す図である。
図9(A)は、鍵盤1AのノートナンバE0〜B1に対応したパターンアサインエリアのキーが操作されることによって、ノートナンバE0〜B1を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるパターンアサインエリアキー処理を示す図である。
このパターンアサインエリアキー処理では、まずアサインフラグASSIGNがハイレベル“1”かどうかを判定し、その判定結果に応じた処理を行う。
【0063】
すなわち、アサインフラグASSIGNは、鍵盤1Aのアサインキー(ノートナンバC2のキー)がキーオン操作された場合に、図9(B)のアサインキー処理によってハイレベル“1”にセットされ、逆にキーオフ操作された場合には図13(A)の処理によってローレベル“0”にリセットされる。従って、アサインフラグASSIGNがハイレベル“1”(YES)だと判定された場合は、パターンアサインエリアのキーとアサインキーとが同時に押されていることを意味するので、この場合には、カレントパターンメモリ1内のカレントパターンをそのノートナンバに対応したアサインメモリ2のアサインメモリ領域にコピーしてリターンする。
【0064】
一方、アサインフラグASSIGNがローレベル“0”(NO)だと判定された場合は、パターンアサインエリアのキーだけが操作されたことを意味するので、この場合には、そのノートナンバに対応したアサインメモリ2のアサインメモリ領域に記憶されているリズムパターンをカレントパターンメモリ1にコピーしてリターンする。
【0065】
すなわち、アサインキーを押しながらパターンアサインエリアのキーを操作した場合には、その時にカレントパターンメモリ1に記憶されているリズムパターンデータがそのパターンアサインエリアのキーに登録され、パターンアサインエリアのキーだけを単独に操作した場合には、そのキーに予め登録されているリズムパターンがカレントパターンメモリ1に呼び出されることとなる。
【0066】
図9(B)は鍵盤1AのノートナンバC2に対応したアサインキーが操作され、ノートナンバC2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるアサインキー処理を示す図である。
このアサインキー処理では、全フラグをローレベル“0”にクリアしてからアサインフラグASSIGNにハイレベル“1”をセットしてリターンする。
【0067】
図9(C)は鍵盤1AのノートナンバD2〜A2(#を除く)に対応したトランスフォーマー1〜5のキーが操作され、ノートナンバD2〜A2(#を除く)を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるトランスフォーマーキー処理を示す図である。
ノートナンバD2〜A2(#を除く)を含むMIDIメッセージが電子楽器1Fから受信されたということは、トランスフォーマーの形容詞の種類を指示したことを意味する。従って、このトランスフォーマーキー処理では、まず、全フラグをローレベル“0”にクリアし、MIDIメッセージ内のノートナンバ及びベロシティデータに応じてトランスフォーマーの形容詞の種類を決定する。トランスフォーマーの種類が決定したらトランスフォーマーフラグTRANSにハイレベル“1”をセットしてリターンする。
【0068】
なお、この実施例では、それぞれのトランスフォーマー1〜5には、2つの形容詞が割り当てられており、ベロシティデータの大きさに応じていずれか一方が選択されるようになっている。例えば、トランスフォーマー1には複雑化処理(Complex)と簡単化処理(Simple)、トランスフォーマー2には硬音化処理(Hard)と軟音化処理(Soft)、トランスフォーマー3には活発化処理(Energetic)と平静化処理(Calm)、トランスフォーマー4には無表情化処理(Mechanical)と優美化処理(Graceful)、トランスフォーマー5にはどもり化処理(Stuttering)と浮動化処理(Floating)がそれぞれ割り当てられている。
従って、ベロシティデータの大きさがある所定値以下の場合には前者が選択され、所定値よりも大きい場合には後者が選択されるようになっている。
トンラスフォーマーフラグTRANSがハイレベル“1”の場合は、トランスフォーマー9は図16(D)のトランスフォーマーキー処理を行い、カレントパターンの内容を各トランスフォーマーの形容詞に応じて変更する。
【0069】
以下、各形容詞の内容について説明する。
複雑化処理(Complex)とは次のいずれか一つを実行することをいう。
複雑化処理の第1は、予め指示されたテンプレートと呼ばれるパターン原型に基づき、このテンプレートに対応した3連音符系のリズムパターンをデータベース手段5からサーチし、それをカレントパターンに加えることによって行われる。
複雑化処理の第2は、データベース手段5からランダムにクラッシュ以外のコンポーネントを構成するドラム音を抽出してカレントパターンに加えることによって行われる。
【0070】
簡単化処理(Simple)とは次のいずれか一つを実行することをいう。
簡単化処理の第1は、カレントパターン内のバスドラム(BD)、スネアドラム(SD)のリズムパターンに比べてより基本のリズムパターンに近いものをデータベース手段5からサーチし、それをカレントパターンとすることによって行われる。
簡単化処理の第2は、カレントパターン内のハイハット(HHC,HHO)のリズムパターンに比べてより基本のリズムパターンに近いものをデータベース手段5からサーチし、それをカレントパターンとすることによって行われる。
簡単化処理の第3は、上記バスドラム(BD)、スネアドラム(SD)、ハイハット(HHC,HHO)以外のコンポーネントのリズムパターンをカレントパターン内から除去することによって行われる。
【0071】
硬音化処理(Hard)とは次のいずれか一つを実行することをいう。
硬音化処理の第1は、カレントパターン内のリズムパターンの全てのベロシティを一律に増加させることによって行われる。
硬音化処理の第2は、カレントパターン内のドラム音をソフト用コンポーネントからハード用コンポーネントに交換することによって行われる。
【0072】
ここで、ハード用コンポーネントを構成するドラム音は、バスドラム(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へ割当ててないが、これらのドラム音はソフト用コンポーネントを構成するものとして例示した。
【0073】
軟音化(Soft)とは次のいずれか一つを実行することをいう。
軟音化処理の第1は、カレントパターン内のリズムパターンの全てのベロシティを一律に減少させることによって行われる。
軟音化処理の第2は、カレントパターン内のドラム音をハード用コンポーネントからソフト用コンポーネントに交換することによって行われる。
【0074】
活発化処理(Energetic)とは次のいずれか一つを実行することをいう。
活発化処理の第1は、テンプレートに基づいたリズムパターンをカレントパターン内で増加させることによって行われる。
活発化処理の第2は、テンポ速度を120程度に近づけることによって行われる。
活発化処理の第3は、カレントパターン内のリズムパターンをテンプレートに基づいて3連音符系のリズムパターンに近づける(シャッフルする)ことによって行われる。
【0075】
平静化処理(Calm)とは次のいずれか一つを実行することをいう。
平静化処理の第1は、テンプレートに基づいたリズムパターンをカレントパターン内で減少させることによって行われる。
平静化処理の第2は、テンポ速度を60程度に近づけることによって行われる。
平静化処理の第3は、カレントパターン内のリズムパターンをテンプレートに基づいて非3連音符系のリズムパターンに近づける(ノンシャッフルする)ことによって行われる。
【0076】
無表情化処理(Mechanical)とは、次のいずれか一つを実行することをいう。
無表情化処理の第1は、テンプレートに基づいてカレントパターン内のリズムパターンを16分にクォンタイズすることによって行われる。
無表情化処理の第2は、テンプレートに基づいてカレントパターン内のリズムパターンをバスドラム(BD)又はスネアドラム(SD)を基本パターンとした8分にクォンタイズすることによって行われる。
無表情化処理の第3は、カレントパターン内のドラム音をソフト用コンポーネントからハード用コンポーネントに交換することによって行われる。
無表情化処理の第4は、ベロシティデータを『90』の値を中心とした値に圧縮処理することによって行われる。
【0077】
優美化処理(Graceful)とは、次のいずれか一つを実行することをいう。
優美化処理の第1は、ベロシティデータを『64』の値を中心として両側に拡張することによって行われる。
優美化処理の第2は、テンプレートに基づいて3連音符系のリズムパターンをカレントパターンに追加することによって行われる。
優美化処理の第3は、カレントパターン内のドラム音をハード用コンポーネントからソフト用コンポーネントに交換することによって行われる。
優美化処理の第4は、カレントパターン内のドラム音にフラッターを施す(装飾音を付ける)ことによって行われる。
【0078】
どもり化処理(Stuttering)とは、次のいずれか一つを実行することをいう。
どもり化処理の第1は、テンプレートに基づいて、カレントパターン内のリズムパターンからダウンビートを消去し、アップビートに変換する(シンコペーション化する)ことによって行われる。
どもり化処理の第2は、テンプレートに基づいて3連音符系のリズムパターンをカレントパターンに追加することによって行われる。
【0079】
浮動化処理(Floating)とは、次のいずれか一つを実行することをいう。
浮動化処理の第1は、テンプレートに基づいて、カレントパターン内のリズムパターンからアップビートを消去し、ダウンビートに変換する(非シンコペーション化する)ことによって行われる。
浮動化処理の第2は、テンプレートに基づいて3連音符系のリズムパターンをカレントパターンから減少させることによって行われる。
浮動化処理の第3は、テンプレートに基づいて12/8の3連音符系のリズムパターンをカレントパターンに追加することによって行われる。
浮動化処理の第4は、カレントパターン内のドラム音をハード用コンポーネントからソフト用コンポーネントに交換することによって行われる。
浮動化処理の第5は、テンポ速度を『120』程度に近づけることによって行われる。
【0080】
図9(D)は鍵盤1AのノートナンバB2に対応したアンドゥキーが操作され、ノートナンバB2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるアンドゥキー処理を示す図である。
このアンドゥキー処理では、全フラグをローレベル“0”にクリアしてからアンドゥフラグUNDOにハイレベル“1”をセットしてリターンする。
【0081】
アンドゥフラグUNDOがハイレベル“1”の場合は、アンドゥ手段10は図16(A)のアンドゥ処理を行い、アンドゥバッファ3から前のリズムパターンを読み出しカレントパターンメモリ1にコピーする。これによって、トランスフォーマー9によるパターン変更の結果が気に入らない場合には、前回のリズムパターンに戻すことができる。なお、アンドゥバッファ3は、全部で20個分のリズムパターンを順番に記憶しているので、アンドゥキーの操作に応じて順次遡って前のリズムパターンをカレントパターンメモリ1に復活することができるようになっている。
【0082】
図9(E)は鍵盤1AのノートナンバC3に対応したスタート/ストップキーが操作され、ノートナンバC3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるスタート/ストップキー処理を示す図である。
このスタート/ストップキー処理では、まず走行状態フラグRUNがハイレベル“1”かどうかを判定し、その判定結果に応じた処理を行う。ここで走行状態フラグRUNは、カレントパターンメモリ1からカレントパターンを読み出し中であるかどうかを示すものである。
【0083】
従って、走行状態フラグRUNがハイレベル“1”(YES)だと判定された場合は、読み出しを停止するために走行状態フラグRUNにローレベル“0”をセットしてリターンする。一方、走行状態フラグRUNがローレベル“0”(NO)だと判定された場合は、読み出しを開始するためにカレントパターンメモリ1の最初のタイミングデータをタイミングレジスタTIMEにセットし、走行状態フラグRUNをハイレベル“1”にセットしてリターンする。これによって、図14のタイマ割込処理においてカレントパターンメモリ1から順次カレントパターンの読み出し処理が実行されるようになる。
【0084】
図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に格納されるようになる。
【0085】
図10(A)は鍵盤1AのノートナンバG3に対応したロックキーが操作され、ノートナンバG3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるロックキー処理を示す図である。
このロックキー処理では、全フラグをローレベル“0”にクリアしてからロックフラグLOCKにハイレベル“1”をセットしてリターンする。
データベース手段5からのリズムパターンは、通常はドラムパターンエリアのキーを操作している間だけ有効であるが、このロックキーを操作することによってリズムパターンの内容は確定し、ドラムパターンエリアのキーを離してもそのリズムパターンは有効状態を維持する。
【0086】
図10(B)は鍵盤1AのノートナンバC#2,D#2に対応したバリエーション1,2のキーが操作され、ノートナンバC#2,D#2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるバリエーション1,2キー処理を示す図である。
このバリエーション1,2キー処理では、全フラグをローレベル“0”にクリアしてからバリエーションフラグVARI1又はVARI2にハイレベル“1”をセットしてリターンする。
これによって、カレントパターンの読み出しが小節線まで進んだときに、バリエーションパターン(図3の形容詞シーケンス)が読み出されるようになる。
【0087】
図10(C)は鍵盤1AのノートナンバF#2に対応したリプレースキーが操作され、ノートナンバF#2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるリプレースキー処理を示す図である。
このリプレースキー処理では、全フラグをローレベル“0”にクリアしてからリプレースフラグREPLACEにハイレベル“1”をセットしてリターンする。
これによって、このリプレースキーを押しつづけている間にドラムパターンエリアのキーを操作すると、図11(D)の処理が実行され、対応するドラム音が操作タイミングの位置に入力されるようになる。このとき、前の対応ドラム音は消去される。
【0088】
図10(D)は鍵盤1AのノートナンバG#2に対応したインサートキーが操作され、ノートナンバG#2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるインサートキー処理を示す図である。
このインサートキー処理では、全フラグをローレベル“0”にクリアしてからインサートフラグINSERTにハイレベル“1”をセットしてリターンする。これによって、このインサートキーを押しつづけている間にドラムパターンエリアのキーを操作すると、対応するドラム音がその操作タイミングの位置に入力されるようになる。このとき、前のドラム音は消去されることなく新たなドラム音が追加される。
【0089】
図10(E)は鍵盤1AのノートナンバA#2に対応したクォンタイズキーが操作され、ノートナンバA#2を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるクォンタイズキー処理を示す図である。
このクォンタイズキー処理では、全フラグをローレベル“0”にクリアし、その時のベロシティデータの大きさに応じてクォンタイズの分解能を決定し、クォンタイズフラグQUANTにハイレベル“1”をセットしてリターンする。
これによって、カレントパターンの読み出しが小節線まで達したとき、次の小節線以降のリズムパターンを読み出す際に、データそのものは書き替えずに読み出すタイミングのみをクォンタイズ処理して読み出す。このような処理を読み出しクォンタイズ処理という。
【0090】
図10(F)は鍵盤1AのノートナンバC#3に対応したデリートドラムキーが操作され、ノートナンバC#3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるデリートドラムキー処理を示す図である。
このデリートドラムキー処理では、全フラグをローレベル“0”にクリアしてからデリートドラムフラグDELDRUMにハイレベル“1”をセットしてリターンする。
これによって、例えばその後にノートナンバC4のノートオンメッセージが検出されたら、ノートナンバC4に対応するドラム音をカレントパターンの中から削除する。
【0091】
図11(A)は鍵盤1AのノートナンバD#3に対応したデリートコンポーネントキーが操作され、ノートナンバD#3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるデリートコンポーネントキー処理を示す図である。
このデリートコンポーネントキー処理では、全フラグをローレベル“0”にクリアしてからデリートコンポネントフラグDELCOMPにハイレベル“1”をセットしてリターンする。
これによって、例えばその後にノートナンバC4のノートオンメッセージが検出されたら、ノートナンバC4が含まれるコンポーネントのドラム音が全てカレントパターンから削除される。
【0092】
図11(B)は鍵盤1AのノートナンバF#3に対応したアクセントキーが操作され、ノートナンバF#3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるアクセントキー処理を示す図である。
このアクセントキー処理では、全フラグをローレベル“0”にクリアしてからアクセントフラグACCENTにハイレベル“1”をセットしてリターンする。これによって、例えばその後にノートナンバC4のノートオンメッセージが検出され、対応するノートナンバC4のノートオフメッセージが検出されるまでの間にそのノートナンバと同一のノートイベントがカレントパターンから読み出されたときは、そのノートイベントのベロシティがC4のノートオンベロシティに書き替えられる。
【0093】
図11(C)は鍵盤1AのノートナンバG#3に対応したフィルインキーが操作され、ノートナンバG#3を含むMIDIメッセージが電子楽器1Fから受信された場合に行われるフィルインキー処理を示す図である。
このフィルインキー処理では、まず全フラグをローレベル“0”にクリアしてからカレントパターンメモリ1内のカレントパターンを退避メモリ4に一時的に退避させる。そして、データベース手段5の対応するバンクA,B,Cのフィルインパターンをカレントパターンメモリ1にコピーし、その読み出し位置(現在の小節内のタイミングに対応するパターン上のデータ)をサーチしてからフィルインフラグFILLにハイレベル“1”をセットしてリターンする。
これによって、ノートナンバG#3に対応したフィルインキーが操作された時点からその小節の最後までフィルインパターンが演奏されるようになる。
【0094】
図11(D)は鍵盤1AのノートナンバA3〜E5に対応したドラムパターンエリアのキーが操作され、ノートナンバA3〜E5を含むMIDIメッセージを電子楽器1Fから受信した場合に行われるドラムキー処理を示す図である。
このドラムキー処理では、まずロックフラグLOCK以外のフラグ(リプレースフラグREPLACE、インサートフラグINSERT、デリートドラムフラグDELDRUM及びデリートコンポーネントフラグDELCOMP)のいずれかがハイレベル“1”かどうかを判定し、その判定結果に応じた処理を行う。
【0095】
すなわち、ノートナンバがA3〜E5のいずれかであれば、それはドラム音(単音)の指定又はコンポーネントの指定である。従って、ロックフラグLOCK以外のいずれかのフラグがハイレベル“1”(YES)だと判定された場合は、そのハイレベル“1”にセットされているフラグに対応したフラグ対応処理1を実行してリターンする。このフラグ対応処理1の詳細は、図12に示されている。
【0096】
一方、ロックフラグLOCK以外のいずれのフラグもハイレベル“1”でない(NO)と判定された場合は、押鍵されたキー(ノートナンバ)に対応したコンポーネントの音(一部についてはドラム音)をカレントパターンから削除して退避メモリ4に一時的に退避させる。そして、押鍵されたキー(ノートナンバ)、ベロシティデータ、ジャンルに対応したコンポーネント(ドラム)のリズムパターンをパターンテーブル63を参照して選択し、選択されたコンポーネントのリズムパターンをデータベース手段5から読み出してカレントパターンに追加する。
選択されたリズムパターンの複雑度を図5のようにディスプレイ29に表示する。
【0097】
これによって、ノートナンバA3〜E5に対応するキーを押鍵するだけで、ノートナンバに対応するコンポーネントのリズムパターンを、ベロシティデータの大きさに応じて選択して、追加することができる。なお、パターンテーブル63は、図4に示したようにベロシティの値すなわちアドレスが大きいほど、より複雑なパターンとなるように、リズムパターンの先頭アドレスを順番に記憶しているので、リズムパターンの種類をより細かく選択することができる。
【0098】
図12は、図11(D)のフラグ対応処理1の詳細を示す図である。
このフラグ対応処理1は、ロックフラグLOCK以外のリプレースフラグREPLACE、インサートフラグINSERT、デリートドラムフラグDELDRUM及びデリートコンポーネントフラグDELCOMPのいずれかがハイレベル“1”の場合に行われる処理である。
【0099】
図12(A)は鍵盤1AのノートナンバF#2に対応したリプレースキーが押されている状態でドラムパターンエリアのキーが操作されることによって実行されるリプレース処理を示す図である。すなわち、リプレースキーが押されている間は、図10(C)のリプレースキー処理によってリプレースフラグREPLACEにハイレベル“1”がセットされるので、図11(D)のドラムキー処理でロックフラグLOCK以外のリプレースフラグREPLACEがハイレベル“1”だと判定され、リプレース処理が行われる。
このリプレース処理では、ノートナンバに対応するドラム音をベロシティデータと共にカレントパターンに追加する。そして、押されたドラム音のデリートフラグにハイレベル“1”をセットして図11(D)のドラムキー処理にリターンする。デリートフラグにハイレベル“1”のセットされたドラム音は、図15のステップ54でカレントパターンから削除される。
【0100】
図12(B)は鍵盤1AのノートナンバG#2に対応したインサートキーが押されている状態でドラムパターンエリアのキーが操作されることによって実行されるインサート処理を示す図である。すなわち、インサートキーが押されている間は、図10(D)のインサートキー処理によってインサートフラグINSERTにハイレベル“1”がセットされるので、図11(D)のドラムキー処理でロックフラグLOCK以外のインサートフラグREPLACEがハイレベル“1”だと判定され、インサート処理が行われる。
このインサート処理では、ノートナンバに対応するドラム音をベロシティデータと共にカレントパターンに追加して図11(D)のドラムキー処理にリターンする。
【0101】
図12(C)は鍵盤1AのノートナンバC#3に対応したデリートドラムキーが押されている状態でドラムパターンエリアのキーが操作されることによって実行されるデリートドラム処理を示す図である。すなわち、デリートドラムキーが押されている間は、図10(F)のデリートドラムキー処理によってデリートドラムフラグDELDRUMにハイレベル“1”がセットされるので、図11(D)のドラムキー処理でロックフラグLOCK以外のデリートドラムフラグDELDRUMがハイレベル“1”だと判定され、デリートドラム処理が行われる。
このデリートドラム処理では、押されたドラム音のデリートフラグにハイレベル“1”をセットして図11(D)のドラムキー処理にリターンする。デリートフラグにハイレベル“1”のセットされたドラム音は、図15のステップ54でカレントパターンから削除される。
【0102】
図12(D)は鍵盤1AのノートナンバD#3に対応したデリートコンポーネントキーが押されている状態でドラムパターンエリアのキーが操作されることによって実行されるデリートコンポーネント処理を示す図である。すなわち、デリートコンポーネントキーが押されている間は、図11(A)のデリートコンポーネントキー処理によってデリートコンポーネントフラグDELCOMPにハイレベル“1”がセットされるので、図11(D)のドラムキー処理でロックフラグLOCK以外のデリートコンポーネントフラグDELCOMPがハイレベル“1”だと判定され、デリートコンポーネント処理が行われる。
このデリートコンポーネント処理では、押されたドラム音を含むコンポーネントのデリートフラグにハイレベル“1”をセットして図11(D)のドラムキー処理にリターンする。デリートフラグにハイレベル“1”のセットされたコンポーネントを構成するドラム音は、図15のステップ54でカレントパターンから削除される。
【0103】
図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”にセットされたフラグをクリアする。
【0104】
図13(B)は鍵盤1AのノートナンバA3〜E5に対応したドラムパターンエリアのキーが離鍵され、ノートナンバA3〜E5のノートオフメッセージを含むMIDIメッセージを電子楽器1Fから受信した場合に行われるドラムキー処理を示す図である。
このドラムキー処理では、まずロックフラグLOCKがローレベル“0”かどうかを判定し、YESの場合には以下の処理を行い、NOの場合にはデータベース手段5から読出し中のリズムパターンを確定させるために、そのまま図8(A)のメインルーチンにリターンする。
ロックフラグLOCKがローレベル“0”の場合には、離鍵されたキーのノートナンバA3〜E5のドラム音(単音)又はコンポーネントの音をカレントパターンから削除し、図11(D)で退避していたコンポーネント(ドラム)の音をカレントパターンに戻す。
【0105】
図14は、4分音符当たり480回の割込みで実行されるタイマ割込処理を示す図である。このタイマ割込処理はカレントパターンメモリ1からカレントパターンを読み出す時のテンポに対応して処理される。すなわち、テンポに応じて割込み周期が変更される。この処理はつぎのようなステップで順番に実行される。
【0106】
ステップ31:走行状態フラグRUNがハイレベル“1”かどうかを判定し、ハイレベル“1”(YES)の場合には次のステップ32に進み、そうでない(NO)場合はリターンする。
ステップ32:タイミングデータを格納してあるタイムレジスタTIMEの値が『0』かどうか、すなわち次のノートイベントまでの時間が経過したか否かを判定し、『0』(YES)の場合は時間が経過しているので、次のステップ33に進み、そうでない(NO)場合は時間がまだ経過していないので、ステップ40に進む。
【0107】
ステップ33:前のステップ32で次のノートイベントまでの時間が経過したと判定されたので、ここではそのタイミングに対応するイベントデータを読み出す。
ステップ34:前のステップ33で読み出されたイベントデータがエンドデータかどうかを判定し、エンドデータの場合にはステップ39に進み、それ以外のデータの場合にはステップ35に進む。
【0108】
ステップ35:前のステップ33で読み出されたイベントデータがエンドデータ以外のデータだと判定されたので、そのデータに対応したMIDIノートイベント(MIDIメッセージ)をMIDIインターフェイス2C及び1Dを介して電子楽器1Fに出力する。このMIDIノートイベント出力の詳細については後述する。
ステップ36:前のステップ33で読み出されたイベントデータの次のデータを読み出す。
【0109】
ステップ37:前のステップ36で読み出されたデータがタイミングデータかどうかを判定し、YESの場合は次のステップ38に進み、NOの場合はステップ34にリターンする。従って、前のステップ36で読み出されたデータがエンドデータの場合には、ステップ34でYESと判定され、ステップ39の処理が行われ、イベントデータの場合にはステップ35,36の処理が行われる。
【0110】
ステップ38:読み出されたタイミングデータをタイムレジスタTIMEにセットする。
ステップ39:前のステップ34でエンドデータと判定されたので、ここではリズムパターンの最初のタイミングデータをタイムレジスタTIMEにセットしてステップ41に進む。
ステップ40:前のステップ32でまだ時間が経過していないと判定されたので、ここではタイムレジスタTIMEの値を1だけデクリメント処理してステップ41に進む。
【0111】
ステップ41:タイムレジスタTIMEの格納値が小節線のタイミングかどうかを判定し、小節線のタイミングの場合(YES)は次のステップ42に進み、そうでない(NO)場合はリターンする。
ステップ42:いずれかのフラグがハイレベル“1”かどうかを判定し、ハイレベル“1”のフラグがあれば(YES)ステップ43に進み、そうでなければリターンする。
ステップ43:前のステップ42でハイレベル“1”のフラグ有りと判定されたので、ここではそのハイレベル“1”のフラグに対応したフラグ対応処理2を行ってからリターンする。このフラグ対応処理2の詳細は図16に示されている。
【0112】
図15は、図14のステップ35のMIDIノートイベント出力処理の詳細を示す図である。
このMIDIノートイベント出力処理は、アクセントフラグACCENT、デリートドラムフラグDELDRUM又はデリートコンポーネントフラグDELCOMPのいずれかがハイレベル“1”の場合には、そのフラグに対応した処理を行い、そうでない場合にはカレントパターンメモリ1のリズムパターンに応じたノートイベントの出力処理を行う。この処理はつぎのようなステップで順番に実行される。
【0113】
ステップ51:鍵盤1AのノートナンバF#3に対応したアクセントキーが押鍵されてアクセントフラグACCENTにハイレベル“1”がセットされているかどうかを判定し、セットされている(YES)場合は次のステップ52に進み、そうでない(NO)場合はステップ53に進む。
ステップ52:読み出されたノートイベントのノートナンバが、受信したノートイベントの(そのときノートオンされている)ノートナンバに対応すれば、読み出しノートイベントのベロシティを受信したノートオンメッセージのベロシティに差し替える。
【0114】
ステップ53:鍵盤1AのノートナンバC#3に対応したデリートドラムキーが押鍵され、いずれかのドラム音のデリートドラムフラグDELDRUMにハイレベル“1”がセットされているかどうかを判定し、セットされている(YES)場合は次のステップ54に進み、そうでない(NO)場合はステップ55に進む。
ステップ54:受信したノートナンバに対応したドラム音のイベントがカレントパタンーメモリ1から読み出されたイベント中に存在する場合はそれを読み出されたカレントパターンのイベント中から削除する。
【0115】
ステップ55:鍵盤1AのノートナンバD#3に対応したデリートコンポーネントキーが押鍵され、いずれかのコンポーネントのデリートコンポーネントフラグDELCOMPにハイレベル“1”がセットされているかどうかを判定し、セットされている(YES)場合は次のステップ56に進み、そうでない(NO)場合はステップ59に進む。
ステップ56:受信したノートナンバに対応したコンポーネントを構成するドラム音のイベントがカレントパタンーメモリ1から読み出されたイベント中に存在する場合はそのコンポーネントを構成するドラム音全てを読み出されたカレントパターンのイベント中から削除する。
【0116】
ステップ57:前のステップ54又は56でドラム音が削除された結果、読み出されたカレントパターンのイベント内に残ったイベントが有るかどうかを判定し、残ったイベントが有る場合(YES)にはステップ58に進み、そうでない(NO)場合はリターンして図14のステップ36に進む。
ステップ58:ステップ52でアクセント処理されたノートイベント、ステップ54で削除された結果残ったノートイベント又はステップ52,54,56の処理を経なかったノートイベントをMIDIインターフェイス2C,1Dを介して電子楽器1Fに出力する。
【0117】
図16は、図14のステップ43のフラグ対応処理2の詳細を示す図である。
このフラグ対応処理2は、アンドゥフラグUNDO、フィルインフラグFILL、バリエーションフラグVARI1,VARI2及びトランスフォーマーフラグTRANSのいずれかがハイレベル“1”の場合に行われる処理である。
【0118】
図16(A)は鍵盤1AのノートナンバB2に対応したアンドゥキーが押鍵されることによってアンドゥフラグUNDOにハイレベル“1”がセットされている場合(UNDO=1)に行われるアンドゥ処理を示す図である。
このアンドゥ処理では、アンドゥバッファ3に格納されているリズムパターンの1つ前のパターンを読み出し、カレントパターンメモリ1内にカレントパターンとして転送する。そして、アンドゥフラグUNDOをローレベル“0”にクリアする。
【0119】
図16(B)は鍵盤1AのノートナンバG#3に対応したフィルインキーが押鍵されることによってフィルインフラグFILLにハイレベル“1”がセットされている場合(FILL=1)に行われるフィルイン復帰処理を示す図である。このフィルイン復帰処理では、退避メモリ4に退避していたリズムパターンを読み出し、カレントパターンメモリ1内にカレントパターンとしてコピーする。そして、フィルインフラグFILLをローレベル“0”にクリアする。
【0120】
図16(C)は鍵盤1AのノートナンバD#2又はC#2に対応したバリエーションキーが押鍵されることによってバリエーションフラグVARI1,VARI2にハイレベル“1”がセットされている場合(VARI1又はVARI2=1)に行われるバリエーション処理を示す図である。
このバリエーション処理では、バリエーションの指示中なので、図3のバリエーションシーケンスから次(又は先頭)の形容詞を読み出してトランスフォーマー9に指示する。例えば、バリエーションシーケンスが4小節分存在する場合には、1回この処理を実行する毎に形容詞を1つずつ読み出し、4回分の読み出しが終了するまで繰り返す。そして、4回分終了した時には、バリエーションフラグVARI1又はVARI2をローレベル“0”にクリアする。
【0121】
図16(D)は鍵盤1AのノートナンバD2,E2,F2,G2,A2に対応したトランスフォーマーキーが押鍵されることによってトランスフォーマーフラグTRANSにハイレベル“1”がセットされている場合(TRANS=1)に行われるトランスフォーマー処理を示す図である。
このトランスフォーマー処理では、アンドゥバッファ3にカレントパターンメモリ1のカレントパターンをコピーし、指示されている形容詞に応じてカレントパターンの内容を変更する演算を行う。この演算の内容については後述する。そして、トランスフォーマーフラグTRANSをローレベル“0”にクリアする。
【0122】
図17は、パソコン20のCPU21が行う図8の「その他の処理」の中の「パターン登録処理」の詳細を示す図である。この「パターン登録処理」は、カレントパターンメモリ1内の新たなリズムパターンデータをデータベース手段5に登録する際に、そのリズムパターンデータの複雑度を求め、その複雑度がパターンテーブル63のどのレベルに位置するのかを判定し、そのレベル位置に登録して、パターンテーブル63の書換えを行う処理である。この処理はつぎのようなステップで順番に実行される。
【0123】
ステップ71:新規に登録するリズムパターンの複雑度を求め、その複雑度を新規登録複雑度レジスタCOMP(N)に格納する。
ステップ72:図1のパターンテーブル63からアドレスレジスタAD=1のリズムパターンの複雑度を読み出し、その複雑度を既登録複雑度レジスタCOMP(D)に格納する。このアドレスレジスタADは図4のパターンテーブル上のアドレスを格納するものである。
【0124】
ステップ73:新規登録複雑度レジスタCOMP(N)の複雑度が既登録複雑度レジスタCOMP(D)の複雑度よりも小さいかどうかを判定し、小さい(YES)場合にはステップ76に進み、同じか大きい(NO)場合にはステップ74に進む。
ステップ74:アドレスレジスタADを1だけインクリメント処理する。
ステップ75:パターンテーブル63からアドレスレジスタADのアドレスに記録されているリズムパターンの複雑度を読み出し、その複雑度を既登録複雑度レジスタCOMP(D)に格納し、ステップ73にリターンする。
すなわち、ステップ73〜75は、新規登録されるリズムパターンの複雑度が現在のパターンテーブル63上でどのアドレスに対応するのかを検出する。
【0125】
ステップ76:前のステップ73で新規登録複雑度レジスタCOMP(N)の複雑度が既登録複雑度レジスタCOMP(D)の複雑度よりも小さいと判定されたので、ここでは、アドレスレジスタADのアドレス以降のリズムパターンの先頭アドレスを1アドレスずつ後ろにずらして記録する。
ステップ77:新規登録リズムパターンの先頭アドレスと、その複雑度をアドレスレジスタADのアドレスの位置に登録する。
【0126】
図18〜図20はトランスフォーマー処理によってカレントパターンの内容を変更する演算処理の一例を示す図である。
図18〜図20に示されたトランスフォーマー処理は、カレントパターン内の変更対象となるリズムパターンをサーチテンプレート(Search−template)に基づいてサーチし、それをリプレーステンプレート(Replace−template)に基づいて所定のリズムパターンに変更して置き替えている。具体的には、サーチテンプレートに対応したリズムパターンをリプレーステンプレートの3連音符系のリズムパターンに置き替えている。
【0127】
図において、サーチテンプレートのデータフォーマットは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連音符系のリズムパターンを示す。
【0128】
図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)に該当するようなリズムパターンであれば、変更対象となり、リプレースデータに置き替えられる。
【0129】
リプレーステンプレートのリプレースデータ(0 160 320)は、置き替えられるリズムパターンを示す。
ベロシティー選択データはリプレースデータのベロシティーとしてサーチデータのどの音符のものを用いるかを示す。すなわち、ベロシティー選択データの『0』はサーチデータの第1番目のデータ(8分音符)のベロシティーを示し、『1』はサーチデータの第2番目のデータ(第1番目の16分音符)のベロシティーを示し、『2』はサーチデータの第3番目のデータ(第2番目の16分音符)のベロシティーを示す。そして、ベロシティー選択データのそれぞれの順番はリプレースデータの順番に対応している。
【0130】
すなわち、ベロシティー選択データ(001)の場合には、サーチデータの第1番目のデータ(8分音符)のベロシティーがリプレースデータの第1及び第2番目のデータ(3連音符の第1及び第2番目の音符)に置き替わり、サーチデータの第2番目のデータ(16分音符)のベロシティーがリプレースデータの第3番目のデータ(3連音符の第3番目の音符)に置き替わることとなる。
【0131】
ドラム音選択データはリプレースデータのドラム音としてサーチデータのどの音符のものを用いるかを示す。すなわち、ドラム音選択データの『0』はサーチデータの第1番目のデータ(8分音符)のドラム音を示し、『1』はサーチデータの第2番目のデータ(第1番目の16分音符)のドラム音を示し、『2』はサーチデータの第3番目のデータ(第2番目の16分音符)のドラム音を示す。そして、ドラム音選択データのそれぞれの順番はリプレースデータの順番に対応している。
【0132】
すなわち、ドラム音選択データ(011)の場合には、サーチデータの第1番目のデータ(8分音符)のドラム音がリプレースデータの第1番目のデータ(3連音符の第1番目の音符)のドラム音に置き替わり、サーチデータの第2番目のデータ(16分音符)のドラム音がリプレースデータの第2及び第3番目のデータ(3連音符の第2及び第3番目の音符)のドラム音に置き替わることを示す。
【0133】
図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連音符のリズムパターンになる。
【0134】
図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 240 360)に対応するリズムパターンが存在する。ところが、図19(A)では、サーチテンプレートのオフセットデータが(0 480 1440)であり、図18の場合のオフセットデータから『960』が削除された状態となっている。従って、この場合は、図19(B)のようにサーチデータ(0 240 360)に対応する第3番目のリズムパターンだけがリプレースデータ(0 160 320)の3連音符に置き替えられることなく、元の(0 240 360)のリズムパターンを維持することとなる。
【0135】
図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連音符に置き替えられ、これ以外は元のリズムパターンを維持している。
【0136】
図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連音符のリズムパターンになる。
【0137】
このとき、ドラム音選択データは(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連音符に置き替わる部分に矢印で示した。
【0138】
図20(C)及び図20(D)において、サーチテンプレートは((0 480 960 1440)(0 240 360 480)(20 20 20 20))であり、前述の場合と同じであるが、リプレーステンプレートは((0160 320)(001)(***))であり、ドラム音選択データだけが前回の場合と異なっている。この場合、ドラム音選択データが異なるだけであり、図20(C)のリズムパターンは前述のトランスフォーマー処理の場合と同様に図20(D)のような3連音符のリズムパターンに置き替わる。
【0139】
このとき、ドラム音選択データの(***)は、(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番目の音符)のドラム音に置き替わる。
【0140】
第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連音符に置き替わる部分に矢印で示した。
【0141】
図21は、図2のディスプレイ29の表示画面の表示例を示す図である。
バンク表示部29Aは、現在のバンクがハードディスク装置24のどのバンクであるかを示すものである。図では、現在のバンクはバンクAであることを示している。
このバンク表示部29Aの下には、現在のカレントパターンの状態を示す部分がある。
この部分は、ドラム音名表示部29Bと、現発音表示部29Cと、カレントパターン表示部29Dと、現在位置表示部29Eとから構成される。
ドラム音名表示部29Bには、鍵盤1Aに対応したドラム音名が表示されている。
現発音表示部29Cは、各ドラム音の右側に設けられた円形状の点灯部で構成され、現在発音中のドラム音に対応する点灯部のみが点灯するようになっている。
カレントパターン表示部29Dは、1小節分のリズムパターンを正方形状の点灯部で表示するようになっている。図では、バスドラム、スネアドラム及びハイハットのクローズドのリズムパターンがそれぞれ表示されている。
現在位置表示部29Eは、1小節中の現在発音中の位置を示すものである。
【0142】
このような表示をすることによって、発音されるドラム音や現在のカレントパターンの内容を一目で認識することができる。また、このカレントパターンが変形された場合でもその変形内容を簡単に把握できる。この場合には、変形前のパターンと変形後のパターンとを同時に表示するようにすればよい。さらに、図5のような複雑度を同時に表示してもよい。
【0143】
なお、上述の実施例では、リズム伴奏を例に説明したが、これに限らず、ベースやコードバッキング等の伴奏に本発明を適用してもよい。例えば、データベースに多数のベースパターンと、多数のバッキングパターンを記憶させておき、操作子の操作によって、各パート毎にいずれかのパターンを選択するようにすればよい。すなわち、ベースパート、パッキングパート1、2、3、・・・(各バッキングパートは音色が異なる)のそれぞれの操作子を設け、ベースパートの操作子を操作したらデータベースからベースパターンのいずれかを選択し、パッキングパート1の操作子を操作したらデータベースからバッキングパターンのいずれかを選択するといった具合にすればよい。
【0144】
また、上述の実施例では、フラグ対応処理2(アンドゥ処理、フィルイン処理、バリエーション処理、トランスフォーマー処理)を小節線までの演奏が終了した時点で実行する場合について説明したが、これら各処理に対応するキーが操作された時点で直ちにその処理を実行するようにしてもよい。
【0145】
図15のステップ52のアクセント処理では、ノートオンされているノートナンバに対応するベロシティをそのままノートオンベロシティに差し替えて、アクセントとしているが、上述のサーチテンプレートやリプレーステンプレートのようなアクセントテンプレート(例えば、タイミング毎にどれくらいのベロシティに差し替えるかを示したパターン)を複数容易しておき、これらをノートオンされているノートナンバに対応するベロシティによって選択し、選択されたアクセントテンプレートのベロシティをノートオンベロシティに差し替えるようにしてもよい。
【0146】
上述の実施例では、鍵盤楽器の鍵盤を各種機能の割当てキーとして使用したが、パソコン側のディスプレイ上にスイッチを表示させ、そのスイッチを指定することによって各種機能を指定するようにしてもよい。また、鍵盤以外にもドラムパッドのようなものを用いてもよいし、単なるスイッチでもよい。さらに、上述の実施例では、全ての機能を鍵盤で指定する場合について説明したが、ロック機能はフットスイッチに割り当てる等のようにして他の操作子と組合せて各種機能を指定するようにしてもよい。
【0147】
また、実施例では、電子楽器とパソコンとをMIDI回線で接続して自動伴奏装置を構成したが、単体の電子楽器に適用してもよい。
上述の実施例では、トランスフォーマーの形容詞を指定するときに、1つのキーに対して2種類の形容詞を割当て、それをベロシティの値に応じて切り換えるようにしたが、形容詞による変形の度合いをベロシティの値に応じて段階的に切り換えるようにしてもよい。また、1つのキーに対して1つの形容詞を割り当ててもよい。
【0148】
上述の実施例では、形容詞のシーケンスデータとして4小節分を割当て、この4小節の演奏が終了した形容詞のシーケンスも終了するが、シーケンス読出終了の指示がない場合には、その4小節分のシーケンスデータを繰り返し実行するようにしてもよい。また、シーケンスデータは4小節分に限定されず、何小節分でもよいことはいうまでもない。さらに、形容詞の指定は小節線のタイミングでなくてもよい。
【0149】
また、トランスフォーマーによりリズムパターンを変形させる際に、現在のリズムパターンの内容に応じて異なる変形処理を施すようにしてもよい。例えば、トランスフォーマーによってドラム音を追加する、あるいは差し替えるような変形のとき、現在のリズムパターンがどのようなパターンであるか判断し、16ビート系のリズムパターンである場合と、8ビート系である場合とで、追加するドラム音や差し替えるパターンを異ならせるようにしてもよい。
【0150】
【発明の効果】
以上のようにこの発明によれば、変更操作が簡単かつ容易に行えるという効果がある。
【図面の簡単な説明】
【図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のディスプレイの表示画面の表示例を示す図である。
【符号の説明】
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…バス。
[0001]
[Industrial applications]
The present invention relates to an automatic accompaniment apparatus applicable to automatic rhythm performance and other automatic accompaniment, and more particularly to an apparatus that facilitates creation and change of an accompaniment pattern.
[0002]
[Prior art]
A typical example of a conventional automatic accompaniment device for obtaining an automatic accompaniment pattern desired by a user is a method in which a plurality of accompaniment patterns are stored in a memory in advance and any one of them is selected. However, this method has a disadvantage that the selectable patterns are limited. That is, in an automatic accompaniment device of a type in which any one of pre-stored accompaniment patterns is selected, the number of memorable accompaniment patterns is limited, so that the user selects the closest accompaniment pattern that the user wants. And often cannot get the accompaniment pattern the user really wants.
[0003]
On the other hand, as a method of allowing the user to freely create an automatic accompaniment pattern according to the wishes of the user, the user can play the keyboard of an electronic musical instrument or the like arbitrarily to play the desired accompaniment pattern. Create and store this in memory. By reading and reproducing the accompaniment pattern stored in the memory in this way, automatic accompaniment can be performed.
In order to relatively easily create a rhythm performance pattern, a plurality of patterns are stored in advance for each percussion instrument sound source, and a desired one pattern is selected for each percussion instrument sound source. The desired rhythm performance pattern is obtained as a whole by the combination of.
[0004]
[Problems to be solved by the invention]
The former method of playing by hand has a problem that an appropriate accompaniment pattern cannot be created unless the user himself has knowledge of music and performance techniques. However, even if it has the above, it takes much time and effort to create the accompaniment pattern itself, making it extremely difficult to create a desired accompaniment pattern.
When using the latter pattern, the operation of selecting the percussion instrument sound source and the operation of selecting the desired pattern must be performed separately, and the operability is poor. There were problems to be solved, such as limitations on pattern variations. Further, since it is only possible to select from the patterns stored in the memory, it is impossible to freely create an accompaniment pattern.
SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and provides an automatic accompaniment apparatus that enables easy creation and change of an accompaniment pattern and enables easy creation and change of a complicated pattern. What you are trying to do.
[0005]
[Means for Solving the Problems]
In order to achieve this object, the automatic accompaniment apparatus according to the first invention includes a plurality of components for accompaniment performance each including a set of one or more musical instrument parts for accompaniment performance. Multiple selection candidates Accompaniment pattern storage means for storing accompaniment patterns Wherein the plurality of accompaniment patterns serving as the selection candidates have an arrangement order according to a predetermined rule. And for each component Any one of the plurality of accompaniment patterns as the selection candidates A selection operator for selection, and the accompaniment pattern storage means for each component according to the operation of the selection operator. chosen Reading means for reading an accompaniment pattern, comprising: touch And in the accompaniment pattern The order and Is supported, and the operation of the operated operator is touch Corresponding to Sort order One for selecting and reading an accompaniment pattern, an accompaniment sound generating means for generating an automatic accompaniment sound based on the accompaniment pattern read by the reading means, and writing for newly writing an arbitrary accompaniment pattern to the accompaniment pattern storage means. Means for writing a new accompaniment pattern according to the predetermined rule. As an accompaniment pattern in the following order And a device for writing.
[0006]
In order to achieve this object, the automatic accompaniment apparatus according to the second invention includes a plurality of components for accompaniment performance each including a set of one or more musical instrument parts for accompaniment performance. Multiple selection candidates Accompaniment pattern storage means for storing accompaniment patterns Wherein the plurality of accompaniment patterns serving as the selection candidates have an arrangement order according to a predetermined rule. And for each component Any one of the plurality of accompaniment patterns as the selection candidates A selection operator for selecting, and reading means for reading out the accompaniment pattern for each component from the accompaniment pattern storage means in response to an operation of the selection operator, comprising: touch And in the accompaniment pattern The order and Is supported, and the operation of the operated operator is touch Corresponding to Sort order Selecting and reading an accompaniment pattern, an accompaniment sound generating means for generating an automatic accompaniment sound based on the accompaniment pattern read by the reading means, and an accompaniment pattern read by the reading means of Said prescribed rules Order according to And display means for displaying information representing
[0007]
In order to achieve this object, the automatic accompaniment device according to the third invention has a plurality of accompaniment genres. Come For each of a plurality of components for an accompaniment performance comprising a set of parts of one or more instruments for an accompaniment performance, Multiple selection candidates An accompaniment pattern storage unit that stores an accompaniment pattern, The plurality of accompaniment patterns serving as the selection candidates have an arrangement order according to a predetermined rule, and Specific accompaniment patterns include those that are commonly used in multiple genres, and Any of a plurality of accompaniment patterns that are selection candidates And a reading means for reading out the accompaniment pattern for each component from the accompaniment pattern storage means in response to the operation of the selection operation element. touch And in the accompaniment pattern The order and Is supported, and the operation of the operated operator is touch Corresponding to Sort order It is provided with a device for selecting and reading an accompaniment pattern and an accompaniment sound generating means for generating an automatic accompaniment sound based on the accompaniment pattern read by the reading means.
[0008]
[Action]
Each component consists of a set of one or more musical instrument parts for accompaniment performance, for example, a plurality of related musical instrument parts (such as a snare drum and a bass drum, or a ride cymbal and a hi-hat). Each may be classified as a common component. The user can specify a desired component by operating the operation element, and can select any accompaniment pattern in the component depending on the intensity of a touch applied to the operation element at the time of operation. The selected accompaniment pattern is read from the database (accompaniment pattern storage means). Therefore, the automatic accompaniment device generates an automatic accompaniment sound based on the accompaniment pattern.
The accompaniment pattern selected corresponding to one component is an accompaniment pattern of a set of one or more musical instrument parts corresponding to the component. Therefore, the user can select a pattern for each component from a large number of accompaniment patterns prepared in the database in an optimal state, so that even if there is not much musical knowledge, the optimal accompaniment pattern can be selected. Can be selected, which is advantageous.
The automatic accompaniment device according to the first invention is a writing unit that writes a new arbitrary accompaniment pattern into the accompaniment pattern storage unit. As an accompaniment pattern in the following order It has something to write. Therefore, when an appropriate modification is made to the accompaniment pattern read from the accompaniment pattern storage unit, the writing unit writes the modified accompaniment pattern as a new accompaniment pattern in the database, so that the width of the pattern selection is limited. It becomes wider and more complicated patterns can be easily selected and set. In addition, the writing means converts the accompaniment pattern into a predetermined rule. As an accompaniment pattern in the following order Since the writing is performed, the reading means can operate the operating element even if a new accompaniment pattern is written without any special processing. touch These can be selectively read out as accompaniment patterns corresponding to.
The predetermined rule may correspond to the complexity of the accompaniment pattern. Other predetermined rules include the intensity of the accompaniment pattern, the goodness of the glue, and the like.
The accompaniment pattern storage unit includes an accompaniment pattern storage unit that stores a plurality of accompaniment patterns, and an arrangement order storage unit that stores arrangement order information for arranging the plurality of accompaniment patterns according to a predetermined rule. Refers to this arrangement order storage unit according to the operation of the operation element, and touch May be selected. In this case, when the writing means newly writes the accompaniment pattern into the accompaniment pattern storage means, the arrangement order storage section may be rewritten.
[0009]
The automatic accompaniment device according to the second invention provides an accompaniment pattern read by the reading means. The above Prescribed rules Order according to Display means for displaying information representing Here, the predetermined rules are the complexity, intensity, and goodness of the accompaniment pattern. Sana This is determined based on various factors such as the number of sounds included in the accompaniment pattern and the event occurrence state. Therefore, the user can use the predetermined rule displayed on the display means. Order according to , The complexity, intensity, and goodness of the read accompaniment pattern can be recognized simply by looking at the information representing. The information displayed by the display means may be indicated by numerical values or figures.
[0010]
In the automatic accompaniment apparatus according to the third invention, the accompaniment pattern storage means stores a plurality of accompaniment genres (for example, for each genre such as rock, disco, and waltz). Come For each of a plurality of components for an accompaniment performance comprising a set of parts of one or more instruments for an accompaniment performance, Multiple selection candidates Memorizing accompaniment patterns, The plurality of accompaniment patterns serving as the selection candidates have an arrangement order according to a predetermined rule, and The specific accompaniment patterns are stored so as to include those commonly used in a plurality of genres. When an accompaniment pattern is formed for each music style (a plurality of genres), if a unique accompaniment pattern is provided for all genres, the data amount becomes enormous. It is stored so as to include those commonly used in a plurality of genres. For example, if the accompaniment pattern stored in the accompaniment pattern storage means can be commonly used for rock music and disco music, the accompaniment pattern is stored so as to include those commonly used for both rock music and disco music. . Thus, the same accompaniment pattern is shared by a plurality of genres for a specific accompaniment pattern, so that the data amount in the accompaniment pattern storage unit can be reduced.
[0011]
【Example】
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
FIG. 2 shows a detailed configuration of an electronic musical instrument 1F including a keyboard and a tone generator circuit, and a personal computer 20 for performing an accompaniment pattern editing process and a process of outputting data based on the accompaniment pattern to the electronic musical instrument 1F, and a connection relationship between the two. It is a hardware block diagram.
First, the configuration of the electronic musical instrument 1F will be described.
A microprocessor unit (CPU) 11 controls the operation of the electronic musical instrument 1F. A ROM 12, a RAM 13, a key press detection circuit 14, a switch detection circuit 15, a display circuit 16, a sound source circuit 17, a sound system 18, a timer 19, and a MIDI interface (I / F) 1D are provided to the CPU 11 via a bus 1E. Each is connected.
[0012]
In this embodiment, an electronic musical instrument in which the CPU 11 performs a key press detection process, a transmission / reception process of performance data (note data), a sound generation process, and the like will be described. However, a module including the key press detection circuit 14 and a module including the tone generator 17 are included. The present invention can be similarly applied to those which are separately configured and configured to transmit and receive data between the modules using the MIDI interface.
The ROM 12 stores various programs and various data of the CPU 11, and is constituted by a read-only memory (ROM).
The RAM 13 temporarily stores performance information and various data generated when the CPU 11 executes a program, and is assigned a predetermined address area of a random access memory (RAM), and is used as a register and a flag. You.
[0013]
The keyboard 1A is provided with a plurality of keys for selecting the pitch of a musical tone to be produced, has a key switch corresponding to each key, and has a key pressing speed detecting device and a key pressing speed as required. It has touch detection means such as a pressure detection device. The keyboard 1A is a basic operator for music performance, and it goes without saying that other performance operators, such as a drum pad, may be used.
[0014]
The key press detection circuit 14 is configured to include a circuit including a plurality of key switches provided corresponding to the respective keys of the keyboard 1A for designating the pitch of a musical tone to be generated. When the key is released, key-on event information is output. When the key is newly released, key-off event information is output. In addition, a process of generating touch data by determining a key pressing operation speed or pressing force at the time of key pressing is performed, and the generated touch data is output as velocity data. As described above, the key-on / key-off event information and the velocity information are expressed in the MIDI standard, and include data indicating a key code and an assigned channel.
[0015]
The panel switch 1B includes various operators for selecting, setting, and controlling a tone color, a volume, an effect, and the like. There are various types of panel switches, and details thereof are publicly known, and thus description thereof is omitted.
The switch detection circuit 15 detects the operation state of each operator of the panel switch 1B, and outputs switch information corresponding to the operation state to the CPU 11 via the bus 1E.
The display circuit 16 displays various information such as the control state of the CPU 11 and the contents of the setting data on the display unit 1C. The display unit 1C is configured by a liquid crystal display panel (LCD) or the like, and its display operation is controlled by the display circuit 16.
[0016]
The tone generator 17 is capable of simultaneously generating a tone signal on a plurality of channels, receives performance information (data conforming to MIDI standards) given via a bus 1E, and generates a tone signal based on the data. I do. As will be described later, the sound source circuit 17 of the electronic musical instrument 1F is configured to be able to generate tone signals of various drum sounds.
Any tone signal generation method may be used in the tone generator circuit 17. For example, a memory reading method for sequentially reading out musical tone waveform sample value data stored in a waveform memory according to address data that changes in accordance with the pitch of a musical tone to be generated, or a method in which the address data is used as phase angle parameter data at a predetermined frequency A known method such as an FM method for performing a modulation operation to obtain musical tone waveform sample value data, or an AM method for performing a predetermined amplitude modulation operation using the above address data as phase angle parameter data to obtain musical sound waveform sample value data. You may employ suitably.
[0017]
The tone signal generated from the tone generator 17 is generated via a sound system 18 including an amplifier and a speaker (not shown).
The timer 19 generates a clock pulse for counting a time interval, and the clock pulse is given as an interrupt command to the CPU 11, so that the CPU 11 executes various processes by an interrupt process.
[0018]
The MIDI interface (I / F) 1D connects between the bus 1E of the electronic musical instrument 1F and the MIDI interface (I / F) 2C of the personal computer 20, and the MIDI interface 2C connects between the bus 2D of the personal computer 20 and the MIDI interface 1D. Are connected. Accordingly, the bus 1E of the electronic musical instrument 19 and the bus 2D of the personal computer 20 are connected via the MIDI interfaces 1D and 2C, so that data exchange in accordance with the MIDI standard can be performed in both directions. Has become.
[0019]
Next, the configuration of the personal computer 20 will be described.
The microprocessor unit (CPU) 21 controls the operation of the personal computer 20. A ROM 22, a RAM 23, a hard disk drive 24, a display interface (I / F) 25, a mouse interface (MOUSE I / F) 26, a switch detection circuit 27, a timer 28, and a MIDI interface 2C are connected to the CPU 21 via a bus 2D. Each is connected.
[0020]
The ROM 22 stores various programs and various data of the CPU 21 and data such as various symbol characters and the like, and is configured by a read-only memory (ROM).
The RAM 23 temporarily stores various data generated when the CPU 21 executes the program, and is configured by a random access memory (RAM). In this embodiment, predetermined areas of the RAM 23 are allocated to a current pattern memory area, an assign memory area, an undo buffer area, a save memory area, and a pattern table area as shown in FIG.
[0021]
The current pattern memory area is an area for storing a rhythm pattern read during automatic accompaniment. The assignment memory area is an area for storing a rhythm pattern newly created by the edit processing or the transformer processing. The undo buffer area is an area for temporarily storing a rhythm pattern deformed by the transformer processing. The save memory area is an area for temporarily storing the current rhythm pattern of a component that has been previously stored when a fill-in is inserted and the current rhythm pattern of the component is read from a database. .
[0022]
The pattern table area is an area for storing the address of the rhythm pattern and the data indicating the complexity of the rhythm pattern stored in the database (the hard disk device 24) in the order of the smaller complexity as an address. That is, the pattern table area is an area for storing a pattern table for address conversion for converting the order address into an address on the database when the rhythm pattern is rearranged in the order of small complexity. Details of the pattern table will be described later.
[0023]
The hard disk device 24 is an external storage device of the personal computer 20, and has a storage capacity of several tens to several hundreds of megabytes (MB). In this embodiment, the hard disk device 24 is used as a database of rhythm patterns, and is divided into three banks A, B, and C in order to store patterns of different music styles (genres) as shown in FIG. ing.
[0024]
In this embodiment, a plurality of rhythm patterns dedicated to rock music corresponding to components of each drum sound are stored in bank A, and a plurality of rhythm patterns dedicated to disco music corresponding to components of each drum sound are stored in bank B. A plurality of rhythm patterns common to rock and disco music corresponding to components of each drum sound are stored in the bank C. The head address for specifying a plurality of rhythm patterns stored in each bank is sequentially changed from a simple one to a complex one in the above-mentioned pattern table area, and the order according to the degree of complexity is set as an address. It is remembered.
[0025]
For example, a component composed of a bass drum (BD) and a snare drum (SD) has a more complicated rhythm pattern according to the pattern number, such as BD + SD pattern 1, BD + SD pattern 2,. Similarly, the components composed of the high, middle, and low (TomH, TomM, TomL) of the tomtom have more complicated rhythm patterns according to the pattern numbers, such as TomH + TomM + TomL pattern 1, TomH + TomM + TomL pattern 2, and so on. .
[0026]
FIG. 4 is a diagram showing the contents of the address conversion pattern table stored in the pattern table area. In the figure, a rock music pattern table and a disco music pattern table are shown. The rock music pattern table includes head addresses A-1, A-2, A-3, C-1, A-4, and C-2 for specifying a plurality of rhythm patterns stored in banks A and C. ,..., An are stored as addresses in the order 1, 2, 3,..., N according to the degree of complexity (complexity) of the rhythm pattern. On the other hand, the disco music pattern table includes head addresses B-1, B-2, C-1, B-3, C-2, C for specifying a plurality of rhythm patterns stored in banks B and C. ,..., Bn are stored as addresses in the order 1, 2, 3,..., N according to the degree of complexity (complexity) of the rhythm pattern. .
[0027]
Here, the head address A, B or C indicates the type of bank in which the rhythm pattern is stored. That is, the head addresses A-1, A-2, A-3, A-4, and An indicate the addresses of the bank A, and the head addresses B-1, B-2, B-3, and Bn are the banks. B indicates the address of B, and head addresses C-1, C-2, and C-3 indicate the addresses of bank C.
[0028]
As the complexity, a value obtained by digitizing a rhythm pattern into a value of “0 to 100” according to a predetermined rule is used. As the predetermined rule, for example, the number of sounds included in the rhythm pattern, the number of timings at which note event data in the rhythm pattern exists, the number of sounds included in the first half of the rhythm pattern, and the number of sounds included in the second half of the rhythm pattern Difference, or the number of occurrences of an event at a certain timing (for example, the first beat, the third beat, the eight-minute back beat, etc.) is used as the complexity, or these rules are arbitrarily selected by the user and appropriately combined. And those that comprehensively judge these are defined as complexity. Further, the user may be allowed to arbitrarily rearrange the rhythm patterns.
[0029]
In the rock music pattern table, the address “1” indicates that the rhythm pattern dedicated to rock music with the lowest complexity “5” is stored at the head address “A-1” on the database. . Similarly, a rhythm pattern dedicated to rock music having a complexity of "7" is stored at address "2" at the head address "A-2" in the database, and a rock music of complexity "10" is stored at address "3". A dedicated rhythm pattern is at the head address “A-3” on the database, and an address “4” is a rhythm pattern common to rock and disco music with complexity “11” at the head address “C-1” on the database. At the address "5", a rhythm pattern dedicated to rock music having a complexity of "16" is at the head address "A-4" in the database, and at the address "6", a rhythm common to rock and disco music having a complexity of "20". The pattern is the head address “C-2” in the database, and the address “n” is the rhythm pattern dedicated to rock music of the highest complexity “95” in the database. Top address "A-n", indicating that it is respectively stored.
[0030]
In the pattern table for disco music, the address “1” indicates that the rhythm pattern dedicated to the disco music with the smallest complexity “10” is stored at the head address “B-1” in the database. I have. Similarly, at the address “2”, a rhythm pattern dedicated to the disco music having the complexity “14” is stored at the head address “B-2” in the database, and at the address “3”, the lock and the complexity “22” are stored. The rhythm pattern common to the disco music is at the head address “C-1” on the database, the address “4” is the rhythm pattern dedicated to the disco music with the complexity “25” at the head address “B-3” on the database, A rhythm pattern common to rock and disco music of complexity "26" is at address "5" at the top address "C-2" on the database, and an address "6" is common to rock and disco music at complexity "30". Rhythm pattern at the top address “C-3” on the database, and address “n” at the address “n”, the rhythm pattern dedicated to disco music with the highest complexity of “91”. Emissions indicates that the start address "B-n" in the database, are respectively stored.
[0031]
Since the rhythm pattern of the bank C is common to rock music and disco music, it exists in both the rock music pattern table and the disco music pattern table. For example, in the pattern table of FIG. 4, the rhythm patterns of the head addresses “C-1” and “C-2” exist in both the rock music pattern table and the disco music pattern table. In FIG. 4, the reason why the complexity is different even though the rhythm pattern is the same is that the predetermined rule for calculating the complexity is different between the rock music pattern table and the disco music pattern table as described above. is there.
Since the banks A, B, and C also store a fill-in pattern for real-time performance and a pattern of other musical instruments as shown in FIG. 3, the fill-in pattern is temporarily stored instead of the current pattern. It can be inserted and played.
[0032]
As shown in FIG. 3, the content of the rhythm pattern stored in each of the banks A, B, and C is a performance composed of a combination of timing data indicating the occurrence timing of an event and note event data indicating the type of the event. It is configured by sequentially storing data in a relative time system. Here, the note event data is stored in a format corresponding to the MIDI note-on message, and consists of 3 bytes of data. In the timing data, the generation interval of each note event is represented by the number of clocks. In addition, the hard disk device 24 stores two types of sequence data as variation patterns 1 and 2 for designating an adjective of a transformer. That is, as shown in FIG. 3, variations 1 and 2 are composed of sequential data in which adjective 1, adjective 2, adjective 3 and adjective 4 are stored in order.
[0033]
Although not shown, a cache memory (RAM) of about several megabytes is provided to greatly reduce the access time to the hard disk drive 24, and the load of data transfer between the RAM 23 and the hard disk drive 24 is reduced. Needless to say, a DMA device may be provided for this purpose.
[0034]
The display 29 inputs data and the like processed inside the personal computer 20 through a display interface (I / F) and displays these data so that they can be visually recognized. It is composed of an LCD or the like.
FIG. 5 is a diagram illustrating a display example of the display 29. The display 29 displays the complexity of the rhythm pattern of the selected component in the section of the selection pattern to indicate which component is currently selected and to indicate at what level of complexity it is located. I have. Therefore, it means that the component whose complexity is displayed in the section of the selection pattern is currently selected, and the component whose nothing is displayed is not selected. In addition, according to the magnitude of the complexity displayed in the item of the selection pattern, the level at which the rhythm pattern is located in the complexity is shown.
[0035]
For example, FIG. 5A shows that a rhythm pattern having a complexity of “80” is selected for a component BD + SD composed of a bass drum (BD) and a snare drum (SD). It is shown that a rhythm pattern having a complexity of “20” is selected for the tom component Tom. As for the component HH of the hi-hat, it is shown that a rhythm pattern with a complexity of “45” is selected. As for the component CY of the cymbal, there is no indication of the complexity, indicating that nothing is selected. Hereinafter, similarly, whether or not the component is selected can be easily determined based on whether or not the complexity is displayed in the item of the selection pattern. Further, it is possible to easily recognize at which level the rhythm pattern is located in terms of the complexity according to the magnitude of the complexity displayed in the item of the selection pattern.
[0036]
FIG. 5A shows a case where the complexity is directly displayed as a numerical value. However, the present invention is not limited to this, and the complexity may be displayed as a graphic such as a bar graph as shown in FIG. 5B. By graphically displaying in this manner, it is possible to easily recognize whether the component is selected and to intuitively recognize the position in terms of complexity.
It should be noted that the rhythm pattern is not limited to the case where the rhythm pattern is positioned as described above, but may be positioned based on an element other than the complexity (for example, intensity, good stickiness, etc.). Also, a plurality of these elements may be combined and displayed two-dimensionally, three-dimensionally, or multidimensionally. For multidimensional display, a graphic display such as a radar chart is effective.
[0037]
The mouse 2A is a kind of pointing device for inputting coordinate points on the display 29, and its output is taken into the CPU 21 via a mouse interface (MOUSE I / F) 26 and a bus 2D.
The panel switch 2B is a keyboard for inputting a program, data, and the like to the personal computer 20, and has numeric keys, function keys, and the like.
[0038]
The switch detection circuit 27 detects a key operation state of the panel switch 2B, and outputs key information corresponding to the operation state to the CPU 21 via the bus 2D.
The timer 28 counts time intervals and generates an operation clock for the entire personal computer 20. The personal computer 20 counts the operation clock by a predetermined number to measure a predetermined time, and performs an interrupt process according to the time. For example, by setting the predetermined number to a value corresponding to the tempo of the automatic accompaniment, the personal computer 20 executes the automatic accompaniment processing.
[0039]
In this embodiment, the note number corresponding to the pressed state of the keyboard 1A is transmitted to the CPU 21 of the personal computer 20 via the MIDI interfaces 1D and 2C, so that various types of information of the personal computer 20 other than the mouse 2A and the panel switch 2B of the personal computer 20 are provided. Each key of the keyboard 1A of the electronic musical instrument 1F operates as an operator for selecting and controlling a function.
[0040]
FIG. 6 is a diagram showing an example of various functions assigned to the keyboard 1A.
In the figure, the keyboard 1A is composed of a total of 61 keys, and is divided into a pattern assignment area, an operator area, and a drum pattern area. The keys of note numbers E0 to B1 constitute a pattern assignment area, the keys of note numbers C2 to G # 3 constitute an operator area, and the keys of note numbers A3 to E5 constitute a drum pattern area.
[0041]
The keys of note numbers E0 to B1 generate addresses corresponding to an assign memory area for storing a rhythm pattern created by edit processing or transformer processing as a new rhythm pattern. That is, the assignment memory area of the RAM 23 is composed of an assignment memory management area having a total of 20 addresses and a pattern storage area capable of storing 20 patterns, and each address of the assignment management area has a note number. This corresponds to E0 to B1. For example, note number E0 corresponds to the first address of the assignment memory management area, note number F0 corresponds to the second address, and so on, note numbers F # 0 to B1 correspond to the third address of the assignment memory management area. To the twentieth address. Each address stores the start address value of each pattern storage area.
[0042]
The keys of note numbers C2 to G # 3 function as various operators for performing edit processing and transformer processing. Therefore, the note numbers C2 to G # 3 serve as key information indicating the operator functions assigned to the respective keys as they are.
Specifically, the key of the note number C2 is an assign key, the keys of the note numbers D2, E2, F2, G2 and A2 are the designation keys of the transformers 1 to 5, the key of the note number B2 is the undo designation key, and the note number C3 is the assignment key. The key is a start / stop designation key, the keys of note numbers D3, E3 and F3 are the designation keys of banks A to C, the key of note number G3 is a lock key for pattern determination, and the keys of note numbers C # 2 and D # 2. Are the designation keys of variations 1 and 2, the key of note number F # 2 is the replace input key, the key of note number G # 2 is the insert input key, the key of note number A # 2 is the quantize processing designation key, and the note number C # 3 is a delete drum instruction key, note number D # 3 is a delete component instruction key, and Tonanba F # 3 keys accent input key, note number G # 3 keys respectively correspond to fill-in the specified key.
Details of the processing contents according to the operation of each of these keys will be described later.
[0043]
The keys of note numbers A3 to E5 in the drum pattern area function as keys for designating drum sounds. Therefore, the note numbers C2 to G # 3 are drum sound information indicating the type of drum sound assigned to each key as it is.
More specifically, the key of note number A3 is a bass drum (BD), the key of note number A # 3 is a snare drum (SD), the key of note number B3 is a tom high (Tom H), and the key of note number C4. Is the tom tom low (Tom L), the note number C # 4 is the tom tom middle (Tom M), the note number D4 is the conga high (Conga H), and the note number E4 is the conga low (Conga). L), the key of note number D # 4 is Timbale (Timb), the key of note number F4 is (TBL), the key of note number F # 4 is (TBH), and the key of note number G4 is hi-hat closed (HHC). ), Note number A4 key is hi-hat open (HHO), note number G # 4 key is tambourine (Tamb), no The key of the number A # 4 is Clave, the key of the note number B4 is Cowbell, the key of the note number C5 is high (Agogo H), and the key of the note number C # 5 is low (Agogo). L), note number D5 key corresponds to hand craps (Claps), note number D # 5 key corresponds to crash cymbal (Crash CY), and note number E5 key corresponds to ride cymbal (Ride CY) drum sound. I have.
[0044]
Although each of the above-mentioned drum sounds can be specified independently, in this embodiment, a plurality of drum sounds are used as components that are grouped according to their playing style. Therefore, one or more drum sounds make up this component. Here, when the component is composed of a plurality of drum sounds, it is necessary that there is a commonality (musical relation) in the performance form between them. For example, a bass drum (BD) and a snare drum (SD), a tom tom high (Tom H), a tom tom middle (Tom M) and a tom tom low (Tom L), and a conga high (Conga H). Conga's low (Conga L) and Timbale (Timb), (TB H) and (TB L), hi-hat open (HHO) and hi-hat close (HHC) are agogo's high (Agogo H). And Agogo L constitute one component each. Therefore, the drum sounds of tambourine (Tamb), Claves (Clave), cowbell (Cowbell), hand craps (Claps), crash cymbal (Crash CY) and ride cymbal (Ride CY) are components treated independently.
[0045]
However, tamblins (Tamb) and Claves (Clave), Cowbell (Cowbell) and Hand Craps (Claps), crash cymbals (Crash CY) and ride cymbals (Ride CY) are each treated as one component. Needless to say, it is good. Other combinations may be used.
[0046]
FIG. 1 is a diagram showing functional blocks when the electronic musical instrument 1F and the personal computer 20 of FIG. 2 operate as an accompaniment pattern creating device.
The apparatus for creating an accompaniment pattern shown in FIG. The personal computer 20 performs the automatic accompaniment process while reading the current pattern from the current pattern memory 1.
[0047]
The predetermined areas of the RAM 23 shown in FIG. 3 correspond to the current pattern memory 1, the assignment memory 2, the undo buffer 3, the save memory 4, and the pattern table 63, respectively.
The database means 5 corresponds to the hard disk device 24 of FIG. The database means 5 stores a large number of rhythm pattern data as shown in FIG.
The pattern selector 61 is provided for each of the designated keys of the drum pattern areas of the note numbers AB, B3, C4, D4, E4, F4, G4, A4, B4, C5, D5 and E5 of the keyboard 1A of FIG. The designation keys of the banks A, B, and C of the numbers D3, E3, and F3 correspond respectively.
[0048]
Therefore, when a component in the database means 5 is appropriately selected by the pattern selector 61, the accompaniment pattern creating apparatus reads rhythm pattern data corresponding thereto from the database means 5 and supplies the rhythm pattern data to the current pattern memory 1. In this embodiment, the component is selected by operating the pattern selector 61, that is, the keyboard 1A, and the component corresponding to the note number generated by operating the keyboard 1A is designated. At this time, since there are a plurality of components, which rhythm pattern data of the designated component is read is determined by the velocity data at the time of operating the keyboard 1A.
[0049]
That is, the head address of the rhythm pattern data constituting each of the banks A, B, and C in the database means 5 is recorded in the pattern table 63 as an address in the order according to the complexity of the rhythm pattern as shown in FIG. . Therefore, by associating the velocity data at the time of operating the pattern selector 61 with the address of the pattern table 63, the pattern table 63 can determine the head address of the rhythm pattern data of different complexity depending on the magnitude of the velocity data. Supplied to The pattern selector 61 reads the rhythm pattern data stored at the head address of the database means 5 and supplies the read rhythm pattern data to the current pattern memory 1. The rhythm pattern data read from the database means 5 is stored in the current pattern memory 1 as a current pattern. The contents of the stored current pattern are subjected to various changes by the editing means 7 and the transformer 9.
[0050]
The editing means 7 includes a replace input key of the note number F # 2 of the keyboard 1A of FIG. 2, an insert input key of the note number G # 2, a quantization processing designation key of the note number A # 2, and a delete drum of the note number C # 3. These correspond to an instruction key, a delete component instruction key of note number D # 3, and an accent input key of note number F # 3.
[0051]
Here, the replacement input means that the original note event data of the current pattern is deleted and only new note event data is stored. The insert input means that new note event data is added to the original note event data of the current pattern and stored. Quantize means that the occurrence timing of a note event is just fitted to the reference timing. The accent is a drum sound in the current pattern, which means that the drum sound corresponding to the operated keyboard is re-accented. The delete drum is a drum sound in the current pattern, and means that only the drum sound corresponding to the operated keyboard is deleted. The delete component is a drum sound in the current pattern, and means that all the drum sounds of the component corresponding to the operated keyboard are deleted.
[0052]
The adjective designation means 8 corresponds to the transformer designation keys of the note numbers D2, E2, F2, G2 and A2 of the keyboard 1A of FIG.
The transformer 9 corresponds to a transformer program stored in the ROM 22 of FIG. The contents of the current pattern are transformed according to the adjective specified by the adjective specifying means 8 corresponding to the transformer specification key. The transformer 9 creates a pattern according to a desired image only by instructing a sensory adjective.
[0053]
The undo means 10 corresponds to the undo key of the note number B2 of the keyboard 1A in FIG.
Since the pattern transformed by the transformer 9 is stored in the undo buffer 3, if the desired pattern cannot be obtained as a result of the transformation, the original pattern can be recalled. That is, since the deformed patterns are stored in the undo buffer 3 in the order of the deformation processing, the original pattern can be recalled by sequentially reading back the contents of the undo buffer 3.
In this way, the current pattern created by the addition or modification of a new pattern can be stored in the assignment memory 2, and the pattern stored in the assignment memory 2 can be stored in the pattern assignment area of the keyboard 1A at any time. Can be read out by operating the key.
[0054]
The pattern registration means 62 corresponds to a pattern registration operator on the panel switch 2B of FIG.
The pattern registration unit 62 newly registers the current pattern in the current pattern memory 1, that is, the one that has been variously changed by the editing unit 7 and the transformer 9, as new rhythm pattern data in the database unit 5. At this time, the pattern registration unit 62 obtains the complexity of the rhythm pattern data newly registered in the database unit 5, and rearranges the order in the pattern table 63 according to the complexity to create a new pattern table 63. .
[0055]
For example, assuming a case where a rhythm pattern of a tomtom Tom having a complexity of “20” as shown in FIG. 5 is newly registered in the disco music pattern table of the bank B of the database unit 5, the pattern table rearrangement will be described. I do. First, the pattern registration unit 62 registers the rhythm pattern of the tom-tom Tom at the address “B-n1” of the database unit 5. Then, the pattern registration unit 62 obtains the complexity of the rhythm pattern of the tom tom Tom. Since the complexity of the rhythm pattern of the tom tom Tom is “20”, the pattern registration unit 62 sets the head address “C-1, B-3, C” after the address “3” of the disco music pattern table as shown in FIG. , C-3,..., Bn "are moved backward by one address, and the head address" B-n1 "of the rhythm pattern of the tom-tom Tom is newly recorded at the position of the address" 3 ". .
[0056]
Next, an example of the processing of the electronic musical instrument 1F of FIG. 2 executed by the CPU 11 will be described with reference to the flowchart of FIG.
FIG. 7A shows an example of a main routine processed by the CPU 11 of the electronic musical instrument 1F of FIG.
First, when the power is turned on, the CPU 11 starts processing according to the control program stored in the ROM 12. In the “initialization process”, various registers and flags in the RAM 13 are initialized. Thereafter, the CPU 11 repeatedly executes “key processing”, “MIDI reception processing”, and “other processing” in response to occurrence of an event.
[0057]
FIG. 7B is a diagram showing details of the “key processing” in FIG. 7A.
In the “key processing”, it is determined whether the operation state of the keyboard 1A is a key-on state or a key-off state, and a MIDI note-on message or a MIDI note-off message is transmitted to the personal computer 20 via the MIDI interfaces 1D and 2C according to the determination result. Output. Therefore, in this embodiment, even when the keyboard 1A is operated, the processing of the electronic musical instrument itself, that is, the sound source circuit 17 is not driven. Therefore, at the time of the key processing, the tone generator 17 does not perform the sound generation processing.
[0058]
FIG. 7C is a diagram showing details of the “MIDI receiving process” of FIG. 7A.
The “MIDI receiving process” is executed every time a MIDI message is input from the personal computer 20 via the MIDI interfaces 2C and 1D. In the "MIDI reception process", it is determined whether or not the MIDI message is a note-on message. Is performed by the sound source circuit 17. On the other hand, if the MIDI message is other than note-on (NO), the "message handling process" according to the received MIDI message is performed, and then the process returns to the main routine of FIG.
In "other processing", processing based on the operation of other operators on the panel switch 1B and other various processing are performed.
[0059]
Next, an example of the process of the personal computer 20 of FIG. 2 executed by the CPU 21 will be described with reference to the flowcharts of FIGS.
FIG. 8A is a diagram showing an example of a main routine processed by the CPU 21 of the personal computer 20 in FIG.
First, when the power is turned on, the CPU 21 starts processing according to the control program stored in the ROM 22. In the “initialization process”, various registers and flags in the RAM 23 are initialized. Thereafter, the CPU 21 repeatedly executes the “MIDI receiving process”, the “display process”, and the “other process”.
[0060]
FIG. 8B is a diagram showing details of the “MIDI receiving process” of FIG. 8A.
The “MIDI receiving process” is executed every time a MIDI message is input from the electronic musical instrument 1F via the MIDI interfaces 1D and 2C. In the "MIDI receiving process", it is determined whether or not the MIDI message is a note-on message. If the message is note-on (YES), a process corresponding to the note number of the key-on (the process of FIGS. 9 to 12) is executed. In the case of note-off (NO), processing corresponding to the key-off note number (the processing in FIG. 13) is executed.
[0061]
In the "display process", a process for displaying on the display 29 which bank of the database means 5 is being processed, the type of the drum sound being played, and which portion of the current pattern is being played. Specifically, a screen as shown in FIGS. 5 and 21 is displayed.
In "other processing", processing based on the operation of other operators on the panel switch 2B and other various processing are performed. Here, the “pattern registration process” in FIG. 17 according to the operation of the pattern registration operator on the panel switch 2B is performed. Details of the “pattern registration process” will be described later.
[0062]
FIGS. 9 to 12 are diagrams showing processing corresponding to the note number of the note-on message of FIG. 8B, which is executed when the received MIDI message is a note-on message.
FIG. 9A shows a case where the MIDI message including the note numbers E0 to B1 is received from the electronic musical instrument 1F by operating the keys in the pattern assignment area corresponding to the note numbers E0 to B1 of the keyboard 1A. FIG. 14 is a diagram showing a pattern assignment area key process performed.
In this pattern assignment area key processing, first, it is determined whether or not the assignment flag ASSIGN is at a high level “1”, and processing according to the determination result is performed.
[0063]
That is, when the assign key (key of note number C2) of the keyboard 1A is turned on, the assign flag ASSIGN is set to a high level "1" by the assign key processing of FIG. In this case, it is reset to the low level “0” by the processing of FIG. Therefore, if the assign flag ASSIGN is determined to be at the high level "1" (YES), it means that the key of the pattern assign area and the assign key are pressed at the same time. The current pattern in the memory 1 is copied to the assignment memory area of the assignment memory 2 corresponding to the note number, and the process returns.
[0064]
On the other hand, if the assign flag ASSIGN is determined to be low level “0” (NO), it means that only the key in the pattern assign area has been operated, and in this case, the assign corresponding to the note number The rhythm pattern stored in the assignment memory area of the memory 2 is copied to the current pattern memory 1 and the routine returns.
[0065]
That is, when a key in the pattern assign area is operated while pressing the assign key, the rhythm pattern data stored in the current pattern memory 1 at that time is registered in the key in the pattern assign area, and only the keys in the pattern assign area are registered. Is operated alone, a rhythm pattern registered in advance for that key is called into the current pattern memory 1.
[0066]
FIG. 9B is a diagram showing an assign key process performed when the assign key corresponding to the note number C2 of the keyboard 1A is operated and a MIDI message including the note number C2 is received from the electronic musical instrument 1F.
In this assign key process, all flags are cleared to low level "0", and then assign flag ASSIGN is set to high level "1", and the routine returns.
[0067]
In FIG. 9C, the keys of the transformers 1 to 5 corresponding to the note numbers D2 to A2 (excluding #) of the keyboard 1A are operated, and a MIDI message including the note numbers D2 to A2 (excluding #) is transmitted to the electronic musical instrument 1F. FIG. 11 is a diagram illustrating a transformer key process performed when the information is received from a PC.
The fact that the MIDI message including the note numbers D2 to A2 (excluding #) has been received from the electronic musical instrument 1F means that the type of the adjective of the transformer has been indicated. Therefore, in this transformer key processing, first, all flags are cleared to low level "0", and the type of the adjective of the transformer is determined according to the note number and velocity data in the MIDI message. When the type of the transformer is determined, the transformer flag TRANS is set to a high level "1" and the routine returns.
[0068]
In this embodiment, two adjectives are assigned to each of the transformers 1 to 5, and one of them is selected according to the magnitude of the velocity data. For example, the transformer 1 has a complex processing (Complex) and a simplification processing (Simple), the transformer 2 has a hardening processing (Hard) and a softening processing (Soft), and the transformer 3 has an activation processing (Energy). And calm processing (Calm), the expressionless processing (Mechanical) and the graceful processing (Graceful) are assigned to the transformer 4, and the stuttering processing and the floating processing (Floating) are assigned to the transformer 5, respectively. .
Therefore, when the magnitude of the velocity data is equal to or less than a predetermined value, the former is selected, and when the magnitude is larger than the predetermined value, the latter is selected.
When the torus transformer flag TRANS is at the high level "1", the transformer 9 performs the transformer key processing shown in FIG. 16D, and changes the contents of the current pattern according to the adjective of each transformer.
[0069]
Hereinafter, the contents of each adjective will be described.
The complication processing (Complex) refers to executing one of the following.
The first of the complication processing is performed by searching the database means 5 for a triplet-based rhythm pattern corresponding to the template based on a previously designated pattern prototype called a template, and adding it to the current pattern. .
The second of the complication processing is performed by randomly extracting drum sounds constituting components other than the crash from the database means 5 and adding the drum sounds to the current pattern.
[0070]
The simplification processing (Simple) refers to executing one of the following.
The first of the simplification processing is to search the database means 5 for a rhythm pattern that is closer to the basic rhythm pattern than the rhythm pattern of the bass drum (BD) and the snare drum (SD) in the current pattern, and call it a current pattern. It is done by doing.
The second simplification process is performed by searching the database means 5 for a rhythm pattern that is closer to the basic rhythm pattern than the rhythm pattern of the hi-hat (HHC, HHO) in the current pattern, and using it as the current pattern. .
The third simplification process is performed by removing rhythm patterns of components other than the bass drum (BD), snare drum (SD), and hi-hat (HHC, HHO) from the current pattern.
[0071]
Hardening processing (Hard) refers to executing one of the following.
The first of the hardening processing is performed by uniformly increasing all velocities of the rhythm pattern in the current pattern.
The second of the hardening processing is performed by exchanging the drum sound in the current pattern from the software component to the hardware component.
[0072]
Here, the drum sounds constituting the hardware components include a bass drum (BD), a snare drum (SD), a tom tom (Tom H, Tom M, Tom L), a cowbell (Cowbell), and an agogo (Agogo H, Agogo L). , Hand Craps (Claps), and Crash (Crash CY), and the drum sounds constituting the software components are Claves, Tambourine (Tamb), Hi-Hat (HHC, HHO), Ride (Ride CY), and Conga ( Conga H, Conga L), wood blocks and shakers. In this embodiment, the drum sounds of the wood block and the shaker are not assigned to the keyboard 1A, but these drum sounds are illustrated as constituting software components.
[0073]
Softening means performing one of the following.
The first of the softening processing is performed by uniformly decreasing all velocities of the rhythm pattern in the current pattern.
The second of the softening processing is performed by exchanging the drum sound in the current pattern from the hardware component to the software component.
[0074]
The activation processing (Energy) refers to executing one of the following.
The first of the activation processing is performed by increasing the rhythm pattern based on the template in the current pattern.
The second of the activation processing is performed by making the tempo speed close to about 120.
The third activation process is performed by causing the rhythm pattern in the current pattern to approach (shuffle) a triplet-based rhythm pattern based on the template.
[0075]
The calm processing (Calm) refers to executing one of the following.
The first of the calming processes is performed by reducing the rhythm pattern based on the template in the current pattern.
The second of the calming processing is performed by making the tempo speed close to about 60.
The third smoothing process is performed by bringing the rhythm pattern in the current pattern closer to the non-triplet rhythm pattern based on the template (non-shuffle).
[0076]
Expressionless processing (Mechanical) refers to executing one of the following.
The first expressionless processing is performed by quantizing the rhythm pattern in the current pattern into 16 minutes based on the template.
The second of the expressionless processing is performed by quantizing the rhythm pattern in the current pattern into 8 minutes based on the bass drum (BD) or the snare drum (SD) based on the template.
The third expressionless processing is performed by exchanging the drum sound in the current pattern from a software component to a hardware component.
The fourth of the expressionless processing is performed by compressing the velocity data to a value centered on a value of “90”.
[0077]
Graceful processing (Graceful) means performing one of the following.
The first of the grace processing is performed by extending the velocity data to both sides around the value of “64”.
The second grace process is performed by adding a triplet-based rhythm pattern to the current pattern based on the template.
The third grace process is performed by exchanging drum sounds in the current pattern from hardware components to software components.
The fourth grace process is performed by fluttering (adding a decorative sound) the drum sound in the current pattern.
[0078]
The stuttering processing (Stuttering) refers to executing one of the following.
The first of the stuttering processing is performed by deleting the downbeat from the rhythm pattern in the current pattern based on the template and converting it to an upbeat (syncopating).
The second of the stuttering processing is performed by adding a triplet rhythm pattern to the current pattern based on the template.
[0079]
Floating processing (Floating) refers to executing one of the following.
The first of the floating processing is performed by deleting an upbeat from a rhythm pattern in a current pattern and converting it to a downbeat (non-syncopated) based on a template.
The second floating processing is performed by reducing the triplet-based rhythm pattern from the current pattern based on the template.
The third floating processing is performed by adding a 12/8 triplet rhythm pattern to the current pattern based on the template.
The fourth of the floating processing is performed by exchanging drum sounds in the current pattern from hardware components to software components.
The fifth of the floating processing is performed by making the tempo speed close to "120".
[0080]
FIG. 9D is a diagram showing an undo key process performed when the undo key corresponding to the note number B2 of the keyboard 1A is operated and a MIDI message including the note number B2 is received from the electronic musical instrument 1F.
In this undo key process, all flags are cleared to low level "0", and then the undo flag UNDO is set to high level "1", and the routine returns.
[0081]
When the undo flag UNDO is at the high level “1”, the undo means 10 performs the undo process of FIG. 16A, reads the previous rhythm pattern from the undo buffer 3 and copies it to the current pattern memory 1. As a result, if the user does not like the result of the pattern change by the transformer 9, the user can return to the previous rhythm pattern. Since the undo buffer 3 stores a total of 20 rhythm patterns in order, the previous rhythm pattern can be restored to the current pattern memory 1 by going back in sequence according to the operation of the undo key. It has become.
[0082]
FIG. 9E shows a start / stop key process performed when the start / stop key corresponding to the note number C3 of the keyboard 1A is operated and a MIDI message including the note number C3 is received from the electronic musical instrument 1F. It is.
In this start / stop key processing, it is first determined whether or not the traveling state flag RUN is at a high level "1", and processing according to the determination result is performed. Here, the running state flag RUN indicates whether the current pattern is being read from the current pattern memory 1 or not.
[0083]
Therefore, when the traveling state flag RUN is determined to be at the high level "1" (YES), the traveling state flag RUN is set to the low level "0" to stop reading, and the routine returns. On the other hand, if it is determined that the running state flag RUN is at the low level “0” (NO), the first timing data of the current pattern memory 1 is set in the timing register TIME to start reading, and the running state flag RUN is set. Is set to the high level "1" and the routine returns. As a result, the current pattern reading process from the current pattern memory 1 is sequentially executed in the timer interrupt process of FIG.
[0084]
FIG. 9F shows an example in which any one of the banks A, B, and C corresponding to the note numbers D3 to F3 (excluding #) of the keyboard 1A is operated, and MIDI including the note numbers D3 to F3 (excluding #) is performed. It is a figure which shows the bank A, B, and C key process performed when a message is received from electronic musical instrument 1F.
In the bank A, B, and C key processing, one of "1", "2", and "3" is stored in the bank register BANK, and the process returns. In this embodiment, when the key of the bank A corresponding to the note number D3 is operated, "1" is stored in the bank register BANK, and when the key of the bank B corresponding to the note number E3 is operated. Stores "2" in the bank register BANK, and stores "3" in the bank register BANK when the key of the bank C corresponding to the note number F3 is operated. As a result, the banks A, B, and C of the database means 5 are switched according to the key operation. If a component is designated thereafter, the rhythm pattern is read from the bank and stored in the current pattern memory 1. Become so.
[0085]
FIG. 10A is a diagram showing lock key processing performed when the lock key corresponding to the note number G3 of the keyboard 1A is operated and a MIDI message including the note number G3 is received from the electronic musical instrument 1F.
In this lock key processing, all flags are cleared to low level "0", and then the lock flag LOCK is set to high level "1", and the routine returns.
The rhythm pattern from the database means 5 is normally valid only while operating the keys in the drum pattern area. However, by operating this lock key, the contents of the rhythm pattern are determined and the keys in the drum pattern area are changed. Even when the rhythm pattern is released, the rhythm pattern remains effective.
[0086]
In FIG. 10B, the keys of the variations 1 and 2 corresponding to the note numbers C # 2 and D # 2 of the keyboard 1A are operated, and a MIDI message including the note numbers C # 2 and D # 2 is received from the electronic musical instrument 1F. FIG. 11 is a diagram showing variation 1 and 2 key processing performed when the key is changed.
In the variation 1 and 2 key processing, all flags are cleared to low level "0", then the variation flag VARI1 or VARI2 is set to high level "1", and the process returns.
Thus, when the reading of the current pattern has progressed to the bar line, the variation pattern (the adjective sequence in FIG. 3) is read.
[0087]
FIG. 10C is a diagram showing a replace key process performed when the replace key corresponding to the note number F # 2 of the keyboard 1A is operated and a MIDI message including the note number F # 2 is received from the electronic musical instrument 1F. It is.
In this replace key processing, all the flags are cleared to low level "0", and then the replace flag REPLACE is set to high level "1", and the routine returns.
Thus, if the key in the drum pattern area is operated while the replace key is kept pressed, the processing of FIG. 11D is executed, and the corresponding drum sound is input at the position of the operation timing. At this time, the previous corresponding drum sound is deleted.
[0088]
FIG. 10D shows an insert key process performed when the insert key corresponding to the note number G # 2 of the keyboard 1A is operated and a MIDI message including the note number G # 2 is received from the electronic musical instrument 1F. It is.
In this insert key processing, all flags are cleared to low level "0", and then the insert flag INSERT is set to high level "1", and the routine returns. As a result, when a key in the drum pattern area is operated while the insert key is kept pressed, the corresponding drum sound is input to the position of the operation timing. At this time, a new drum sound is added without deleting the previous drum sound.
[0089]
FIG. 10E is a diagram showing a quantize key process performed when the quantize key corresponding to the note number A # 2 of the keyboard 1A is operated and a MIDI message including the note number A # 2 is received from the electronic musical instrument 1F. It is.
In this quantization key processing, all flags are cleared to low level "0", the quantization resolution is determined according to the magnitude of the velocity data at that time, the quantization flag QUANT is set to high level "1", and the routine returns. .
Thus, when the current pattern reaches the bar line, when reading the rhythm pattern after the next bar line, only the read timing is read without rewriting the data itself without rewriting the data itself. Such a process is referred to as a read quantization process.
[0090]
FIG. 10F illustrates a delete drum key process performed when the delete drum key corresponding to the note number C # 3 of the keyboard 1A is operated and a MIDI message including the note number C # 3 is received from the electronic musical instrument 1F. FIG.
In this delete drum key processing, all flags are cleared to low level "0", and then the delete drum flag DELDRUM is set to high level "1", and the routine returns.
Thus, for example, if a note-on message of note number C4 is detected thereafter, the drum sound corresponding to note number C4 is deleted from the current pattern.
[0091]
FIG. 11A shows a delete component key process performed when the delete component key corresponding to the note number D # 3 of the keyboard 1A is operated and a MIDI message including the note number D # 3 is received from the electronic musical instrument 1F. FIG.
In this delete component key processing, all flags are cleared to low level "0", and then the delete component flag DELCOMP is set to high level "1", and the routine returns.
Thus, for example, if a note-on message of note number C4 is subsequently detected, all the drum sounds of the component including note number C4 are deleted from the current pattern.
[0092]
FIG. 11B is a diagram showing accent key processing performed when an accent key corresponding to the note number F # 3 of the keyboard 1A is operated and a MIDI message including the note number F # 3 is received from the electronic musical instrument 1F. It is.
In this accent key processing, all flags are cleared to low level "0", and then the accent flag ACCENT is set to high level "1", and the process returns. As a result, for example, after that, a note-on message of note number C4 is detected, and the same note event as the note number is read from the current pattern until a note-off message of corresponding note number C4 is detected. At this time, the velocity of the note event is rewritten to the note-on velocity of C4.
[0093]
FIG. 11C shows a fill-in key process performed when the fill-in key corresponding to the note number G # 3 of the keyboard 1A is operated and a MIDI message including the note number G # 3 is received from the electronic musical instrument 1F. It is.
In this fill-in key processing, first, all flags are cleared to low level “0”, and then the current pattern in the current pattern memory 1 is temporarily saved in the save memory 4. Then, the fill-in patterns of the corresponding banks A, B, and C of the database means 5 are copied to the current pattern memory 1, and the read-out position (data on the pattern corresponding to the timing in the current bar) is searched, and then the fill-in is performed. A high level “1” is set in the flag FILL and the process returns.
As a result, the fill-in pattern is played from the time when the fill-in key corresponding to the note number G # 3 is operated to the end of the bar.
[0094]
FIG. 11D shows a drum key process performed when a key in the drum pattern area corresponding to the note numbers A3 to E5 of the keyboard 1A is operated and a MIDI message including the note numbers A3 to E5 is received from the electronic musical instrument 1F. FIG.
In this drum key processing, first, it is determined whether any of the flags (replacement flag REPLACE, insert flag INSERT, delete drum flag DELDRUM, and delete component flag DELCOMP) other than the lock flag LOCK is at a high level “1”. Perform the corresponding processing.
[0095]
That is, if the note number is one of A3 to E5, it is the designation of a drum sound (single sound) or the designation of a component. Therefore, when it is determined that any of the flags other than the lock flag LOCK is at the high level “1” (YES), the flag corresponding process 1 corresponding to the flag set to the high level “1” is executed. And return. The details of the flag handling process 1 are shown in FIG.
[0096]
On the other hand, if it is determined that none of the flags other than the lock flag LOCK is not high level “1” (NO), the sound of the component corresponding to the pressed key (note number) (drum sound for a part) Is deleted from the current pattern and temporarily saved in the save memory 4. Then, the rhythm pattern of the component (drum) corresponding to the pressed key (note number), velocity data, and genre is selected with reference to the pattern table 63, and the rhythm pattern of the selected component is read from the database means 5. To add to the current pattern.
The complexity of the selected rhythm pattern is displayed on the display 29 as shown in FIG.
[0097]
Thus, by simply pressing the keys corresponding to the note numbers A3 to E5, the rhythm pattern of the component corresponding to the note number can be selected and added according to the magnitude of the velocity data. In the pattern table 63, as shown in FIG. 4, the head address of the rhythm pattern is sequentially stored so that the larger the velocity value, that is, the larger the address, the more complicated the pattern. Can be selected more finely.
[0098]
FIG. 12 is a diagram illustrating details of the flag corresponding process 1 in FIG.
The flag corresponding process 1 is a process performed when any one of the replace flag REPLACE other than the lock flag LOCK, the insert flag INSERT, the delete drum flag DELDRUM, and the delete component flag DELCOMP is at a high level “1”.
[0099]
FIG. 12A is a diagram showing a replacement process executed by operating a key in the drum pattern area while the replacement key corresponding to the note number F # 2 of the keyboard 1A is being pressed. That is, while the replace key is being pressed, the replace flag REPLACE is set to a high level “1” by the replace key processing of FIG. 10C, so that other than the lock flag LOCK in the drum key processing of FIG. Is determined to be the high level “1”, and the replacement process is performed.
In this replacement process, the drum sound corresponding to the note number is added to the current pattern together with the velocity data. Then, the high level “1” is set to the delete flag of the pressed drum sound, and the process returns to the drum key processing of FIG. The drum sound whose delete flag is set to the high level "1" is deleted from the current pattern in step 54 of FIG.
[0100]
FIG. 12B is a diagram showing an insert process executed by operating a key in the drum pattern area while the insert key corresponding to the note number G # 2 of the keyboard 1A is being pressed. That is, while the insert key is being pressed, a high level "1" is set in the insert flag INSERT by the insert key processing of FIG. 10D, so that other than the lock flag LOCK in the drum key processing of FIG. Is determined to be at the high level “1”, and an insert process is performed.
In the insert processing, the drum sound corresponding to the note number is added to the current pattern together with the velocity data, and the process returns to the drum key processing of FIG.
[0101]
FIG. 12C is a diagram showing a delete drum process executed by operating a key in the drum pattern area while the delete drum key corresponding to the note number C # 3 of the keyboard 1A is being pressed. That is, while the delete drum key is being pressed, the high level “1” is set to the delete drum flag DELDRUM by the delete drum key processing of FIG. 10 (F), so that the lock is performed by the drum key processing of FIG. 11 (D). It is determined that the delete drum flag DELDRUM other than the flag LOCK is at the high level "1", and the delete drum process is performed.
In this delete drum process, a high level “1” is set to the delete flag of the pressed drum sound, and the process returns to the drum key process of FIG. The drum sound whose delete flag is set to the high level "1" is deleted from the current pattern in step 54 of FIG.
[0102]
FIG. 12D is a diagram showing a delete component process executed by operating a key in the drum pattern area while the delete component key corresponding to the note number D # 3 of the keyboard 1A is being pressed. That is, while the delete component key is being pressed, the high level “1” is set in the delete component flag DELCOMP by the delete component key processing of FIG. 11A, so that the lock is performed by the drum key processing of FIG. 11D. It is determined that the delete component flags DELCOMP other than the flag LOCK are at the high level “1”, and the delete component processing is performed.
In the delete component process, a high level “1” is set to the delete flag of the component including the pressed drum sound, and the process returns to the drum key process of FIG. The drum sound constituting the component whose delete flag is set to the high level “1” is deleted from the current pattern in step 54 of FIG.
[0103]
FIG. 13 is a diagram showing details of processing corresponding to the note number of the note-off message in FIG. 8B performed when the received MIDI message is a note-off message.
In FIG. 13A, an assign key corresponding to the note number C2 of the keyboard 1A, a lock key corresponding to the note number G3, a replace key corresponding to the note number F # 2, an insert key corresponding to the note number G # 2, The quantize corresponding to the note number A # 2, the delete drum corresponding to the note number C # 3, the delete component key corresponding to the note number D # 3, or the accent key corresponding to the note number F # 3 are operated, and the note number C2 is operated. , G3, F # 2, G # 2, A # 2, C # 3, D # 3 or F # 3, when a MIDI message including the note number is received from the electronic musical instrument 1F, FIG. The flag set to high level "1" in each key processing of FIG. 11 is cleared.
[0104]
FIG. 13B shows a case where the keys of the drum pattern areas corresponding to the note numbers A3 to E5 of the keyboard 1A are released and a MIDI message including the note-off messages of the note numbers A3 to E5 is received from the electronic musical instrument 1F. It is a figure which shows the drum key process performed.
In this drum key processing, first, it is determined whether or not the lock flag LOCK is low level “0”. If YES, the following processing is performed. If NO, the rhythm pattern being read from the database means 5 is determined. Then, the process returns to the main routine of FIG.
When the lock flag LOCK is at the low level “0”, the drum sound (single sound) or the component sound of the note number A3 to E5 of the released key is deleted from the current pattern, and is saved in FIG. 11D. Returns the sound of the component (drum) to the current pattern.
[0105]
FIG. 14 is a diagram showing a timer interrupt process executed by 480 interrupts per quarter note. This timer interrupt processing is performed in accordance with the tempo when the current pattern is read from the current pattern memory 1. That is, the interrupt cycle is changed according to the tempo. This process is executed sequentially in the following steps.
[0106]
Step 31: It is determined whether or not the running state flag RUN is at a high level "1". If the running state flag RUN is at a high level "1" (YES), the process proceeds to the next step 32; otherwise (NO), the process returns.
Step 32: Determine whether the value of the time register TIME storing the timing data is "0", that is, whether the time until the next note event has elapsed. If the value is "0" (YES), the time is determined. Has elapsed, the process proceeds to the next step 33; otherwise (NO), the time has not yet elapsed, and the process proceeds to step 40.
[0107]
Step 33: Since it is determined in the previous step 32 that the time until the next note event has elapsed, the event data corresponding to the timing is read here.
Step 34: It is determined whether or not the event data read out in the previous step 33 is end data. If the event data is end data, the process proceeds to step 39; otherwise, the process proceeds to step 35.
[0108]
Step 35: Since it is determined that the event data read out in the previous step 33 is data other than end data, a MIDI note event (MIDI message) corresponding to the data is transmitted to the electronic musical instrument via the MIDI interfaces 2C and 1D. Output to 1F. Details of the MIDI note event output will be described later.
Step 36: The next data of the event data read in the previous step 33 is read.
[0109]
Step 37: It is determined whether or not the data read in the previous step 36 is timing data. If YES, the process proceeds to the next step 38, and if NO, the process returns to the step 34. Therefore, if the data read in the previous step 36 is end data, YES is determined in step 34 and the processing of step 39 is performed. If the data is event data, the processing of steps 35 and 36 is performed. Is
[0110]
Step 38: Set the read timing data in the time register TIME.
Step 39: Since the end data is determined in the previous step 34, the first timing data of the rhythm pattern is set in the time register TIME, and the process proceeds to step 41.
Step 40: Since it is determined in the previous step 32 that the time has not yet elapsed, the value of the time register TIME is decremented by 1 and the process proceeds to step 41.
[0111]
Step 41: It is determined whether or not the value stored in the time register TIME is a bar timing. If the bar timing is a bar timing (YES), the process proceeds to the next step 42; otherwise (NO), the process returns.
Step 42: It is determined whether or not any of the flags is at the high level "1". If there is a flag of the high level "1" (YES), the process proceeds to step 43, otherwise returns.
Step 43: Since it has been determined in the previous step 42 that there is a high-level "1" flag, a flag-corresponding process 2 corresponding to the high-level "1" flag is performed, and the process returns. The details of the flag handling process 2 are shown in FIG.
[0112]
FIG. 15 is a diagram showing details of the MIDI note event output process in step 35 of FIG.
In the MIDI note event output process, if any of the accent flag ACCNT, the delete drum flag DELDRUM, or the delete component flag DELCOMP is at a high level “1”, the process corresponding to the flag is performed. The output processing of the note event according to the rhythm pattern of the pattern memory 1 is performed. This process is executed sequentially in the following steps.
[0113]
Step 51: It is determined whether or not the accent key corresponding to the note number F # 3 of the keyboard 1A is depressed and the accent flag ACCENT is set to the high level "1". To step 52, otherwise (NO), to step 53.
Step 52: If the note number of the read note event corresponds to the note number of the received note event (the note number is on at that time), the velocity of the read note event is replaced with the velocity of the received note-on message. .
[0114]
Step 53: The delete drum key corresponding to the note number C # 3 of the keyboard 1A is depressed, and it is determined whether or not a high level "1" is set in the delete drum flag DELDRUM of any of the drum sounds. If yes (YES), proceed to the next step 54; otherwise (NO), proceed to step 55.
Step 54: If a drum sound event corresponding to the received note number is present in the events read from the current pattern memory 1, it is deleted from the read current pattern events.
[0115]
Step 55: The delete component key corresponding to the note number D # 3 of the keyboard 1A is depressed, and it is determined whether or not the delete component flag DELCOMP of any of the components is set to a high level "1". If yes (YES), proceed to the next step 56; otherwise (NO), proceed to step 59.
Step 56: If the event of the drum sound constituting the component corresponding to the received note number is present in the event read from the current pattern memory 1, the current of all the drum sounds constituting the component is read. Delete from the pattern event.
[0116]
Step 57: As a result of the deletion of the drum sound in the previous step 54 or 56, it is determined whether there is any remaining event in the read current pattern event, and if there is any remaining event (YES), Proceed to step 58; otherwise (NO), return and proceed to step 36 in FIG.
Step 58: The note event subjected to accent processing in step 52, the note event remaining as a result of deletion in step 54, or the note event not subjected to the processing in steps 52, 54, and 56 is transmitted to the electronic musical instrument via the MIDI interfaces 2C and 1D. Output to 1F.
[0117]
FIG. 16 is a diagram showing the details of the flag handling process 2 in step 43 of FIG.
The flag corresponding process 2 is a process performed when any one of the undo flag UNDO, the fill-in flag FILL, the variation flags VARI1, VARI2, and the transformer flag TRANS is at a high level "1".
[0118]
FIG. 16A shows an undo process performed when the undo key corresponding to the note number B2 of the keyboard 1A is pressed to set the undo flag UNDO to a high level "1" (UNDO = 1). FIG.
In the undo process, the pattern immediately before the rhythm pattern stored in the undo buffer 3 is read and transferred to the current pattern memory 1 as a current pattern. Then, the undo flag UNDO is cleared to a low level “0”.
[0119]
FIG. 16B shows a fill-in performed when the fill-in flag FILL is set to a high level “1” by pressing the fill-in key corresponding to the note number G # 3 of the keyboard 1A (FILL = 1). It is a figure showing return processing. In the fill-in return processing, the rhythm pattern saved in the save memory 4 is read out and copied in the current pattern memory 1 as a current pattern. Then, the fill-in flag FILL is cleared to a low level “0”.
[0120]
FIG. 16C shows a case in which the variation flag corresponding to the note number D # 2 or C # 2 of the keyboard 1A is pressed to set the variation flags VARI1 and VARI2 to a high level "1" (VARI1 or VARI1). It is a figure which shows the variation processing performed to (VARI2 = 1).
In this variation processing, since a variation is being designated, the next (or first) adjective is read from the variation sequence of FIG. For example, if there are four measures in the variation sequence, the adjectives are read one by one each time this process is executed, and the process is repeated until the four readings are completed. Then, when the four times have been completed, the variation flag VARI1 or VARI2 is cleared to a low level “0”.
[0121]
FIG. 16D shows a case where the transformer flag corresponding to the note numbers D2, E2, F2, G2, and A2 of the keyboard 1A is pressed to set the transformer flag TRANS to a high level "1" (TRANS = It is a figure which shows the transformer process performed to 1).
In this transformer processing, an operation of copying the current pattern in the current pattern memory 1 to the undo buffer 3 and changing the contents of the current pattern according to the specified adjective is performed. The details of this calculation will be described later. Then, the transformer flag TRANS is cleared to a low level “0”.
[0122]
FIG. 17 is a diagram illustrating details of “pattern registration processing” in “other processing” in FIG. 8 performed by the CPU 21 of the personal computer 20. In this “pattern registration process”, when new rhythm pattern data in the current pattern memory 1 is registered in the database means 5, the complexity of the rhythm pattern data is obtained. This is a process of determining whether the pattern table is located, registering the level position, and rewriting the pattern table 63. This process is executed sequentially in the following steps.
[0123]
Step 71: The complexity of the rhythm pattern to be newly registered is obtained, and the complexity is stored in the newly registered complexity register COMP (N).
Step 72: Read the complexity of the rhythm pattern of the address register AD = 1 from the pattern table 63 of FIG. 1, and store the complexity in the registered complexity register COMP (D). This address register AD stores an address on the pattern table of FIG.
[0124]
Step 73: It is determined whether or not the complexity of the newly registered complexity register COMP (N) is smaller than the complexity of the registered complexity register COMP (D). If it is larger (NO), the flow proceeds to step 74.
Step 74: The address register AD is incremented by one.
Step 75: Read the complexity of the rhythm pattern recorded at the address of the address register AD from the pattern table 63, store the complexity in the registered complexity register COMP (D), and return to step 73.
That is, steps 73 to 75 detect which address on the current pattern table 63 corresponds to the complexity of the newly registered rhythm pattern.
[0125]
Step 76: Since it is determined in the previous step 73 that the complexity of the newly registered complexity register COMP (N) is smaller than the complexity of the registered complexity register COMP (D), here, the address of the address register AD is set. The start address of the subsequent rhythm pattern is shifted backward by one address and recorded.
Step 77: The head address of the newly registered rhythm pattern and its complexity are registered in the address position of the address register AD.
[0126]
FIG. 18 to FIG. 20 are diagrams illustrating an example of an arithmetic process for changing the content of the current pattern by the transformer process.
The transformer processing shown in FIGS. 18 to 20 searches for a rhythm pattern to be changed in the current pattern based on a search template (Search-template), and searches for the rhythm pattern based on a replacement template (Replace-template). The rhythm pattern has been changed and replaced. Specifically, the rhythm pattern corresponding to the search template is replaced with a triple-note rhythm pattern of the replacement template.
[0127]
In the drawing, the data format of the search template is given by Search-template = ((offset data) (search data) (error range data)), and the data format of the replacement template is Replace-template = ((replacement data) (velocity data) Selection data) (drum sound selection data)).
A rhythm pattern represented by timing data is stored in the search data and the replacement data. That is, in this embodiment, the timing data value corresponding to the quarter note is “480”, the timing data value corresponding to the eighth note is “240”, the timing data value corresponding to the sixteenth note is “120”, The timing data value corresponding to a note is set to “60”. Therefore, the search data (0 240 360 480) of the search template shown in FIG. 18 indicates a rhythm pattern corresponding to a quarter note consisting of one eighth note and two sixteenth notes, and the replacement data ( 0 160 320) indicates a triple note rhythm pattern equivalent to a quarter note.
[0128]
In FIG. 18, the data format of the search template is Search-template = ((0 480 960 1440) (0 240 360 480) (20 20 20 20)), and the data format of the replacement template is Replace-template = ((0 160 320) (001) (011)).
The offset data (0 480 960 1440) of the search template indicates an offset amount when the rhythm pattern indicated by the search data is searched from within the current pattern, that is, a position in the current pattern where the rhythm pattern indicated by the search data should exist. . The error range data (20 20 20 20) indicates an allowable error range of the search data. Therefore, even if the rhythm pattern does not exactly match the search data (0 240 360 480), the search data (0 ± 20 240 ± 20 360 ± 20 480 ± 20) including the error range data = (460-20 220- If it is a rhythm pattern corresponding to (260 340 to 380 460 to 20), the rhythm pattern is a change target and is replaced with replacement data.
[0129]
The replacement data (0 160 320) of the replacement template indicates the rhythm pattern to be replaced.
The velocity selection data indicates which note of the search data is used as the velocity of the replacement data. That is, “0” of the velocity selection data indicates the velocity of the first data (eighth note) of the search data, and “1” indicates the second data (first sixteenth note) of the search data. ), And “2” indicates the velocity of the third data (second 16th note) of the search data. Each order of the velocity selection data corresponds to the order of the replacement data.
[0130]
That is, in the case of the velocity selection data (001), the velocities of the first data (eighth note) of the search data are the first and second data of the replacement data (the first and second triplets). The velocity of the second data (sixteenth note) of the search data is replaced by the third data (third note of the triplet) of the replacement data It becomes.
[0131]
The drum sound selection data indicates which note of the search data is used as the drum sound of the replacement data. That is, "0" of the drum sound selection data indicates the drum sound of the first data (eighth note) of the search data, and "1" indicates the second data (first sixteenth note) of the search data. ), And “2” indicates the drum sound of the third data (second 16th note) of the search data. Each order of the drum sound selection data corresponds to the order of the replacement data.
[0132]
That is, in the case of the drum sound selection data (011), the drum sound of the first data (eighth note) of the search data is the first data of the replacement data (the first note of the triplet). And the drum sound of the second data (sixteenth note) of the search data is replaced with the second and third data (the second and third notes of the triplet) of the replacement data. Indicates that it will be replaced with a drum sound.
[0133]
FIG. 18 shows the configuration of FIG. 18A according to the search template ((0 480 960 1440) (0 240 360 480) (20 20 20 20)) and the replacement template ((0 160 320) (001) (011)). 18) is a diagram showing a state in which the current patterns of FIG. 18) are sequentially subjected to the transformer processing as shown in FIGS. 18 (B) to 18 (E).
First, the current pattern in FIG. 18A has a rhythm pattern corresponding to a quarter note corresponding to the search data (0 240 360) from the position of each offset data (0 480 960 1440). One is replaced randomly. In this example, the fourth rhythm pattern corresponding to the search data (0 240 360) is replaced by the triplet of the replacement data (0160 320) as shown in FIG. As shown in FIG. 18C, the second rhythm pattern is replaced with triplets, and at the next point, the first rhythm pattern is replaced with triplets as shown in FIG. By replacing the third rhythm pattern with a triplet as shown in FIG. 18 (E), the rhythm pattern of FIG. 18 (A) becomes a triplet rhythm pattern as shown in FIG. 18 (E). Become.
[0134]
FIGS. 19A and 19B show the search template ((0 480 1440) (0 240 360 480) (20 20 20 20)) and the replacement template ((0 160 320) (001) (011)). FIG. 19 is a diagram showing how the current pattern of FIG.
The current pattern in FIG. 19A is the same as that in FIG. 18A, and a rhythm pattern corresponding to the search data (0 240 360) exists from the position of each offset data (0 480 960 1440). However, in FIG. 19A, the offset data of the search template is (0 480 1440), and “960” is deleted from the offset data in the case of FIG. Therefore, in this case, only the third rhythm pattern corresponding to the search data (0 240 360) is not replaced with the triplet of the replacement data (0 160 320) as shown in FIG. The original (0 240 360) rhythm pattern is maintained.
[0135]
FIGS. 19C and 19D show the search template ((0 480 960 1440) (0 240 360 480) (20 20 20 20)) and the replacement template ((0 160 320) (001) (011)). FIG. 20 is a diagram illustrating a state in which the current pattern in FIG.
Unlike the current pattern of FIG. 18A, the current pattern of FIG. 19C has no rhythm pattern corresponding to the search data (0 240360) based on the offset data “0”, “480”, and “960”. However, there is a rhythm pattern corresponding to the search data (0 240 360) based on the last offset data “1440”. Therefore, in this example, only the fourth rhythm pattern corresponding to the search data (0 240 360) is replaced with the triplet of the replacement data (0 160 320) as shown in FIG. Maintains the original rhythm pattern.
[0136]
FIG. 20 is a diagram showing how the drum sound and velocity of the rhythm pattern are replaced according to the drum sound selection data and the velocity selection data.
20A and 20B, the search template ((0 480 960 1440) (0 240 360 480) (20 20 20 20)) and the replacement template ((0 160 320) (001) (011)) Is the same as in FIG. Therefore, the rhythm pattern of FIG. 20A is a triplet rhythm pattern as shown in FIG.
[0137]
At this time, since the drum sound selection data is (011), the drum sound of the first data (eighth note) of the search data is replaced with the first data of the replacement data (the first note of the triplet). And the drum sound of the second data (sixteenth note) of the search data is replaced with the second and third data (the second and third notes of the triplet) of the replacement data. It will be replaced with drum sound. This situation is indicated by arrows in FIGS. 20A and 20B where the first and second rhythm patterns are replaced by triplets.
Similarly, since the velocity selection data is (001), the velocities of the first data (eighth note) of the search data are the first and second data of the replacement data (the first and third notes of the triplet). The velocity of the second data (sixteenth note) of the search data is replaced by the third data (third note of the triplet) of the replacement data It becomes. This situation is indicated by an arrow at the portion where the third and fourth rhythm patterns in FIGS. 20A and 20B are replaced by triplets.
[0138]
In FIG. 20C and FIG. 20D, the search template is ((0 480 960 1440) (0 240 360 480) (20 20 20 20)), which is the same as the above case, but the replacement template. Is ((0160 320) (001) (***)), and only the drum sound selection data is different from the previous case. In this case, only the drum sound selection data is different, and the rhythm pattern of FIG. 20C is replaced with a triple note rhythm pattern as shown in FIG. 20D as in the case of the above-described transformer processing.
[0139]
At this time, the combination (***) of the drum sound selection data is a combination of “0”, “1”, and “2” as in (000), (111), (222), (012). They appear in order.
Accordingly, in the first rhythm pattern of FIG. 20C, the drum sound of the first data (eighth note) of the search data is replaced with the first, second, and third data of the replacement data (triple data). (The first, second and third notes of the note).
In the second rhythm pattern, the drum sound of the second data (sixteenth note) of the search data is replaced with the first, second, and third data of the replacement data (first, second, and third notes of the triplet). 3rd note).
[0140]
In the third rhythm pattern, the drum sound of the third data (sixteenth note) of the search data is replaced with the first, second, and third data of the replacement data (first, second, and third notes of the triplet). 3rd note).
In the fourth rhythm pattern, the drum sound of the first data (eighth note) of the search data is replaced with the drum sound of the first data (first note of the triplet) of the replacement data. The drum sound of the second data (sixteenth note) of the data is replaced with the drum sound of the second data of the replacement data (the second note of the triplet), and the third data (16th note) of the search data. The drum sound of the minute note) is replaced with the drum sound of the third data of the replacement data (the third note of the triplet).
This situation is indicated by an arrow at the portion where each rhythm pattern in FIGS. 20C and 20D is replaced by a triplet.
[0141]
FIG. 21 is a diagram showing a display example of the display screen of the display 29 in FIG.
The bank display section 29A indicates which bank of the hard disk drive 24 the current bank is. The figure shows that the current bank is bank A.
Below the bank display section 29A, there is a portion indicating the current state of the current pattern.
This part includes a drum sound name display section 29B, a current sound display section 29C, a current pattern display section 29D, and a current position display section 29E.
The drum sound name corresponding to the keyboard 1A is displayed in the drum sound name display section 29B.
The current sounding display section 29C is composed of a circular lighting section provided on the right side of each drum sound, and only the lighting section corresponding to the currently sounding drum sound is lit.
The current pattern display section 29D displays a rhythm pattern for one measure by a square lighting section. In the figure, closed rhythm patterns of a bass drum, a snare drum, and a hi-hat are displayed.
The current position display section 29E indicates the currently sounding position in one bar.
[0142]
By performing such display, it is possible to recognize at a glance the drum sound to be emitted and the contents of the current current pattern. Further, even when the current pattern is deformed, the contents of the deformation can be easily grasped. In this case, the pattern before the deformation and the pattern after the deformation may be simultaneously displayed. Further, the complexity as shown in FIG. 5 may be displayed at the same time.
[0143]
In the above embodiment, rhythm accompaniment has been described as an example, but the present invention is not limited to this, and the present invention may be applied to accompaniment such as bass and chord backing. For example, a large number of base patterns and a large number of backing patterns may be stored in the database, and one of the patterns may be selected for each part by operating the operation element. That is, the respective controls of the base part and the packing parts 1, 2, 3,... (Each backing part has a different tone) are provided, and after operating the controls of the base part, one of the base patterns is selected from the database. Then, when the operator of the packing part 1 is operated, one of the backing patterns may be selected from the database.
[0144]
Further, in the above-described embodiment, the case has been described in which the flag correspondence processing 2 (undo processing, fill-in processing, variation processing, and transformer processing) is executed when the performance up to the bar line is completed. The process may be executed immediately when a key is operated.
[0145]
In the accent processing of step 52 in FIG. 15, the velocity corresponding to the note number of which the note is turned on is replaced with the note-on velocity as it is to provide an accent. However, an accent template such as the above search template or replace template (for example, Patterns that indicate how much velocity should be replaced at each timing) and select them according to the velocity corresponding to the note number that is note-on, and change the velocity of the selected accent template to note-on velocity It may be replaced.
[0146]
In the above embodiment, the keyboard of the keyboard instrument is used as a key for assigning various functions. However, various functions may be designated by displaying switches on the display of the personal computer and designating the switches. In addition, other than a keyboard, something like a drum pad may be used, or a simple switch may be used. Further, in the above-described embodiment, a case has been described in which all functions are designated by a keyboard. However, various functions may be designated in combination with other controls, such as assigning a lock function to a foot switch. Good.
[0147]
Further, in the embodiment, the electronic musical instrument and the personal computer are connected by the MIDI line to constitute the automatic accompaniment device. However, the present invention may be applied to a single electronic musical instrument.
In the above-described embodiment, when specifying an adjective of a transformer, two types of adjectives are assigned to one key and the keys are switched in accordance with the velocity value. The switching may be performed stepwise according to the value. Further, one adjective may be assigned to one key.
[0148]
In the above-described embodiment, four measures are assigned as the adjective sequence data, and the sequence of the adjectives after the performance of the four measures is also ended. The data may be repeatedly executed. In addition, the sequence data is not limited to four measures, but may be any measure. Furthermore, the designation of an adjective need not be the timing of a bar line.
[0149]
Further, when the rhythm pattern is deformed by the transformer, different deformation processing may be performed according to the content of the current rhythm pattern. For example, when a transformer adds or replaces a drum sound, the current rhythm pattern is determined, and if it is a 16-beat rhythm pattern or an 8-beat rhythm pattern, Thus, the drum sound to be added or the pattern to be replaced may be made different.
[0150]
【The invention's effect】
As described above, according to the present invention, there is an effect that the change operation can be performed easily and easily.
[Brief description of the drawings]
FIG. 1 is a diagram showing functional blocks when the electronic musical instrument and the personal computer of FIG. 2 operate as an accompaniment pattern creating device.
FIG. 2 is a hardware block diagram showing a detailed configuration of an electronic musical instrument incorporating a sequencer-type automatic accompaniment device and a personal computer for performing an accompaniment pattern editing process, and a connection relationship between the two.
FIG. 3 is a diagram showing a data configuration of a RAM and a hard disk device of the personal computer in FIG. 2;
FIG. 4 is a diagram showing contents of a pattern table for address conversion stored in a pattern table area.
FIG. 5 is a diagram showing a display example of a display.
FIG. 6 is a diagram showing an example of various functions assigned to the keyboard of FIG. 2;
7 is a diagram showing an example of a processing routine executed by a CPU of the electronic musical instrument of FIG. 2; FIG. 7A shows an example of a main routine; FIG. 7B shows a key process of FIG. 7A; 7 (C) shows details of the MIDI reception processing of FIG. 7 (A).
8 is a diagram illustrating an example of a processing routine executed by the CPU of the personal computer in FIG. 2; FIG. 8A illustrates an example of a main routine, and FIG. 8B illustrates a MIDI reception process in FIG. 8A; The details are shown below.
FIG. 9 is a diagram performed when a received MIDI message is a note-on message corresponding to note numbers E0 to B1, C2, D2 to A2 (excluding #) and B2, C3, D3 to F3 (excluding #). FIG. 9B is a diagram showing details of the process of FIG. 8B. FIG. 9A shows the case of a pattern assignment area key of note numbers E0 to B1, FIG. 9B shows the case of an assign key of note number C2, FIG. 9C shows the case of the transformer keys of note numbers D2 to A2 (excluding #), FIG. 9D shows the case of the undo key of note number B2, and FIG. 9E shows the start of note number C3. 9 (F) shows the case of the keys A, B and C of the note numbers D3 to F3 (excluding #).
FIG. 10 is performed when a received MIDI message is a note-on message corresponding to note numbers G3, C # 2, D # 2, F # 2, G # 2, A # 2, and C # 3. FIG. 10B is a diagram showing details of the process of FIG. 10B. FIG. 10A shows the case of the lock key of the note number G3, and FIG. 10B shows the variations 1 and 2 of the note numbers C # 2 and D # 2. FIG. 10 (C) shows the case of the replace key of note number F # 2, FIG. 10 (D) shows the case of the insert key of note number G # 2, and FIG. 10 (E) shows the note number A # 2. FIG. 10 (F) shows the case of the delete drum key of note number C # 3.
11 is a diagram showing details of the processing in FIG. 8B performed when the received MIDI message is a note-on message corresponding to note numbers D # 3, F # 3, G # 3, and A3 to E5. FIG. 11A shows the case of the delete component key with note number D # 3, FIG. 11B shows the case of the accent key with note number F # 3, and FIG. 11C shows the case of note number G # 3. FIG. 11D shows the case of drum keys with note numbers A3 to E5.
12A and 12B are diagrams showing details of the flag corresponding process 1 in FIG. 11D, in which FIG. 12A shows a replace process, FIG. 12B shows an insert process, and FIG. 12C shows a delete drum; FIG. 12D shows the delete component process.
FIG. 13 shows a case where a received MIDI message is a note-off message corresponding to note numbers C2, G3, F # 2, G # 2, A # 2, C # 3, D # 3, F # 3, and A3 to E5. FIG. 13B is a diagram showing details of the processing of FIG. 6B performed in FIG. 13A, and FIG. FIG. 13B shows the case of note numbers A3 to E5.
FIG. 14 is a diagram showing a timer interrupt process executed by 24 interrupts per quarter note;
FIG. 15 is a diagram showing details of a MIDI note event output process in step 35 of FIG. 14;
16A and 16B are diagrams showing details of the flag-corresponding process 2 in step 43 of FIG. 14; FIG. 16A shows an undo process, FIG. 16B shows a fill-in return process, and FIG. FIG. 16D shows a transformer process.
17 is a diagram showing details of “pattern registration processing” in “other processing” of FIG. 8 performed by the CPU of the personal computer of FIG. 2;
FIG. 18 is a diagram illustrating an example of an arithmetic process of changing the content of a current pattern by a transformer process.
FIG. 19 is a diagram illustrating another example of the arithmetic processing for changing the content of the current pattern by the transformer processing.
FIG. 20 is a diagram showing the concept of how the drum sound and velocity of the current pattern are replaced by the transformer processing.
FIG. 21 is a diagram showing a display example of a display screen of the display of FIG. 2;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Current pattern memory, 2 ... Assign memory, 3 ... Undo buffer, 4 ... Evacuation memory, 5 ... Database means, 6 ... Pattern selector, 7 ... Editing means, 8 ... Adjective indication means, 9 ... Transformer, 10 ... Undo Means, 1F: Electronic musical instrument, 11: Microprocessor unit (CPU), 12: ROM, 13: RAM, 14: Key press detection circuit, 15: Switch detection circuit, 16: Display circuit, 17: Sound source circuit, 18: Sound System, 19: timer, 1A: keyboard, 1B: panel switch, 1C: display unit, 1D: MIDI interface, 1E: bus, 20: personal computer, 21: microprocessor unit (CPU), 22: ROM, 23: RAM, 24 ... Hard disk drive, 25 ... Display interface, 26 ... Mouse interface, 27 ... switch detecting circuit, 28 ... timer, 29 ... display, 2A ... mouse, 2B ... panel switch, 2C ... MIDI interface, 2D ... bus.

Claims (6)

伴奏演奏用の1又は複数の楽器のパートの集合からなる伴奏演奏のための複数のコンポーネントの各々について、選択候補となる複数の伴奏パターンを記憶している伴奏パターン記憶手段であって、前記選択候補となる複数の伴奏パターンは所定の規則に従った並び順を持つものと、
各コンポーネント毎に前記選択候補となる複数の伴奏パターンの中からいずれかを選択するための選択操作子と、
前記選択操作子の操作に応じて前記伴奏パターン記憶手段からコンポーネント毎に前記選択された伴奏パターンを読み出す読み出し手段であって、前記操作子の操作タッチと前記伴奏パターンにおける前記並び順とが対応しており、操作された操作子の操作タッチに対応した並び順の伴奏パターンを選択して読み出すものと、
前記読み出し手段によって読み出された伴奏パターンに基づいて自動伴奏音を発生する伴奏音発生手段と、
新たに任意の伴奏パターンを前記伴奏パターン記憶手段に書き込む書き込み手段であって、新たに伴奏パターンに書き込む際に、前記所定の規則に従った並び順の伴奏パターンとして書き込むものと
を備えた自動伴奏装置。
For each of a plurality of components for accompaniment performance consisting of a set of one or more instruments parts for accompaniment performance, an accompaniment pattern storage means for storing a plurality of accompaniment pattern to be a selection candidate, the selection A plurality of candidate accompaniment patterns have an arrangement order according to a predetermined rule ,
A selection operator for selecting any of a plurality of accompaniment patterns to be the selection candidates for each component,
Reading means for reading the selected accompaniment pattern for each component from the accompaniment pattern storage means in response to an operation of the selection operation element, wherein the operation touch of the operation element corresponds to the arrangement order in the accompaniment pattern. One that selects and reads an accompaniment pattern in the order corresponding to the operation touch of the operated operator,
Accompaniment sound generating means for generating an automatic accompaniment sound based on the accompaniment pattern read by the reading means,
Writing means for writing a new arbitrary accompaniment pattern into the accompaniment pattern storage means, and when writing a new accompaniment pattern, writing the new accompaniment pattern as an accompaniment pattern in an arrangement order according to the predetermined rule. apparatus.
前記所定の規則は伴奏パターンの複雑度に対応したものである請求項1に記載の自動伴奏装置。2. The automatic accompaniment device according to claim 1, wherein the predetermined rule corresponds to the complexity of the accompaniment pattern. 前記伴奏パターン記憶手段は、複数の伴奏パターンを記憶する伴奏パターン記憶部と、前記複数の伴奏パターンを前記所定の規則に従って並べるための並び順情報を記憶する並び順記憶部とからなり、前記読み出し手段は前記操作子の操作に応じてこの並び順記憶部を参照して、操作タッチに対応した伴奏パターンを選択する請求項1に記載の自動伴奏装置。The accompaniment pattern storage means includes an accompaniment pattern storage unit that stores a plurality of accompaniment patterns, and an arrangement order storage unit that stores arrangement order information for arranging the plurality of accompaniment patterns according to the predetermined rule. 2. The automatic accompaniment apparatus according to claim 1, wherein the means selects the accompaniment pattern corresponding to the operation touch by referring to the arrangement order storage unit in response to an operation of the operation element. 伴奏演奏用の1又は複数の楽器のパートの集合からなる伴奏演奏のための複数のコンポーネントの各々について、選択候補となる複数の伴奏パターンを記憶している伴奏パターン記憶手段であって、前記選択候補となる複数の伴奏パターンは所定の規則に従った並び順を持つものと、
各コンポーネント毎に前記選択候補となる複数の伴奏パターンの中からいずれかを選択するための選択操作子と、
前記選択操作子の操作に応じて前記伴奏パターン記憶手段からコンポーネント毎に前記伴奏パターンを読み出す読み出し手段であって、前記操作子の操作タッチと前記伴奏パターンにおける前記並び順とが対応しており、操作された操作子の操作タッチに対応した並び順の伴奏パターンを選択して読み出すものと、
前記読み出し手段によって読み出された伴奏パターンに基づいて自動伴奏音を発生する伴奏音発生手段と、
前記読み出し手段によって読み出された伴奏パターン前記所定の規則に従った並び順を表す情報を表示する表示手段と
を備えた自動伴奏装置。
For each of a plurality of components for accompaniment performance consisting of a set of one or more instruments parts for accompaniment performance, an accompaniment pattern storage means for storing a plurality of accompaniment pattern to be a selection candidate, the selection A plurality of candidate accompaniment patterns have an arrangement order according to a predetermined rule ,
A selection operator for selecting any of a plurality of accompaniment patterns to be the selection candidates for each component,
Reading means for reading out the accompaniment pattern for each component from the accompaniment pattern storage means in response to the operation of the selection operation element, wherein the operation touch of the operation element and the arrangement order in the accompaniment pattern correspond to each other; One for selecting and reading an accompaniment pattern in the order of arrangement corresponding to the operation touch of the operated operator;
Accompaniment sound generating means for generating an automatic accompaniment sound based on the accompaniment pattern read by the reading means,
Automatic accompaniment apparatus and display means for displaying information representative of the order in accordance with said predetermined rule accompaniment pattern read by the reading means.
前記表示手段によって表示される情報は、前記所定の規則を数値又は図形で示したものである請求項4に記載の自動伴奏装置。5. The automatic accompaniment apparatus according to claim 4, wherein the information displayed by the display means indicates the predetermined rule by a numerical value or a graphic. 複数の伴奏ジャンルにつ、伴奏演奏用の1又は複数の楽器のパートの集合からなる伴奏演奏のための複数のコンポーネントの各々について、選択候補となる複数の伴奏パターンを記憶している伴奏パターン記憶手段であって、前記選択候補となる複数の伴奏パターンは所定の規則に従った並び順を持つものであり、また、特定の伴奏パターンについては、複数のジャンルにおいて共通に使用されるものを含むものと、
各コンポーネント毎に前記選択候補となる複数の伴奏パターンの中からいずれかを選択するための選択操作子と、
前記選択操作子の操作に応じて前記伴奏パターン記憶手段からコンポーネント毎に前記伴奏パターンを読み出す読み出し手段であって、前記操作子の操作タッチと前記伴奏パターンにおける前記並び順とが対応しており、操作された操作子の操作タッチに対応した並び順の伴奏パターンを選択して読み出すものと、
前記読み出し手段によって読み出された伴奏パターンに基づいて自動伴奏音を発生する伴奏音発生手段と
を備えた自動伴奏装置。
Ki One multiple accompaniment genres, for each of a plurality of components for one or accompaniment performance consisting of a set of multiple instruments parts for accompaniment playing accompaniment stores a plurality of accompaniment pattern to be a selection candidate pattern The storage means, wherein the plurality of accompaniment patterns serving as the selection candidates have an arrangement order according to a predetermined rule, and a specific accompaniment pattern is one commonly used in a plurality of genres. Including,
A selection operator for selecting any of a plurality of accompaniment patterns to be the selection candidates for each component,
Reading means for reading out the accompaniment pattern for each component from the accompaniment pattern storage means in response to the operation of the selection operation element, wherein the operation touch of the operation element and the arrangement order in the accompaniment pattern correspond to each other; One for selecting and reading an accompaniment pattern in the order of arrangement corresponding to the operation touch of the operated operator;
An automatic accompaniment device comprising: an accompaniment sound generating unit that generates an automatic accompaniment sound based on the accompaniment pattern read by the reading unit.
JP10168494A 1994-04-18 1994-04-18 Automatic accompaniment device Expired - Fee Related JP3579916B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10168494A JP3579916B2 (en) 1994-04-18 1994-04-18 Automatic accompaniment device
US08/423,149 US5756917A (en) 1994-04-18 1995-04-17 Automatic accompaniment device capable of selecting a desired accompaniment pattern for plural accompaniment components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10168494A JP3579916B2 (en) 1994-04-18 1994-04-18 Automatic accompaniment device

Publications (2)

Publication Number Publication Date
JPH07287578A JPH07287578A (en) 1995-10-31
JP3579916B2 true JP3579916B2 (en) 2004-10-20

Family

ID=14307174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10168494A Expired - Fee Related JP3579916B2 (en) 1994-04-18 1994-04-18 Automatic accompaniment device

Country Status (1)

Country Link
JP (1) JP3579916B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3584503B2 (en) * 1994-09-20 2004-11-04 ヤマハ株式会社 Automatic accompaniment device
JP3566646B2 (en) * 2000-10-31 2004-09-15 株式会社国際電気通信基礎技術研究所 Music communication device

Also Published As

Publication number Publication date
JPH07287578A (en) 1995-10-31

Similar Documents

Publication Publication Date Title
US5756917A (en) Automatic accompaniment device capable of selecting a desired accompaniment pattern for plural accompaniment components
JP2956505B2 (en) Automatic accompaniment device
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
US5744740A (en) Electronic musical instrument
JP3579916B2 (en) Automatic accompaniment device
JP3596048B2 (en) Automatic accompaniment device
JP2565069B2 (en) Electronic musical instrument
JP3541452B2 (en) Automatic accompaniment device
JP3584503B2 (en) Automatic accompaniment device
JP3340565B2 (en) Automatic accompaniment device
JPWO2007015320A1 (en) Tone storage device, tone storage method, computer program for storing tone
JP2904020B2 (en) Automatic accompaniment device
JP3116948B2 (en) Automatic accompaniment device
JPH0644192B2 (en) Automatic rhythm playing device
JP2904022B2 (en) Automatic accompaniment device
JP3632487B2 (en) Chord detection device for electronic musical instruments
JP4239706B2 (en) Automatic performance device and program
JP2856025B2 (en) Automatic accompaniment device
JP2640992B2 (en) Pronunciation instruction device and pronunciation instruction method for electronic musical instrument
JP2756799B2 (en) Automatic rhythm playing device
JP3690174B2 (en) Music generator
JP2565152B2 (en) Automatic accompaniment device
JP2697287B2 (en) Electronic musical instrument
JP2972364B2 (en) Musical information processing apparatus and musical information processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040712

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees