JP3543160B2 - 自動演奏装置 - Google Patents
自動演奏装置 Download PDFInfo
- Publication number
- JP3543160B2 JP3543160B2 JP33968794A JP33968794A JP3543160B2 JP 3543160 B2 JP3543160 B2 JP 3543160B2 JP 33968794 A JP33968794 A JP 33968794A JP 33968794 A JP33968794 A JP 33968794A JP 3543160 B2 JP3543160 B2 JP 3543160B2
- Authority
- JP
- Japan
- Prior art keywords
- track
- order
- performance information
- tracks
- stored
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【産業上の利用分野】
本発明は、複数のトラックに記憶された演奏情報に基づいて自動演奏を行う自動演奏装置に関する。
【0002】
【従来の技術】
従来の自動演奏装置において、複数の発音チャンネル毎に楽音を生成するポリフォニックに対応するものにあっては、演奏情報が複数の各トラック毎、例えば4つのトラック毎に記憶されている。各トラックに記憶されている演奏情報は、音色や音高等を示すイベントデータと、そのイベントデータの発音タイミングを示す時刻データ(相対時刻データ)とで構成されている。そして、自動演奏を開始すると、トラック1からトラック4の演奏情報が時分割で読み出されて発音指示され、この発音指示に従って対応するチャンネルで発音処理を行うことにより、自動演奏が進行することとなる。
【0003】
【発明が解決しようとする課題】
しかしながら、このように常に同一の順序に従って各トラック1〜4から演奏情報を読み出して発音処理を行うと、例えばトラック1とトラック4とに同時刻に処理されるべきイベントが記憶されていると、トラック4に記憶されているイベントに基づく発音指示は、トラック1に記憶されているイベントデータに基づく発音指示よりも遅れてしまうこととなる。すなわち、MIDIなどのシリアルインターフェイスを介して演奏を行う場合、その送信レートから1音のイベント当たり1ミリ秒が必要であり、よって、トラック1で1音のイベント処理のみを行った場合であっても、トラック4のイベント処理は数ミリの遅れとなってしまう。また、1つのトラックに和音データが記憶されている場合のように、同時発生させるべき複数のイベントが存在する場合には、次のトラックのイベント処理であっても、無視できない程遅れてしまう。
【0004】
一方、楽音にはその特性に応じた聴感上の優先順位があり、例えばドラムのようなパーカッシブな音色は、アタックの遅いストリングスのような音色より先に発音させなければ、発音タイミングの遅れが明瞭となり、逆に、アタックの遅いストリングスのような音色は発音タイミングが遅れてもそれが聴感上不明瞭となる。しかるに、従来の自動演奏装置にあっては、前述のように常に同一の順序に従って各トラックのイベント処理を実行することから、この聴感上の優先順位に従って発音させることができず、よって、同時発音すべきイベントの発音遅れが明瞭となってしまう場合があった。
【0005】
本発明は、このような従来の課題に鑑みてなされたものであり、同時発音すべきイベントの発音遅れを聴感上不明瞭にして自動演奏を進行させることができる自動演奏装置を提供することを目的とするものである。
【0006】
【課題を解決するための手段】
前記課題を解決するために本発明にあっては、複数のトラックを有し、各トラック毎に演奏情報が記憶された演奏情報記憶手段と、この演奏情報記憶手段から前記演奏情報を読み出す際のトラックの順序を設定する設定手段と、この設定手段により設定された順序に従って各トラックから演奏情報を時分割で読み出す読出手段とを有している。また、本発明の他の構成にあっては、複数のトラックを有し、各トラック毎に演奏情報が記憶された演奏情報記憶手段と、この演奏情報記憶手段から前記演奏情報を読み出す際のトラックの順序を設定及び設定変更する設定変更手段と、この設定変更手段により設定変更されるトラックの順序を更新しつつ記憶する順序記憶手段と、この順序記憶手段に記憶されている順序に従って各トラックから演奏情報を時分割で読み出す読出手段とを有している。
【0007】
【作用】
前記構成において、設定手段によりトラックの順序を設定すると、読出手段はこの設定された順序で、各トラックから演奏情報を読み出す。したがって、例えばあるトラックにドラムのようなパーカッシブな音の演奏情報が記憶され、他のトラックにこれと同時発音タイミングであって、ストリングスのようなアタックの遅い音が入力される場合、前者のトラックが先となる順序を設定手段により設定すれば、ドラム音がストリングス音よりも先行して読み出される。これにより、ストリングス音の発音遅れが不明瞭となる状態で自動演奏が進行する。
【0008】
また、前記本発明の他の構成にあっては、トラックの順序が設定変更される都度、順序記憶手段はこの設定変更されたトラックの順序を更新しつつ記憶し、読出手段はこの順序記憶手段に記憶されている順序、つまり最新に記憶された順序に従って各トラックからの演奏情報を読み出す。したがって、この構成においては、自動演奏の実行中であっても、トラックの順序を設定変更すれば、その時点から、当該設定変更された順序に従って各トラックからの演奏情報が読み出されこととなる。
【0009】
【実施例】
以下、本発明の一実施例を図にしたがって説明する。図1に示すように、本実施例にかかる自動演奏装置10の装置本体11には、LCDディスプレイ12が設けられているとともに、テンキー等で構成されるキー群13が設けられている。さらに、装置本体11には、Pause SW14、Reset SW15、Bwd SW16、Fwd SW17、REC SW18、STOP SW19、PLAY SW20が設けられているとともに、オーダートラックSW21、トラックNO.1〜4に対応する4個のイベントトラックSW22−1〜22−4、及びデータエントリダイヤル23が設けられている。
【0010】
こられキー及びSW等13〜23の操作情報は、図2のブロック構成図において、パネルスイッチ24を介してCPU25に取り込まれる。RAM26は、ワーク用であり一部の領域には、図3(A)に示すように、アドレス0〜3に対応させてトラックNO.を記憶するオーダートラックが設けられている。また、ROM27には、この自動演奏装置10の機能をCPU25の動作により実現するに必要なプログラム等が記憶されている。
【0011】
CPU25は、このプログラムに従って動作し、前記LCDディスプレイ12の表示状態、FDD(Floppy Disk Driver)28の動作及びMIDIインターフェース29の入出力を制御する。このMIDIインターフェース29は、図外の音源に接続されており、また、FDD28内のフロッピーディスクには、図4に示すように、トラック1〜4に各々演奏情報が記憶されている。この演奏情報は、音色や音高を示すイベントデータと、その発音タイミングを示す時刻(相対時刻)データとで構成されており、イベントデータと時刻データとは順次異なるアドレスに対応して格納されているとともに、各イベントデータの次のアドレスに対応する時刻データが格納されている。
【0012】
次に、以上の構成にかかる本実施例の動作をフローチャートに従って説明する。すなわち、電源を投入するとCPU25は、図5に示すメインルーチンに従って動作し、イニシャライズ処理(SA1)を実行して、各種レジスタに初期値をプリセットする。また、電源が投入されている間、PLAY SW20及びREC SW18の状態を常時監視し(SA2,SA4)、PLAY SW20がオンとなったならばPLAY処理を(SA3)、REC SW18がオンとなったならばREC処理を(SA5)、各々実行する。
【0013】
また、メインルーチンに対して、CPU25は図6に示すインタラプトルーチン(1)と、図7に示すインタラプトルーチン(2)とを割り込んで実行する。すなわち、インタラプトルーチン(1)においては、時刻カウンタをインクリメントし、よって、時刻カウンタはこのインタラプトルーチン(1)のタイミングで歩進している。
【0014】
また、インタラプトルーチン(2)においては、オーダートラックSW21がオンとなった否かを判別して(SC1)、オンとなっていないならば、SC4に進んでONFフラグがセットされているか否かを判別する。このONFフラグは、メインルーチン(図5)におけるSA1のイニシャライズ処理によりリセットされ、また、オーダートラックSW21がONとなった場合に、このフローのSC2でセットされることから、オーダートラックSW21がオンとなるまでは、リセット状態にある。したがって、オーダートラックSW21がオンとなるまでは、SC1→SC4→RETURNを繰り返す。
【0015】
そして、オーダートラックSW21をワンタッチ操作すると、該オーダートラックSW21がオンとなる。したがって、SC1からSC2に進んで、ONFフラグをセットした後、nに初期値“1”をセットする(SC3)。次に、ONFフラグがセット状態にあるか否かを判別するが(SC4)、このときONFフラグは既にセット状態にあることから、SC4からSC5に進み、いずれかのイベントトラックSW22−1〜22−4が操作されたか否かを判別する。そして、いずれかのイベントトラックSW22−1〜22−4が操作されたならば、レジスタnに操作されたイベントトラックSW22−1〜22−4に対応するトラックNO.を記憶させる(SC6)。引き続き、レジスタnをインクリメントして(SC7)、このインクリメントしたnが“5”となったか否かを判別して、n≠5であるならばメインルーチンにリターンする。
【0016】
そして、次のタイマインタラプトのタイミングになると、SC1から処理が行われることになるが、ワンタッチ操作したユーザーは指がオーダートラックSW21から離れており、オーダートラックSW21はオフとなっていることから、SC1からSC4に進む。このとき、ONFフラグはセット状態にあることから、残るイベントトラックSW22−1〜22−4のいずれかを操作すると、SC4→SC5→SC6→SC7と進み、操作されたイベントトラックSW22−1〜22−4に対応するトラックNO.をレジスタnに記憶させた後、nをインクリメントする。
【0017】
したがって、n=5となるまでにSC6の処理が4回繰り返されることとなり、このときイベントトラックSW22−1〜22−4を、例えば3、1、4、2の順序で操作したとすると、レジスタnに対応して下記のようにトラックNO.が記憶されることとなる。
【0018】
レジスタ1:トラックNO.3
レジスタ2:トラックNO.1
レジスタ3:トラックNO.4
レジスタ4:トラックNO.2
そして、このように各レジスタ1〜4にトラックNO.が記憶されることによりn=5となると、SC8からSC9に進んでONFフラグをリセットした後、トラックからの読み出し順序が変更されたことを示すべく、順序変更F(フラグ)をセットする(SC10)。
【0019】
他方、メインルーチンにおけるPLAY処理(SA3)は、図8に示すフローに従って行われ、イニシャライズ処理(SD1)を実行後、順序変更Fがセットされているか否かを判別する(SD2)。このとき、前述したトラックの順序変更がなされていると、前述のSC10で順序変更Fはセットされており、よって、SD2からSD3に進んで、オーダートラック内の内容をレジスタ1〜4に基づいて変更する。したがって、上記例のようにレジスタ1〜4に各トラックNO.が記憶されているとすると、このSD3の処理により、図3に示した0〜3のアドレスに対応する記憶領域を有するオーダートラックの内容は、下記のように変更される。
引き続き、順序変更Fをリセットするとともに(SD4)、順序カウンタに初期値“0”をセットし(SD5)、さらに、順序カウンタの内容をアドレスにして、オーダートラックの内容を呼び出す(SD6)。したがって、このSD6の処理により、本例の場合先ずアドレス0に記憶されているトラックNO.3が呼び出されることとなる。次に、この呼び出したオーダートラックの内容が示すトラックNO.のトラック処理を行った後(SD7)、順序カウンタをインクリメトし(SD8)、順序カウンタ=トラック数(=4)となるまで(SD9)、SD6〜SD9のループを繰り返す。
【0020】
したがって、このループは4回繰り返されることとなり、上記例の場合トラックNO.3→1→4→2の順序でトラック処理(SD7)が時分割で実行される。また、順序カウンタ=トラック数(=4)となったならば、STOP SWがオンとなったか(SD10)、及び当該自動演奏曲が曲終了となったか(SD11)を判別し、ユーザーの操作によりSTOP SWがオンとなるか、若しくは曲終了となるまでSD2からの処理を繰り返す。これにより、トラックNO.3→1→4→2の順序でトラック処理(SD7)繰り返されつつ自動演奏が進行し、STOP SWがオンとなるか、若しくは曲終了した時点で、メインルーチンにリターンする。
【0021】
また、このPLAY処理におけるトラック処理(SD7)は、図9に示すフローに従って行われ、当該トラックの時刻データを読み出した後(SE1)、図6のタイマインタラプトルーチン(1)でインクリメトされている時刻カウンタの値が、この読み出した時刻データの値に到達したか否かを判別する(SE2)。そして、時刻カウンタ=時刻データとなって、この時刻データに対応するイベントデータの発音タイミングとなったならば、当該時刻データの前のアドレスのイベントデータ及び時刻データを呼び出す(SE3)。
【0022】
すなわち、図4をもって前述したように、演奏情報は、イベントデータと、その発音タイミングを示す時刻データとで構成され、イベントデータと時刻データとは順次異なるアドレスに対応して格納されているとともに、各イベントデータの次のアドレスに対応する時刻データが格納されている。したがって、時刻カウンタ=時刻データとなった時点で発音処理すべきイベントデータはその前のアドレスに格納されており、よって、前のアドレスのイベントデータを呼び出す。また、次回にSE2の判別を行う際に用いられる時刻データである次の時刻データを、このSE3で呼び出しておく。
【0023】
そして、このSE3に続くSE4では、SE3で呼び出したイベントデータをMIDIインターフェース29を介して図外の音源に供給するイベント処理を実行する。このとき、このトラック処理が、本例の場合トラックNO.3→1→4→2の順序で実行されることから、同一時刻に発音処理すべきイベントデータがトラックNO.1とNO.3とに格納されていたとすると、トラックNO.3のイベントがトラックNO.1のイベントに先行して発音処理されることとなる。したがって、トラックNO.3にドラムのようなパーカッシブな音色のイベントデータが格納され、トラックNO.1にアタックの遅いストリングスのような音色のイベントデータが格納されている場合には、例示した順序を設定することにより、発音タイミングの遅れが聴感上明瞭となることなく、ストリングスの楽音を発生させることができる。しかも、前記タイマインタラプトルーチン(2)は一定時間間隔で実行されていることから、自動演奏の実行中であっても、オーダートラックSW21及びイベントトラックSW22−1〜22−4の操作を行えば、レジスタ1〜4のトラックNO.及びオーダートラックの内容が書き換えられる。よって、自動演奏中であっても、随時トラックの順序を変更することができる。
【0024】
【発明の効果】
以上説明したように本発明は、演奏情報を読み出すトラックの順序を設定して、この設定した順序に従って各トラックから時分割で演奏情報を読み出すようにした。よって、ドラムのようなパーカッシブな音の演奏情報を、ストリングスのようなアタックの遅い音の演奏情報よりも先に読み出させることが可能となり、これにより、発音遅れを不明瞭にしつつ自動演奏を進行させることができる。
【0025】
また、本発明は、設定及び設定変更されるトラックの順序を更新しつつ記憶し、この記憶した順序に従って各トラックから演奏を読み出すようにした。よって、自動演奏の実行中であっても、トラックの順序を変更することができ、曲の進行に伴って処理される各トラック内のイベントに対応して、好適なトラック順序の設定が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例かかる自動演奏装置の外観平面図である。
【図2】同自動演奏装置のブロック構成図である。
【図3】オーダートラックの構成を示す図である。
【図4】演奏情報の記憶状態を示す図である。
【図5】メインルーチンを示すフローチャートである。
【図6】タイマインタラプトルーチン(1)を示すフローチャートである。
【図7】タイマインタラプトルーチン(2)を示すフローチャートである。
【図8】PLAY処理の内容を示すフローチャートである。
【図9】トラック処理の内容を示すフローチャートである。
【符号の説明】
10 自動演奏装置
21 オーダートラックSW
22 イベントトラックSW
25 CPU
26 RAM
27 ROM
28 FDD
Claims (2)
- 複数のトラックを有し、各トラック毎に演奏情報が記憶された演奏情報記憶手段と、
この演奏情報記憶手段から前記演奏情報を読み出す際のトラックの順序を設定する設定手段と、
この設定手段により設定された順序に従って前記各トラックから演奏情報を時分割で読み出す読出手段と、
を有することを特徴とする自動演奏装置。 - 複数のトラックを有し、各トラック毎に演奏情報が記憶された演奏情報記憶手段と、
この演奏情報記憶手段から前記演奏情報を読み出す際のトラックの順序を設定及び設定変更する設定変更手段と、
この設定変更手段により設定変更されるトラックの順序を更新しつつ記憶する順序記憶手段と、
この順序記憶手段に記憶されている順序に従って前記各トラックから演奏情報を時分割で読み出す読出手段と、
を有することを特徴とする自動演奏装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33968794A JP3543160B2 (ja) | 1994-12-30 | 1994-12-30 | 自動演奏装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33968794A JP3543160B2 (ja) | 1994-12-30 | 1994-12-30 | 自動演奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08185163A JPH08185163A (ja) | 1996-07-16 |
JP3543160B2 true JP3543160B2 (ja) | 2004-07-14 |
Family
ID=18329850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33968794A Expired - Fee Related JP3543160B2 (ja) | 1994-12-30 | 1994-12-30 | 自動演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3543160B2 (ja) |
-
1994
- 1994-12-30 JP JP33968794A patent/JP3543160B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08185163A (ja) | 1996-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3198890B2 (ja) | 自動演奏データ処理装置 | |
JP3941707B2 (ja) | 電子楽器 | |
JP2924745B2 (ja) | 楽音発生装置及び方法 | |
JPH06222761A (ja) | 電子楽器 | |
JP3543160B2 (ja) | 自動演奏装置 | |
JPH0123781B2 (ja) | ||
JP2536708B2 (ja) | 電子楽器 | |
JP2010243617A (ja) | 演奏ガイド装置およびプログラム | |
JP2009031457A (ja) | 楽音発生装置および楽音発生処理プログラム | |
JP2712892B2 (ja) | 楽音制御装置 | |
JP3554770B2 (ja) | 楽音発生装置 | |
JP3039311B2 (ja) | 電子楽器 | |
JP2806123B2 (ja) | ディレイエフェクタ | |
JP6210356B2 (ja) | 演奏装置、演奏方法およびプログラム | |
JP3543126B2 (ja) | 自動演奏装置 | |
JPH1185153A (ja) | 演奏装置 | |
JP2616533B2 (ja) | 電子楽器 | |
JP3533764B2 (ja) | 自動伴奏装置 | |
JP2577330Y2 (ja) | 楽音制御装置 | |
JP3064443B2 (ja) | 楽音信号発生装置 | |
JPH06161450A (ja) | 自動伴奏装置 | |
JPH01315794A (ja) | 電子楽器 | |
JP3627557B2 (ja) | 楽音発生装置及び方法 | |
JP3543161B2 (ja) | コードデータ出力装置 | |
JPH0752345B2 (ja) | イニシャルタッチ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040322 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100416 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110416 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120416 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120416 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |