JPH05249970A - 電子楽器の効果付与装置 - Google Patents

電子楽器の効果付与装置

Info

Publication number
JPH05249970A
JPH05249970A JP4084634A JP8463492A JPH05249970A JP H05249970 A JPH05249970 A JP H05249970A JP 4084634 A JP4084634 A JP 4084634A JP 8463492 A JP8463492 A JP 8463492A JP H05249970 A JPH05249970 A JP H05249970A
Authority
JP
Japan
Prior art keywords
effect
signal
channel
tone
processing
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.)
Pending
Application number
JP4084634A
Other languages
English (en)
Inventor
Minoru Fujisawa
實 藤澤
Hiroyuki Endo
弘之 遠藤
Mitsuhiro Uzuta
光博 埋田
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.)
Roland Corp
Original Assignee
Roland 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 Roland Corp filed Critical Roland Corp
Priority to JP4084634A priority Critical patent/JPH05249970A/ja
Publication of JPH05249970A publication Critical patent/JPH05249970A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 本発明は電子楽器において楽音に効果を付与
する信号処理を行う効果付与装置に関するものであり、
付与する効果を変更する際にできるだけ早く新たな効果
の付与を開始できるようにして、応答の遅延による演奏
表現上の違和感を軽減することを目的とする。 【構成】 信号遅延用メモリを用いて楽音信号に効果を
付与する電子楽器の効果付与装置において、新しく入力
された楽音信号に効果付与を開始する際に、少なくとも
その信号遅延用メモリに残留している従前の楽音データ
が出力されきるまでに相当する期間は信号遅延用メモリ
から楽音データの読出しを行わないようにする読出し開
始待ち処理手段を備えたことを特徴とするものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子楽器において楽音に
効果を付与する信号処理を行う効果付与装置に関するも
のである。
【0002】
【従来の技術】電子楽器においては、楽音信号にリバー
ブ、ディレイ、フイルタ等の効果を付与することが有
る。このような効果はディジタル信号処理装置などによ
り付与される。ところで、ディジタル信号処理において
は、信号に遅延を生ぜしめるためにメモリ(以降、この
目的に使用されるメモリを信号遅延用メモリと称する)
を使用している。この信号遅延用メモリは、リバーブ、
ディレイ、フイルタなどの効果の種類、各効果の態様
(例えばリバーブ効果におけるリバーブタイプやルーム
サイズなどの効果付与態様)に対応してその長さや数な
どの使用形態が異なっている。したがって楽音信号に付
与する効果付与態様を変更すると、信号遅延用メモリの
使用形態も変更される。
【0003】その際、信号遅延用メモリに従前の信号が
残留していると、信号遅延用メモリから取り出されたデ
ータに記憶時に予定した信号処理とは異なる処理がなさ
れ、予期せぬ音が異音となって生成されることがある。
これを防ぐために、効果付与態様を変更する際には、信
号遅延用メモリに残留する信号を除去してから新たな楽
音信号を入力するようにしている。すなわち信号処理を
一旦停止後、使用する信号遅延用メモリをクリアし、そ
の後、新たな効果の付与を開始していた。
【0004】
【発明が解決しようとする課題】このような信号処理装
置を使用して効果を付与すると、効果付与態様を変更す
る場合には、信号遅延用メモリをクリアしている間は信
号処理を停止しなければならないが、このクリア処理に
はある程度の時間が必要である。このため、新たな効果
が付与された楽音の発音の開始は、そのメモリのクリア
に要する時間分だけ遅れていた。
【0005】電子楽器においては、鍵盤や自動演奏装置
などから受信する楽音情報(音色、音高、ベロシティな
ど)に対応した楽音信号を発生しているが、その発生し
た楽音信号に前記楽音情報に対応した効果付与態様で効
果を付与することが望まれることがある。特にその内部
にあたかも複数個の「楽器」が有るかのように機能すべ
く構成され、同時に複数個の「楽器」から楽音信号を生
成するマルチティンバ電子楽器においては、この「楽
器」に相当する部分(以下パートと称する)でそれぞれ
異なる音色を生成することができるので、パート毎に音
色に応じた効果を付与するのが望ましい。
【0006】この場合、例えば対をなす楽音発生チャネ
ル・効果付与チャネルの組を必要数用意し、入力された
新たな楽音情報をその対をなす楽音発生チャネル・効果
付与チャネルの組に割り当てることが考えられる。その
場合、新たな楽音情報は、発音・効果付与を終了してい
る、または従前の発音・効果付与を中止しても演奏表現
上支障の少ない楽音発生チャネル・効果付与チャネルの
組に割り当てるようにするのが望ましい。
【0007】しかしながら、このようにすると、新たな
楽音情報に基づく効果付与態様が、新たな楽音情報を割
り当てようとする効果付与チャネルで現に付与中の効果
付与態様と異なることがあるので、新たな楽音情報を割
り当てる効果付与チャネルにおいては、効果の付与を停
止後、信号遅延用メモリをクリアし、その後に新たな効
果の付与を開始する必要がある。したがって信号遅延用
メモリをクリアする間新たな効果付与を行えず、効果付
与の開始が遅れるとともに新たな楽音信号の生成も遅
れ、発音の応答性が損われて、演奏表現上違和感を生じ
る。
【0008】本発明はかかる事情に鑑みてなされたもの
であり、その目的とするところは、付与する効果を変更
する際にできるだけ早く新たな効果の付与を開始できる
ようにして、応答の遅延による演奏表現上の違和感を軽
減することにある。
【0009】
【課題を解決するための手段】上述の課題を解決するた
めに、本発明の電子楽器の効果付与装置は、第1の形態
として、信号遅延用メモリを用いて楽音信号に効果を付
与する電子楽器の効果付与装置において、新しく入力さ
れた楽音信号に効果付与を開始する際に、少なくともそ
の信号遅延用メモリに残留している従前の楽音データが
出力されきるまでに相当する期間は該信号遅延用メモリ
から楽音データの読出しを行わないようにする読出し開
始待ち処理手段を備えたことを特徴とするものである。
【0010】また本発明の電子楽器の効果付与装置は、
第2の形態として、信号遅延用メモリを用いて楽音信号
に効果を付与する電子楽器の効果付与装置において、楽
音発生装置での楽音発生終了を受けて行われる効果付与
終了処理の際に、発生終了した楽音に対して信号遅延用
メモリから楽音データを読み出して残りの効果付与処理
を行いつつ、信号遅延用メモリ内の不必要となった楽音
データを消去していく効果付与終了処理中クリア処理手
段を備えたことを特徴とするものである。
【0011】また本発明の電子楽器の効果付与装置は、
第3の形態として、信号遅延用メモリを用いて楽音信号
に効果を付与する電子楽器の効果付与装置において、新
しい楽音情報に対して効果付与チャネルを割り当てるた
めの急速効果付与終了処理の急速減衰中に、信号遅延用
メモリ内の不必要となった楽音データを消去していく急
速効果付与終了処理中クリア処理手段を備えたことを特
徴とするものである。
【0012】また本発明の電子楽器の効果付与装置は、
第4の形態として、信号遅延用メモリを用いて楽音信号
に効果を付与する電子楽器の効果付与装置において、信
号遅延用メモリに残留する不必要となった楽音データ
を、効果付与用プログラムの実行において余剰となった
空きスロットを用いて消去する空きスロット中クリア手
段を備えたことを特徴とするものである。
【0013】また本発明の電子楽器の効果付与装置は、
第5の形態として、信号遅延用メモリを用いて楽音信号
に効果を付与する電子楽器の効果付与装置において、信
号遅延用メモリとして効果付与チャネルの数よりも余分
のメモリを用意し、新しく入力された楽音信号に効果付
与を行うにあたっては、蓄積した楽音データをクリア済
の信号遅延用メモリ、あるいはクリア処理が最も進んで
いる信号遅延用メモリを選択して使用する手段を備えた
ことを特徴とするものである。
【0014】
【作用】本発明の第1の形態の電子楽器の効果付与装置
では、新しく入力された楽音信号に効果付与を開始する
際に、その信号遅延用メモリに残留している従前の楽音
データ(つまり異音の原因となる無効なデータ)が出力
されきるまでに相当する期間は該信号遅延用メモリから
楽音データの読出しを停止するので、新たな楽音信号へ
の効果付与開始指示の後の所定期間(異音が生じえる期
間)は効果付与装置から楽音が出力されず、異音が出力
されることを防止できる。したがって、従前の楽音信号
が信号遅延用メモリに残留していても支障を生じないの
で、クリア処理が不要となり、効果付与開始までの遅れ
を少なくすることができる。
【0015】また本発明の第2の形態の電子楽器の効果
付与装置では、楽音発生装置での楽音発生が終了した楽
音に対して残りの効果付与を行っている効果付与終了処
理の期間中に、信号遅延用メモリ内の不必要となった楽
音データを逐次に消去していく。例えば、信号遅延用メ
モリから残りの効果付与を行うために楽音データを読み
出しつつ、その読み出したと同じアドレス位置に“0”
データを書き込むことで、信号遅延用メモリの不必要な
楽音デークを消去していくことができる。したがって、
効用付与終了処理と並行して不要なデータを極力消去し
ていくので、新たな効果付与にあたってはクリア処理が
必要な場合でもその時間を短縮でき、信号遅延用メモリ
を早く使用できるようになり、効果付与開始までの遅れ
を少なくすることができる。
【0016】同様に、本発明の第3の形態の電子楽器の
効果付与装置では、急速効果付与終了処理の急速減衰中
に、信号遅延用メモリ内の不必要となった楽音データ
(例0ば各読出し点が急速効果付与終了開始時のアドレ
スから急速減衰中に経過する区間を除いた区間のデー
タ)を消去していく。したがって、急速減衰処理と並行
して不要なデータを極力消去していくので、新たな効果
付与にあたってはクリア処理が必要な場合でもその時間
を短縮でき、信号遅延用メモリを早く使用できるように
なり、効果付与開始までの遅れを少なくすることができ
る。
【0017】また本発明の第4の形態の電子楽器の効果
付与装置では、信号遅延用メモリに残留する不必要とな
った楽音データを、効果付与用プログラムの実行におい
て余剰となった空きスロットを用いて消去する。例えば
消去処理の開始時に効果付与用のスロット数から効果付
与チャネルで使用中の総スロット数を除いたスロット数
の範囲で処理可能な消去プログラムを用意しておいて、
それを起動して信号遅延用メモリの楽音データを逐次に
消去する。したがってより多くのスロットを用いて消去
できるので、信号遅延用メモリを早く使用できるように
なり、効果付与開始までの遅れを少なくすることができ
る。
【0018】また本発明の第5の形態の電子楽器の効果
付与装置では、信号遅延用メモリとして効果付与チャネ
ルの数よりも余分のメモリを用意し、それらのメモリは
それに蓄積された不必要な楽音データを適宜クリアして
いくようにする。そして新しく入力された楽音信号に効
果付与を行うにあたっては、蓄積した楽音データをクリ
ア済の信号遅延用メモリ、あるいはクリア処理が最も進
んでいる信号遅延用メモリを選択して使用する。したが
って、通常の効果付与処理と並行して不要なデータを極
力消去していくことでできるので、新たな効果付与にあ
たってはクリア処理が必要な場合でもその時間を短縮で
き、信号遅延用メモリを早く使用できるようになり、効
果付与開始までの遅れを少なくすることができる。
【0019】
【実施例】図1には本発明の一実施例としての信号処理
装置が適用される電子楽器が示される。この実施例の電
子楽器は、独立した複数個の音色のパートを有するマル
チティンバ電子楽器についてのものであり、このマルチ
ティンバ電子楽器においては、パートへの楽音情報を各
パートに対応するMIDIチャネルを使用して供給する
ようになっている。また楽音発生チャネルと効果付与チ
ャネルを固定的に組み合わせ、各楽音発生チャネルで発
生した楽音信号に、その組み合された対をなす効果付与
チャネルで効果を付与するように構成されている。
【0020】なお説明が煩瑣にならないように、本実施
例においては楽音情報に基づいて変更する効果付与態様
としては効果の種類(以降、効果モードと称する)のみ
とし、効果の種類をエコーモードとリバーブモードの2
種類とする。
【0021】図1において、20はMIDI信号を受信
するMIDI回路である。このMIDI回路20は公知
の技術により、図示しない外部の自動演奏装置より図示
しないMIDIバスを介してMIDI信号を受信し、こ
れを解読してMIDIメッセージを取り出すとともに、
MIDI信号の受信を完了する都度にバス21を介して
対応する割込みをCPU22にかける。ROM23には
CPU22の実行するプログラムとともに、各処理に必
要なデータおよびテーブルなどがあらかじめ記憶されて
いる。RAM24にはプログラムを実行するに必要な各
種レジスタなどを含むワーキングエリアが設定されてい
る。タイマ25は所定時間間隔でCPU22にタイマ割
込みをかける。
【0022】前記CPU22は所定プログラムを実行
し、MIDI回路20からの割込みに応じてMIDIメ
ッセージを受け取り、それを順次にRAM24の楽音情
報FIFO(ファーストイン・ファーストアウトメモ
リ)に書き込む。例えばノートオン/オフメッセージを
書き込む。また書き込まれたMIDIメッセージに基づ
き、所定プログラムを実行することにより楽音発生装置
26、効果付与装置27を制御している。
【0023】楽音発生装置26は8チャネルの楽音発生
チャネルを備え、各々の楽音発生チャネルは、CPU2
2で生成され転送される楽音信号の波形、周波数、振幅
などを決定する楽音発生パラメータに基づき、原楽音信
号を発生するとともに、エンベロープを生成してその発
生した原楽音信号にエンベロープを付与して楽音信号を
発生し、それを効果付与装置27に出力する。この楽音
発生装置は公知の技術なので詳細な説明は省略する。
【0024】効果付与装置27は8チャネルの効果付与
チャネルを備え、各々の効果付与チャネルは、CPU2
2で生成され転送される楽音信号に付与する効果の種類
を示す効果モード番号に対応する音響効果を、自己と対
をなす(同じチャネル番号の)楽音発生チャネルで発生
した楽音信号に付与して楽音信号を生成し、それをD/
A変換器28に出力する。
【0025】すなわち、効果付与装置27は、図示しな
いディジタルシグナルプロセッサ(DSP)、DSPの
実行するプログラムを記憶するプログラムROM、効果
付与処理に必要なデータなどを記憶するデータROM、
プログラムを実行するに必要な各種レジスタなどの設定
や信号遅延に用いるデータRAMなどとともに、CPU
22、8個の楽音発生チャネル、およびD/A変換器2
8との通信をする外部インタフェースを備えている。
【0026】このデータRAMの記憶エリアは変数用レ
ジスタ等のエリアと信号遅延用のエリアに分割して使用
される。また信号遅延用エリアはさらに8チャネルの効
果付与チャネルに対応して8分割され、それぞれの効果
付与チャネルのエリアはリングメモリ技法により仮想的
にリング状に使用される。
【0027】外部インタフェースは各楽音発生チャネル
より受信した楽音信号データ、楽音信号の発生終了信
号、およびCPU22よりの効果付与チャネルの処理モ
ードを示すFXMD、効果の付与開始信号、急速効果付
与終了処理1/2開始信号などを外部インタフェースの
内部の入力バッファに記憶する。また、内部の出力バッ
ファのデータを送信する。具体的には、D/A変換器2
8への楽音信号データの送出、対をなす楽音発生チャネ
ルへの楽音信号の発生停止信号の送出、CPU22への
効果付与終了チャネル番号、急速効果付与終了処理1/
2対象チャネル番号の送信などをする。
【0028】D/A変換器28ではディジタル信号をア
ナログ信号に変換し増幅器29を介してスピーカ30に
送り、楽音を発生させている。公知の技術なので詳細な
説明は省略する。楽音発生装置26、効果付与装置27
およびD/A変換器28などはCPU22と同期して動
作し、相互に各種信号の通信などを行い、協働してい
る。
【0029】以下、実施例装置の動作を説明する。まず
全体的な動作概要から説明する。新たに入力された楽音
情報は楽音発生チャネルと効果付与チャネルの組に割り
当てられて楽音発生と効果付与がされるが、その際、楽
音発生チャネルが発音中か発音終了か、効果付与チャネ
ルが効果付与中か効果付与終了か、さらに効果付与チャ
ネルで新たに付与される効果モードが従前に付与されて
いた効果モードと同じか否かによって処理がそれぞれ異
なる。
【0030】すなわち、新たな楽音情報が割り当てられ
る際に、楽音発生チャネルが発音中であればそれを発音
終了する処理が必要であり、また効果付与チャネルが効
果付与中であればそれを急速に終了させる処理が必要で
あり、また効果付与チャネルで付与する効果モードが従
前のものと異なるならば付与効果を変更するためのデー
タをその効果付与チャネルに新たに転送するなどの処理
が必要である。
【0031】この楽音発生チャネルと効果付与チャネル
の組の状態を場合分けすると以下のようになる。 〔1.1〕 効果付与チャネルの効果付与が終了(楽音
発生チャネルも当然に発音終了している)している場
合。
【0032】〔1.2〕 効果付与チャネルが効果付与
中であり、楽音発生チャネルが発音終了している場合。
この場合は更に、効果付与チャネルで新たに付与する効
果モードが従前の効果モードと同じか否かで二通りに分
かれる。すなわち、 〔1.2.1〕効果付与チャネルで新たに付与する効果
モードが従前の効果モードと同じ状態。 〔1.2.2〕効果付与チャネルで新たに付与する効果
モードが従前の効果モードと異なる場合。この場合、急
速効果付与終了処理1を行う。
【0033】〔1.3〕 効果付与チャネルが効果付与
中であり、楽音発生チャネルが発音中である場合。この
場合も更に、効果付与チャネルで新たに付与する効果モ
ードが従前の効果モードと同じか否かで状態が二通りに
分かれる。すなわち、 〔1.3.1〕効果付与チャネルで新たに付与する効果
モードが従前の効果モードと同じ場合。 〔1.3.2〕効果付与チャネルで新たに付与する効果
モードが従前の効果モードと異なる場合。この場合、急
速効果付与終了処理2を行う。 これら各項目の処理の詳細な内容は後で説明する。
【0034】図3および図4には楽音発生チャネルと効
果付与チャネルの組を上記の各場合に切り分けて処理を
行うための、CPU22で実行されるメインルーチンが
示される。すなわち、入力された楽音情報を調べてそれ
がノートオン/オフメッセージであるか否かを判定し
(ステップA3)、ノートオン/オフメッセージであれ
ば更にそのメッセージがノートオンメッセージがノート
オフメッセージかを判定する(A5)。ノートオフメッ
セージであれば、ノートオフ処理(後に項目〔2〕で詳
細に説明する)をする(ステップA6)。
【0035】ノートオンメッセージであれば、その楽音
情報を割り当てる楽音発生チャネルと効果付与チャネル
の組の効果付与チャネルが効果付与中か否かを判定する
(ステップA8)。その効果付与チャネルが効果付与終
了であれば(すなわち前記項目(1.1)の場合)であ
れば、それに応じた処理をする。
【0036】その効果付与チャネルが効果付与中であれ
ば(すなわち前記項目〔1.2〕または〔1.3〕の場
合)、更にそれと対になっている楽音発生チャネルが発
音中か発音終了かを判定する(ステップA10)。
【0037】その楽音発生チャネルが発音終了であれば
(前記項目〔1.2〕の場合)、効果付与チャネルで新
たに付与する効果の効果モードが従前の効果モードと同
じか否かを判定し(ステップA11)、異なっていれば
(前記項目〔1.2.2〕の場合)、効果付与チャネル
に対して急速効果付与終了処理1(効果モード変更のた
めのデータ転送などの処理)を指示する(ステップA1
2)。同じであれば(前記項目〔1.2.1〕の場
合)、楽音発生チャネルの発音開始処理2を指示する
(ステップA13)。この場合、効果付与チャネルに対
して効果モード変更のためのデータ転送をする必要はな
い。
【0038】一方、その楽音発生チャネルが発音中であ
れば、効果付与チャネルで新たに付与する効果の効果モ
ードが従前の効果モードと同じか否かを判定し(ステッ
プA14)、異なっていれば(前記項目〔1.3.2〕
の場合)、効果付与チャネルに対して急速効果付与終了
処理2(効果モード変更のためのデータ転送などの処
理)を指示する(ステップA15)。同じであれば(前
記項目〔1.3.1〕の場合)、現に発音中の楽音発生
チャネルの発音を急速に終了するための急速発音終了処
理を指示する(ステップA16)。この場合、効果付与
チャネルに対して効果モード変更のためのデータ転送を
する必要はない。
【0039】図5および図6は効果付与装置のDSPで
実行される効果付与処理の手順を示すDSPメインルー
チンである。この効果付与装置では、楽音信号を受信
〔サンプリング〕する毎に効果付与処理を行っている。
楽音信号の受信は例えば約44.1kHzで行われ、よっ
て1サンプリング周期は約23μSとなる。このDSP
ルーチンはその1サンプリング周期内でステップB2か
らB11までが実行開始、実行終了されるものであり、
それが各サンプリング毎に繰り返される。
【0040】このDSPメインルーチンでは、各サンプ
リング点において、各楽音発生チャネルから必要なデー
タを効果付与チャネルに取り込む入力処理を行い(ステ
ップB2)、次にその取り込んだデータに基づいて第1
効果付与チャネルから第8効果付与チャネルまで順次に
効果付与処理を行い(ステップB3〜B10)、最後に
各効果付与チャネルの出力データを最終的に足し合わせ
るなどの出力処理を行う(ステップB11)。
【0041】図7および図8には各効果付与チャネルで
の効果付与処理の例として、第1効果付与チャネルでの
処理手順(すなわちステップB3での処理手順)が示さ
れる。この第1効果付与チャネルの処理では、まず、第
1効果付与チャネルについて現サンプリング点において
初めて新しく効果付与を開始するのか、それとも現サン
プリング点以前において既に効果付与が開始されていた
のかを判定する(ステップC1)。
【0042】新しく効果付与を開始するものである時に
は、その新しい効果の効果モードは何かを判定する(ス
テップC2)。この実施例では効果モードはエコーモー
ドとリバーブモードの二つであり、エコーモードでの
み、請求項1の発明に対応する読出し開始待ち処理を行
う。よってエコーモードと判定された時には、読み出し
開始待ち処理を行うための準備(各パラメータの設定)
をする(ステップC3)。
【0043】なお、この読出し開始待ち処理では、信号
遅延用メモリ(RAMの信号遅延用エリア)に蓄積され
ている従前の効果モードでの楽音データが出力されきる
まで(ここでは新たな楽音データが上書きされるまで)
信号遅延用メモリからのデータの読出しを停止し、それ
により効果付与の初期において従前のデータにより異音
が発生されることを防止するものである。
【0044】新しく効果付与を開始するものである時に
は、その新たな効果の効果モードが何であるかを内部レ
ジスタに設定する。そして後のステップで内部レジスタ
に設定した効果モードが何かを判定し(ステップC1
2)、それがリバーブモードであれば、図14および図
15に示されるリバーブ処理を行い(ステップC1
3)、エコーモードであれば図11および図12に示さ
れるエコー処理を行う(ステップC14)。
【0045】いっぽう、既に効果付与が開始されていた
場合には、読出し開始待ち処理などの準備は既に完了し
ているのでそれらの処理をまた行う必要はなく、よって
引き続き効果付与の処理を行う。それにあたって楽音発
生チャネルの楽音発生は終了したか否か(ステップC
5)、急速効果付与終了処理を行っているか否か(ステ
ップC7、C9)などを判定して、それぞれに応じたパ
ラメータの設定処理(ステップC6、C8、C10、C
11)をする。
【0046】エコーモードの処理を図11および図12
を参照して説明する。このエコーモードでは、新たな楽
音情報の効果付与をするにあたっては、新たな楽音情報
の処理開始から所定時間の間(すなわち遅延メモリに蓄
積されている従前のモードでのデータが出力されきるま
での時間)は遅延メモリからの読出しを見合わせる読出
し開始待ち処理を行って、不要なデータが遅延メモリか
ら読み出されて異音となることを防止する。
【0047】すなわち、対となる楽音発生チャネルから
入力されたデータを遅延メモリに書き込み(ステップD
3)、現時点がまだ読出し開始待ち処理の期間中か否か
を判定して(ステップD4)、読出し開始待ち処理の期
間中であればステップD6〜D9の読出し開始待ち処理
を行い、読出し開始待ち処理の期間が終了していれば、
通常の効果付与を行う(ステップD5)。
【0048】このステップD5では、遅延メモリからそ
の遅延メモリに所定時間前に入力されたデータ(すなわ
ち遅延されたデータ)を読み出して、そのデータに係数
をかけるなどの効果付与のための処理を行う。このデー
タはエコー音として効果付与チャネルから出力される。
【0049】次に請求項2の発明に対応する処理をす
る。この請求項2の発明では、楽音発生チャネルの発音
が終了した場合に、効果付与チャネルに残留している音
が出力されきるまでの間において、その効果付与チャネ
ルの遅延メモリからデータを読み出す度にその読出しア
ドレス位置に“0”を順次に書き込んでいくことによっ
て、実質的に遅延メモリのクリアを行う。
【0050】
,すなわち、楽音発生チャネルの発音が終了
したかを判定し(ステップD10)、発音終了している
ならば、現サンプリング点がその発音終了から所定時間
以内(すなわち発音終了後、遅延メモリの残留データが
出力されきるまでの時間以内)であるか否かを判定する
(ステップD11)。この所定時間以内であれば、クリ
ア処理1を行う(ステップD12)。このクリア処理I
では、遅延メモリからデータを読み出すと、その読出し
アドレス位置に“0”を書き込んでいくことにより、発
音終了した楽音に対して残りの効果付与を行いつつ、遅
延メモリ内の不必要となったデータをクリアしていく。
【0051】なお、この実施例では信号遅延用メモリの
内容をクリアするために従来の方法も行っている。すな
わち、現時点が、従前の効果付与を中止する急速効果付
与終了処理を行っているか否かを判定し(ステップD1
6)、急速効果付与終了処理を行っている最中であれ
ば、エンベロープレベルを急速減衰させる急速減衰処理
を行い(ステップD17)、その結果、急速減衰エンベ
ロープレベルが“0”になったなら、急速減衰処理が終
了した旨のフラグ(DMCL(N))を立てて、次サン
プリング時点ではステップD2の急速効果付与終了処理
のクリア処理においてクリア処理2が行われるようにす
る。その際、遅延メモリのどの範囲のデータを消去する
かの情報も指示する。図13はこの急速効果付与終了処
理のクリア処理の手順を示すフローチャートである。こ
の処理におけるクリア処理2では、遅延メモリの消去を
指示されたアドレス範囲について、各サンプリング点ご
とに遅延メモリのデータをある量ずつまとめて消去して
いく。
【0052】一方、新しい効果モードがリバーブモード
である場合には(ステップC12、C13)、図14お
よび15のリバーブモード処理を行う。このリバーブモ
ード処理では、読出し開始待ち処理や遅延メモリのデー
タをクリアする処理は行わない。これは、従前の効果モ
ードがリバーブモードで新たな効果モードが再びリバー
ブモードであった場合には、従前の残響音が残っていて
も違和感はないので、新たな効果付与に際してわざわざ
遅延メモリの読出し開始待ちをしたりその内容をクリア
する処理は必要でなく、また従前の効果モードがリバー
ブモードで新たな効果モードがエコーモードの場合に
は、エコーモードで遅延メモリの読出し開始待ち処理や
その内容のクリア処理を行うのでリバーブモードのほう
でそれらの処理をする必要がないからである。
【0053】もっともリバーブモードでも読出し開始待
ち処理を行うようにしてもよく、図16〜図18はその
場合のリバーブモード処理の手順を示すフローチャート
である。このリバーブモード処理においては、ステップ
F3〜F21により読出し開始待ち処理を行っている。
【0054】詳細な処理の説明 前述の各場合分けした処理の詳細を以下に説明する。 〔1〕ノートオンメッセージを受信するとCPU22は
割り当てるべき楽音発生チャネル・効果付与チャネルの
組を選定するとともに、その選定した楽音発生チャネル
・効果付与チャネルの組の効果付与チャネルが効果の付
与を終了しているか否かを調べる(ステップA7、8参
照)。
【0055】〔1.1〕効果付与チャネルが効果の付与
を終了している場合には、それと対の楽音発生チャネル
も楽音信号の発生を終了しているので、その楽音発生チ
ャネルについての発音開始処理を行う。すなわち、 CPU22は楽音発生チャネルに楽音発生パラメー
タを送信し、楽音発生チャネルは受信した楽音発生パラ
メータに対応した楽音の発生の準備をする。 またCPU22は楽音発生チャネルに楽音信号の発
生開始信号を、効果付与チャネルに効果モード番号およ
び効果の付与開始信号を送信する(ステップA9参
照)。 楽音発生チャネルは楽音信号の発生開始信号を受信する
と、楽音発生パラメータに基づいた楽音信号の発生を開
始するとともに、楽音信号の発生開始からの経過時間等
に基づいてエンベロープなどを推移しつつ対をなす効果
付与チャネルに楽音信号データを送信する。効果付与チ
ャネルは効果モード番号および効果の付与開始信号を受
信すると、対をなす楽音発生チャネルから受信した楽音
信号データに効果モード番号に基づいた効果の付与を開
始する。
【0056】〔1.2〕効果付与チャネルは効果の付与
を終了していないが楽音発生チャネルは楽音信号の発生
を終了している場合には、CPU22は新たな効果モー
ド番号が従前と同じであるか否かを調べる(ステップA
8、A10、A11参照)。
【0057】〔1.2.1〕同じである場合には、その
効果付与チャネルの効果モード番号は従前のものをその
まま使えるので、CPU22は効果付与チャネルには格
別の指示は行わず、楽音発生チャネルに楽音発生パラメ
ータおよび楽音信号の発生開始信号を送信する。楽音発
生チャネルは前述のようにそれらを受信すると楽音の発
生などの開始などをする。なお効果付与チャネルは従前
の効果の付与を継続している(ステップA13参照)。
【0058】〔1.2.2〕同じでない場合には、その
効果付与チャネルの効果モード番号を変更する必要があ
るので、CPU22は効果付与チャネルに効果モード番
号および急速効果付与終了処理1開始信号を送信する
(ステップA12参照)。効果付与チャネルはこの急速
効果付与終了処理1開始信号を受信すると、所定形状の
急速減衰エンベロープを生成し、その急速減衰エンベロ
ープに従って効果付与チャネルの出力信号を減衰させて
最終的には「0」とする(以降急速減衰処理と称す
る)。効果付与チャネルは急速減衰エンベロープレベル
が「0」になるとデータRAMの信号遅延用エリアの受
信した効果モード番号に対応する効果モードで使用する
エリアをクリアし、クリアを終了するとCPU22に急
速効果付与終了処理1対象チャネル番号を送信する(以
降、急速効果付与終了処理1と称する)。CPU22は
急速効果付与終了処理1対象チャネル番号を受信する
と、楽音発生チャネルに楽音発生パラメータおよび楽音
信号の発生開始信号を、また効果付与チャネルに効果の
付与開始信号を送信する(タイマ割込みルーチン参
照)。楽音発生チャネルは前述のようにそれらを受信す
ると楽音の発生などの開始などをする。効果付与チャネ
ルは前述のようにそれらを受信すると効果の付与を開始
する。
【0059】〔1.3〕楽音発生チャネルが楽音信号の
発生を、効果付与チャネルが効果の付与をともに終了し
ていない場合には、CPU22は新たな効果モード番号
が従前と同じであるか否かを調べる(ステップA8、A
10、A14参照)。
【0060】〔1.3.1〕同じである場合には、 CPU22は効果付与チャネルには格別の指示は行
わず、楽音発生チャネルに楽音発生の急速発音終了処理
開始信号を送信する(A16参照)。 楽音発生チャネルは急速発音終了処理開始信号を受
信すると、エンベロープを急速減衰エンベロープに変更
し、急速減衰エンベロープレベルが「0」になるとCP
U22に急速発音終了処理対象楽音発生チャネル番号を
送信する(以降、急速発音終了処理と称する)。 CPU22は急速発音終了処理対象楽音発生チャネ
ル番号を受信すると楽音発生チャネルに楽音発生パラメ
ータおよび楽音信号の発生開始信号を送信する(タイマ
割込みルーチン参照)。楽音発生チャネルは前述のよ
うにそれらを受信すると楽音の発生などの開始などをす
る。なお効果付与チャネルは従前の効果の付与を継続し
ている。
【0061】〔1.3.2〕同じでない場合には、 CPU22は効果付与チャネルに効果モード番号お
よび急速効果付与終了処理2開始信号を送信する(ステ
ップA15参照)。 効果付与チャネルは急速効果付与終了処理2開始信
号を受信すると急速減衰処理を行い、急速減衰エンベロ
ープレベルが「0」になると、対をなす楽音発生チャネ
ルに楽音信号の発生停止信号を送信するとともに、引き
続いてデータRAMの信号遅延用エリアにおける受信し
た効果モード番号に対応する効果モードで使用するエリ
アをクリアし、クリアを終了するとCPU22に急速効
果付与終了処理2対象チャネル番号を送信する(以降
急速効果付与終了処理2と称する)。 楽音発生チャネルは楽音信号の発生停止信号を受信
すると楽音信号の発生を停止する。より詳しくは原楽音
信号の発生を停止するとともに、エンベロープレベルを
「0」にする。 CPU22は、急速効果付与終了処理2対象チャネ
ル番号を受信すると、楽音発生チャネルに楽音発生パラ
メータおよび楽音信号の発生開始信号を、また効果付与
チャネルに効果の付与開始信号を送信する(タイマ割込
みルーチン参照)。楽音発生チャネルは前述のように
それらを受信すると楽音の発生などの開始などをする。
効果付与チャネルは前述のようにそれらを受信すると効
果の付与を開始する。
【0062】〔2〕ノートオフ処理(ステップA6) CPU22はノートオフメッセージを受信すると楽
音発生チャネルにノートオフ信号を送信する。 楽音発生チャネルはノートオフ信号を受信すると、
ノートオフ状態およびノートオフからの経過時間等に基
づいてエンベロープなどを推移し、さらに時間が経過し
て楽音信号の発生を終了する(エンベロープ処理が進行
しリリース状態においてエンベロープレベルが「0」に
なる)と、CPU22に発音終了楽音発生チャネル番号
を、また対をなす効果付与チャネルに楽音信号の発生終
了信号を送信する。 効果付与チャネルは楽音信号の発生終了信号を受信
後、その発生終了信号を受信前に入力された楽音信号へ
の効果の付与を引き続き行い、それが完了すると、後述
のデータRAMの信号遅延用エリアのこの効果付与チャ
ネルが占有するエリアをクリアし、クリアを終了すると
CPU22に効果付与終了チャネル番号を送信する(以
降、効果付与終了処理と称する)。 CPU22は発音終了楽音発生チャネル番号/効果
付与終了チャネル番号を受信すると、その楽音発生チャ
ネルが楽音信号の発生を終了している/効果付与を終了
していることを示すようにする(タイマ割込みルーチン
/参照)。なお、楽音発生チャネルは楽音信号の発
生を終了後、急速発音終了処理後、または楽音信号の発
生停止信号を受信後、新たな楽音発生パラメータに基づ
く楽音の発生の準備が整いかつ楽音信号の発生開始信号
を受信するまでは、楽音信号データとして「0」を出力
する。
【0063】以降、各フローチャートなどの詳細な説明
をする。 楽音発生チャネル管理マップ(図2) 図2は楽音発生チャネル管理マップを示す。この楽音発
生チャネル管理マップにおいては、「1〜8」の番号に
より8個の楽音発生チャネルを示す楽音発生チャネル番
号に対応して次のものがRAM24の所定の領域に記憶
される。 パート番号:16個のパートの種類を「0〜15」でも
って示す。 ノート番号:楽音の音高を示す。 ノートステータス:ノートオンを「1」でもってノート
オフを「0」でもって示す。 発音中フラグ:楽音発生チャネルが楽音信号の発生中を
「1」でもって示す。 効果付与中フラグ:効果付与チャネルが効果付与中を
「1」でもって示す。 効果モード番号: 楽音発生パラメータ群:
【0064】CPU22のメインルーチン(図3および
図4) A1:初期設定 楽音発生チャネル管理マップ、各種変
数、フラグなどを初期状態に設定する。 A2:楽音情報FIFOが空きであるか否かを判断す
る。 「Yes」ならステップA17へ、「No」なら楽音情
報FIFOからMIDIメッセージを読み出してステッ
プA3へ。 A3:ノートオンまたはノートオフメッセージであるか
否かを判断する。「No」ならステップA17へ、「Y
es」ならステップA4へ。 A4:読み出したノートオンまたはノートオフメッセー
ジのMIDIチャネル番号に対応するパート番号をPT
NMに設定する。対応関係はROM23に記憶されてい
る。音高を示すノート番号をNTNMに、ノートオン/
オフを示すノートステータスをNTSTに設定する。 A5:NTSTが「1:ノートオン」であるか否かを判
断する。 「No」ならステップA6へ、「Yes」ならステップ
A7へ。 A6:ノートオフに関する処理をする。 楽音発生チャネル管理マップにおけるパート番号が
PTNMでノート番号がNTNMでノートステータスが
「1:ノートオン」の楽音発生チャネル番号のノートス
テータスを「0:ノートオフ」に変更する。 対応する楽音発生チャネルにノートオフ信号を送信
する。
【0065】A7〜A16:ノートオンに関する処理を
する。 A7: 公知の技術により最も古く楽音信号の発生を
開始した楽音発生チャネルを探し、その楽音発生チャネ
ル番号をASNMに設定する。 楽音発生チャネル管理マップにおけるASNMに対
応する楽音発生チャネル番号のパート番号をPTNM
に、ノート番号をNTNMに、ノートステータスを
「1:ノートオン」に変更するとともに、PTNMであ
るパート番号に対応してROM23に記憶されている音
色パラメータおよびNTNMに基づいて各種楽音発生パ
ラメータを演算し、(楽音発生チャネル管理マップにお
けるASNMに対応する楽音発生チャネル番号の)楽音
発生パラメータ群の対応するエリアに設定する。 PTNMであるパート番号に対応してROM23に
記憶されている効果モード番号を読み出しFXMDに設
定する。
【0066】A8:楽音発生チャネル管理マップにおけ
るASNMに対応する楽音発生チャネル番号の効果付与
中フラグが「1:効果付与中」で有るか否かを判断す
る。「No」ならステップA9へ、「Yes」ならステ
ップA10へ。 A9: 楽音発生チャネル管理マップにおけるASN
Mに対応する楽音発生チャネル番号の発音中フラグを
「1:楽音信号の発生中」に、効果付与中フラグを
「1」に、効果モード番号をFXMDに変更する。 (楽音発生チャネル管理マップにおけるASNMに対
応する楽音発生チャネル番号の楽音発生パラメータ群
の)各種楽音発生パラメータを対応する楽音発生チャネ
ルに送信する。 まず対応する効果付与チャネルにFXMDを送信す
る。次に対応する楽音発生チャネルに楽音信号の発生開
始信号を、対応する効果付与チャネルに効果の付与開始
信号を送信する。
【0067】A10:楽音発生チャネル管理マップにお
けるASNMに対応する楽音発生チャネル番号の発音中
フラグが「1」で有るか否かを判断する。「No」なら
ステップA11へ、「Yes」ならステップA14へ。 A11:楽音発生チャネル管理マップにおけるASNM
に対応する楽音発生チャネル番号の効果モード番号がF
XMDであるか否かを判断する。すなわち効果の付与を
継続できるか否かを判断する。「No」ならステップA
12へ、「Yes」ならステップA13へ。 A12: 楽音発生チャネル管理マップにおけるAS
NMに対応する楽音発生チャネル番号の発音中フラグを
「1」に、効果モード番号をFXMDに変更する。 対応する効果付与チャネルにFXMDおよび急速効
果付与終了処理1開始信号を送信する。
【0068】A13: 楽音発生チャネル管理マップ
におけるASNMに対応する楽音発生チャネル番号の発
音中フラグを「1」に変更する。 対応する楽音発生チャネルに各種楽音発生パラメー
タを送信する。 対応する楽音発生チャネルに楽音信号の発生開始信
号を、対応する効果付与チャネルに効果の付与開始信号
を送信する。 A14:楽音発生チャネル管理マップにおけるASNM
に対応する楽音発生チャネル番号の効果モード番号がF
XMDであるか否かを判断する。「No」ならステップ
A15へ、「Yes」ならステップA16へ。 A15: 楽音発生チャネル管理マップにおけるAS
NMに対応する楽音発生チャネル番号の効果モード番号
をFXMDに変更する。 対応する効果付与チャネルにFXMDおよび急速効
果付与終了処理2開始信号を送信する。 A16:対応する楽音発生チャネルに急速発音終了処理
開始信号を送信する。 A17:その他の処理をする。すなわちステップA3に
おいて楽音情報FIFOから読み出したMIDIメッセ
ージのうちのノートオン/オフメッセージ以外のMID
Iメッセージを処理するなどのその他の処理をする。そ
してステップA2に戻る。
【0069】タイマ割込みルーチン 所定時間間隔でタイマ割込みが発生すると以下の処理を
する。 ・DSPから各種信号を受信する。 受信内容に効果付与終了チャネル番号が含まれてい
る場合には、楽音発生チャネル管理マップにおける受信
した効果付与終了チャネル番号に対応する楽音発生チャ
ネル番号の効果付与中フラグを「0」に変更する。 受信内容に急速効果付与終了処理1対象チャネル番
号が含まれている場合には、まずステップA9に準じて
受信した急速効果付与終了処理1対象楽音発生チャネル
番号に対応する楽音発生チャネルに各種楽音発生パラメ
ータを送信する。次に受信した急速効果付与終了1処理
対象チャネル番号に対応する楽音発生チャネルに楽音信
号の発生開始信号を、対応する効果付与チャネルに効果
の付与開始信号を送信する。 受信内容に急速効果付与終了処理2対象チャネル番
号が含まれている場合には、前述の急速効果付与終了処
理1対象チャネル番号に準じた処理をする。
【0070】・楽音発生チャネルから各種信号を受信す
る。 受信内容に発音終了楽音発生チャネル番号が含まれ
ている場合には、楽音発生チャネル管理マップにおける
受信した発音終了楽音発生チャネル番号に対応する楽音
発生チャネル番号の発音中フラグを「0」に変更する。 受信内容に急速発音終了処理対象楽音発生チャネル
番号が含まれている場合には、まずステップA9に準じ
て受信した急速発音終了処理対象楽音発生チャネル番号
に対応する楽音発生チャネルに各種楽音発生パラメータ
を送信する。次に受信した急速発音終了処理対象楽音発
生チャネル番号に対応する楽音発生チャネルに楽音信号
の発生開始信号を送信する。なお、A9においても効果
モード番号が従前と同じであるか否かを判断し、効果モ
ード番号が同じでない場合にのみ、対応する効果付与チ
ャネルにFXMDおよび効果の付与開始信号を送信する
ようにしても良い。
【0071】この図3および図4のメインルーチンで
は、効果付与チャネルへの急速効果付与終了処理の指示
を効果付与チャネルが効果の付与中であってかつ従前と
は異なる効果モードである場合にのみ行うようにしたの
で、同じ効果モードの場合は急速効果付与終了処理は不
要となり新たな効果の付与を速やかに開始できる。な
お、効果の種類を示す効果モードが同じか否かで判断し
たが、効果付与チャネルに効果付与態様を制御する他の
効果制御パラメータ、例えば効果の態様あるいは内部パ
ラメータ(遅延時間長、乗算係数など)を送信するよう
な場合には、それらの新たな送信データによる効果の付
与が、従前の送信データに基づく効果の付与を内部パラ
メータを徐々に変更するなどの経過処理などにより継続
することが可能か否かで判断するようにすると良い。
【0072】効果付与装置の動作の概要: 〔3〕効果の付与を終了している効果付与チャネルにお
いて効果モード番号および効果の付与開始信号を受信す
ると、効果モードを新たな効果モード番号に対応するよ
うに変更する(ステップC4参照)。なお新たな効果モ
ードがエコーモードである場合には、読出し開始待ちフ
ラグの設定およびタイマカウンタ1のクリアをする(C
3参照)。
【0073】〔3.1〕効果モードがエコーモードであ
る場合 受信した楽音信号データをデータRAMの信号遅延用の
エリアの当該効果付与チャネルのエリア(以降データR
AMの遅延用エリアと略記する)に書き込み(D3参
照)つつ以下の処理をする。
【0074】〔3.1.1〕受信した楽音信号データを
D/A変換器28に出力する(効果の付与はしない)と
ともに(ステップD9)、タイマカウンタ1を歩進させ
る(ステップD7参照)。この動作をタイマカウンタ1
のカウント値が所定値に達するまで毎サンプリング点で
繰り返す。
【0075】〔3.1.2〕タイマカウンタ1のカウン
ト値が所定値に達すると、データRAMの遅延用エリア
から(効果の開始時に受信した新たな楽音情報に基づ
く)楽音信号データを読み出し、その読み出したデータ
に所定係数を乗算後、受信した楽音信号データに加算し
て(エコー効果を付与して)D/A変換器28に出力す
る(ステップD5参照)。
【0076】〔3.1.3〕以降、データRAMの遅延
用エリアから楽音信号データを読み出し、その読出した
データに所定係数を乗算して受信した楽音信号データに
加算してD/A変換器28に出力する動作(エコー効果
の付与動作)を毎サンプリング点で繰り返す。
【0077】〔3.2〕効果モードがリバーブモードで
ある場合には、受信した楽音信号データにリバーブ効果
を付与しD/A変換器28に出力する(ステップE1参
照)。すなわちエコーモードの〔3.1.3〕に相当す
る動作のみを行う。
【0078】〔4〕効果付与終了処理:楽音信号の発生
終了信号を受信すると、タイマカウンタ2をクリアする
(ステップC6参照)。
【0079】〔4.1〕効果モードがエコーモードであ
る場合 〔4.1.1〕前述の〔3.1〕の動作に加えて、デー
タRAMの遅延用エリアのデータを読み出したアドレス
のデータをクリアしつつ、タイマカウンタ2を歩進させ
る。この動作をタイマカウンタ2のカウント値が所定値
に達するまで毎サンプリング点で繰り返す(ステップD
12参照)。
【0080】〔4.1.2〕タイマカウンタ2のカウン
ト値が所定値に達すると、CPU22に効果付与終了チ
ャネル番号を送信して終了する(ステップD14参
照)。
【0081】〔4.2〕効果モードがリバーブモードで
ある場合 〔4.2.1〕前述の〔3.2〕の動作に加えて、タイ
マカウンタ2を歩進させる(ステップE7参照)。この
動作をタイマカウンタ2のカウント値が所定値に達する
まで毎サンプリング点で繰り返す。
【0082】〔4.2.2〕タイマカウンタ2のカウン
ト値が所定値に達すると、CPU22に効果付与終了チ
ャネル番号を送信して終了する(ステップE8参照)。
【0083】〔5〕急速効果付与終了処理1: 急速効果付与終了処理1開始信号を受信すると、前
述の〔3.1〕または〔3.2〕の動作に加えて急速減
衰処理を開始する(ステップC8、C11参照)。 急速減衰エンベロープレベルが「0」に達するまで
前述の〔3.1〕または〔3.2〕の動作に加えて急速
減衰処理を継続する(ステップD17/E11参照)。 急速減衰エンベロープレベルが「0」に達すると、
効果モードに応じた処理をする。
【0084】〔5.1〕効果モードがエコーモードであ
る場合 〔5.1.1〕データRAMの遅延用エリアのクリアを
開始する(ステップD19、D2参照)。 〔5.1.2〕データRAMの遅延用エリアを全てクリ
アするまで毎サンプリング点においてデータRAMの遅
延用エリアのクリアを継続する。 〔5.1.3〕データRAMの遅延用エリアのクリアを
完了すると、CPU22に急速効果付与終了処理1対象
チャネル番号を送信して終了する(ステップD206参
照)。
【0085】〔5.2〕効果モードがリバーブモードで
ある場合には、CPU22に急速効果付与終了処理1対
象チャネル番号を送信して終了する(ステップE15参
照)。
【0086】〔6〕急速効果付与終了処理2: 急速効果付与終了処理2開始信号を受信すると、前
述の〔3.1〕または〔3.2〕の動作に加えて、およ
び/または効果付与終了処理に加えて急速減衰処理を開
始する(ステップC10、C11、D17/E11参
照)。 タイマカウンタ2のカウント値が所定値に達するか
急速減衰エンベロープレベルが「0」に達するまで処理
中の処理に加えて急速減衰処理を継続する。 タイマカウンタ2のカウント値が所定値に達する
と、CPU22に急速効果付与終了処理2対象チャネル
番号を送信して終了する(ステップD15/E9参
照)。 急速減衰エンベロープレベルが「0」になると、効
果モードに応じた処理をする。
【0087】〔6.1〕効果モードがエコーモードであ
る場合 〔6.1.1〕対をなす楽音発生チャネルに楽音信号の
発生停止信号を送信する(ステップD21参照)。 〔6.1.2〕データRAMの遅延用エリアのクリアを
開始する(ステップD19、D2参照)。 〔6.1.3〕データRAMの遅延用エリアを全てクリ
アするまで毎サンプリング点においてデータRAMの遅
延用エリアのクリアを継続する。 〔6.1.4〕データRAMの遅延用エリアのクリアを
完了すると、CPU22に急速効果付与終了処理2対象
チャネル番号を送信して終了する(ステップD205参
照)。
【0088】〔6.2〕効果モードがリバーブモードで
ある場合には、対をなす楽音発生チャネルに楽音信号の
発生停止信号を送信するとともに、CPU22に急速効
果付与終了処理2対象チャネル番号を送信して終了する
(ステップE16参照)。
【0089】なお、〔4〕、〔5〕、または〔6〕の終
了後は従前の効果モードでの処理を継続するが、受信す
る楽音信号のデータが「0」なのでD/A変換器28に
は「0」を出力する。また、〔5〕、〔6〕の処理後、
効果の付与開始信号を受信すると、〔3〕に準じた処理
をする。
【0090】変数の説明 N :(効果付与)チャネル番号(1〜8) MTIN(N):第Nチャネルの入力楽音信号データ MTOR(N):第NチャネルのR側出力楽音信号デー
タ MTOL(N):第NチャネルのL側出力楽音信号デー
タ MTOR :効果付与装置のR側出力楽音信号デー
タ MTOL :効果付与装置のL側出力楽音信号デー
タ NFXM(N):第Nチャネルの新効果モード番号 OFXM(N):第Nチャネルの旧効果モード番号 VGED(N):第Nチャネルの楽音信号の発生終了フ
ラグ VEEC(N):第Nチャネルの効果の付与終了処理中
フラグ VEED(N):第Nチャネルの効果の付与終了処理完
了フラグ FXST(N):第Nチャネルの効果の付与開始フラグ DM1S(N):第Nチャネルの急速効果付与終了処理
1開始フラグ DM1C(N):第Nチャネルの急速効果付与終了処理
1処理中フラグ DM1E(N):第Nチャネルの急速効果付与終了処理
1完了フラグ DM2S(N):第Nチャネルの急速効果付与終了処理
2開始フラグ DM2C(N):第Nチャネルの急速効果付与終了処理
2処理中フラグ DM2E(N):第Nチャネルの急速効果付与終了処理
2完了フラグ DM2V(N):第Nチャネルの急速減衰終了フラグ DMPC(N):第Nチャネルの急速減衰処理中フラグ DMCL(N):第Nチャネルの急速効果付与終了処理
におけるクリア処理中フラグ
【0091】DMPV(N):第Nチャネルの急速減衰
エンベロープレベル TIM1(N):第Nチャネル用第1タイマ(読出し開
始待ち用)のカウント値 TIM2(N):第Nチャネル用第2タイマ(効果付与
終了処理用)のカウント値 WP(N,m):第Nチャネルの第m書き込みポインタ RP(N,m):第Nチャネルの第m読出しポインタ VTAD(WP(N,m)):WP(N,m)の仮想ア
ドレスを示す VTAD(RP(N,m)):RP(N,m)の仮想ア
ドレスを示す HDAD(WP(N,m)):WP(N,m)のデータ
RAMの信号遅延用のエリアの第N効果付与チャネルの
エリア(以降データRAMの第N遅延エリアと略記す
る)上でのアドレスを示す HDAD(RP(N,m)):RP(N,m)のデータ
RAMの第N遅延エリア上でのアドレスを示す HDAD(N,MIN):データRAMの第N遅延エリ
アの最小アドレス HDAD(N,MAX):データRAMの第N遅延エリ
アの最大アドレス HDAD(N,CLR):データRAMの第N遅延エリ
アのクリア用アドレス HDAD(N,CNV):仮想アドレスとデータRAM
の第N遅延エリア上のアドレスとの変換値 HDAD(N,WDE):データRAMの第N遅延エリ
アの大きさ RV(N,m):RP(N,m)のデータ K(N,m):RP(N,m)の係数 RDWT(N):第Nチャネルの読出し開始待ちフラグ DL(N):RP(N,m)と対応するWP(N,m)
の間で実現される遅延長{VTAD(WP(N,m))
からVTAD(RP(N,m))を減じた値}
【0092】DSPメインルーチン(図5および図6) 図5および図6は効果付与チャネルを実現するDSPの
動作を示すDSPメインルーチンである。 B1:初期設定。データRAMの遅延用エリア、各種変
数、フラグなどを初期状態に設定する。 B2〜B11で毎サンプリング点における信号処理を行
う。なお各チャネルには所定のスロット数が割り当てら
れ、異なる効果モードまたは同じ効果モードでもその内
部で分岐した場合における異なる処理をすることによる
費消するスロット数の変動をスロット数の空費処理(ノ
ーオペレーション動作を行うなど)により所定のスロッ
ト数となるようにプログラムしている。スロット数を調
整するための空費処理は公知でもあるので煩瑣にならな
いようにその説明およびフローチャートでの明記を省略
する。
【0093】B2:外部インタフェースの入力バッファ
よりデータ等を読み出し対応する変数、フラグに設定す
る。すなわち楽音信号データを対応するMTIN(N)
に設定する。また効果付与チャネルの処理モードを示す
FXMDの値を読み出すと対応するNFXM(N)に設
定する。また楽音信号の発生終了信号を読み出すと対応
するVGED(N)を「1」に、効果の付与開始信号を
読み出すと対応するFXST(N)を「1」に、急速効
果付与終了処理1開始信号を読み出すと対応するDM1
S(N)を「1」に、急速効果付与終了処理2開始信号
を読み出すと対応するDM2S(N)を「1」に変更す
る。
【0094】B3〜B10:各効果付与チャネルで効果
付与等の処理をする。第1チャネルにおける処理の詳細
は後述する。他のチャネルにおいても同様である。
【0095】B11:楽音信号データなどを出力するた
めの準備をする。すなわちこのサンプリング点において
各効果付与チャネルから出力する楽音信号データの総和
を算出する。具体的にはNが1〜8のMTOR(N)の
総和をMTORとし、MTOL(N)の総和をMTOL
とする。MTORおよびMTOLを外部インタフェース
の出力バッファに書き込む。またVEED(N)が
「1」のチャネル番号に対応する効果付与終了チャネル
番号(CPU22への)を外部インタフェースの出力バ
ッファに書き込むとともに、そのVEED(N)を
「0」に変更する。またDM1E(N)が「1」のチャ
ネル番号に対応する急速効果付与終了処理1対象チャネ
ル番号(CPU22への)を外部インタフェースの出力
バッファに書き込むとともに、そのDM1E(N)を
「0」に変更する。またDM2V(N)が「1」のチャ
ネル番号に対応する楽音信号の発生停止信号(楽音発生
チャネルへの)を外部インタフェースの出力バッファに
書き込むとともに、そのDM2V(N)を「0」に変更
する。またDM2E(N)が「1」のチャネル番号に対
応する急速効果付与終了処理2対象チャネル番号(CP
U22への)を外部インタフェースの出力バッファに書
き込むとともに、そのDM2E(N)を「0」に変更す
る。
【0096】第1効果付与チャネルの効果付与処理サブ
ルーチン(図7および図8) 図7および図8は第1効果付与チャネルの効果付与処理
サブルーチンを示す。 C1:新しく効果付与を開始するのか否か判断する。 C2:新しい効果モードがエコーモードか否か判断す
る。「0」ならエコーモード、「1」ならリバースモー
ドである。 C3:読出し開始待ち処理の準備をする(エコーモード
になる場合にのみ)。 C4:新しいモードへの変更処理をする。 C5:楽音発生は終ったか否か判断する。 C6:効果付与終了処理の準備をする。 C7:急速効果付与終了処理1を行うか否か判断する。 C8:急速効果付与終了処理1の準備をする。 C9:急速効果付与終了処理2を行うか否か判断する。 C10:急速効果付与終了処理2の準備をする。 C11:急速効果付与終了処理1/2に共通の準備をす
る。 C12:効果モードはエコーモードかリバーブモードか
判断する。 C13:リバーブモードの処理をする。 C14:エコーモードの処理をする。
【0097】図9にはデータRAMの第1遅延エリアの
仮想的な使用状態を示す。図中のWP(1,0)などの
表記はWP(1,0)の仮想アドレスを示すVTAD
(WP(1,0))などを略記したものである。
【0098】以降の説明において用いる「WP(N,
m)への書込み」は具体的にはVTAD(WP(N,
m))に対応するデータRAMの第N遅延エリアのHD
AD(WP(N,m))に書き込むことである。なおV
TAD(WP(N,m))とHDAD(WP(N,
m))とは次のように対応する。ここでHDAD(N,
WDE)はHDAD(N,MAX)からHDAD(N,
MIN)を減じた値に1を加算した値である。すなわち {HDAD(N,WDE)=[HDAD(N,MAX)−HDAD(N,MIN)+1]} である。またHDAD(N,CNV)は初期設定時にH
DAD(N,MIN)に設定されサンプリング点毎に
「1」ずつインクリメント(次のワードのアドレスに進
む)され、その値がHDAD(N,MAX)を超えると
HDAD(N,MIN)に再設定される。
【0099】 VTAD(WP(N,m))にHDA
D(N,CNV)を加算しHDAD(WP(N,m))
とする。すなわち {HDAD(WP(N,m))=VTAD(WP(N,m))+HDAD(N,CNV)} とする。 HDAD(WP(N,m))がHDAD(N,MA
X)を超えているか否かを判断する。超えていない場合
にはこのようにして得たHDAD(WP(N,m))が
VTAD(WP(N,m))に対応している。 超えている場合には超えている部分をHDAD
(N,MIN)以降に進める。具体的にはで得られた
HDAD(WP(N,m))からHDAD(N,WD
E)を減じた値をHDAD(WP(N,m))とする。
すなわち、 {HDAD(WP(N,m))=HDAD(WP(N,m))−HDAD(N,WDE)} とする。「RP(N,m)からの読出し」は具体的には
VTAD(RP(N,m))に対応するデータRAMの
第N遅延エリアのHDAD(RP(N,m))から読み
出すことである。なおVTAD(RP(N,m))とH
DAD(RP(N,m))との対応関係はVTAD(W
P(N,m))とHDAD(WP(N,m))との対応
関係と同様である。
【0100】図10の(a)にエコーモード、(b)に
リバーブモードの概略の等価回路を示す。エコーモード
の遅延回路は、データRAMの第1遅延エリアのWP
(1,0)に対応するアドレス(HDAD(WP(1,
0))に書き込まれたデータがDL(1,0)回サンプ
リング点における処理が繰り返されて、{DL(1,
0)/44100(Sec)経過}後、RP(1,0)
が前記アドレスに到達して読み出されることにより実現
される。
【0101】エコーモードサブルーチン(図11および
図12) 図11および図12はエコーモードサブルーチンを示
す。 D1:急速効果付与終了処理におけるクリア中かを判断
する。 D2:急速効果付与終了処理のクリア処理をする。 D3:MTIN(1)のデータを遅延回路(WP(1,
0))に書き込む。 D4:第1効果付与チャネルの読出し開始フラグは
「1」かを判断する。 D5:効果を付与する。 D6〜D9により前述のステップC3で指示された読出
し開始待ち処理を行う。 D6:所定時間遅延したか否か判断する。 D7:タイマをインクリメントする。 D8:所定時間経過している場合には、次のサンプリン
グ点において効果の付与開始信号受信時以降に受信した
楽音信号データをRP(1,0)から読み出すのでRD
WT(1)を「0」にする。
【0102】D9:入力楽音信号データを出力データに
設定する(遅延回路からの出力は読み出されないし加算
されない。効果は付与されない)。 D10:楽音の発生が終了したか否かを判断する。 D11〜D15により前述のステップC6により指示さ
れた効果付与終了処理を行う。つまり遅延回路に残留す
る楽音信号を出力しつつ遅延回路をクリアする。 D11:所定時間経過しているか(遅延回路のクリアが
終了しているか)を判断する。
【0103】なお楽音信号の発生を終了した後はMTI
N(1)が「0」になので、WP(1,0)に「0」
が、また後述のクリア処理1によりRP(1,0)のア
ドレスにも「0」が書き込まれる。したがって楽音信号
の発生終了信号受信時にデータRAMの第1遅延エリア
に書き込まれた楽音信号データ(「0」)をRP(1,
0)から読み出すまでにサンプリング点が進むと、楽音
信号の発生終了信号受信直前にWP(1,0)に書き込
まれたデータはクリア処理1によりクリアされる。また
図6に示すようにWP(1,0)からRP(1,0)の
間は使用するエリアの過半数を占めている。したがって
楽音信号の発生終了信号受信直前にRP(1,0)で読
み出したデータはサンプリング点が前記まで進んだとき
にはWP(1,0)により「0」が書き込まれクリアさ
れている。 D12:クリア処理1をする。すなわち{VTAD(R
P(1,0))}に対応するアドレスに「0」を書き込
む。
【0104】D17〜D19、D2により前述のC8、
C11で指示された急速効果付与終了処理1をする。 D17〜D21、D2により前述のC10、C11で指
示された急速効果付与終了処理2をする。 D17:急速減衰処理をする。 D19:急速効果付与終了処理1/2のクリア処理の準
備をする。
【0105】急速効果付与終了処理のクリア処理サブル
ーチン(図13) 図13に急速効果付与終了処理のクリア処理サブルーチ
ンを示す。 D201:クリア処理2をする。すなわちデータRAM
の第1遅延エリアを順次クリアする。DRAMを使用し
ているので、高速書込みモード例えばページ・モード・
ライトを用いて「0」を書き込む。1回の書込みで3
(ワードの)アドレスに書き込み、アドレスを進めなが
ら10回書き込むので、1回の処理で30アドレスをク
リアする。なおHDAD(N,MIN)およびHDAD
(N,MAX)はHDAD(N,WDE)が30の整数
倍となるように、また高速書込みモード処理が行いやす
いように設定されている。D202:クリアする範囲が
終了したか否か判断する。
【0106】なお、プログラムの都合によるなどしてス
テップD9に換えてステップD5に準じた処理をしても
良い。ただし、この場合には実質的にステップD9の処
理を行ったのと同じになるように、読出し開始待ち期間
中、例えばRP(1,0)からのデータの読出しを行わ
ない、RV(1,0)をクリアする、K(1,0)の値
を「0」にするなどして読み出したデータを実質的には
使用しない。
【0107】また、クリア処理1に換えて、ステップD
5においてRP(1,0)で読み出した後、そのアドレ
スに「0」を書き込むようにしても良い。
【0108】また、効果の付与終了とみなすには、その
時点以降RP(1,0)から読み出したデータにK
(1,0)を乗算した値が、端数処理により「0」とな
れば良いので次のようにしてより早く終了を検出しても
良い。すなわち、ステップD10が「No」の場合に次
の処理を行ってからステップD16に進むようにする。
MTIN(1)にK(1,0)を乗算すると端数処理に
より「0」となるか否かを判断し、「0」となる場合に
はTIM2(1)を「1」だけインクリメントし、
「0」とならない場合にはTIM2(1)をクリアす
る。なおこの場合、早くなった部分(楽音発生の終了信
号受信時のTIM2(1))に関してはメモリに「0」
以外のデータが残っていることもあるので、急速効果付
与終了処理のクリア処理に準じた処理によりクリアす
る。
【0109】さらに出力レベルが音色、音高、効果付与
態様などに応じてあらかじめ定めた所定値以下の期間が
所定期間経過すると、遅延回路の読出しを終了したと判
断しても良い。前記MTIN(1)がその値にK(1,
0)を乗算すると「0」になるか否かの判断に換えて、
出力レベルが所定値以下であるか否かを判断する。また
楽音発生チャネルにおいても、そのエンベロープレベル
が所定値以下になると楽音の発生を終了したとみなし
て、楽音の発生終了信号を送出するようにしても良い。
なお遅延回路の読出しを終了後、さらに急速減衰処理を
行っても良い。この場合の急速減衰に際しては、急速効
果付与終了処理における急速減衰処理に準じると良い
が、減衰形状、減衰レートを所定値に応じて変更してよ
り早く終了するようにしても良い。
【0110】また、遅延長が短く前記クリア処理1およ
びステップD3におけるクリアのみではクリアしきれな
い場合には、クリア処理1においてWP(1,0)の前
後DL(1,0)の区間を除いた区間を分割後の長さが
DL(1,0)以下の長さとなるように分割しそれぞれ
の区間毎にクリアしていくようにしたり、クリアしきれ
なかった部分を急速効果付与処理のクリア処理に準じて
クリアする。
【0111】また、請求項3記載の発明の例として、ク
リア処理2に要する時間をさらに短縮するに、ステップ
D17で急速減衰中にRP(1、0)が読み出す区間を
除いた区間をクリアしても良い。例えばステップC11
でHDAD(RP(1,0))〜{HDAD(RP
(1,0))+100}の区間を記憶し、ステップD1
7ではその区間を避けてステップD2に準じた処理によ
り順次にクリアし、急速減衰を終了するとステップD2
で引き続き残りのエリアをクリアする。なおステップD
17においてRP(1,0)に「0」を書き込み、除外
した区間を順次にクリアしても良い。(急速減衰処理に
要するサンプリング点数は1/0.01=100)
【0112】またリバーブモードでの効果の付与開始時
におけるHDAD(WP(1,1))〜HDAD(RP
(1,44))がクリアされていれば異音を生じないの
で、その区間のみクリアするようにしても良い。例えば
ステップC11で現在のアドレスおよび予測した新たな
効果の付与開始信号を受信するまでの時間より処理対象
区間を算出し、ステップD2でその区間をクリアする。
この区間を急速減衰終了時のHDAD(WP(1,
1))〜リバーブモードでの効果の付与開始時における
HDAD(RP(1,44))に限定しても良い。
【0113】またステップD5においてRP(1,0)
で読み出し後そのアドレスに「0」を書き込むようにす
る場合には、クリア処理開始時のHDAD(WP(1,
0))〜HDAD(RP(1,0))についてクリアす
れば良い。
【0114】また急速効果付与終了処理2においては、
ステップD3およびクリア処理1によりクリアされてい
る部分については、クリア処理2の対象区間から除外し
ても良い。つまりステップD18において「No」と判
断したサンプリング点におけるWP(1,0)およびR
P(1,0)およびそれらのアドレスよりTIM2
(1)遡ったアドレスの区間を除外する。さらにこれら
のクリア処理対象範囲の限定を組合せても良い。また、
クリア処理2においては使用するRAMに応じて最適な
方法でクリアすると良い。
【0115】また、ステップD18において急速減衰の
終了の判断を急速減衰エンベロープレベルが「0」にな
ったか否かで行っているが、所定レベル以下になったか
否かで判断するようにしても良い。この場合、楽音情報
(音色、音高、ベロシティなど)に応じて所定レベルを
変更するようにしても良い。また急速減衰エンベロープ
レベルで判断するのに換えて、そのレベルに達するまで
の時間で判断するようにしても良い。
【0116】また、急速減衰エンベロープの減衰形状を
楽音情報などに応じて公知の他の形状(例えば特開昭6
4−63997にて提案されている各種形状)としても
良い。また減衰レートをステップD5またはステップD
9において算出した出力レベルに基くエンベロープレベ
ルに応じて変更してより早く終了するようにしても良
い。
【0117】クリア処理1/2は次の効果モードがリバ
ーブモードとしてすべてのエリアをクリアしているが、
他の効果モードを備える場合には、その効果モードに応
じたクリア処理の要否、クリア対象区間とするようにし
ても良い。他に複数の効果モードが有る場合には、クリ
ア処理の要否などをNFXM(1)に基づいてステップ
D12、D19に先立って判断するようにすると良い。
【0118】リバーブモードサブルーチン(図14およ
び図15) 図14および図15にリバーブモードサブルーチンを示
す。 E1:リバーブ効果を実現するアルゴリズムは公知なの
で省略する。 E2:第1効果付与チャネルの効果の付与終了処理中か
判断する。 E3〜E9により前述のステップC6により指示された
効果付与終了処理を行う。 E3:ステップE1の処理において各書込み点で書き込
んだデータが全て「0」であるか否かを判断する。ここ
でWP(1,1)に書き込んだデータをWV(1,1)
とし、他の書込み点でのデータも同様にしてWV(1,
2)、WV(1,3)、WV(1,4)とすると、
{[WV(1,1)=0] and[WV(1,2)=0]
and[WV(1,3)=0] and[WV(1,4)=
0]}=0を判断する。 E4:第1効果付与チャネルの第2タイマを「0」にす
る。
【0119】E5:各書込み点で書き込んだデータが全
て「0」である状態が所定時間継続しているか否か判断
する。図6に示すように遅延長が最も長いのはWP
(1,2)とRP(1,24)の間であり、その間で実
現される遅延長DL(1,24)に相当するサンプリン
グ点数の時間において全ての書込み点で書き込んだデー
タが「0」である場合には、その時点以降いずれの読出
し点においても「0」しか読み出されない。なお効果の
付与終了とみなすにはその時点以降RP(1,23)、
RP(1,33)、RP(1,43)から読み出すデー
タが「0」となれば良いので次のようにしてより早く終
了を検出しても良い。
【0120】 新たに使用するTIM23(1)、T
IM33(1)、TIM43(1)、TIM231
(1)、TIM331(1)およびTIM431(1)
をステップC6においてクリアする。ステップE2が
「No」の場合に次の処理を行ってからステップE10
に進むようにする。 WV(1,2)にK(1,24)を乗算した値が
(端数処理により)「0」となるか否かを判断し、
「0」とならない場合にはTIM23(1)およびTI
M231(1)をクリアした後にに進む。 「0」となる場合にはTIM231(1)を「1」
だけインクリメントした後、TIM231(1)が{R
P(1,23)〜RP(1,24)}に相当する遅延長
以上であるか否かを判断する。未満である場合にはに
進む。 以上である場合には、WV(1,2)が「0」とな
るか否かを判断し、「0」となる場合にはTIM23
(1)を「1」だけインクリメントし、「0」とならな
い場合にはTIM23(1)をクリアしてに進む。 WV(1,3)に基づいてTIM33(1)および
TIM331(1)を同様に処理しに進む。 WV(1,4)に基づいてTIM43(1)および
TIM431(1)を同様に処理しステップE10に進
む。
【0121】E3の処理を〜の処理と同様の処理に
変更し、処理を終了するとステップE5に進む。E5に
おいてTIM23(1)がDL(1,23)未満または
TIM33(1)がDL(1,33)またはTIM43
(1)がDL(1,43)未満であるか否かを判断す
る。いずれかが未満である場合にはステップE10に、
全てが未満でない場合にはステップE7に進む。
【0122】なおWV(1,2)〜WV(1,4)が所
定値以下の期間が所定期間経過すると効果付与を終了し
たと判断しても良い。また、DL(1,2)に換えて最
大振幅値データを入力後そのデータに基づく出力が無く
なるまでのサンプリング点に相当する期間とするととも
にステップE3、E4の処理を省略しても良い。
【0123】なお、図9に示すようにWP(1,4)〜
「0」まではWP(1,2)〜RP(1,24)より短
いので、効果の付与終了時点でクリアも完了している。
またエコーモードで開始待ち処理を行うので、より早く
終了を検出する処理においてもクリア処理1に相当する
処理は不要となる。E11〜E16により前述のC8/
C10/C11で指示された急速効果付与終了処理1/
2をする。
【0124】エコーモードとの相違点 このリバーブモードは前述のエコーモードと以下の点で
相違する。 ・クリア処理2は行わない。すなわち、エコーモードに
おいては読出し開始待ち処理においてWP(1,0)〜
RP(1,0)のデータは無視され、またその他の区間
についてはステップD3において新たなデータが書き込
まれるので、クリアしなくて良い。 ・読出し開始待ち処理(エコーモードでのステップD
4、D6〜D9に相当)を行わない。なお一部について
読出し開始待ち処理を行う場合は、読出し開始待ち中に
読み出されない区間についてはエコーモードのクリア処
理対象範囲から除くことができる。例えば例えばRP
(1,11)〜RP(1,34)でそれぞれ読出し開始
待ち処理を行う場合には、エコーモードではリバーブモ
ードでの効果の付与開始時におけるHDAD(RP
(1,0))〜HDAD(RP(1,44))の区間に
ついてのみクリアすれば良い。
【0125】リバーブモード読出し開始待ち処理(図1
6〜図18) 図16〜図18はリバーブモードにおいても読出し開始
待ち処理をする例としてのリバーブモードサブルーチン
である。このリバープモードサブルーチンを行う場合に
は、第1チャネル効果付与サブルーチンにおいてはステ
ップC2を削除し、ステップC1で「Yes」の場合に
はステップC3に進む。エコーモードではクリア処理1
/2が不要になる。
【0126】リバーブモードサブルーチン(図16およ
び図17) F1:書込みポインタWP(1,1)にMTIN(1)
を書き込む。 F2:RDWT(1)=1か、すなわち読出し開始待ち
処理をするか否か判断する。「Yes」であればステッ
プF3へ進んで読出し開始待ち処理となる。 F3:読出し開始待ち処理の最初のサンプリング点であ
るか否かを判断する。「Yes」であればステップF4
へ、「No」であればステップF5へ。 F4:各変数をクリアするなどの読出し開始待ち処理を
行うための初期設定をする。 F5:無効データ中の最も長く待たねばならない遅延時
間DL(1,24)が経過したか否か判断する。「Ye
s」ならばステップF6へ、「No」ならばステップF
7へ。 F6:RDWT(1)を0にする。すなわち読出し開始
待ち処理を終了にする。
【0127】F7:タイマをインクリメントする。 F8:読出しポインタRP(1,24)、RP(1,3
4)から読み出したデータを対応するRV(1,2
4),RV(1,34)に設定する。 F9:無効データ中の次に長く待たねばならない遅延時
間DL(1,23)が経過したか否か判断する。「Ye
s」ならばステップF10へ、「No」ならばステップ
F11へ。 F10:読出しポインタRP(1,22)、RP(1,
23)、RP(1,33)、RP(1,43)、RP
(1,44)から読み出したデータを対応するRV
(1,22),RV(1,23)、RV(1,33)、
RV(1,43)、RV(1,44)に設定する。 F11:無効データ中の次に長く待たねばならない遅延
時間DL(1,32)が経過したか否か判断する。「Y
es」ならばステップF12へ、「No」ならばステッ
プF13へ。
【0128】F12:読出しポインタRP(1,2
1)、RP(1,31)、RP(1,32)、RP
(1,41)、RP(1,42)から読み出したデータ
を対応するRV(1,21),RV(1,31)、RV
(1,32)、RV(1,41)、RV(1,42)に
設定する。 F13:無効データ中の次に長く待たねばならない遅延
時間DL(1,15)が経過したか否か判断する。「Y
es」ならばステップF14へ、「No」ならばステッ
プF15へ。 F14:読出しポインタRP(1,15)から読み出し
たデータを対応するRV(1,15)に設定する。 F15:無効データ中の次に長く待たねばならない遅延
時間DL(1,14)が経過したか否か判断する。「Y
es」ならばステップF16へ、「No」ならばステッ
プF17へ。 F16:読出しポインタRP(1,14)から読み出し
たデータをRV(1,14)に設定する。 F17:無効データ中の次に長く待たねばならない遅延
時間DL(1,13)が経過したか否か判断する。「Y
es」ならばステップF18へ、「No」ならばステッ
プF19へ。
【0129】F18:読出しポインタRP(1,13)
から読み出したデータをRV(1,13)に設定する。 F19:無効データ中の次に長く待たねばならない遅延
時間DL(1,12)が経過したか否か判断する。「Y
es」ならばステップF20へ、「No」ならばステッ
プF21へ。 F20:読出しポインタRP(1,12)から読み出し
たデータをRV(1,12)に設定する。 F21:無効データ中の最も短い遅延時間DL(1,1
1)が経過したか否か判断する。「Yes」ならばステ
ップF22へ、「No」ならばステップF23へ。 F22:読出しポインタRP(1,11)から読み出し
たデータをRV(1,11)に設定する。 F23:データ出力処理や、読出しポインタRPにデー
タを書き込むなどの処理をする。
【0130】このリバーブモードサブルーチンでは、各
読出し点で読出し対象のデータが残留している不要デー
タである期間は読出しを行わず、有効なデータが到来す
るまでには読出しを開始している。
【0131】ここで各遅延長は、図9に示すように、D
L(1,11)<DL(1,12)<DL(1,13)
<DL(1,14)<DL(1,15)<DL(1,3
2)<DL(1,23)<DL(1,24)であり、D
L(1,41)<DL(1,31)<DL(1,21)
<DL(1,42)<DL(1,32)<{DL(1,
41)+DL(1,15)}<{DL(1,31)+D
L(1,15)}<{DL(1,21)+DL(1,1
5)}<{DL(1,42)+DL(1,15)}<
{DL(1,32)+DL(1,15)}、DL(1,
43)<DL(1,33)<DL(1,22)<DL
(1,44)<DL(1,23)<{DL(1,43)
+DL(1,15)}<{DL(1,33)+DL
(1,15)}<{DL(1,22)+DL(1,1
5)}<{DL(1,44)+DL(1,15)}<
{DL(1,23)+DL(1,15)}、またDL
(1,34)<DL(1,24)<{DL(1,34)
+DL(1,15)}<{DL(1,24)+DL
(1,15)}の関係がある。
【0132】例えばRP(1,15)においては不要デ
ータが無くなるとすぐに有効なデータが到来する。WP
(1,2)においてはRP(1,15)でデータを読み
出すまではRV(1,15)は「0」、またRV(1,
21)およびRV(1,24)もそれぞれ「0」である
ので「0」を書き込む。したがってRP(1,21)に
おいてはDL(1,21)までは不要データであるが、
それ以降はWP(1,2)で書き込んだデータなので、
{DL(1,21)+DL(1,15)}までは「0」
を読み出すことになるので、DL(1,21)<DL
(1,32)<{DL(1,21)+DL(1,1
5)}の関係にあるDL(1,32)まで読出しを停止
している。なおステップF5、F9、およびF11にお
いては複数の読出し点の判断処理を集約して行ったが、
各読出し点毎に行っても良い。
【0133】読出し待ち処理中は対応する読出し処理を
行わないので、スロット数の増大を最少にすることがで
きる。なお書込みおよび読出し処理においてはRAMの
書き込み、読出し速度に合わせるため複数のスロットを
費消するようにしている。また処理開始時のステップC
3、C4による増加はステップF3、F4と合わせてス
ロット数調整をする。したがってステップF8、F1
0、F12、F14、F16、F18、F20、および
F22を経由した場合とステップC3、C4、およびF
3、F4を経由した場合との費消するスロット数が同じ
になるように、ステップF4で空費処理をしている。同
様にステップF21で「Yes」の場合にはステップF
22で費消するスロット数とおなじスロット数を費消す
る空費処理をしてから、ステップF23に進むようにし
ている。他においても同様にスロット数を調整してい
る。
【0134】急速効果付与終了処理2において従前から
実行中の効果付与終了処理が急速減衰終了前に終了した
場合には、急速効果付与終了処理2を終了するようにし
てより早く終了するようにしたが、両処理をともに行う
ことにより費消するスロット数が増加することになる。
このスロット数を削減したい場合には、ステップC11
においてVEEC(1)を「0」に変更して、急速効果
付与終了処理2を開始した場合に効果付与終了処理を中
止するようにしても良い。
【0135】以上のようにクリア処理を新たな効果モー
ドに応じて変更している。効果モードとしてより多くの
モードを使用する場合においても、相互関係を考慮して
クリア処理を設定すると良い。例えば、リバーブモード
の次のモードで読出し開始待ち処理が不十分な場合に
は、クリアの必要な区間についてはクリア処理2により
その区間をクリアする。
【0136】また、読出し開始待ち処理を従前の効果モ
ードおよびまたは終了態様に応じて実行しないようにし
ても良い。例えばリバーブモードで効果の付与終了をし
ている場合には、クリアが完了しているのでエコーモー
ドの読出し開始待ち処理は行わない。
【0137】また、効果の付与開始信号の受信と同時に
楽音発生チャネルから楽音信号を受信するものとした
が、楽音発生チャネルでの新たな楽音信号の発生が遅れ
るなどして楽音発生チャネルから不要な楽音信号データ
が送信される場合には、楽音発生チャネルにおいて正常
な楽音の発生の開始した際に楽音発生開始信号を送信す
るようにし、効果付与チャネルではその信号を受信する
までは楽音信号データの受信をしないようにすると良
い。
【0138】以上では単一の効果を付与する場合につい
て説明したが、複数の効果を縦続およびまたは並列に付
与する場合にも適宜変更して適用すると良い。
【0139】また、新たな効果モードが従前と同じ場合
には格別の処理を施さないようにしたが、必要なら急速
効果付与終了処理などをするようにしても良い。
【0140】また、ノートナンバー(音高)、ノートス
テータス(押鍵/離鍵状態)などに応じて各効果付与制
御パラメータを変更する場合には、効果付与制御パラメ
ータに合わせて(より詳しくは遅延用エリアの使用状態
に応じて)クリアすると良い。
【0141】また、データRAMの第N遅延エリア毎に
一括してリングメモリとしたが、各遅延回路毎にリング
メモリとしても良い。例えばWP(1,11)〜RP
(1,15)、WP(1,2)〜RP(1,2
4)...の各遅延回路毎にリングとするようにしても
良い。この場合、前記の各種クリア処理などはそれぞれ
適宜変更して適用すると良い。
【0142】また、請求項4記載の発明の例として以下
のように変形することができる。すなわち、上述ではス
テップB3〜B10の各効果付与チャネルの処理に要す
るスロット数として各チャネルに同じスロット数を割り
当てたが、クリア時間をより短縮するなどのために可変
的に割り当てても良い。例えば第8効果付与チャネルが
エコーモードなら、第8効果付与チャネルのプログラム
としてリバーブモードとのスロット数調整処理を削除し
たエコーモードを実行するのみのプログラムのサブルー
チンを実行する。他の効果付与チャネルについても他の
モードとのスロット数調整処理を削除したサブルーチン
を実行する。空きスロット数に応じた(8つの効果付与
チャネル全てがエコーモードの場合、...、1つの効
果付与チャネルのみエコーモードの場合など)エコーモ
ードのステップD201での処理内容(1サンプリング
点でクリアする区間)のサブルーチンを用意する。CP
U22では各楽音発生チャネル管理マップにスロット数
のエリアを用意し、対応する効果付与チャネルで使用中
のスロット数を記憶するとともに、記憶したスロット数
から空費処理の必要なスロット数を算出し、DSPに指
示する。DSPはステップB10を終了すると、指示さ
れたスロット数を空費する処理(スロット数調整処理)
をする。CPU22はDSPに急速減衰を指示する際に
(より詳しくはクリア処理2の必要なエコーモードから
リバーブモードに変更する場合に)、空きスロット数に
応じたクリア処理2の処理内容のサブルーチンの使用を
併せて指示するとともに、楽音発生チャネル管理マップ
における対応する楽音発生チャネル番号のスロット数を
更新する。また、更新されたスロット数に基づいて空き
スロット数を算出し、DSPでクリア処理2を開始する
と、算出した空きスロット数に対応した空きスロット数
調整処理を開始するように指示する。このようにすると
クリア処理に要する時間を短縮できる。例えば他のチャ
ネル全てがエコーモードの場合、リバーブモードに比し
てエコーモードで費消するスロット数が少ないので、そ
れぞれのチャネルで費消するスロット数は少なくて良い
ので、クリア処理2などで他の7チャネルの空きスロッ
トも利用してクリアできる。
【0143】また、請求項5記載の発明の例として、デ
ータRAMの信号遅延用エリアに、より多くのチャネル
に対応する(例えば10チャネル)エリアを用意し、効
果付与チャネルで使用するエリアを適宜変更するように
しても良い。例えば、CPU22では各エリア毎に使用
中の効果付与チャネル番号、クリアの進行状況などをD
SPと通信するなどして検知し記憶する。第1チャネル
をリバーブモードからエコーモードに切り換える場合ま
たはエコーモードからリバーブモードに切り換える場合
で急速減衰処理が不要な場合には、従前に使用していた
エリアを使用する。エコーモードからリバーブモードに
切り換える場合で急速減衰処理が必要な場合には、急速
減衰を終了後CPU22で効果付与開始信号を送信する
際に空きエリアを探してDSPに通信する。空きエリア
がない場合には、使用されてなくて最もクリア処理の進
んでいるエリア(従前に使用していたエリアを含めて)
を探して、そのエリアをクリアして使用する。最もクリ
アの進んでいるエリアとしては、最も早く効果付与チャ
ネルで使用されなくなりクリア処理対象となったエリ
ア、あるいは従前のモードによってはクリアすべき部分
(エリアの)が異なるのでクリア処理の必要な部分が最
も少ないエリアを選択すると良い。さらに空いているか
否かの判断などにおいては、新たなモードで使用する部
分がどのようであるかを判断するようにすると良い。な
お、DSPは空きスロットを利用し、使用していないエ
リアをクリアする。
【0144】楽音発生チャネルと効果付与チャネルを各
1チャネル対にした場合について説明したが、1楽音を
複数の楽音発生チャネルにより形成するような場合に複
数の楽音発生チャネルと1つの効果付与チャネルを対に
することがある。この場合には、ステップC5において
接続されている全ての楽音発生チャネルで楽音信号の発
生終了になるとステップC6に進むようにすると良い。
【0145】また1つの楽音に複数の効果を付与する場
合に複数の効果付与チャネルを使用すべく1つの楽音発
生チャネルと複数の効果付与チャネルまたは複数の楽音
発生チャネルと複数の効果付与チャネルを対にした場合
にも適用できる。この場合には、ステップB11におい
て楽音発生チャネルへの楽音信号の発生停止信号は共に
接続されている効果付与チャネルの全てにおいて急速減
衰に関する処理を完了すると送出するようにする。急速
効果付与終了処理1/2対象チャネル番号についても同
様にする。
【0146】楽音発生チャネルと効果付与チャネルの接
続を固定化した場合について説明したが、楽音発生チャ
ネルより少ない数の効果付与チャネルを用意する場合な
どにおいて楽音発生チャネルと効果付与チャネルとの接
続を動的に変更する(各別に割当て処理をする)ように
する場合にも適用できる。
【0147】新たな楽音情報を割り当てる楽音発生チャ
ネル・効果付与チャネルを最も古く楽音信号の発生を開
始した楽音発生チャネルを含む組としたが、他のヒスト
リーアサインや、レベルアサインなどの楽音発生チャネ
ル選定方法により選定しても良い。また効果付与チャネ
ルの効果付与態様などを含めて選定するようにしても良
い。例えば効果の付与を終了している効果付与チャネル
の組を選定する。最も早く効果の付与を終了する効果付
与チャネルの組を選定する。具体的には楽音発生チャネ
ルにおいて楽音発生を終了後の経過時間から効果付与チ
ャネルにおける遅延終了時間(例えば平均的なレベルの
信号を入力後、その信号に基づく出力が完了するまでの
時間)を減じた値の最も大きな組の効果付与チャネルの
エンベロープレベルに基づいてレベルアサインする(特
願平3−190703、特願平3−261015の方
法)。
【0148】
【発明の効果】以上に説明したように、本発明によれ
ば、付与する効果を変更する際に、できるだけ早く新た
な効果の付与を開始できるようになり、よって応答の遅
延による演奏表現上の違和感を軽減できる。
【図面の簡単な説明】
【図1】本発明が適用される電子楽器の全体構成を示す
図である。
【図2】楽音発生チャネル管理マップを説明する図であ
る。
【図3】実施例装置のメインルーチン(1/2)を示す
フローチャートである。
【図4】実施例装置のメインルーチン(2/2)を示す
フローチャートである。
【図5】実施例装置における効果付与装置のDSPメイ
ンルーチン(1/2)を示すフローチャートである。
【図6】実施例装置における効果付与装置のDSPメイ
ンルーチン(2/2)を示すフローチャートである。
【図7】DSPメインルーチンにおける第1効果付与チ
ャネルでの効果付与処理を示す効果付与処理サブルーチ
ン(1/2)を示すフローチャートである。
【図8】DSPメインルーチンにおける第1効果付与チ
ャネルでの効果付与処理を示す効果付与処理サブルーチ
ン(2/2)を示すフローチャートである。
【図9】実施例におけるRAMを信号遅延メモリとして
用いる際の使用態様を説明する図である。
【図10】エコーモードとリバーブモードの等価回路を
示す図である。
【図11】実施例の効果付与処理サブルーチンにおける
エコーモードでの処理ルーチン(1/2)を示すフロー
チャートである。
【図12】実施例の効果付与処理サブルーチンにおける
エコーモードでの処理ルーチン(2/2)を示すフロー
チャートである。
【図13】実施例の効果付与処理サブルーチンにおける
急速効果付与処理終了のクリア処理の手順を示すフロー
チャートである。
【図14】実施例の効果付与処理サブルーチンにおける
リバーブモードでの処理ルーチン(1/2)を示すフロ
ーチャートである。
【図15】実施例の効果付与処理サブルーチンにおける
リバーブモードでの処理ルーチン(1/2)を示すフロ
ーチャートである。
【図16】他の実施例としてのリバーブモードでのルー
チン(1/2)を示すフローチャートである。
【図17】他の実施例としてのリバーブモードでのルー
チン(2/2)を示すフローチャートである。
【符号の説明】
20 MIDI回路 21 バス 22 CPU 23 ROM 24 RAM 25 タイマ 26 楽音発生装置 27 効果付与装置 28 D/A変換器 29 増幅器 30 スピーカ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 信号遅延用メモリを用いて楽音信号に効
    果を付与する電子楽器の効果付与装置において、 新しく入力された楽音信号に効果付与を開始する際に、
    少なくとも該信号遅延用メモリに残留している従前の楽
    音データが出力されきるまでに相当する期間は該信号遅
    延用メモリから楽音データの読出しを行わないようにす
    る読出し開始待ち処理手段を備えたことを特徴とする電
    子楽器の効果付与装置。
  2. 【請求項2】 信号遅延用メモリを用いて楽音信号に効
    果を付与する電子楽器の効果付与装置において、 楽音発生装置での楽音発生終了を受けて行われる効果付
    与終了処理の際に、発生終了した楽音に対して信号遅延
    用メモリから楽音データを読み出して残りの効果付与処
    理を行いつつ、該信号遅延用メモリ内の不必要となった
    楽音データを消去していく効果付与終了処理中クリア処
    理手段を備えたことを特徴とする電子楽器の効果付与装
    置。
  3. 【請求項3】 信号遅延用メモリを用いて楽音信号に効
    果を付与する電子楽器の効果付与装置において、 新しい楽音情報に対して効果付与チャネルを割り当てる
    ための急速効果付与終了処理の急速減衰中に、該信号遅
    延用メモリ内の不必要となった楽音データを消去してい
    く急速効果付与終了処理中クリア処理手段を備えたこと
    を特徴とする電子楽器の効果付与装置。
  4. 【請求項4】 信号遅延用メモリを用いて楽音信号に効
    果を付与する電子楽器の効果付与装置において、 該信号遅延用メモリに残留する不必要となった楽音デー
    タを、効果付与用プログラムの実行において余剰となっ
    た空きスロットを用いて消去する空きスロット中クリア
    手段を備えたことを特徴とする電子楽器の効果付与装
    置。
  5. 【請求項5】 信号遅延用メモリを用いて楽音信号に効
    果を付与する電子楽器の効果付与装置において、 信号遅延用メモリとして効果付与チャネルの数よりも余
    分のメモリを用意し、 新しく入力された楽音信号に効果付与を行うにあたって
    は、蓄積した楽音データをクリア済の信号遅延用メモ
    リ、あるいはクリア処理が最も進んでいる信号遅延用メ
    モリを選択して使用する手段を備えたことを特徴とする
    電子楽器の効果付与装置。
JP4084634A 1992-03-06 1992-03-06 電子楽器の効果付与装置 Pending JPH05249970A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4084634A JPH05249970A (ja) 1992-03-06 1992-03-06 電子楽器の効果付与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4084634A JPH05249970A (ja) 1992-03-06 1992-03-06 電子楽器の効果付与装置

Publications (1)

Publication Number Publication Date
JPH05249970A true JPH05249970A (ja) 1993-09-28

Family

ID=13836123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4084634A Pending JPH05249970A (ja) 1992-03-06 1992-03-06 電子楽器の効果付与装置

Country Status (1)

Country Link
JP (1) JPH05249970A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259249A (ja) * 1993-01-08 1994-09-16 Yamaha Corp 信号処理装置
JP2008065232A (ja) * 2006-09-11 2008-03-21 Fujitsu Ten Ltd ディジタル信号処理装置
USRE41757E1 (en) 1996-08-30 2010-09-28 Yamaha Corporation Sound source system based on computer software and method of generating acoustic waveform data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259249A (ja) * 1993-01-08 1994-09-16 Yamaha Corp 信号処理装置
USRE41757E1 (en) 1996-08-30 2010-09-28 Yamaha Corporation Sound source system based on computer software and method of generating acoustic waveform data
JP2008065232A (ja) * 2006-09-11 2008-03-21 Fujitsu Ten Ltd ディジタル信号処理装置

Similar Documents

Publication Publication Date Title
EP0764934B1 (en) Computerized music apparatus processing waveform to create sound effect
KR100366721B1 (ko) 전자음악장치및이펙터
JPH0883066A (ja) 電子楽器
JPH05249970A (ja) 電子楽器の効果付与装置
JP3694172B2 (ja) 残響共鳴装置及び残響共鳴方法
JP4036233B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
US6535772B1 (en) Waveform data generation method and apparatus capable of switching between real-time generation and non-real-time generation
JPH04198994A (ja) 電子楽器の楽音制御方法
JPH10260685A (ja) 波形発生装置
JP3530601B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JP3723973B2 (ja) 音源装置
JP3137043B2 (ja) 波形メモリ音源装置および楽音発生装置
JP2753765B2 (ja) 電子楽器
JP2715795B2 (ja) 発音割当手段を有する楽音合成装置
JP3148803B2 (ja) 音源装置
JP3852634B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JP3050779B2 (ja) 信号処理装置
JP4306138B2 (ja) 楽音発生装置及び楽音発生処理のプログラム
JP3652504B2 (ja) 電子楽器の残響効果付加装置
JP3539480B2 (ja) 楽音信号発生装置、楽音信号発生方法及び楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH0997067A (ja) 楽音発生方法および楽音発生装置
JP3649906B2 (ja) 電子楽器のキーオンディレイ効果付加装置
JP3673388B2 (ja) 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法
JP2956552B2 (ja) 楽音発生方法および装置
JP4015267B2 (ja) 波形発生装置