JP3198890B2 - 自動演奏データ処理装置 - Google Patents
自動演奏データ処理装置Info
- Publication number
- JP3198890B2 JP3198890B2 JP25368295A JP25368295A JP3198890B2 JP 3198890 B2 JP3198890 B2 JP 3198890B2 JP 25368295 A JP25368295 A JP 25368295A JP 25368295 A JP25368295 A JP 25368295A JP 3198890 B2 JP3198890 B2 JP 3198890B2
- Authority
- JP
- Japan
- Prior art keywords
- automatic performance
- processing
- performance data
- data
- cpu
- 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
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/025—Computing or signal processing architecture features
- G10H2230/041—Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
形成に関し、特に自動演奏を行なうための自動演奏デー
タ処理装置に関する。
やシンセサイザで行なわれるのみでなく、いわゆるパソ
コン等の演算処理装置を用いても行なわれる。以下、こ
れらの演算処理装置の演算処理部をCPUと呼び、パソ
コンを例にとって説明する。
種々の機能を発揮することができる。楽音波形形成に関
するソフトウェアのタスクとして、自動演奏等が知られ
ている。
タを記憶装置に記憶しておき、このイベントデータを読
み出すことによって楽音波形形成のための制御パラメー
タを発生する処理を言う。通常、自動演奏データはイベ
ントデータとタイムデータの組によって構成される。イ
ベントデータは演奏操作のイベントの内容を表し、タイ
ムデータはイベントの生じる時刻を表す。なお、タイム
データは曲開始からの絶対時間や、イベント間の相対時
間等の種々の形態で記憶することができる。
の能力に限界がある。CPUの能力を越えた処理を行な
わせようとすると、処理に遅れが生じてしまう。たとえ
ば、CPUの処理能力を越えた速さでタイマ割り込みを
実行し、処理を行なわせようとしてもCPUは追随する
ことができない。また、自動演奏のみに対しては充分な
能力を有するCPUであっても、マルチタスク処理(複
数のタスクを並行して同時に処理する技術)により、自
動演奏以外のタスクを自動演奏タスクと同時に実行しよ
うとすると、能力不足になる場合もある。CPUの処理
能力を越えた演算処理を行なわせると、最終的に得られ
る楽音は聞きがたいものとなってしまう。
優先度が定められる。よって複数のタスクをマルチタス
クとして実行する時、自動演奏タスクの優先度が他のタ
スクの優先度より低ければ、自動演奏タスクは他のタス
クによって中断されることが生じる。たとえば、自動演
奏タスク以外のタスクの負荷が大きくなると、自動演奏
は次々に遅らされてしまう。その結果、自動演奏データ
の読み出しが遅れ、発生する楽音信号が聞きがたいもの
となってしまうことがある。
軽く設定すれば、マルチタスクであっても自動演奏タス
クの実行が遅れることを防止することができるが、能力
が高いCPUを利用する場合、CPUの能力を十分に引
出し、きめ細かな処理を行なうことができなくなってし
まう。
CPUの能力を越えた自動演奏タスクを課すと、自動演
奏タスクの実行が遅れがちになってしまう。また、マル
チタスクの実行において、CPUの能力を越えるほどの
複数のタスクが実行されると、優先度の低いタスクが遅
れがちとなってしまう。優先度の低いタスクの実行も遅
れないように予め負荷が軽くなるように設定をすると、
CPUの能力に余裕がある時にもきめ細かな処理ができ
なくなってしまう。
スク処理環境を変更し、CPUの能力を効率的に利用す
ると共に、自動演奏タスクの優先度が低く設定されてい
る場合にも遅れが発生しないようにすることのできる自
動演奏データ処理装置を提供することである。
ば、演奏におけるイベントの内容を示すイベントデータ
とイベントの生じる時間を示すタイムデータとからなる
自動演奏データを記憶手段から所定周期毎に読み出し、
楽音発生装置へと供給する自動演奏データ処理装置であ
って、 自動演奏データの処理と、楽音波形を生成する
ソフト音源処理又は楽音波形に対して効果を付与するソ
フトエフェクト処理の少なくとも一方とを並行して行う
ことのできるCPUと、前記ソフト音源処理又はソフト
エフェクト処理の少なくとも一方を行うかどうかを選択
する入力手段と、前記入力手段による選択結果に応じて
自動演奏データ処理の実行周期を決定する手段とを有す
る自動演奏データ処理装置が提供される。
おけるイベントの内容を示すイベントデータとイベント
の生じる時間を示すタイムデータとからなる自動演奏デ
ータを記憶手段から所定周期毎に読み出し、楽音発生装
置へと供給する自動演奏データ処理装置であって、 自
動演奏データの処理を行うCPUと、CPUの能力を判
別する手段と、判別したCPUの能力に応じて自動演奏
データの処理の実行周期を自動演奏のテンポとは無関係
に決定する手段とを有し、前記自動演奏データの処理
は、前記決定された実行周期と自動演奏テンポに応じ
て、1回の処理により演奏データの読み出しを進める量
を変更するものであることを特徴とする自動演奏データ
処理装置が提供される。
の実行周期を変更することにより、CPUの能力を効率
的に利用した自動演奏データ処理が可能となる。また、
自動演奏データの処理と他の処理を行う可能性がある場
合、他の処理を行うかどうかに応じて自動演奏データ処
理の実行周期を変更することによりマルチタスクの環境
に応じ、CPUの能力を効率的に利用できる自動演奏デ
ータ処理装置が実現できる。
施例による自動演奏データ処理装置を説明する。
置を示す。図1(A)は、自動演奏装置の構成を示すブ
ロック図である。CPU11は、ROM12またはRA
M13内に記憶されたプログラムに従い、RAM13を
ワーキングレジスタ等として用い、演算処理を実行す
る。自動演奏は、たとえばハードディスクドライブ(H
DD)17に記憶された自動演奏プログラムをRAM1
3に移し、フロッピディスクドライブ(FDD)18中
またはHDD17中の自動演奏データを読み出して行な
う。
1に供給する。MIDIインタフェイス19は、外部と
の信号の授受を行なう。自動演奏データをMIDIイン
タフェイス19から供給することもできる。キーボード
やマウス等の入力手段22からの入力操作は、検出回路
23で検出され、バス20に接続される。バス20は、
CPU11、ROM12、RAM13、タイマ15、H
DD17、FDD18、表示回路24等を接続する。
PU11から供給される情報を表示画面24aに表示す
る。図の表示画面では、音源設定の画面が表示されてい
る。音源設定画面は、ソフト音源(CPUの演算により
楽音波形を生成する)とハード音源(専用のハードウェ
アにより楽音波形を生成する)の選択を含む。たとえ
ば、初期状態としてソフト音源およびソフトエフェクト
(CPUの演算により楽音波形に対してリバーブ等の効
果を付与する)が選択された画面が表示される。
れている時に、カーソルを「OK」に合わせ、クリック
すると、ソフト音源が正式に選択される。カーソルを
「キャンセル」に合わせ、クリックすると、選択されて
いたソフト音源がキャンセルされる。
フェクトが点滅、色付け等により指示される。カーソル
を「OK」に合わせてクリックすれば、ソフトエフェク
トも正式に選択される。カーソルを「キャンセル」に合
わせ、クリックすればソフトエフェクトはキャンセルさ
れる。ソフト音源を選択しない場合、ハード音源が指示
される。ハード音源が指示されている時に、カーソルを
「OK」に合わせてクリックすれば、ハード音源が選択
される。ハード音源もキャンセルすると、MIDIイン
タフェイスが選択される。
るハード音源であり、バス20に対し、着脱可能に接続
される部品である。デジタル−アナログ(D/A)変換
器27は、音源回路26またはバス20からデジタル楽
音信号波形を受け、アナログ信号に変換してサウンドシ
ステム28に供給する。サウンドシステム28は、アナ
ログ楽音信号を受け、可聴音を発生する。
プログラムに従い、ROM12またはRAM13から読
み出した楽音制御パラメータに応じて、CPU11が楽
音信号波形を形成する(ソフト音源タスク)。ハード音
源を選択すれば、CPU11の指示に従って、ROM1
2またはRAM13から送られる楽音制御パラメータに
基づき、音源回路26が楽音信号波形を形成する。
1はROM12またはRAM13に記憶された楽音制御
パラメータに基づき、楽音信号波形を形成した後、さら
にエフェクト付加処理も行ない(ソフトエフェクトタス
ク)、エフェクトを付加した楽音信号波形をRAM13
に記憶させる。ソフト音源の場合、CPU11が作成し
た楽音信号波形は、一旦RAM13に記憶させた後、こ
れを読み出して直接D/A変換器27に供給され、サウ
ンドシステム28から発音される。
の実行するタスクは少ない。ソフト音源やさらにはソフ
トエフェクトを用いる場合には、CPU11は楽音信号
波形の生成も行なわねばならず、CPUが実行するタス
クは多くなる。
たはFDD18に記憶された自動演奏データをCPU1
1が読み出し、一旦RAM13に記憶させた後、楽音信
号波形の形成を行なう(自動演奏タスク)。
す。自動演奏データの単位は、タイムデータTDとイベ
ントデータEDの組で構成される。タイムデータTD
は、対応するイベントデータが発生する時間を特定す
る。たとえば、先行するイベントから次のイベントまで
の時間間隔を示す。
トオフ、キーコード等の情報で構成される。図には4組
の自動演奏データが示されているが、最初のタイムデー
タTD1は最初のイベントが発生するまでの時間を示
し、実際的には意味がない。タイムデータは所定の音符
長(たとえば384分音符長)を単位とするクロック数
によって表すことが通常である。
る。同一のソフトが種々のCPU11で実行される。C
PU11の処理能力が高い時には、自動演奏データ処理
の割り込み周期は短くても十分対応できる。一方、CP
U11の処理能力が低い時には、自動演奏データ処理の
タイマ割り込みは処理能力に合わせて遅くすることが好
ましい。
時には、ソフト音源処理のためCPU11の負荷は重く
なる。ソフト音源を用いる場合と用いない場合に対し、
同一の自動演奏処理を行なえば、CPU11の能力と実
行すべきタスクの処理量との間のアンバランスが生じ
る。
法を示す。まず、段階X1で自動演奏が選択される。次
の段階X2でCPUの能力が判別される。CPUの能力
は、たとえば速い、中位、遅いの3段階に判別される。
CPUの能力が速い場合、段階X3に進み、ソフト処理
量が判断される。自動演奏のタスクのみを実行する場合
には、ソフト処理量は少ないと判断される。ソフト音源
も実行する場合には、ソフト処理量は中位と判断され
る。ソフト音源と共にソフトエフェクトも実行する場合
には、ソフト処理量は多いと判断される。
能力が速いことと合わせて割り込み周期は最も短いFH
に設定される(段階X4)。ソフト処理量が中位の時
は、段階X5において割り込み周期はFMに設定され
る。同様にソフト処理量が多い場合には、段階X6にお
いて割り込み周期はFLに設定される。ここで、FH<
FM<FLである。
7でソフト処理量を判断し、ソフト処理量の小、中、多
に合わせ、段階X8、X9、X10で割り込み周期はM
H、MM、MLに設定される。CPUの能力が遅い場合
には、段階X11でソフト処理量を判別し、ソフト処理
量の少、中、多に合わせ、段階X12、X13、X14
で割り込み周期はそれぞれSH、SM、SLに設定され
る。
した割り込み周期よりも短く、Mを付した割り込み周期
はLを付した割り込み周期よりも短い。すなわち、 FH<FM<FL MH<MM<ML SH<SM<SL である。
れる割り込み周期は重複ないし交差しても構わない。た
とえば、FL=MHまたはFL=MMのように、CPU
の処理能力が高く、ソフト処理量が多い場合の割り込み
周期は、CPUの能力が低く、ソフト処理量が少ない場
合の割り込み周期と同一またはより長いものとなっても
構わない。
理量とに応じて、自動演奏の割り込み周期を決定する場
合を示したが、そのいずれか一方に基づいて自動演奏の
割り込み周期を決定してもよい。
置の動作を説明する。図3は、自動演奏装置のメインフ
ローを示すフローチャートである。システム電源がON
され、処理がスタートすると、ステップM1でイニシャ
ライズが行なわれる。たとえば、ソフト音源はON、ソ
フトエフェクトもONの状態に設定される。次のステッ
プM2では、マルチタスクOSがマルチタスクの実行を
管理する。
す最初のタスクは波形出力タスクであり、ソフト音源タ
スクによって生成され、RAM13に記憶された楽音信
号波形を時々刻々出力するタスクである。次のタスクは
ソフト音源およびエフェクトのタスクであり、楽音制御
パラメータに基づき、波形信号を作成し、RAM13に
設けられたレジスタに記憶させるタスクである。
クはそれぞれ別個のものであり、ソフト音源のみ、エフ
ェクトのみを選択することもできる。以下の説明におい
ては、説明の簡単化のため、エフェクトタスクはソフト
音源タスクが選択された時にのみ選択できるものとして
説明する。
記憶された自動演奏データを読み出し、別の記憶装置に
記憶させるタスクである。なお、図に示すように、各タ
スクの優先度は上側のものほど高く設定される。
クは、たとえば5msecのタイマ割り込みで実行さ
れ、自動演奏タスクは5〜20msecのタイマ割り込
みで実行される。波形出力タスクは上記2つのタスクよ
りもより頻繁に実行される。
である。自動演奏プログラムが起動され、自動演奏タス
クがスタートすると、まず自動演奏のイニシャライズが
行なわれる。
の例を示す。図6(A)は第1の例を示す。自動演奏が
イニシャライズすると、まずステップA11でCPUコ
ードを得る。このCPUコードの取得は、プログラムに
よって自動的に行なってもよく、図1に示す表示画面を
用い、使用者が入力することによって行なってもよい。
取得したCPUコードに応じて、第1の割り込み周期を
設定する。第1の割り込み周期は、さらに後の処理にお
いて修正される可能性がある割り込み周期である。その
後、処理はリターンする。
第2の例を示す。処理がスタートすると、ステップA1
5でベンチマークテストを行なう。CPU能力に応じた
ベンチマークテストの結果が得られる。
じて第1の割り込み周期を設定する。その後処理はリタ
ーンする。これらの例において、第1の割り込み周期
は、たとえば処理が速い場合FH(5msec)、中位
の場合MH(10msec)、遅い場合SH(20ms
ec)等のように設定される。すなわち、CPUの能力
に応じて、割り込み周期をF、M、Sの3種に分け、各
種類の中のそれぞれソフト処理量少(H)に仮に設定す
る。そして後述する図9において、ソフト処理量に応じ
て周期が修正される。
プA2に進んで自動演奏データの読み出し処理を行な
う。図7は、自動演奏データ読み出し処理の例を示す。
処理がスタートすると、ステップA21に進み、自動演
奏データ読み出し処理のフラグRUNが1か否かを判断
する。RUNが1の場合には、自動演奏データ読み出し
処理が設定されていることを示す。この場合、YESの
矢印に従ってステップA22に進み、たとえば初期値と
してKが記憶されているレジスタTIMEに収容されて
いる数値から一定値Kを減算し、改めてレジスタTIM
Eに収容する。すなわち、自動演奏データ読み出し処理
の割り込みが生じるたびに、レジスタTIMEの値はK
ずつ減少する。
の割り込み周期に応じて設定されるものであり、たとえ
ば、 K=(テンポ×分解能×割り込み周期)/(60×10
00) で表される。すなわち、時間をmsecで表した場合、
1分間は60×1000msecとなる。テンポは1分
間に演奏される四分音符の数を示し、分解能は四分音符
をいくつに分解するかの数を示す。すなわち、テンポ×
分解能は、1分間に最低設定時間がいくつ収容されるか
の数を示す。割り込み周期は、タイマ割り込みの周期
(msec)を示す。すなわち、定数Kは、楽譜処理上
の最小時間単位を何回の割り込み周期に設定するかの逆
数を示す。
6、割り込み周期10msecの場合、 K=(120×96×10)/(60×1000)=
1.92 となる。
2.88 となり、テンポ=120、分解能=96、割り込み周期
20msecの場合には、 K=(120×96×20)/(60×1000)=
3.84 となる。テンポが速くなったり、割り込み周期が長くな
ると、Kの値が大きくなり、一回の割り込みで減算され
るTIMEの減少幅が大きくなる。
じるまでの時間が設定されているため、Kが大きけれ
ば、少ない割り込み周期で次のイベントに達し、Kが小
さければ、次のイベントに達するまで、何回も割り込み
が生じる。次のイベントが一定時間に発生するように設
定されるため、割り込み周期は、Kの値が小さければ短
く、Kの値が大きければ長い。
Eの値が“0”または負になったか否かを判定する。上
述の設定では、TIMEの初期値(演奏データ中のタイ
ムデータのうち、先頭のものが図示しない演奏スタート
時の処理によりセットされる)からKが減算される。T
IMEが“0”または負になった場合には、次のイベン
トを読み出すべきタイミングに達したため、YESの矢
印に従って次のステップA24に進み、自動演奏データ
のアドレスを進め、データを読み出す。
タがタイムデータであるか否かを判定する。図1(B)
に示すように、イベントデータがタイムデータとイベン
トデータの組で記憶されており、初めのデータがタイム
データの場合、判定はYESとなってステップA27へ
進む。ステップA27でTIMEが更新される。次のス
テップA28では、TIMEが正か否かが判定される。
TIME≦0の場合NOとなり、ステップA24に戻
る。
ータを読み出すと、イベントデータが読み出される。読
み出されたデータがイベントデータであるので、ステッ
プA25の判定はNOとなり、NOの矢印に従って、ス
テップA26に進み、イベント処理が行なわれる。ソフ
ト音源が選択されている場合、ソフト音源のレジスタに
読み出したイベント(ノートオン/ノートオフおよびキ
ーコード)が書き込まれる。ソフト音源がマルチチャン
ネル(複数音同時発音可能なように、複数の楽音波形生
成チャンネルを有する)の場合には、チャネルアサイン
処理も行なわれる。
24に戻る。次のアドレスに進み、タイムデータが読み
出される。このタイムデータは、次のイベントまでの時
間を示す。ステップA25では判定がYESとなり、ス
テップA27に進む。ステップA27では、レジスタT
IMEの値に読み出したタイムデータを加算し、レジス
タTIMEを更新する。次のステップA28では、更新
したレジスタTIMEの値が正になったか否かが判定さ
れる。TIMEが正になってYESの矢印に従ってリタ
ーンする。なお、ステップA21でフラグRUNが
“0”の場合には、NOの矢印に従って直ちにリターン
する。また、ステップA23においてレジスタTIME
の値が“0”または負になっていない場合には、次の自
動演奏データを読み出すべきタイミングに達していない
ため、直ちにリターンする。
減算される。TIMEが“0”または負になれば、次の
イベントが読み出される。TIMEを更新しても正にな
っていない場合には、さらに次のデータも読み出すべき
タイミングに達しているため、ステップA24に戻って
さらにイベントデータおよびタイムデータの読み出しが
行なわれる。このようにして、レジスタTIMEの値が
正になるまで、自動演奏データが読み出される。レジス
タTIMEの値が正になると、ステップA28の判定が
YESに変わり、リターンする。すなわち、減算された
Kの値が読み出されたタイムデータの値よりも大きい
時、複数のイベントデータが読み出されることになる。
応じ、第一の割り込み周期を設定し、割り込み周期に応
じて定数Kを設定することにより、自動演奏データ読み
出し処理が、CPUの能力に応じた割り込み周期で実行
される。
ータ読み出し処理が終了すると、次のステップA3に進
み、音源設定処理が行なわれる。図8は、音源設定処理
の例を示す。処理が開始すると、ステップA301でソ
フト音源の選択、すなわち「ソフト音源」がクリックさ
れたか否かが判断される。ソフト音源が選択されていれ
ば、YESの矢印に従って、ステップA302に進み、
図1に示す表示画面24aにおけるソフト音源の表示を
ONにする。続いて、ステップA303で「OK」がク
リックされたか否かが判断される。「OK」がクリック
されていれば、YESの矢印に従って、ステップA30
4に進み、ソフト音源の設定を有効とする。次のステッ
プA305では、割り込み設定処理を行なう。この割り
込み設定処理は後に詳述する。
ていない場合、NOの矢印に従って、ステップA308
に進み、ソフトエフェクトの選択、すなわち「ソフトエ
フェクト」がクリックされたか否かが判断される。「ソ
フトエフェクト」が選択されていれば、YESの矢印に
従って、ステップA309に進み、今までソフトエフェ
クトがOFFか否かが判断される。今までOFFの場
合、YESの矢印に従ってステップA301に進み、画
面表示上のソフトエフェクトをONにする。その後、ス
テップA303に進み、画面表示上の「OK」または
「キャンセル」がクリックされているか否かに応じ、ソ
フトエフェクトの設定を有効または無効とする。また、
ソフトエフェクトが設定される場合、さらに割り込み設
定処理がなされる。
択されていない場合、NOの矢印に従ってステップA3
12に進み、ハード音源の選択、すなわち「ハード音
源」がクリックされたか否かが判断される。ハード音源
が選択されていれば、YESの矢印に従ってステップA
313に進み、音源回路が装着されているか否かが判断
される。音源回路があれば、YESの矢印に従って、ス
テップA314に進み、ソフト音源をOFFにする。そ
の後、ステップA303に進み、同様の設定処理が行な
われる。
の場合、またはステップA313で音源回路がない場
合、NOの矢印に従って直ちにステップA303に進
む。なお、ハード音源が接続されておらず、ソフト音源
も選択されていない場合とは、外部MIDI音源が接続
されている場合等である。
あっても図1に示す画面24aでの音源設定において音
源設定が変更された場合に実行される。図9は、割り込
み処理の例を示すフローチャートである。処理がスター
トすると、ステップAa1でソフト音源がONか否かが
判断される。ソフト音源が設定されていない時は、NO
の矢印に従ってステップAa2に進み、割り込み周期を
高速に設定する。
プAa1の判断はYESとなり、ステップAa3に進
み、ソフトエフェクトが設定されているか否かが判断さ
れる。ソフトエフェクトは設定されていない場合、NO
の矢印に従ってステップAa4に進み、割り込み周期を
中速に設定する。
されている場合は、YESの矢印に従ってステップAa
5に進み、割り込み周期を低速に設定する。なお、図2
に示すように、ステップAa2、ステップAa4、ステ
ップAa5でそれぞれ高速、中速、低速と述べたのは、
CPUの処理能力に応じて設定した第1の割り込み周期
をさらに修正するための指標である。たとえば、CPU
の能力が高速の場合、高速はFH(5msec)、中速
はFM(10msec)、低速はFL(20msec)
に設定される。同様にCPU能力が中の時には、MH、
MM、ML、遅の時はSH、SM、SLに設定される。
その後処理はリターンする。
第1の場合分けを行ない、次にソフト音源およびソフト
エフェクトの設定状況に応じ、さらに割り込み周期を修
正することにより、CPU能力およびソフト処理量に応
じた割り込み周期の設定が行なえる。
を説明する。以上のように、ステップA1、A2、A3
が実行された後、ステップA4においてその他の処理が
行なわれる。その他の処理を終了した後は、ステップA
5に進み、マルチタスクOSに対してウェイトコールを
してウェイト状態に設定する。すなわち、次の割り込み
が生じるまで自動演奏タスク処理は中断する。
例を示す。図10(A)は、ソフト音源が選択された時
スタートするソフト音源およびエフェクトタスクの例を
示す。処理がスタートすると、ステップB1に進み、ソ
フト音源およびエフェクトのイニシャライズが行なわれ
る。
否かが判断される。ソフト音源がONの場合、YESの
矢印に従って、ステップB3に進み、ソフト音源レジス
タの内容(ノートオン/ノートオフおよびキーコード)
に基づいて楽音波形の生成が行なわれる。マルチチャン
ネル音源の場合、各チャンネルに対応するソフト音源レ
ジスタの内容に応じた波形生成が行なわれる。波形生成
は、PCM、FM等、種々の形態で行なわれる。
分)の波形が生成されると、ステップB4に進み、バッ
ファに生成波形を書き込む。その後、ステップB5に進
み、ソフトエフェクトが設定されているか否かが判断さ
れる。
は、YESの矢印に従ってステップB6に進み、バッフ
ァに記憶された波形にエフェクトを付加する加工を施
し、加工を施した楽音波形をバッファに書き込む。エフ
ェクトとしては、たとえばリバーブ処理やコーラス処理
等が行なわれる。その後ステップB7に進み、マルチタ
スクOSに対してウェイトコールをしてウェイト状態と
なる。なお、ステップB2またはB5において、判断結
果が否の場合、NOの矢印に従って直ちにステップB7
に進む。
を示す。処理がスタートすると、ステップC1におい
て、バッファに書き込まれている楽音波形をD/A変換
器27へ出力する。その後ステップC2に進み、ウェイ
トコールの状態となる。
楽音波形を順次読み出すタスクであり、最も頻繁(たと
えば44.1kHz=0.0226msec毎)に行な
われる。
タスクの割り込み周期によってどのようにタスクの実行
が変更されるかを示す概念図である。横軸は時間の進行
を示し、白抜きの枠は自動演奏の実行時間を示し、ハッ
チ付の枠はソフト音源の処理時間を示す。図11(A)
は、速いCPUの割り込み処理を示す。CPUの能力が
十分あるので、ソフト音源処理と自動演奏処理が1単位
期間毎に実行される。図11(B)は、遅いCPUに対
応した自動演奏の割り込み処理を示す。ソフト音源処理
が2回行なわれる毎に自動演奏が1回処理される。
行なわれた後に自動演奏処理が1回行なわれる。自動演
奏の割り込み周期は長いので、自動演奏のソフト処理量
は軽減され、ソフト音源処理のために自動演奏処理が遅
延することが減少する。なお、自動演奏処理の割り込み
周期を長くすることにより、順次発生すべき楽音が一度
に発生するような場合も発生するが、演奏自体が遅れる
よりは聴取者の受ける印象は良好となる。
処理の割り込みタイミングが変更される場合を示す。図
12(A)は、自動演奏処理のみを行なう場合を示す。
単位周期毎に自動演奏処理が1回ずつ実行される。
源処理を実行する場合を示す。ソフト音源処理を行なう
と、ソフト音源処理は自動演奏処理に優先して実行され
る。この場合、図12(A)同様、各単位周期毎に自動
演奏処理を行なおうとすると、ソフト処理量が増大し、
自動演奏処理の遅延を生じることがある。このため、ソ
フト音源処理2回につき自動演奏処理を1回に減少させ
ている。自動演奏処理の回数が減少することにより、ソ
フト処理量が減少し、自動演奏の遅延が減少する。
にエフェクト処理も行なう場合を示す。ソフト音源処理
とエフェクト処理を行なうため、ソフト処理量はかなり
増大する。このため、自動演奏処理は4単位時間に1回
に減少させている。なお、2回目の自動演奏処理ではそ
の一部が終了せずに中断し、ソフト音源およびエフェク
ト処理が開始している。残りの自動演奏処理はソフト音
源およびエフェクト処理が1回終了した後に再び開始し
ている。なお、このように自動演奏処理の遅延が生じて
も、CPUの処理に空き時間ができた時に処理を継続
し、次回の割り込みまでには処理を終了させることがで
きる場合が多く、楽音信号形成上、支障は生じにくい。
が、本発明はこれらに制限されるものではない。たとえ
ば、パソコンとそのアプリケーションソフトウェアの場
合に限らず、電子楽器において同様の自動演奏処理を行
なうこともできる。また、用いるCPUがグレードアッ
プ可能な場合や、同時に他のアプリケーションソフトを
実行することが可能な場合も含む。電子楽器の形態に限
らず、カラオケ装置やゲーム機等の機器にも同様の処理
が適用できる。エフェクト処理がソフト音源を選択した
場合のみ選択可能な場合を説明したが、ハード音源を用
い、エフェクト処理をソフト処理で行なうことも可能で
ある。
相対時間、イベント+絶対時間、音高+不調、ベタ方式
(単位時間間隔毎にイベントの有無を記憶した方式)
等、どのような形式であってもよい。
ポクロックの周期を変更するもの、テンポクロックの周
期は変えず、タイムデータの値を修正するものであって
もよい。たとえば、テンポクロック周期を変更する場
合、通常1回の処理において1カウントするところを周
期を2倍ないしは5倍にし、2カウントないし5カウン
トすればよい。また、タイムデータの値を修正する場合
は、周期を2倍ないし5倍にした時はタイムデータの値
を1/2ないし1/5にするようにすればよい。
クが動作するようにしたが、たとえばタイマ割り込みに
よりフラグを立て、メインルーチン内で実行される自動
演奏処理中で該フラグを監視し、フラグの状態に応じて
処理を行なうようなものであってもよい。すなわち、割
り込みにより直接自動演奏処理が動作しないものであっ
てもよい。
動伴奏等自動的に楽音発生を行なう処理であればよい。
ソフト音源の楽音波形形成方式は、波形メモリ方式、F
M方式、物理モデル方式、高調波合成方式、フォルマン
ト合成方式等、どのような方式であってもよい。
が可能なことは当業者に自明であろう。
CPUの能力やソフト処理量に応じ、自動演奏処理の実
行タイミングが変更されるため、処理状況に応じた適切
な自動演奏処理が行なえ、CPUの能力を効率的に利用
することができる。
ロック図および自動演奏データの形式を示す模式図であ
る。
念図である
ある。
トである。
込み周期の例を示す概略図である。
り込み周期を示す概略図である。
5 タイマ 17HDD 18 FDD 19
MIDIインタフェイス 20 バス 22 入力手段 23 検出回路 24 表示回路
24a 表示画面 26 音源回路 27 D/A変換器 28 サウ
ンドシステム TDタイムデータ ED イベント
データ
Claims (4)
- 【請求項1】 演奏におけるイベントの内容を示すイベ
ントデータとイベントの生じる時間を示すタイムデータ
とからなる自動演奏データを記憶手段から所定周期毎に
読み出し、楽音発生装置へと供給する自動演奏データ処
理装置であって、 自動演奏データの処理と、楽音波形を生成するソフト音
源処理又は楽音波形に対して効果を付与するソフトエフ
ェクト処理の少なくとも一方とを並行して行うことので
きるCPUと、 前記ソフト音源処理又はソフトエフェクト処理の少なく
とも一方を行うかどうかを選択する入力手段と、 前記入力手段による選択結果に応じて自動演奏データ処
理の実行周期を決定する手段とを有する自動演奏データ
処理装置。 - 【請求項2】 さらに、前記CPUの能力を判別する手
段を有し、前記自動演奏データ処理の実行周期を決定す
る手段は、判別したCPUの能力にも応じて自動演奏デ
ータ処理の実行周期を決定する請求項1記載の自動演奏
データ処理装置。 - 【請求項3】 演奏におけるイベントの内容を示すイベ
ントデータとイベントの生じる時間を示すタイムデータ
とからなる自動演奏データを記憶手段から所定周期毎に
読み出し、楽音発生装置へと供給する自動演奏データ処
理装置であって、 自動演奏データの処理を行うCPUと、 CPUの能力を判別する手段と、 判別したCPUの能力に応じて自動演奏データの処理の
実行周期を自動演奏のテンポとは無関係に決定する手段
とを有し、前記自動演奏データの処理は、 前記決定された実行周期と自動演奏テンポに応じて、1
回の処理により演奏データの読み出しを進める量を変更
するものであることを特徴とする自動演奏データ処理装
置。 - 【請求項4】 演奏におけるイベントの内容を示すイベ
ントデータとイベントの生じる時間を示すタイムデータ
とからなる自動演奏データを記憶手段から所定周毎に読
み出し、楽音発生装置へと供給する自動演奏データ処理
装置であって、 自動演奏データの処理と他の処理を並行して行うことの
できるCPUと、 前記他の処理による負荷を判別する手段と、 判別した前記負荷に応じて自動演奏データの処理の実行
周期を自動演奏のテンポとは無関係に決定する手段とを
有し、前記自動演奏データの処理は、 前記決定された実行周期と自動演奏のテンポに応じて、
1回の処理により演奏データの読み出しを進める量を変
更するものであることを特徴とする自動演奏データ処理
装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25368295A JP3198890B2 (ja) | 1995-09-29 | 1995-09-29 | 自動演奏データ処理装置 |
US08/719,509 US5703310A (en) | 1995-09-29 | 1996-09-25 | Automatic performance data processing system with judging CPU operation-capacity |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25368295A JP3198890B2 (ja) | 1995-09-29 | 1995-09-29 | 自動演奏データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0997064A JPH0997064A (ja) | 1997-04-08 |
JP3198890B2 true JP3198890B2 (ja) | 2001-08-13 |
Family
ID=17254694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25368295A Expired - Fee Related JP3198890B2 (ja) | 1995-09-29 | 1995-09-29 | 自動演奏データ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5703310A (ja) |
JP (1) | JP3198890B2 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69704996T2 (de) * | 1996-08-05 | 2002-04-04 | Yamaha Corp | Software-Tonerzeuger |
JP3747584B2 (ja) * | 1996-10-18 | 2006-02-22 | ヤマハ株式会社 | 端末装置の機能拡張方法及びホストコンピュータ並びに端末装置 |
US6960133B1 (en) | 2000-08-28 | 2005-11-01 | Igt | Slot machine game having a plurality of ways for a user to obtain payouts based on selection of one or more symbols (power pays) |
DE19861002C2 (de) * | 1998-08-11 | 2002-10-17 | Ibm | Computerprogramm zur Synchronisation von Leistungsdaten in verteilten Rechnerumgebungen |
JP3546739B2 (ja) * | 1999-02-24 | 2004-07-28 | ヤマハ株式会社 | 自動演奏装置と記録媒体 |
JP3620396B2 (ja) * | 2000-03-24 | 2005-02-16 | ヤマハ株式会社 | 情報修正装置及び情報修正プログラムを記録した媒体 |
US6769985B1 (en) | 2000-05-31 | 2004-08-03 | Igt | Gaming device and method for enhancing the issuance or transfer of an award |
US7695363B2 (en) | 2000-06-23 | 2010-04-13 | Igt | Gaming device having multiple display interfaces |
US7699699B2 (en) | 2000-06-23 | 2010-04-20 | Igt | Gaming device having multiple selectable display interfaces based on player's wagers |
US6935955B1 (en) | 2000-09-07 | 2005-08-30 | Igt | Gaming device with award and deduction proximity-based sound effect feature |
US6739973B1 (en) | 2000-10-11 | 2004-05-25 | Igt | Gaming device having changed or generated player stimuli |
US6561908B1 (en) * | 2000-10-13 | 2003-05-13 | Igt | Gaming device with a metronome system for interfacing sound recordings |
US7040983B2 (en) | 2001-03-21 | 2006-05-09 | Igt | Gaming device having a multi-round, multi-characteristic matching game |
US6749502B2 (en) | 2001-03-21 | 2004-06-15 | Igt | Gaming device having a multi-characteristic matching game |
US7901291B2 (en) | 2001-09-28 | 2011-03-08 | Igt | Gaming device operable with platform independent code and method |
US7708642B2 (en) | 2001-10-15 | 2010-05-04 | Igt | Gaming device having pitch-shifted sound and music |
US7666098B2 (en) | 2001-10-15 | 2010-02-23 | Igt | Gaming device having modified reel spin sounds to highlight and enhance positive player outcomes |
US6848996B2 (en) | 2001-10-15 | 2005-02-01 | Igt | Gaming device with sound recording changes associated with player inputs |
US7789748B2 (en) | 2003-09-04 | 2010-09-07 | Igt | Gaming device having player-selectable music |
US7105736B2 (en) | 2003-09-09 | 2006-09-12 | Igt | Gaming device having a system for dynamically aligning background music with play session events |
JP4400363B2 (ja) * | 2004-08-05 | 2010-01-20 | ヤマハ株式会社 | 音源システム、楽曲ファイルを記録したコンピュータ読み取り可能な記録媒体及び楽曲ファイル作成ツール |
US7585219B2 (en) | 2004-09-30 | 2009-09-08 | Igt | Gaming device having a matching symbol game |
US8043155B2 (en) | 2004-10-18 | 2011-10-25 | Igt | Gaming device having a plurality of wildcard symbol patterns |
JP4880298B2 (ja) * | 2005-12-13 | 2012-02-22 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体、及びデータ再生システム |
US8491392B2 (en) | 2006-10-24 | 2013-07-23 | Igt | Gaming system and method having promotions based on player selected gaming environment preferences |
JP5169000B2 (ja) * | 2007-04-19 | 2013-03-27 | ヤマハ株式会社 | 楽音再生装置およびプログラム |
US8591308B2 (en) | 2008-09-10 | 2013-11-26 | Igt | Gaming system and method providing indication of notable symbols including audible indication |
US8153347B2 (en) | 2008-12-04 | 2012-04-10 | Eastman Kodak Company | Flexographic element and method of imaging |
JP4877401B2 (ja) * | 2010-04-05 | 2012-02-15 | ヤマハ株式会社 | 電子楽器用バスシステム |
US8460090B1 (en) | 2012-01-20 | 2013-06-11 | Igt | Gaming system, gaming device, and method providing an estimated emotional state of a player based on the occurrence of one or more designated events |
US9245407B2 (en) | 2012-07-06 | 2016-01-26 | Igt | Gaming system and method that determines awards based on quantities of symbols included in one or more strings of related symbols displayed along one or more paylines |
US8740689B2 (en) | 2012-07-06 | 2014-06-03 | Igt | Gaming system and method configured to operate a game associated with a reflector symbol |
CN103258529B (zh) * | 2013-04-16 | 2015-09-16 | 初绍军 | 一种电子乐器、音乐演奏方法 |
US9192857B2 (en) | 2013-07-23 | 2015-11-24 | Igt | Beat synchronization in a game |
US9947170B2 (en) | 2015-09-28 | 2018-04-17 | Igt | Time synchronization of gaming machines |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5266736A (en) * | 1988-06-21 | 1993-11-30 | Kawai Musical Instrument Mfg. Co., Ltd. | Interruption control apparatus for use in performance information processing system |
JP2565555B2 (ja) * | 1988-11-07 | 1996-12-18 | 株式会社河合楽器製作所 | 電子楽器の系列累算処理装置 |
JP2812222B2 (ja) * | 1994-10-31 | 1998-10-22 | ヤマハ株式会社 | 電子楽器および音源手段の置き換え方法 |
US5596159A (en) * | 1995-11-22 | 1997-01-21 | Invision Interactive, Inc. | Software sound synthesis system |
-
1995
- 1995-09-29 JP JP25368295A patent/JP3198890B2/ja not_active Expired - Fee Related
-
1996
- 1996-09-25 US US08/719,509 patent/US5703310A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0997064A (ja) | 1997-04-08 |
US5703310A (en) | 1997-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3198890B2 (ja) | 自動演奏データ処理装置 | |
JP3293434B2 (ja) | 楽音発生方法 | |
JPH09120275A (ja) | 歌詞表示装置 | |
JPH11126070A (ja) | 楽音生成方法 | |
JP2924745B2 (ja) | 楽音発生装置及び方法 | |
JPH09325778A (ja) | 楽音発生方法 | |
WO2001065536A1 (fr) | Generateur de sons musicaux | |
US6770806B2 (en) | Tone signal processing apparatus with intermittent clock supply | |
JP3152198B2 (ja) | 楽音発生方法および楽音発生装置 | |
JPH07121181A (ja) | 音声情報処理装置 | |
EP0376342B1 (en) | Data processing apparatus for electronic musical instruments | |
JP3637577B2 (ja) | 楽音生成方法 | |
JP3658826B2 (ja) | 楽音生成方法 | |
JP3765152B2 (ja) | 楽音合成装置 | |
JPH0331273B2 (ja) | ||
JP3725247B2 (ja) | 楽音生成処理方法 | |
JP3740717B2 (ja) | 音源装置及び楽音生成方法 | |
US6414232B2 (en) | Tone generation method and apparatus based on software | |
JP4063286B2 (ja) | 音源装置 | |
JP3050779B2 (ja) | 信号処理装置 | |
JP4477159B2 (ja) | カラオケ装置 | |
JPH10207465A (ja) | 楽音発生方法および楽音発生装置 | |
JPH11167517A (ja) | 信号処理装置 | |
JP2004093732A (ja) | 楽音発生装置及び楽音発生処理のプログラム | |
JP3627557B2 (ja) | 楽音発生装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010515 |
|
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: 20080615 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090615 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |