JP2611531B2 - 楽音合成装置 - Google Patents
楽音合成装置Info
- Publication number
- JP2611531B2 JP2611531B2 JP2270933A JP27093390A JP2611531B2 JP 2611531 B2 JP2611531 B2 JP 2611531B2 JP 2270933 A JP2270933 A JP 2270933A JP 27093390 A JP27093390 A JP 27093390A JP 2611531 B2 JP2611531 B2 JP 2611531B2
- Authority
- JP
- Japan
- Prior art keywords
- tone
- filter
- delay
- musical
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 「産業上の利用分野」 本発明は、撥弦楽器、打弦楽器等の楽音合成に用いて
好適な楽音合成装置に関する。
好適な楽音合成装置に関する。
「従来の技術」 従来より、自然楽器の発音メカニズムをシミュレート
することにより、自然楽器の楽音を合成する装置が知ら
れている。弦楽器音等の楽音合成装置としては、弦の振
動損失をシュミレートしたローパスフィルタと、シフト
レジスタを用いて弦における振動の伝播遅延をシミュレ
ートした遅延回路とを閉ループ接続して波形メモリから
注入した楽音波形を循環させることによって楽音を合成
する技術のものが知られている。このような構成におい
て、閉ループ回路に例えばインパルス等の励起信号を導
入すると、この励起信号が閉ループ内を循環する。この
場合、励起信号は、弦の振動周期に等しい時間で閉ルー
プ内を一巡するとともに、ローパスフィルタを通過する
際に帯域が制限される。そして、この閉ループを循環す
る信号が弦楽器の楽音信号として取り出される。
することにより、自然楽器の楽音を合成する装置が知ら
れている。弦楽器音等の楽音合成装置としては、弦の振
動損失をシュミレートしたローパスフィルタと、シフト
レジスタを用いて弦における振動の伝播遅延をシミュレ
ートした遅延回路とを閉ループ接続して波形メモリから
注入した楽音波形を循環させることによって楽音を合成
する技術のものが知られている。このような構成におい
て、閉ループ回路に例えばインパルス等の励起信号を導
入すると、この励起信号が閉ループ内を循環する。この
場合、励起信号は、弦の振動周期に等しい時間で閉ルー
プ内を一巡するとともに、ローパスフィルタを通過する
際に帯域が制限される。そして、この閉ループを循環す
る信号が弦楽器の楽音信号として取り出される。
このような楽音合成装置によれば、遅延回路の遅延時
間およびローパスフィルタの特性を調整することによ
り、ギター等の撥弦楽器音、ピアノ等の打楽器音など、
自然の弦楽器音に近い楽音が合成できる。また、バイオ
リン等の擦弦楽器音の楽音合成は、上述した閉ループ回
路に対し、弓によって弦を励起させる振動を演算する励
起回路を接続することにより実現される。なお、この種
の技術は、例えば特開昭63−40199号公報あるいは特公
昭58−58679号公報に開示されている。
間およびローパスフィルタの特性を調整することによ
り、ギター等の撥弦楽器音、ピアノ等の打楽器音など、
自然の弦楽器音に近い楽音が合成できる。また、バイオ
リン等の擦弦楽器音の楽音合成は、上述した閉ループ回
路に対し、弓によって弦を励起させる振動を演算する励
起回路を接続することにより実現される。なお、この種
の技術は、例えば特開昭63−40199号公報あるいは特公
昭58−58679号公報に開示されている。
「発明が解決しようとする課題」 しかしながら、上述した従来の楽音合成装置にあって
は、同一の系列を用いて異なる楽音を発生させる場合、
現在鳴っている音を止めずに次の音を発生させると、ノ
イズを生じるなどの不都合があり、さらに現在の音が停
止するまで待つと大変に時間がかかってしまうので、フ
ォーシングダンプなどといわれる手段によって現在発音
中の楽音を急激に減衰させ、新たな楽音の発音を遅らせ
ないことが行われているが、この場合に自然な減衰に任
せるか、あるいはフィルタ内の乗算器の値を[0]にし
て減衰させるしかなく、特に、周波数の低い楽音の合成
時に発音が遅れるというという問題点があった。
は、同一の系列を用いて異なる楽音を発生させる場合、
現在鳴っている音を止めずに次の音を発生させると、ノ
イズを生じるなどの不都合があり、さらに現在の音が停
止するまで待つと大変に時間がかかってしまうので、フ
ォーシングダンプなどといわれる手段によって現在発音
中の楽音を急激に減衰させ、新たな楽音の発音を遅らせ
ないことが行われているが、この場合に自然な減衰に任
せるか、あるいはフィルタ内の乗算器の値を[0]にし
て減衰させるしかなく、特に、周波数の低い楽音の合成
時に発音が遅れるというという問題点があった。
すなわち、上記ループにおける遅延時間は、発生させ
るべき楽音の一周期に対応しており、それ故に全てのデ
ータを[0]とするには少なくとも一周期分だけデータ
を循環させなければならず、周波数の高い楽音の合成に
おいては、比較的に問題はないが、周波数の低い楽音の
合成では、発音が遅れる原因となっていた。さらに、遅
延フィルタとしてディジタルのIIRやAPFを用いた場合に
は、フィルタ内にフィードバックが存在するので、全て
のデータが[0]となる正確な時期を特定することが困
難であった。したがって、結果的に楽音の合成時に発音
が遅れる。
るべき楽音の一周期に対応しており、それ故に全てのデ
ータを[0]とするには少なくとも一周期分だけデータ
を循環させなければならず、周波数の高い楽音の合成に
おいては、比較的に問題はないが、周波数の低い楽音の
合成では、発音が遅れる原因となっていた。さらに、遅
延フィルタとしてディジタルのIIRやAPFを用いた場合に
は、フィルタ内にフィードバックが存在するので、全て
のデータが[0]となる正確な時期を特定することが困
難であった。したがって、結果的に楽音の合成時に発音
が遅れる。
本発明は、上述した問題点に鑑みてなされたもので、
同一の系列を用いて異なる楽音を発生させる場合であっ
ても、楽音の合成時に発音遅れのない楽音合成装置を提
供することを目的としている。
同一の系列を用いて異なる楽音を発生させる場合であっ
ても、楽音の合成時に発音遅れのない楽音合成装置を提
供することを目的としている。
「課題を解決するための手段」 上述した問題を解決するために、本発明では、少なく
とも波形データを記憶する記憶手段を含むフィルタと前
記波形データを所定時間遅延させて出力する遅延手段と
を閉ループ接続した閉ループ手段を有し、発音指示に応
じて該閉ループ手段に所定の波形データを入力するとと
もに前記閉ループ手段を循環する前記波形データを楽音
信号として出力する楽音合成装置において、フォーシン
グダンプ要求を出力する制御手段と、この制御手段から
フォーシングダンプ要求があったとき、前記閉ループ手
段から出力される前記楽音信号のレベルを減衰させる減
衰手段と、前記制御手段からフォーシングダンプ要求が
あったとき、前記閉ループ手段のフィルタの記憶手段に
記憶された波形データを消去する消去手段とを設けたこ
とを特徴とする。
とも波形データを記憶する記憶手段を含むフィルタと前
記波形データを所定時間遅延させて出力する遅延手段と
を閉ループ接続した閉ループ手段を有し、発音指示に応
じて該閉ループ手段に所定の波形データを入力するとと
もに前記閉ループ手段を循環する前記波形データを楽音
信号として出力する楽音合成装置において、フォーシン
グダンプ要求を出力する制御手段と、この制御手段から
フォーシングダンプ要求があったとき、前記閉ループ手
段から出力される前記楽音信号のレベルを減衰させる減
衰手段と、前記制御手段からフォーシングダンプ要求が
あったとき、前記閉ループ手段のフィルタの記憶手段に
記憶された波形データを消去する消去手段とを設けたこ
とを特徴とする。
「作用」 本発明では、フォーシングダンプ要求があったときに
は、閉ループ手段から出力される楽音信号のレベルが減
衰され、また、フィルタの記憶手段に記憶された波形デ
ータが消去される。
は、閉ループ手段から出力される楽音信号のレベルが減
衰され、また、フィルタの記憶手段に記憶された波形デ
ータが消去される。
したがって、楽音の一周期に比べ非常に少ない時間で
現在発音している楽音に関するデータを消去することが
でき、同一の系列を用いて異なる楽音を発生させる場合
であっても、楽音の合成時に発音遅れが発生しない。ま
た、記憶手段に記憶された波形データを消去する際には
閉ループ手段を循環する波形データが不連続となり、こ
れをそのまま楽音信号として出力するとノイズが発生す
ることになるが、本発明によれば、こうしたノイズは発
生しない。
現在発音している楽音に関するデータを消去することが
でき、同一の系列を用いて異なる楽音を発生させる場合
であっても、楽音の合成時に発音遅れが発生しない。ま
た、記憶手段に記憶された波形データを消去する際には
閉ループ手段を循環する波形データが不連続となり、こ
れをそのまま楽音信号として出力するとノイズが発生す
ることになるが、本発明によれば、こうしたノイズは発
生しない。
「実施例」 次に、図面を参照して本発明の実施例について説明す
る。
る。
第1図は本発明による楽音合成装置を適用した電子楽
器の一実施例の構成を示すブロック図である。第1図に
おいて、本実施例における楽音合成装置は、大きく分け
て鍵盤1、操作パネル2、操作子3、MIDIインターフェ
ース4、CPU5、メモリ6、セレクタ(SEL)7、8、ア
ドレスカウンタ9、駆動波形メモリ10、フィルタ演算器
11、エンベロープジェネレータ(EG)12、乗算器13、サ
ウンドシステム14およびスピーカ15により構成される。
器の一実施例の構成を示すブロック図である。第1図に
おいて、本実施例における楽音合成装置は、大きく分け
て鍵盤1、操作パネル2、操作子3、MIDIインターフェ
ース4、CPU5、メモリ6、セレクタ(SEL)7、8、ア
ドレスカウンタ9、駆動波形メモリ10、フィルタ演算器
11、エンベロープジェネレータ(EG)12、乗算器13、サ
ウンドシステム14およびスピーカ15により構成される。
鍵盤1は演奏者によって操作され、キーコードKC、キ
ーオン信号KON、キーオフ信号KOFF等をCPU5に出力す
る。操作パネル2は楽音合成のとき必要な操作情報を演
奏者から受入れ、操作子3は、例えば音色やエコーの調
整等の受入れを行う。また、CPU5はMIDIインターフェー
ス4を介して外部のMIDI機器16と接続され、MIDI機器16
(例えば、他のパソコンシステムや楽器)から必要な信
号やデータ等がMIDI(Musical Instrumennt Digital In
terface)規格によってCPU5に取込まれる。なお、これ
らのデータの授受はCPU5に対しバスライン17を介して行
われる。メモリ6はCPU5の動作制御プログラム、各種楽
音制御用のパラメータも格納しており、パラメータとし
ては、例えばキーコードKCに応じた各音源の総遅延量DL
やタッチとTPを変換するためのテーブル等が含まれる。
ーオン信号KON、キーオフ信号KOFF等をCPU5に出力す
る。操作パネル2は楽音合成のとき必要な操作情報を演
奏者から受入れ、操作子3は、例えば音色やエコーの調
整等の受入れを行う。また、CPU5はMIDIインターフェー
ス4を介して外部のMIDI機器16と接続され、MIDI機器16
(例えば、他のパソコンシステムや楽器)から必要な信
号やデータ等がMIDI(Musical Instrumennt Digital In
terface)規格によってCPU5に取込まれる。なお、これ
らのデータの授受はCPU5に対しバスライン17を介して行
われる。メモリ6はCPU5の動作制御プログラム、各種楽
音制御用のパラメータも格納しており、パラメータとし
ては、例えばキーコードKCに応じた各音源の総遅延量DL
やタッチとTPを変換するためのテーブル等が含まれる。
CPUは装置全体の動作を制御管理し、必要に応じてセ
レクタ7、8に制御信号を出力する。またCPU5は鍵盤1
が操作されると、キーコード、タッチ情報を取り込み、
それらをもとにアドレスカウンタ9を通じ駆動波形メモ
リ10に駆動波形の出力を要求する。アドレスカウンタ9
はCPU5からの各信号、例えば駆動波形メモリ10の読み出
し開始指示信号、読み出し開始ポイント、読み出しサイ
ズの各信号に基づいて駆動波形メモリ10の読み出しアド
レスを自動的に生成する。なお、アドレス生成タイミン
グは回路の他の部分と同期しているクロックc1によって
与えられる。駆動波形メモリ10には何種類かの駆動波形
が記憶されており、CPU5からは読み出し開始のアドレス
を与えることにより、間接的にそれらのうちの1つが指
定され、出力される。駆動波形メモリ10によって生成さ
れた駆動波形はフィルタ演算部11に注入される。フィル
タ演算部11は加算器18およびフィルタ演算回路19からな
り、フィルタ演算回路19にはキーコード、タッチに応じ
たディレイ長、フィルタ係数等が設定される。そして、
フィルタ演算回路19は与えられた係数等に基づいてメモ
リ6を利用し、フィードバックによる楽音の合成を行
う。すなわち、フィルタ演算回路19は乗算器13からの出
力信号に応答する閉ループ回路を形成し、この閉ループ
回路により駆動波形をフィードバックして楽音を合成す
るもので、その遅延フィードバック回路によって自然楽
器の弦における対応する振動の伝播遅延をシミュレート
し、フィルタにより弦の振動損失をシミュレートして楽
音を合成する。これらの過程によって形成された楽音波
形は乗算器13を介してサウンドシステム14に送られる。
レクタ7、8に制御信号を出力する。またCPU5は鍵盤1
が操作されると、キーコード、タッチ情報を取り込み、
それらをもとにアドレスカウンタ9を通じ駆動波形メモ
リ10に駆動波形の出力を要求する。アドレスカウンタ9
はCPU5からの各信号、例えば駆動波形メモリ10の読み出
し開始指示信号、読み出し開始ポイント、読み出しサイ
ズの各信号に基づいて駆動波形メモリ10の読み出しアド
レスを自動的に生成する。なお、アドレス生成タイミン
グは回路の他の部分と同期しているクロックc1によって
与えられる。駆動波形メモリ10には何種類かの駆動波形
が記憶されており、CPU5からは読み出し開始のアドレス
を与えることにより、間接的にそれらのうちの1つが指
定され、出力される。駆動波形メモリ10によって生成さ
れた駆動波形はフィルタ演算部11に注入される。フィル
タ演算部11は加算器18およびフィルタ演算回路19からな
り、フィルタ演算回路19にはキーコード、タッチに応じ
たディレイ長、フィルタ係数等が設定される。そして、
フィルタ演算回路19は与えられた係数等に基づいてメモ
リ6を利用し、フィードバックによる楽音の合成を行
う。すなわち、フィルタ演算回路19は乗算器13からの出
力信号に応答する閉ループ回路を形成し、この閉ループ
回路により駆動波形をフィードバックして楽音を合成す
るもので、その遅延フィードバック回路によって自然楽
器の弦における対応する振動の伝播遅延をシミュレート
し、フィルタにより弦の振動損失をシミュレートして楽
音を合成する。これらの過程によって形成された楽音波
形は乗算器13を介してサウンドシステム14に送られる。
一方、CPU5は次の楽音の生成が鍵盤1によって要求さ
れたとき、エンベロープジェネレータ12に対してフォー
シングダンプ開始を要求する信号STARTを出力する。エ
ンベロープジェネレータ12はこの信号を受けて、予め準
備されているフォーシングダンプ波形に基づいてエンベ
ロープを生成し、乗算器13に送る。乗算器13は最終的に
楽音の振幅を0にし、楽音の振幅が0になると、エンベ
ロープジェネレータ12はCPU5に対してフォーシングダン
プ終了信号ENDを送出する。エンベロープジェネレータ1
2による出力楽音のフォーシングダンプが終了すると、C
PU5は余分な動作を省略するため、フィルタ演算回路19
の動作を停止する。その後、通常はフィルタ演算回路19
によってアクセスされているメモリ6をCPU5から直接制
御し、そこに記憶されているフィルタ演算のパラメータ
をクリアする。CPU5はパラメータのクリアが終了する
と、次の楽音に応じてフィルタやディレイのパラメータ
を設定する。その後、メモリ6のアクセスをフィルタ演
算回路19に戻し、駆動波形メモリ10から新たな波形の注
入を行う。ここで、CPU5は消去手段および制御手段とし
ての機能を有する。
れたとき、エンベロープジェネレータ12に対してフォー
シングダンプ開始を要求する信号STARTを出力する。エ
ンベロープジェネレータ12はこの信号を受けて、予め準
備されているフォーシングダンプ波形に基づいてエンベ
ロープを生成し、乗算器13に送る。乗算器13は最終的に
楽音の振幅を0にし、楽音の振幅が0になると、エンベ
ロープジェネレータ12はCPU5に対してフォーシングダン
プ終了信号ENDを送出する。エンベロープジェネレータ1
2による出力楽音のフォーシングダンプが終了すると、C
PU5は余分な動作を省略するため、フィルタ演算回路19
の動作を停止する。その後、通常はフィルタ演算回路19
によってアクセスされているメモリ6をCPU5から直接制
御し、そこに記憶されているフィルタ演算のパラメータ
をクリアする。CPU5はパラメータのクリアが終了する
と、次の楽音に応じてフィルタやディレイのパラメータ
を設定する。その後、メモリ6のアクセスをフィルタ演
算回路19に戻し、駆動波形メモリ10から新たな波形の注
入を行う。ここで、CPU5は消去手段および制御手段とし
ての機能を有する。
アドレスカウンタ9、駆動波形メモリ10およびフィル
タ演算部11は遅延フィードバック型の音源20を構成して
おり、音源20は所定の自然楽器に対応すべく発音体とし
ての弦が発音操作子(例えば、ピック)によってピック
されると、この弦を往復伝播する振動を発生せしめて楽
音を生成するようなシミュレートを行い、楽音を合成し
て出力する機能を有している。
タ演算部11は遅延フィードバック型の音源20を構成して
おり、音源20は所定の自然楽器に対応すべく発音体とし
ての弦が発音操作子(例えば、ピック)によってピック
されると、この弦を往復伝播する振動を発生せしめて楽
音を生成するようなシミュレートを行い、楽音を合成し
て出力する機能を有している。
メモリ6は音源20とCPU5の両方からアクセスされ、CP
U5から出力される前記制御信号によってセレクタ7、8
が切換えられ、メモリ6から必要なデータがアクセスさ
れる。
U5から出力される前記制御信号によってセレクタ7、8
が切換えられ、メモリ6から必要なデータがアクセスさ
れる。
第2図は第1図に示したフィルタ演算回路19における
フィルタ演算の一例である。
フィルタ演算の一例である。
本実施例においては、これらのフィルタリングはソフ
トウェアによる処理としているが、動作を明確にするた
めに、ソフトウェアと等価なハードウェアとして示して
いる。ここでは、楽音のピッチと合わせるためのディレ
イ素子D1〜D3と、楽音のピッチ調節および音色変化のた
めのディレイ素子D4、D5と、乗算器Jと、加算器K1、K2
とからなるAPFを連結して構成されている。なお、この
第2図に示すフィルタ演算回路の動作は後にフローチャ
ートを用いて説明する。
トウェアによる処理としているが、動作を明確にするた
めに、ソフトウェアと等価なハードウェアとして示して
いる。ここでは、楽音のピッチと合わせるためのディレ
イ素子D1〜D3と、楽音のピッチ調節および音色変化のた
めのディレイ素子D4、D5と、乗算器Jと、加算器K1、K2
とからなるAPFを連結して構成されている。なお、この
第2図に示すフィルタ演算回路の動作は後にフローチャ
ートを用いて説明する。
第3図は第1図に示したフィルタ演算回路19の詳細な
構成を示すブロック図である。同図に示すように、フィ
ルタ演算回路19は動作制御回路21と、動作制御回路21の
動作を記憶するROM22からなり、入力(input)は駆動波
形メモリ10から、出力(output)はエンベロープジェネ
レータ12によって制御される乗算器13に向けて取り出さ
れる。また、ADDRESS/DATAはフィルタ演算用のメモリ6
との間で、フィルタパラメータはCPU5との間で授受が行
われる。クロックc1は動作タイミングを制御する外部の
回路と同期して供給される。フィルタパラメータ中のST
ARTは動作制御回路21の動作(第4図のフローチャート
参照)を初期状態から再開させるリセット信号である。
一般にはハードウェア割込み信号線を利用してハードウ
ェア割込みベクトルを、第4図のフローチャートにおけ
るスタートアドレスに指定しておけばよい。DELAY長は
第2図のD1からD3までのまとまった遅延の長さを与える
信号である。第2図の例ではDELAY長は[3]である。
フィルタ演算回路19に含まれる遅延量はピッチに関係の
ある数値である必要があるので、DELAY長は可変である
ことが望ましい。αはフィルタ演算回路19に含まれるフ
ィルタ係数であり、乗算器Jに与えられる。この例では
フィルタとしてのディジタルの一次APFを用いているの
で、係数はαのみであるが、さらに複雑な次数のフィル
タを用いた場合は、当然フィルタ係数の数は多くなる。
動作/停止信号は第1図のCPU5がメモリ6をクリアして
いる間、フィルタ演算回路19内の動作制御回路21を非動
作とするための、制御信号である。クロックとアンド論
理をとることによってハードウェア的に実現してもよい
し、ソフトウェアによって動作/停止信号線のつながっ
たポートをリアルタイムに監視して自身の動作を割込み
があるまで停止するようにしてもよい。
構成を示すブロック図である。同図に示すように、フィ
ルタ演算回路19は動作制御回路21と、動作制御回路21の
動作を記憶するROM22からなり、入力(input)は駆動波
形メモリ10から、出力(output)はエンベロープジェネ
レータ12によって制御される乗算器13に向けて取り出さ
れる。また、ADDRESS/DATAはフィルタ演算用のメモリ6
との間で、フィルタパラメータはCPU5との間で授受が行
われる。クロックc1は動作タイミングを制御する外部の
回路と同期して供給される。フィルタパラメータ中のST
ARTは動作制御回路21の動作(第4図のフローチャート
参照)を初期状態から再開させるリセット信号である。
一般にはハードウェア割込み信号線を利用してハードウ
ェア割込みベクトルを、第4図のフローチャートにおけ
るスタートアドレスに指定しておけばよい。DELAY長は
第2図のD1からD3までのまとまった遅延の長さを与える
信号である。第2図の例ではDELAY長は[3]である。
フィルタ演算回路19に含まれる遅延量はピッチに関係の
ある数値である必要があるので、DELAY長は可変である
ことが望ましい。αはフィルタ演算回路19に含まれるフ
ィルタ係数であり、乗算器Jに与えられる。この例では
フィルタとしてのディジタルの一次APFを用いているの
で、係数はαのみであるが、さらに複雑な次数のフィル
タを用いた場合は、当然フィルタ係数の数は多くなる。
動作/停止信号は第1図のCPU5がメモリ6をクリアして
いる間、フィルタ演算回路19内の動作制御回路21を非動
作とするための、制御信号である。クロックとアンド論
理をとることによってハードウェア的に実現してもよい
し、ソフトウェアによって動作/停止信号線のつながっ
たポートをリアルタイムに監視して自身の動作を割込み
があるまで停止するようにしてもよい。
次に、上述した構成における実施例の動作について第
4、6図のフローチャートを参照して説明する。
4、6図のフローチャートを参照して説明する。
第4図は第2図に示したフィルタ演算回路19における
フィルタ演算をソフトウェアで実現する場合のフローチ
ャートである。この処理を実現するに当り、それぞれの
ディレイのデータを記憶する手段としては第5図に示す
ように4つの連続した記憶領域31と、ディレイ素子D4、
D5の専用の記憶領域32、33およびインデックスレジスタ
ixが配置される。4つの連続した記憶領域31は第2図の
D1からD3までの伝搬遅延の実現のために用いられる。そ
のためにインデックスレジスタixを記憶する領域が用意
され、インデックスレジスタixによる相対アドレッシン
グで、データの記憶領域が計算される。また、アドレス
が[3]を超えた場合には[0]に戻る。例えば、ix=
2で相対値が[3]であった場合、ここではアドレス
「1]が選択されるものとする。
フィルタ演算をソフトウェアで実現する場合のフローチ
ャートである。この処理を実現するに当り、それぞれの
ディレイのデータを記憶する手段としては第5図に示す
ように4つの連続した記憶領域31と、ディレイ素子D4、
D5の専用の記憶領域32、33およびインデックスレジスタ
ixが配置される。4つの連続した記憶領域31は第2図の
D1からD3までの伝搬遅延の実現のために用いられる。そ
のためにインデックスレジスタixを記憶する領域が用意
され、インデックスレジスタixによる相対アドレッシン
グで、データの記憶領域が計算される。また、アドレス
が[3]を超えた場合には[0]に戻る。例えば、ix=
2で相対値が[3]であった場合、ここではアドレス
「1]が選択されるものとする。
フローチャートに移り、まずステップS1で初期設定を
行い、ix=0とする。次いで、ステップS2でインデック
スレジスタixが示す番地に波形メモリからのデータ(in
put)を記憶し、ステップS3で出力値を計算するために
ディレイ素子D3とD5の結果を加算してXとする。ここ
で、D3は(ix+3)と表わされる。次いで、ステップS4
で第2図における加算器K3の加算結果を次式に従って計
算する。
行い、ix=0とする。次いで、ステップS2でインデック
スレジスタixが示す番地に波形メモリからのデータ(in
put)を記憶し、ステップS3で出力値を計算するために
ディレイ素子D3とD5の結果を加算してXとする。ここ
で、D3は(ix+3)と表わされる。次いで、ステップS4
で第2図における加算器K3の加算結果を次式に従って計
算する。
(ix)=D4−α・X+(ix) ステップS5では上式の計算結果をix番地に書込む。こ
れは、出力値に同じであるから、結局その値が出力とし
て取り出される。その後、ステップS6でD4=X、D5=α
・Xとし、ステップS7でixをデクリメント(この場合で
はix=0からix=3)する。これにより、D1からD3まで
のデータの伝搬がシミュレートされる。
れは、出力値に同じであるから、結局その値が出力とし
て取り出される。その後、ステップS6でD4=X、D5=α
・Xとし、ステップS7でixをデクリメント(この場合で
はix=0からix=3)する。これにより、D1からD3まで
のデータの伝搬がシミュレートされる。
次に、第6図はフォーシングダンプフローであり、通
常の楽音発生時において、フォーシングダンプ要求があ
ったときにこのフローが実行される。
常の楽音発生時において、フォーシングダンプ要求があ
ったときにこのフローが実行される。
まず、ステップS11でフォーシングダンプ開始を要求
する信号EGSTARTパルスが出力され、これによりエンベ
ロープジェネレータ12は減衰エンベロープを乗算して、
現在発音中の楽音を強制的に減衰させる。通常の楽音発
生法であれば、この後、次の楽音生成に入るのである
が、遅延回路を用いた方式による楽音合成においては不
要なデータが遅延回路中に残ったままであるので、それ
を消去しなければならない。そのため、楽音の振幅が
[0]になると、エンベロープジェネレータ12はCPU5に
対してフォーシングダンプ終了信号ENDを送出する。し
たがって、ステップS12でフォーシングダンプ終了信号E
NDが送出されたか否かを判別し、NOのときはこのステッ
プにとどまり、YESになると、ステップS13でエンベロー
プ方向に余計なデータを出力しないようにするため、フ
ィルタ(フィルタ演算回路19に相当)内の動作制御回路
21の動作を停止する。エンベロープジェネレータ12は
[0]で停止しているはずであるので、どのような値が
出力されても良いわけであるが、楽器の全動作をCPU5に
よって制御した場合、不要な動作は処理の高速化の妨げ
になるので、停止することにしたものである。
する信号EGSTARTパルスが出力され、これによりエンベ
ロープジェネレータ12は減衰エンベロープを乗算して、
現在発音中の楽音を強制的に減衰させる。通常の楽音発
生法であれば、この後、次の楽音生成に入るのである
が、遅延回路を用いた方式による楽音合成においては不
要なデータが遅延回路中に残ったままであるので、それ
を消去しなければならない。そのため、楽音の振幅が
[0]になると、エンベロープジェネレータ12はCPU5に
対してフォーシングダンプ終了信号ENDを送出する。し
たがって、ステップS12でフォーシングダンプ終了信号E
NDが送出されたか否かを判別し、NOのときはこのステッ
プにとどまり、YESになると、ステップS13でエンベロー
プ方向に余計なデータを出力しないようにするため、フ
ィルタ(フィルタ演算回路19に相当)内の動作制御回路
21の動作を停止する。エンベロープジェネレータ12は
[0]で停止しているはずであるので、どのような値が
出力されても良いわけであるが、楽器の全動作をCPU5に
よって制御した場合、不要な動作は処理の高速化の妨げ
になるので、停止することにしたものである。
次いで、ステップS14でセレクタ8の選択信号SELECT
を“L"とし、これによりフィルタ係数のメモリをCPU5か
らアクセスできるようにする。次いで、ステップS15で
フィルタ係数メモリの最初のアドレスADをアクセスし、
ステップS16でそのアドレスADを出力する。これによ
り、CPU5によって消去すべきアドレスが生成されてアド
レスが消去されることになる。この場合、データはハー
ド的に[0]が与えられている。
を“L"とし、これによりフィルタ係数のメモリをCPU5か
らアクセスできるようにする。次いで、ステップS15で
フィルタ係数メモリの最初のアドレスADをアクセスし、
ステップS16でそのアドレスADを出力する。これによ
り、CPU5によって消去すべきアドレスが生成されてアド
レスが消去されることになる。この場合、データはハー
ド的に[0]が与えられている。
次いで、ステップS17でアドレスADがフィルタ係数メ
モリの最後であるか否かを判別し、NOのときはステップ
S16に戻り、YESのときはステップS18に進む。このよう
な処理により、フィルタ演算回路19によってアクセスさ
れているメモリ6がCPU5から直接に制御され、そこに記
憶されているフィルタ演算のパラメータがクリアされ
る。パラメータのクリアが終了すると、次の楽音に応じ
てフィルタやディレイのパラメータを設定する処理に移
る。すなわち、ステップS18でディジタルフィルタのパ
ラメータを設定し、ステップS19でセレクタ8の選択信
号SELECTを“H"にするとともに、ステップS20でアドレ
スカウンタ9にアドレスとスタートパルスを送る。ま
た、ステップS21でフィルタ演算回路19内の動作制御回
路21を作動させ、ステップS22でEGRESETパルスを出力す
る。これにより、メモリ6のアクセスがフィルタ演算回
路19に戻されてフィルタ演算回路19が停止から動作状態
に復帰し、波形メモリ10から新たな波形の注入が行われ
る。すなわち、フィルタの係数など次の楽音合成に必要
な値がセットされた後、上述と逆の動作が行われて通常
の楽音合成処理に戻る。
モリの最後であるか否かを判別し、NOのときはステップ
S16に戻り、YESのときはステップS18に進む。このよう
な処理により、フィルタ演算回路19によってアクセスさ
れているメモリ6がCPU5から直接に制御され、そこに記
憶されているフィルタ演算のパラメータがクリアされ
る。パラメータのクリアが終了すると、次の楽音に応じ
てフィルタやディレイのパラメータを設定する処理に移
る。すなわち、ステップS18でディジタルフィルタのパ
ラメータを設定し、ステップS19でセレクタ8の選択信
号SELECTを“H"にするとともに、ステップS20でアドレ
スカウンタ9にアドレスとスタートパルスを送る。ま
た、ステップS21でフィルタ演算回路19内の動作制御回
路21を作動させ、ステップS22でEGRESETパルスを出力す
る。これにより、メモリ6のアクセスがフィルタ演算回
路19に戻されてフィルタ演算回路19が停止から動作状態
に復帰し、波形メモリ10から新たな波形の注入が行われ
る。すなわち、フィルタの係数など次の楽音合成に必要
な値がセットされた後、上述と逆の動作が行われて通常
の楽音合成処理に戻る。
以上のフローチャートを実行することによる実際上の
全体のタイミングチャートは第7図のように示される。
第7図に示すように第1のキーオン(1ST KON)により
第1の楽音が合成される。そして、キーオフ(KOFF)が
あり、その後、第2のキーオン(2ND KON)があると、E
GSTARTパルスが立ち上がり、エンベロープが出力され
る。エンベロープの出力が0に低下してフォーシングダ
ンプが終了すると、EGENDパルスがCPU5に対して出力さ
れるとともに、セレクタ8の選択信号SELECTが“L"とな
り、CPU5はメモリクリアに入る。その後、メモリクリア
が終了すると、CPU5は次の楽音を立上げる。
全体のタイミングチャートは第7図のように示される。
第7図に示すように第1のキーオン(1ST KON)により
第1の楽音が合成される。そして、キーオフ(KOFF)が
あり、その後、第2のキーオン(2ND KON)があると、E
GSTARTパルスが立ち上がり、エンベロープが出力され
る。エンベロープの出力が0に低下してフォーシングダ
ンプが終了すると、EGENDパルスがCPU5に対して出力さ
れるとともに、セレクタ8の選択信号SELECTが“L"とな
り、CPU5はメモリクリアに入る。その後、メモリクリア
が終了すると、CPU5は次の楽音を立上げる。
このように本実施例では、遅延フィードバック型の音
源において、フォーシングダンプ要求があったときはフ
ィルタや記憶素子等の一次記憶内容が強制的に消去され
る。すなわち、フィルタ演算部11に用いる記憶装置その
ものの内部値を強制的に[0]にする手段を用いている
ので、楽音の一周期に比べ非常に少ない時間で現在発音
している楽音に関するデータを消去することができ、特
に周波数の低い楽音の合成時においても発音の遅れを防
止することができる。
源において、フォーシングダンプ要求があったときはフ
ィルタや記憶素子等の一次記憶内容が強制的に消去され
る。すなわち、フィルタ演算部11に用いる記憶装置その
ものの内部値を強制的に[0]にする手段を用いている
ので、楽音の一周期に比べ非常に少ない時間で現在発音
している楽音に関するデータを消去することができ、特
に周波数の低い楽音の合成時においても発音の遅れを防
止することができる。
また、例えば遅延フィルタとしてディジタルのIIRやA
PFを用いた場合、すなわち、フィルタフィードバックを
含むフィルタや直線位相でないフィルタにおいても、ア
ルゴリズムによらず記憶容量のみに応じてフォーシング
ダンプをかけることができ、全てのデータが[0]とな
る正確な時期を特定することが容易で、結果的に楽音の
合成時に発音が遅れるという事態を回避できる。
PFを用いた場合、すなわち、フィルタフィードバックを
含むフィルタや直線位相でないフィルタにおいても、ア
ルゴリズムによらず記憶容量のみに応じてフォーシング
ダンプをかけることができ、全てのデータが[0]とな
る正確な時期を特定することが容易で、結果的に楽音の
合成時に発音が遅れるという事態を回避できる。
次に、本発明は上記実施例に限定されず、以下に述べ
るような各種の変形態様が可能である。
るような各種の変形態様が可能である。
(I)本実施例は記憶素子にRAMを用いているが、これ
に限らず、例えばリセット端子付きのFFを用いれば一回
のリセット信号で全てのデータを消去することができ
る。
に限らず、例えばリセット端子付きのFFを用いれば一回
のリセット信号で全てのデータを消去することができ
る。
(II)本実施例における各回路の全てを単一のCPUで制
御するようにしてもよい。
御するようにしてもよい。
(III)本実施例では、EGの処理とメモリのクリアをシ
ーケンシャルに行っているが、可能な部分を並列に処理
できるようにしてもよい。例えば、単なる遅延、あるい
はフィードバックのないFIRフィルタなどの部分は、ど
こからが消去すべきデータであるかが明確に分かってい
るので、通常の楽音発生と並行してデータの消去を行う
ことも可能である。
ーケンシャルに行っているが、可能な部分を並列に処理
できるようにしてもよい。例えば、単なる遅延、あるい
はフィードバックのないFIRフィルタなどの部分は、ど
こからが消去すべきデータであるかが明確に分かってい
るので、通常の楽音発生と並行してデータの消去を行う
ことも可能である。
(IV)上記実施例の処理では全てをソフトウェアやマイ
クロプログラムによる処理としてもよい。
クロプログラムによる処理としてもよい。
(V)また、本発明は遅延回路を含むループ回路として
例えば、特開昭63−40199号公報に開示されているウェ
ーブガイドを用い、そのアルゴリズムに利用することも
可能である。
例えば、特開昭63−40199号公報に開示されているウェ
ーブガイドを用い、そのアルゴリズムに利用することも
可能である。
「発明の効果」 本発明によれば、楽音の一周期に比べ非常に少ない時
間で現在発音している楽音に関するデータを消去するこ
とができ、同一の系列を用いて異なる楽音を発生させる
場合であっても、楽音の合成時に発音遅れを防止するこ
とができる。また、記憶手段に記憶された波形データを
消去する際には閉ループ手段を循環する波形データが不
連続となり、これをそのまま楽音信号として出力すると
ノイズが発生することになるが、本発明では楽音信号を
減衰させるようにしているため、このようなノイズの発
生を防止することができる。
間で現在発音している楽音に関するデータを消去するこ
とができ、同一の系列を用いて異なる楽音を発生させる
場合であっても、楽音の合成時に発音遅れを防止するこ
とができる。また、記憶手段に記憶された波形データを
消去する際には閉ループ手段を循環する波形データが不
連続となり、これをそのまま楽音信号として出力すると
ノイズが発生することになるが、本発明では楽音信号を
減衰させるようにしているため、このようなノイズの発
生を防止することができる。
第1図は本発明の一実施例の構成を示すブロック図、第
2図は同実施例のフィルタ演算回路におけるフィルタ演
算の一例を示す図、第3図は同実施例におけるフィルタ
演算回路の詳細な構成を示すブロック図、第4図は同実
施例のフィルタ演算回路におけるフィルタ演算をソフト
ウェアで実現する場合のフローチャート、第5図は同実
施例におけるフィルタ演算回路に使用されるメモリの領
域を示す図、第6図は同実施例におけるフォーシングダ
ンプ処理を示すフローチャート、第7図は同実施例にお
けるフォーシングダンプ処理を説明するための波形図で
ある。 5……CPU(消去手段、制御手段)、6……メモリ、11
……フィルタ演算部、19……フィルタ演算回路、20……
遅延フィードバック型の音源。
2図は同実施例のフィルタ演算回路におけるフィルタ演
算の一例を示す図、第3図は同実施例におけるフィルタ
演算回路の詳細な構成を示すブロック図、第4図は同実
施例のフィルタ演算回路におけるフィルタ演算をソフト
ウェアで実現する場合のフローチャート、第5図は同実
施例におけるフィルタ演算回路に使用されるメモリの領
域を示す図、第6図は同実施例におけるフォーシングダ
ンプ処理を示すフローチャート、第7図は同実施例にお
けるフォーシングダンプ処理を説明するための波形図で
ある。 5……CPU(消去手段、制御手段)、6……メモリ、11
……フィルタ演算部、19……フィルタ演算回路、20……
遅延フィードバック型の音源。
Claims (1)
- 【請求項1】少なくとも波形データを記憶する記憶手段
を含むフィルタと前記波形データを所定時間遅延させて
出力する遅延手段とを閉ループ接続した閉ループ手段を
有し、発音指示に応じて該閉ループ手段に所定の波形デ
ータを入力するとともに前記閉ループ手段を循環する前
記波形データを楽音信号として出力する楽音合成装置に
おいて、 フォーシングダンプ要求を出力する制御手段と、 この制御手段からフォーシングダンプ要求があったと
き、前記閉ループ手段から出力される前記楽音信号のレ
ベルを減衰させる減衰手段と、 前記制御手段からフォーシングダンプ要求があったと
き、前記閉ループ手段のフィルタの記憶手段に記憶され
た波形データを消去する消去手段と を設けたことを特徴とする楽音合成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2270933A JP2611531B2 (ja) | 1990-10-09 | 1990-10-09 | 楽音合成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2270933A JP2611531B2 (ja) | 1990-10-09 | 1990-10-09 | 楽音合成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04147196A JPH04147196A (ja) | 1992-05-20 |
JP2611531B2 true JP2611531B2 (ja) | 1997-05-21 |
Family
ID=17493025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2270933A Expired - Fee Related JP2611531B2 (ja) | 1990-10-09 | 1990-10-09 | 楽音合成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2611531B2 (ja) |
-
1990
- 1990-10-09 JP JP2270933A patent/JP2611531B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04147196A (ja) | 1992-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2508324B2 (ja) | 電子楽器 | |
JPH01101590A (ja) | 電子楽器 | |
JP2722795B2 (ja) | 楽音合成装置 | |
EP0974106B1 (en) | Digital signal processing system and method for generating musical legato using multitap delay line with crossfader | |
US5157214A (en) | Musical sound synthesizing apparatus | |
US5496964A (en) | Tone generator for electronic musical instrument including multiple feedback paths | |
US5428183A (en) | Tone signal generating apparatus for performing a timbre change by storing a full frequency band in a wave memory | |
JP2576702B2 (ja) | 電子楽器 | |
JP2611531B2 (ja) | 楽音合成装置 | |
JP3322209B2 (ja) | コンピュータソフトウェアを用いた音源システムおよび記憶媒体 | |
US5559298A (en) | Waveform read-out system for an electronic musical instrument | |
JP3090667B2 (ja) | 楽音合成装置 | |
JPH03243993A (ja) | 楽音発生装置 | |
JP2504320B2 (ja) | 楽音合成装置 | |
JP2738175B2 (ja) | 楽音信号発生装置 | |
JP2782831B2 (ja) | 楽音合成装置 | |
JP3085696B2 (ja) | 楽音合成装置 | |
JP2545159B2 (ja) | 楽音合成装置 | |
JP2727684B2 (ja) | 楽音合成装置 | |
JP3727110B2 (ja) | 楽音合成装置 | |
JP3223827B2 (ja) | 音源波形データ生成方法および装置 | |
JP2679314B2 (ja) | 楽音合成装置 | |
JP3532010B2 (ja) | 楽音信号発生装置及び楽音信号発生方法 | |
JPH09222886A (ja) | 反射音及び残響音装置 | |
JPH08335085A (ja) | 楽音合成装置および楽音合成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20080227 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090227 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |