JP4088947B2 - Music generator - Google Patents

Music generator Download PDF

Info

Publication number
JP4088947B2
JP4088947B2 JP36017699A JP36017699A JP4088947B2 JP 4088947 B2 JP4088947 B2 JP 4088947B2 JP 36017699 A JP36017699 A JP 36017699A JP 36017699 A JP36017699 A JP 36017699A JP 4088947 B2 JP4088947 B2 JP 4088947B2
Authority
JP
Japan
Prior art keywords
envelope
resonance
dcf
key
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP36017699A
Other languages
Japanese (ja)
Other versions
JP2001175259A (en
Inventor
文章 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP36017699A priority Critical patent/JP4088947B2/en
Publication of JP2001175259A publication Critical patent/JP2001175259A/en
Application granted granted Critical
Publication of JP4088947B2 publication Critical patent/JP4088947B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、デジタル制御フィルタ(以下、DCFと記す)を用いて楽音を発生する楽音発生装置に関する。
【0002】
【従来の技術】
従来より、与えられたフィルタ係数に対応して所望のフィルタ特性を具現するデジタル制御フィルタ(DCF)を備えた楽音発生装置が知られている。この種の装置では、DCFのカットオフ周波数を経時変化させることによって、発生する楽音のエンベロープを制御したり、カットオフ周波数付近に共振点を与え、その共振点近傍の周波数帯域における信号レベルを強調するようにしたレゾナンス制御を行うように構成されている。
【0003】
【発明が解決しようとする課題】
ところで、DCFを搭載する楽音発生装置では、DCFのカットオフ周波数を経時変化させるエンベロープ制御を施しながら、カットオフ周波数近傍の信号レベルを強調するレゾナンス制御を同時に施すと、強調される周波数帯域が経時変化することによって、発生する楽音の基音や倍音成分が非調和な関係になる。この為、自然楽器では得難い人工的な音色変化を備えた、所謂シンセサイズ音を発生する際には好都合となる反面、自然楽器のような音色変化を得ることが出来ない、という問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、自然楽器のような音色変化を得ることができる楽音発生装置を提供することを目的としている。
【0004】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明では、発音指示された楽音の基音周波数を初期カットオフ周波数に設定し、この初期カットオフ周波数を起点に経時変化するカットオフ特性を表すDCFエンベロープを発生するDCFエンベロープ発生手段と、経時変化するDCFエンベロープが前記初期カットオフ周波数に収束した時点で、この初期カットオフ周波数にて経時変化する共振深さを表すレゾナンスエンベロープを発生するレゾナンスエンベロープ発生手段と、発音指示に応じて生成される波形に対し、前記DCFエンベロープに対応したカットオフ特性でフィルタリングを施して楽音を形成する一方、この形成された楽音に対し、前記レゾナンスエンベロープに対応した共振深さのフィルタリングを施して前記基音周波数を強調するフィルタ手段とを具備することを特徴とする。
【0005】
上記請求項1に従属する請求項2に記載の発明によれば、前記レゾナンスエンベロープ発生手段は、指定された音高に対応したキースケール係数を発生するキースケール発生手段を備え、発生すべき楽音の音高が指定された場合、その音高に対応して前記キースケール発生手段が発生するキースケール係数を用いて前記レゾナンスエンベロープをキースケーリングすることを特徴としている。
【0007】
さらに、上記請求項1に従属する請求項に記載の発明によれば、前記レゾナンスエンベロープに対応した共振深さのフィルタリングにより生じる音量変化を相殺する逆特性に従って前記フィルタ手段が出力する楽音の音量を制御する音量制御手段を具備することを特徴とする。
【0008】
本発明では、発音指示に応じて生成される波形に対し、発音指示された楽音の基音周波数を初期カットオフ周波数とし、これを起点に経時変化するカットオフ特性を表すDCFエンベロープに対応したフィルタリングを施して楽音を形成する一方、この形成された楽音に対し、前記DCFエンベロープが初期カットオフ周波数に収束した時点から、この初期カットオフ周波数で経時変化する共振深さを表すレゾナンスエンベロープに対応したフィルタリングを施すことによって、その楽音の基音周波数を強調するようにしたので、基音成分と倍音成分とが調和した自然楽器のような音色変化を得ることが可能になる。
【0009】
【発明の実施の形態】
本発明による楽音発生装置は、周知の電子楽器の他、パーソナルコンピュータを用いたDTM装置などに適用される。以下では、本発明による楽音発生装置を適用した電子楽器を実施例とし、これについて図面を参照して説明する。
【0010】
(1)構成
図1は、本発明による実施例の構成を示すブロック図である。この図において、1は装置パネルに配設されるパネルスイッチ群であり、各スイッチ操作に応じたスイッチイベント信号を発生する。このパネルスイッチ群1には、電源をオンオフする電源スイッチの他、音色を指定する音色スイッチ等が設けられている。2は押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号および鍵番号(キーナンバ)、ベロシティ等からなる演奏情報を発生する鍵盤である。3はLCDパネル等から構成される表示部であり、後述するCPU4から供給される表示制御信号に応じて楽器各部の設定状態や動作モード等を表示する。
【0011】
CPU4は、パネルスイッチ群1で行われるスイッチ操作に応じて発生するスイッチイベントに基づき楽器各部の動作状態を設定したり、演奏情報に応じた楽音パラメータ(例えば、発音指示コマンドや消音指示コマンド等)を生成して音源7に送出する。5はプログラムエリアとデータエリアとを備えるROMである。ROM5のプログラムエリアには、上記CPU4にロードされる各種制御プログラムが記憶される。また、ROM5のデータエリアには、DCFエンベロープデータおよびレゾナンスエンベロープデータが格納される。
【0012】
DCFエンベロープデータは、DCFエンベロープの各波形フェーズ(アタック、ディケイ、サステインおよびリリース)毎の周波数レベルF LEVELおよび周波数レートF RATEから構成される。
例えば、図2に図示するDCFエンベロープの一例の場合、図3および図4に図示するように、アタックフェーズでは周波数レートF RATE(1)で周波数レベルF LEVEL(1)まで増加し、続くディケイフェーズでは周波数レートF RATE(2)で周波数レベルF LEVEL(2)まで減少した後、サステインフェーズおよびリリースフェーズでは周波数レートF RATE、周波数レベルF LEVEL共に「0」を維持する特性となる。
【0013】
レゾナンスエンベロープデータは、レゾナンスエンベロープの各波形フェーズ(アタック、ディケイ、サステインおよびリリース)毎のレゾナンスレベルRES LEVELおよびレゾンナンスレートRES RATEから構成される。
例えば、図5に図示するレゾナンスエンベロープの一例の場合、図6および図7に図示するように、アタックフェーズではレゾンナンスレートRES RATE(1)でレゾナンスレベルRES LEVEL(1)まで増加し、続くディケイフェーズ〜リリースフェーズではレゾンナンスレートRES RATE(2)〜(4)を「0」として一定値「B」のレゾナンスレベルRES LEVEL(2)〜(4)を維持する特性となる。
【0014】
次に、再び図1を参照して実施例の構成について説明を進める。図1において、6はCPU4のワークエリアとして用いられ、各種レジスタ・フラグデータを一時記憶するRAMである。7はDCO7a、波形メモリ7b、DCF7cおよびDCA7dから構成される音源である。DCO(デジタル制御発振器)7aは、発生すべき楽音の音高に対応した読み出し位相を発生する。波形メモリ7bは、DCO7aから供給される読み出し位相に従って指定音色の波形データWDを読み出す。
【0015】
DCF7cは、上述したDCFエンベロープデータおよびレゾナンスエンベロープデータに従って、波形メモリ7bが発生する波形データWDについてエンベロープ制御およびレゾンナンス制御を施して楽音波形WAVEを形成する。DCA(デジタル制御増幅器)7dは、DCF7cが形成した楽音波形WAVEの出力レベル(振幅値)を制御する。8は音源7が発生する楽音波形WAVEをアナログ波形信号に変換して不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカSPから発音させるサウンドシステムである。
【0016】
(2)動作
次に、上記構成による実施例の動作について説明する。以下では、最初に図8を参照してCPUメインルーチンの動作について説明した後、図9〜図20を参照して音源7側で実行される各種ルーチンの動作について説明する。
【0017】
▲1▼CPUメインルーチンの動作
まず、上記構成による実施例に電源が投入されると、CPU4はROM5のプログラム記憶エリアから所定の制御プログラムを読み出して自身にロードし、図8に示すメインルーチンを実行してステップSA1に処理を進め、RAM6に格納される各種レジスタやフラグ類をリセットしたり初期値をセットするイニシャライズを行う。また、このステップSA1では、音源7に対して各種レジスタやフラグ類を初期化するよう指示する。イニシャライズ完了後、CPU4はステップSA2に処理を進め、パネルスイッチ群1が発生するスイッチイベントに対応したスイッチ処理を実行する。
【0018】
スイッチ処理完了後、ステップSA3に進むと、キーイベントを検出する鍵走査を行い、この鍵走査の結果に基づき鍵変化を判別する。ここで、キーイベントが発生していない時、つまり、鍵操作されていない場合には何も処理せずに上述のステップSA2に処理を戻すが、押鍵操作に応じたキーオンイベントが発生すると、ステップSA4に処理を進め、押鍵された鍵の鍵番号をレジスタNOTE(以下、鍵番号NOTEと記す)にストアする。
次いで、ステップSA5では、押鍵操作に対応して発生するベロシティをレジスタVEL(以下、ベロシティVELと記す)にストアする。そして、ステップSA6では押鍵された鍵の音高の楽音を発音させるべく、鍵番号NOTEおよびベロシティVELを含む発音指示コマンドを音源7に送出した後、上記ステップSA2に処理を戻す。
【0019】
一方、離鍵操作に応じたキーオフイベントが発生した場合には、ステップSA7に処理を進め、離鍵された鍵の鍵番号をレジスタNOTEにセットし、続くステップSA8では、ベロシティVELをゼロリセットする。そして、ステップSA9では離鍵された鍵の音高の楽音を消音させるべく、鍵番号NOTEおよびベロシティVELを含む消音指示コマンドを音源7に送出してから上記ステップSA2に処理を戻す。
【0020】
▲2▼音源7側の動作
次に、図9〜図20を参照し、音源7側にて実行される各種ルーチンの動作について説明する。以下では、最初に音源7の全体動作を示す音源メインルーチンの動作について言及した後、この音源メインルーチンからコールされる「ENVSTART処理」、「DCF ENV START処理」、「INT1処理」、「DCF ENV処理」、「RES ENV START処理」、「RES ENV処理」、「DCF処理」、「DCA処理」、「RELEASE処理」、「DCF RELEASE処理」および「RES RELEASE処理」の各動作について述べて行く。
【0021】
(a)音源メインルーチンの動作
音源7では電源投入と同時に音源メインルーチンを実行し、図4に示すステップSB1に処理を進め、CPU4側からのコマンドを受信したか否かを判断する。そして、例えば発音指示コマンドを受信した場合には、ステップSB1,SB2の判断結果が共に「YES」となり、ステップSB3に処理を進め、ENV START処理を実行する。
このENV START処理では、発音指示コマンドに含まれる鍵番号NOTEおよびベロシティVELに対応した楽音波形WAVEを形成すべく、エンベロープ制御を開始させる一連の処理から構成されており、その詳細については追って述べる。
【0022】
ENV START処理完了後、音源7はステップSB4に処理を進め、フラグONFを「1」にセットして発音状態を表す。フラグONFが「1」にセットされ、発音状態になると、次のステップSB5の判断結果は「YES」となり、ステップSB6〜SB7を経て楽音波形WAVEを形成する。
すなわち、ステップSB6では、前述したDCO7aが発生する読み出し位相に応じて波形メモリ7bから指定音色の波形データWDを読み出すDCO処理を実行する。続いて、ステップSB7では、後述するDCFエンベロープ現在値およびレゾナンスエンベロープ現在値に基づいたフィルタリング(エンベロープ制御およびレゾンナンス制御)を波形データWDに施して楽音波形WAVEを発生するDCF処理(後述する)を実行する。そして、ステップSB8では、楽音波形WAVEの出力レベルを制御するDCA処理(後述する)を実行する。
【0023】
このようにして、楽音波形WAVEが形成されると、音源7では上述したステップSB1に処理を戻し、次のコマンド受信の有無を判断する。そして、ノートオフを指示する消音指示コマンドを受信すると、ステップSB2を介してステップSB9に処理を進め、ここでの判断結果が「YES」となり、後述するRELEASE処理を実行した後、上述したステップSB5に処理を進める。
なお、発生楽音の音色を変更する等の、ノートオン/ノートオフ以外のコマンドを受信した場合には、ステップSB2,SB9の判断結果がいずれも「NO」となり、この場合、ステップSB11に進み、受信したコマンドに対応したその他の処理を実行し、その後にステップSB1に処理を戻す。
【0024】
(b)ENV START処理ルーチンの動作
次に、図10を参照してENV START処理ルーチンの動作について説明する。上述したように、発音指示コマンドを受信してステップSB3に進むと、図10に示すENV START処理ルーチンを実行してステップSC1に処理を進める。ステップSC1では、発音指示コマンドに含まれる鍵番号NOTEに対応した読み出し位相を発生させる為のDCOエンベロープをスタートさせる。次いで、ステップSC2では、DCFエンベロープデータに基づきDCFエンベロープをスタートさせるDCF ENV START処理を実行する。
【0025】
(c)DCF ENV START処理ルーチンの動作
すなわち、ステップSC2を介して図11に示すDCF ENV START処理が実行されると、音源7はステップSD1に処理を進め、DCFエンベロープ現在値を保持するレジスタF CNTに初期値IFをセットする。なお、この初期値IFとは、鍵番号NOTEに対応した音高で発音される楽音の基音周波数をカットオフ周波数に設定する値である。
続いて、ステップSD2では、DCFエンベロープにおける波形フェーズを表すフラグ値を保持するレジスタF PHASEに「1」(アタックフェーズを表す)をセットする。次に、ステップSD3では、レジスタF PHASEのフラグ値に従って、アタックフェーズの周波数レベルF LEVELをROM5から読み出してレジスタF LEVELにセットする。次いで、ステップSD4では、レジスタF PHASEのフラグ値に従ってアタックフェーズの周波数レートF RATEをROM5から読み出してレジスタF RATEにセットする。
【0026】
こうして、DCFエンベロープ発生に必要な初期パラメータをセットし終えると、音源7は図10に示すステップSC3に処理を戻し、楽音波形WAVEの出力レベル制御に必要なパラメータ(DCAエンベロープ)をDCA7dにセットする。この後、ステップSC4に処理を進め、後述するINT1処理を実行させるべくタイマ割込みの禁止を解除して本ルーチンを完了する。
【0027】
(d)INT1処理ルーチンの動作
上記ステップSC4(図10参照)にてタイマ割込みの禁止が解除されると、音源7では図12に示すINT1処理ルーチンが所定周期毎にタイマ割込み実行される。
INT1処理ルーチンでは、ステップSE1にてDCOエンベロープを、ステップSE2にてDCFエンベロープを、ステップSE3にてDCAエンベロープを、ステップSE4にてリリースエンベロープをそれぞれ進行させる。以下、本発明の要旨に係わるDCF ENV処理ルーチンの動作およびRES ENV処理ルーチンの動作について述べる。
【0028】
(e)DCF ENV処理ルーチンの動作
上記ステップSE2を介して図13に示すDCF ENV処理ルーチンが実行されると、音源7はステップSF1に処理を進め、レジスタF RATEに格納される周波数レート(以下、周波数レートFRATEと記す)が「0」でないかどうかを判断する。ここで、周波数レートFRATEが「0」であると、DCFエンベロープは収束した状態であるから、エンベロープ生成する必要がなくなり、この場合、判断結果が「NO」となり、本ルーチンを完了させる。
【0029】
一方、周波数レートFRATEが「0」でないならば、DCFエンベロープを生成する必要があるので、上記ステップSF1の判断結果は「YES」となり、ステップSF2に処理を進める。ステップSF2では、レジスタF CNTに格納されるDCFエンベロープ現在値に、周波数レートF RATEを加算した結果を再びレジスタF CNTに格納するレート加算を行い、続くステップSF3ではこのレート加算されたDCFエンベロープ現在値が、レジスタF LEVELに格納される周波数レベル(以下、周波数レベルFLEVELと記す)に一致するか否かを判断する。
【0030】
ここで、レート加算されたDCFエンベロープ現在値が周波数レベルF LEVELに達していない場合には、判断結果は「NO」となり、一旦、本ルーチンを完了させる。
これに対し、レート加算されたDCFエンベロープ現在値が周波数レベルF LEVELに達した場合には、判断結果が「YES」となり、ステップSF4に処理を進め、レジスタF PHASEのフラグ値を1インクリメントして歩進させる。次いで、ステップSF5では、歩進されたフラグ値が「5」、つまり、リリースフェーズを超えたかどうかを判断する。リリースフェーズを超えた場合には、判断結果が「YES」となり、ステップSF6に進み、周波数レートF RATEをゼロリセットして本ルーチンを完了させる。
【0031】
一方、リリースフェーズを超えていない場合には、上記ステップSF5の判断結果は「NO」となり、ステップSF7に処理を進める。ステップSF7では、歩進されたフラグ値が「3」、つまり、サステインフェーズであるかどうかを判断する。 サステインフェーズでない場合には、判断結果が「NO」となり、ステップSF9に処理を進め、歩進されたレジスタF PHASEのフラグ値に対応した波形フェーズの周波数レベルF LEVELをROM5から読み出してレジスタF LEVELにセットする。次いで、ステップSF10では、歩進されたレジスタF PHASEのフラグ値に対応した波形フェーズの周波数レートFRATEをROM5から読み出してレジスタFRATEにセットした後、本ルーチンを完了させる。
【0032】
(f)RES ENV START処理ルーチンの動作
これに対し、歩進されたフラグ値が「3」となり、サステインフェーズになった場合には、上記ステップSF7の判断結果は「YES」となり、ステップSF8を介して図14に示すRES ENV START処理ルーチンを実行し、ステップSG1に処理を進める。
ステップSG1では、レゾナンスエンベロープにおける波形フェーズを表すフラグ値を保持するレジスタRES PHASEに「1」(アタックフェーズを表す)をセットし、続くステップSG2では、レゾナンスエンベロープ現在値を保持するレジスタRES CNTに初期値Aをセットする。
【0033】
次いで、ステップSG3では、レジスタRES PHASEのフラグ値に対応して、アタックフェーズにおけるレゾナンスレベルRES LEVELをROM5から読み出してレジスタRES LEVELにセットする。次いで、ステップSG4では、レジスタRES PHASEのフラグ値に従って、アタックフェーズにおけるレゾナンスレートRES RATEをROM5から読み出してレジスタRES RATEにセットする。そして、ステップSG5では、レゾナンスエンベロープの発生開始を表すべく、レジスタRES Fに「1」をセットする。こうして、レゾナンスエンベロープデータをセットし終えると、音源7は上述したステップSF9,SF10(図13参照)を実行してからDCF ENV処理ルーチンを完了させる。
【0034】
(g)RES ENV処理ルーチンの動作
INT1処理ルーチンのステップSE4(図12参照)を介して図15に示すRES ENV処理ルーチンが実行されると、音源7はステップSH1に処理を進め、レジスタRES Fのフラグ値が「1」、つまり、DCFエンベロープがサステインフェーズに入ったのに同期してレゾナンスエンベロープがスタートしたかどうかを判断する。ここで、レジスタRES Fのフラグ値が「1」でない場合、レゾナンスエンベロープはスタートしていないので、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させる。
【0035】
一方、レジスタRES Fのフラグ値が「1」にセットされ、レゾナンスエンベロープがスタートしている場合には、上記ステップSH1の判断結果は「YES」となり、ステップSH2に処理を進める。ステップSH2では、レジスタRES RATEに格納されるレゾナンスレート(以下、レゾナンスレートRES
RATEと記す)が「0」でないかどうかを判断する。
ここで、レゾナンスレートRES RATEが「0」であると、レゾナンスエンベロープは収束した状態であるから、エンベロープ生成する必要がなくなり、この場合、判断結果が「NO」となり、本ルーチンを完了させる。
【0036】
これに対し、レゾナンスレートRES RATEが「0」でないならば、上記ステップSH2の判断結果は「YES」となり、次のステップSH3に処理を進める。ステップSH3では、レジスタRES CNTに格納されるレゾナンスエンベロープ現在値にレゾナンスレートRES RATEを加算した結果を再びレジスタRESCNTに格納するレート加算を行い、続くステップSH4ではこのレート加算されたレゾナンスエンベロープ現在値が、レジスタRES LEVELに格納されるレゾナンスレベル(以下、レゾナンスレベルRES LEVELと記す)に一致するか否かを判断する。
【0037】
ここで、レート加算されたレゾナンスエンベロープ現在値がレゾナンスレベルRES LEVELに達していない場合には、判断結果は「NO」となり、一旦、本ルーチンを完了させる。
一方、レート加算されたレゾナンスエンベロープ現在値がレゾナンスレベルRES LEVELに達した場合には、判断結果が「YES」となり、ステップSH5に処理を進め、レジスタRES PHASEのフラグ値を1インクリメントして歩進させる。次いで、ステップSH6では、歩進されたフラグ値が「5」、つまり、リリースフェーズを超えたかどうかを判断する。
【0038】
リリースフェーズを超えた場合には、判断結果が「YES」となり、ステップSH7に進み、レゾナンスレートRES RATEをゼロリセットして本ルーチンを完了させる。
一方、リリースフェーズを超えていない場合には、上記ステップSH6の判断結果は「NO」となり、ステップSH8に処理を進める。ステップSH8では、歩進されたレジスタRES PHASEのフラグ値に対応した波形フェーズのレゾナンスレベルRES LEVELをROM5から読み出してレジスタRES LEVELにセットする。次いで、ステップSH9では、歩進されたレジスタRES PHASEのフラグ値に対応した波形フェーズのレゾナンスレートRESRATEをROM5から読み出してレジスタRES RATEにセットした後、本ルーチンを完了させる。
【0039】
(h)DCF処理ルーチンの動作
前述した音源メインルーチンのステップSB7(図9参照)を介して図16に示すDCF処理ルーチンが実行されると、音源7はステップSJ1に処理を進め、レジスタF CNTに格納されるDCFエンベロープ現在値に対応したカットオフ特性を具現するフィルタ係数を算出し、続くステップSJ2では、レジスタRES CNTに格納されるレゾナンスエンベロープ現在値に対応した共振特性を具現するフィルタ係数を算出する。そして、ステップSJ3では、これら算出した各フィルタ係数に対応したフィルタリング(エンベロープ制御およびレゾナンス制御)を波形データWDに施し、これにて形成される楽音波形WAVEを、ステップSJ4にて次段(DCA7d)へ出力する。
【0040】
(i)DCA処理ルーチンの動作
前述した音源メインルーチンのステップSB8(図9参照)を介して図17に示すDCA処理ルーチンが実行されると、音源7はステップSK1に処理を進め、レジスタA PHASEのフラグ値が「4」、すなわち、DCAエンベロープがリリース状態にあるか否かを判断する。
ここで、DCAエンベロープがリリース状態でなければ、判断結果は「NO」となり、後述するステップSK5に処理を進めるが、リリース状態にあると、判断結果が「YES」となり、ステップSK2に処理を進める。
なお、上記レジスタA PHASEのフラグ値とは、図示されていないDCAENV処理にてDCAエンベロープの進行に応じて歩進されるようになっている。
【0041】
DCAエンベロープがリリース状態であると、ステップSK2に処理を進め、DCAエンベロープ現在値を保持するレジスタA CNTの値が「0」以下、つまり、DCAエンベロープが収束するキーオフ状態であるか否かを判断する。キーオフ状態でなければ、判断結果は「NO」となり、後述するステップSK5に処理を進めるが、キーオフ状態であると、判断結果が「YES」となり、次のステップSK3に処理を進める。
なお、レジスタA CNTに格納されるDCAエンベロープ現在値とは、図示されていないDCA ENV処理にてDCAエンベロープを形成する過程で算出される値である。
【0042】
そして、ステップSK3に進むと、フラグONFをゼロリセットしてキーオフ状態に設定し、続くステップSK4では、フラグRES Fをゼロセットする。次いで、ステップSK5では、レジスタA CNTに格納されるDCAエンベロープ現在値に応じて入力信号(楽音波形WAVE)の振幅レベルを制御し、その結果をステップSK6にて出力する。
なお、ステップSK5におけるレベル制御の一態様としては、レゾナンス制御による音量変化の特性を相殺する逆特性にて入力信号の音量制御を行う。
【0043】
(j)RELEASE処理ルーチンの動作
次に、図18〜図20を参照してRELEASE処理ルーチンの動作について説明する。前述した音源メインルーチンにおいて、消音指示コマンドを受信してステップSB10(図9参照)に進むと、図18に示すRELEASE処理ルーチンを実行してステップSL1に処理を進める。ステップSL1では、DCO7aをリリース状態で動作させるDCOリリース処理を行う。続いて、ステップSL2では、DCFエンベロープをリリースさせるDCF RELEASE処理を実行する。
【0044】
(k)DCF RELEASE処理ルーチンの動作
すなわち、ステップSL2を介して図19に示すDCF RELEASE処理ルーチンが実行されると、音源7はステップSM1に処理を進め、レジスタF PHASEにリリースフェーズを表す「4」をセットする。次いで、ステップSM2では、レジスタF PHASEのフラグ値に従って、リリースフェーズの周波数レベルF LEVELをROM5から読み出してレジスタF LEVELにセットする。続いて、ステップSM3では、レジスタF PHASEのフラグ値に従ってリリースフェーズの周波数レートF RATEをROM5から読み出してレジスタF RATEにセットする。
こうして、DCFエンベロープをリリースさせるのに必要なパラメータが定まると、音源7は図18に示すステップSL3に処理を進め、DCAエンベロープをリリースさせた後、ステップSL4を介してRES RELEASE処理ルーチンを実行する。
【0045】
(l)RES RELEASE処理ルーチンの動作
ステップSL4を介して図20に示すRES RELEASE処理ルーチンが実行されると、音源7はステップSN1に処理を進め、レジスタRES PHASEにリリースフェーズを表す「4」をセットする。次いで、ステップSN2では、レジスタRES PHASEのフラグ値に従って、リリースフェーズのレゾナンスレベルRES LEVELをROM5から読み出してレジスタRES LEVELにセットする。続いて、ステップSN3では、レジスタRES PHASEのフラグ値に従ってリリースフェーズのレゾナンスレートRES RATEをROM5から読み出してレジスタRES RATEにセットする。
【0046】
以上のように、本実施例によれば、キーオンと共に、初期カットオフ周波数を発音すべき楽音波形WAVEの基音周波数に設定したDCFエンベロープをスタートさせ、このDCFエンベロープを経時変化させて楽音波形WAVEを形成するエンベロープ制御を行い、その過程でDCFエンベロープがサステインフェーズに達して再び初期カットオフ周波数に収束した時点で、レゾナンスエンベロープをスタートさせ、初期カットオフ周波数近傍の信号レベルを強調するレゾナンス制御を行うようにしたので、発音から消音までの間、楽音波形WAVEの基音成分が強調され、これにより基音成分と倍音成分とが調和した自然楽器のような音色変化が得られるようになっている。
【0047】
なお、上述した実施例では、鍵番号NOTEによらず、一定のレゾナンスエンベロープを用いてレゾナンス制御を行うようにしたが、これに替えて、鍵番号NOTEに応じてキースケール係数を発生するキースケールテーブルを用い、押鍵された鍵の鍵番号NOTEに対応したキースケール係数をキースケールテーブルから読み出してレゾナンスエンベロープに乗算または加算することによって、レゾナンスエンベロープをキースケーリングするようにしても良い。このようにすることで、鍵番号NOTEに応じて強調される倍音成分が変化する為、自然な音色変化を得ることが可能になる。
【0048】
また、ベロシティに応じてレゾナンスエンベロープを修飾する形態としても良く、そのようにすると、倍音成分が強調される度合いを鍵タッチで制御することが出来、これにより鍵タッチで音色変化を調整し得るようになる結果、表現力豊かな演奏形態を実現することも可能になる。
【0049】
【発明の効果】
請求項1記載の発明によれば、発音指示に応じて生成される波形に対し、発音指示された楽音の基音周波数を初期カットオフ周波数とし、これを起点に経時変化するカットオフ特性を表すDCFエンベロープに対応したフィルタリングを施して楽音を形成する一方、この形成された楽音に対し、前記DCFエンベロープが初期カットオフ周波数に収束した時点から、この初期カットオフ周波数で経時変化する共振深さを表すレゾナンスエンベロープに対応したフィルタリングを施すことによって、その楽音の基音周波数を強調するようにしたので、基音成分と倍音成分とが調和した自然楽器のような音色変化を得ることができる。
請求項2記載の発明によれば、指定された音高に応じてレゾナンスエンベロープをキースケーリングするので、指定音高毎に強調される倍音成分が変化して自然な音色変化を得ることができる。
請求項3記載の発明によれば、レゾナンスエンベロープに対応した共振深さのフィルタリングにより生じる音量変化を相殺する逆特性にて楽音の音量を制御するので、自然な音量変化を実現できる。
【図面の簡単な説明】
【図1】本発明による一実施例の構成を示すブロック図である。
【図2】DCFエンベロープの一例を示す図である。
【図3】DCFエンベロープにおける各フェーズ毎の周波数レベルF LEVEL(1)〜(4)の値を示す図である。
【図4】DCFエンベロープにおける各フェーズ毎の周波数レートF RATE(1)〜(4)の値を示す図である。
【図5】レゾナンスエンベロープの一例を示す図である。
【図6】レゾナンスエンベロープにおける各フェーズ毎のレゾナンスレベルRES LEVEL(1)〜(4)の値を示す図である。
【図7】レゾナンスエンベロープにおける各フェーズ毎のレゾナンスレートRES RATE(1)〜(4)の値を示す図である。
【図8】CPUメインルーチンの動作を示すフローチャートである。
【図9】音源メインルーチンの動作を示すフローチャートである。
【図10】ENV START処理ルーチンの動作を示すフローチャートである。
【図11】DCF ENV START処理ルーチンの動作を示すフローチャートである。
【図12】INT1処理ルーチンの動作を示すフローチャートである。
【図13】DCF ENV処理ルーチンの動作を示すフローチャートである。
【図14】RES ENV START処理ルーチンの動作を示すフローチャートである。
【図15】RES ENV処理ルーチンの動作を示すフローチャートである。
【図16】DCF処理ルーチンの動作を示すフローチャートである。
【図17】DCA処理ルーチンの動作を示すフローチャートである。
【図18】RELEASE処理ルーチンの動作を示すフローチャートである。
【図19】DCF RELEASE処理ルーチンの動作を示すフローチャートである。
【図20】RES RELASE処理ルーチンの動作を示すフローチャートである。
【符号の説明】
1 パネルスイッチ群
2 鍵盤
3 表示部
4 CPU
5 ROM
6 RAM
7 音源
7a DCO
7b 波形メモリ
7c DCF
7d DCA
8 サウンドシステム
SP スピーカ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a musical sound generating apparatus that generates musical sounds using a digital control filter (hereinafter referred to as DCF).
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a musical tone generator including a digital control filter (DCF) that realizes a desired filter characteristic corresponding to a given filter coefficient is known. In this type of device, the envelope of the generated musical tone is controlled by changing the cutoff frequency of the DCF over time, or a resonance point is given near the cutoff frequency, and the signal level in the frequency band near the resonance point is emphasized. It is configured to perform resonance control.
[0003]
[Problems to be solved by the invention]
By the way, in a musical sound generator equipped with a DCF, if the resonance control for emphasizing the signal level in the vicinity of the cut-off frequency is performed at the same time while performing envelope control for changing the cut-off frequency of the DCF with time, the emphasized frequency band is changed over time. By changing, the fundamental tone and the harmonic component of the generated musical tone are in an unharmonious relationship. For this reason, there is a problem that it is not possible to obtain a timbre change like a natural musical instrument while it is convenient when generating a so-called synthesis sound having an artificial timbre change that is difficult to obtain with a natural musical instrument.
Therefore, the present invention has been made in view of such circumstances, and an object of the present invention is to provide a musical sound generating apparatus capable of obtaining a timbre change like a natural musical instrument.
[0004]
[Means for Solving the Problems]
In order to achieve the above object, according to the first aspect of the present invention, the fundamental frequency of the musical tone instructed to be generated is set as an initial cut-off frequency, and a DCF representing a cut-off characteristic that changes with time from the initial cut-off frequency. DCF envelope generating means for generating an envelope and generation of a resonance envelope for generating a resonance envelope indicating a resonance depth that changes with time at the initial cutoff frequency when the DCF envelope that changes with time converges to the initial cutoff frequency. And a waveform generated in response to a sound generation instruction is filtered with a cutoff characteristic corresponding to the DCF envelope to form a musical tone, while the formed musical tone is resonated corresponding to the resonance envelope. The fundamental frequency is applied by depth filtering. Characterized by comprising a filter means for regulating.
[0005]
According to a second aspect of the present invention that is dependent on the first aspect, the resonance envelope generating means includes key scale generating means for generating a key scale coefficient corresponding to a specified pitch, and a musical tone to be generated. When the pitch of the key is designated, the resonance envelope is key-scaled using a key scale coefficient generated by the key scale generating means corresponding to the pitch.
[0007]
Further, a claim dependent on claim 1 above3According to the invention described in (2), it is provided with volume control means for controlling the volume of the musical sound output by the filter means according to an inverse characteristic that cancels the volume change caused by filtering the resonance depth corresponding to the resonance envelope. And
[0008]
In the present invention, the waveform generated in response to the sound generation instruction is subjected to filtering corresponding to the DCF envelope representing the cut-off characteristic that changes with time from the fundamental frequency of the musical sound instructed to be generated as the initial cut-off frequency. While the musical tone is formed by applying, filtering corresponding to the resonance envelope representing the resonance depth that changes with time at the initial cutoff frequency from the time when the DCF envelope converges to the initial cutoff frequency with respect to the formed musical tone. Since the fundamental frequency of the musical tone is emphasized by applying the tone, it is possible to obtain a timbre change like a natural instrument in which the fundamental component and the harmonic component are harmonized.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
The musical sound generator according to the present invention is applied to a DTM device using a personal computer in addition to a known electronic musical instrument. In the following, an electronic musical instrument to which a musical tone generator according to the present invention is applied will be described as an example, and will be described with reference to the drawings.
[0010]
(1) Configuration
FIG. 1 is a block diagram showing the configuration of an embodiment according to the present invention. In this figure, reference numeral 1 denotes a panel switch group disposed on the apparatus panel, which generates a switch event signal corresponding to each switch operation. The panel switch group 1 is provided with a timbre switch for designating a timbre in addition to a power switch for turning on / off the power. Reference numeral 2 denotes a keyboard for generating performance information including a key-on / key-off signal, a key number (key number), velocity, and the like in response to a press / release key operation (performance operation). Reference numeral 3 denotes a display unit composed of an LCD panel or the like, which displays a setting state, an operation mode, and the like of each part of the musical instrument in accordance with a display control signal supplied from a CPU 4 described later.
[0011]
The CPU 4 sets the operating state of each part of the musical instrument based on a switch event that occurs in response to a switch operation performed in the panel switch group 1, or a musical tone parameter (for example, a sound generation instruction command or a mute instruction command) according to performance information. Is transmitted to the sound source 7. Reference numeral 5 denotes a ROM having a program area and a data area. Various control programs loaded on the CPU 4 are stored in the program area of the ROM 5. In the data area of the ROM 5, DCF envelope data and resonance envelope data are stored.
[0012]
The DCF envelope data includes a frequency level F LEVEL and a frequency rate F RATE for each waveform phase (attack, decay, sustain, and release) of the DCF envelope.
For example, in the case of an example of the DCF envelope shown in FIG. 2, as shown in FIGS. 3 and 4, the attack phase increases to the frequency level F LEVEL (1) at the frequency rate F RATE (1) and continues to the decay phase. Then, after decreasing to the frequency level F LEVEL (2) at the frequency rate F RATE (2), both the frequency rate F RATE and the frequency level F LEVEL are maintained at “0” in the sustain phase and the release phase.
[0013]
The resonance envelope data is composed of a resonance level RES LEVEL and a resonance rate RES RATE for each waveform phase (attack, decay, sustain and release) of the resonance envelope.
For example, in the example of the resonance envelope shown in FIG. 5, as shown in FIGS. 6 and 7, the attack phase increases to the resonance level RES LEVEL (1) at the resonance rate RES RATE (1) and continues to decay. In the phase to release phase, the resonance levels RES RATE (2) to (4) are set to “0”, and the resonance levels RES LEVEL (2) to (4) having a constant value “B” are maintained.
[0014]
Next, the configuration of the embodiment will be described with reference to FIG. 1 again. In FIG. 1, 6 is a RAM which is used as a work area of the CPU 4 and temporarily stores various register / flag data. Reference numeral 7 denotes a sound source including a DCO 7a, a waveform memory 7b, a DCF 7c, and a DCA 7d. A DCO (Digital Controlled Oscillator) 7a generates a read phase corresponding to the pitch of a musical tone to be generated. The waveform memory 7b reads the waveform data WD of the designated tone color according to the read phase supplied from the DCO 7a.
[0015]
The DCF 7c performs the envelope control and the resonance control on the waveform data WD generated by the waveform memory 7b according to the above-described DCF envelope data and resonance envelope data to form a musical sound waveform WAVE. The DCA (digital control amplifier) 7d controls the output level (amplitude value) of the musical sound waveform WAVE formed by the DCF 7c. Reference numeral 8 denotes a sound system in which a musical sound waveform WAVE generated by the sound source 7 is converted into an analog waveform signal and subjected to filtering such as removing unnecessary noise, and then amplified to produce sound from the speaker SP.
[0016]
(2) Operation
Next, the operation of the embodiment having the above configuration will be described. In the following, the operation of the CPU main routine will be described first with reference to FIG. 8, and then the operations of various routines executed on the sound source 7 side will be described with reference to FIGS.
[0017]
(1) CPU main routine operation
First, when the power is turned on in the embodiment having the above-described configuration, the CPU 4 reads a predetermined control program from the program storage area of the ROM 5 and loads it on itself, executes the main routine shown in FIG. Then, initialization is performed to reset various registers and flags stored in the RAM 6 and to set initial values. In step SA1, the sound source 7 is instructed to initialize various registers and flags. After the initialization is completed, the CPU 4 advances the process to step SA2, and executes a switch process corresponding to the switch event generated by the panel switch group 1.
[0018]
When the process proceeds to step SA3 after the switch process is completed, a key scan for detecting a key event is performed, and a key change is determined based on the result of the key scan. Here, when no key event has occurred, that is, when no key operation has been performed, no processing is performed and the process returns to step SA2, but when a key-on event corresponding to the key pressing operation occurs, The process proceeds to step SA4, and the key number of the pressed key is stored in a register NOTE (hereinafter referred to as key number NOTE).
In step SA5, the velocity generated in response to the key pressing operation is stored in a register VEL (hereinafter referred to as velocity VEL). In step SA6, a tone generation instruction command including the key number NOTE and velocity VEL is sent to the sound source 7 to generate a musical tone having the pitch of the depressed key, and then the process returns to step SA2.
[0019]
On the other hand, when a key-off event corresponding to the key release operation occurs, the process proceeds to step SA7, the key number of the key released is set in the register NOTE, and in step SA8, the velocity VEL is reset to zero. . In step SA9, a mute instruction command including the key number NOTE and velocity VEL is sent to the sound source 7 in order to mute the musical tone of the pitch of the released key, and then the process returns to step SA2.
[0020]
(2) Operation on the sound source 7 side
Next, operations of various routines executed on the sound source 7 side will be described with reference to FIGS. In the following, first, the operation of the sound source main routine showing the overall operation of the sound source 7 will be referred to, and then “ENVSTART processing”, “DCF ENV START processing”, “INT1 processing”, “DCF ENV” called from this sound source main routine. The operations of “Process”, “RES ENV START Process”, “RES ENV Process”, “DCF Process”, “DCA Process”, “RELEASE Process”, “DCF RELEASE Process”, and “RES RELEASE Process” will be described.
[0021]
(A) Sound source main routine operation
The sound source 7 executes the sound source main routine at the same time as the power is turned on, and proceeds to step SB1 shown in FIG. 4 to determine whether or not a command from the CPU 4 side has been received. For example, when a sound generation instruction command is received, the determination results in steps SB1 and SB2 are both “YES”, the process proceeds to step SB3, and the ENV START process is executed.
The ENV START process includes a series of processes for starting envelope control in order to form a musical sound waveform WAVE corresponding to the key number NOTE and the velocity VEL included in the sound generation instruction command, the details of which will be described later.
[0022]
After completing the ENV START process, the sound source 7 advances the process to step SB4 and sets the flag ONF to “1” to indicate the sound generation state. When the flag ONF is set to “1” and a sound is generated, the determination result in the next step SB5 is “YES”, and a musical sound waveform WAVE is formed through steps SB6 to SB7.
That is, in step SB6, DCO processing for reading the waveform data WD of the specified tone color from the waveform memory 7b according to the read phase generated by the DCO 7a described above is executed. Subsequently, in step SB7, DCF processing (described later) for generating a musical tone waveform WAVE by applying filtering (envelope control and resonance control) based on the DCF envelope current value and the resonance envelope current value, which will be described later, to the waveform data WD is executed. To do. In step SB8, a DCA process (described later) for controlling the output level of the musical sound waveform WAVE is executed.
[0023]
When the musical tone waveform WAVE is formed in this way, the sound source 7 returns the process to the above-described step SB1, and determines whether or not the next command is received. Then, when a mute instruction command for instructing note-off is received, the process proceeds to step SB9 via step SB2, the determination result here becomes “YES”, and after executing the RELEASE process described later, the above-described step SB5 is performed. Proceed with the process.
When a command other than note-on / note-off is received, such as changing the tone of the generated musical tone, the determination results in steps SB2 and SB9 are both “NO”, and in this case, the process proceeds to step SB11. Other processing corresponding to the received command is executed, and then the processing returns to step SB1.
[0024]
(B) Operation of ENV START processing routine
Next, the operation of the ENV START processing routine will be described with reference to FIG. As described above, when the sound generation instruction command is received and the process proceeds to step SB3, the ENV START process routine shown in FIG. 10 is executed and the process proceeds to step SC1. In step SC1, a DCO envelope for generating a read phase corresponding to the key number NOTE included in the sound generation instruction command is started. Next, in step SC2, a DCF ENV START process for starting the DCF envelope based on the DCF envelope data is executed.
[0025]
(C) Operation of DCF ENV START processing routine
That is, when the DCF ENV START process shown in FIG. 11 is executed via step SC2, the sound source 7 proceeds to step SD1, and sets the initial value IF in the register FCNT holding the DCF envelope current value. The initial value IF is a value for setting the fundamental frequency of a musical tone generated at a pitch corresponding to the key number NOTE as the cutoff frequency.
Subsequently, in step SD2, “1” (representing an attack phase) is set in a register F PHASE that holds a flag value representing a waveform phase in the DCF envelope. Next, in step SD3, according to the flag value of the register F PHASE, the frequency level F LEVEL of the attack phase is read from the ROM 5 and set in the register F LEVEL. Next, in step SD4, the frequency rate F RATE of the attack phase is read from the ROM 5 according to the flag value of the register F PHASE and set in the register F RATE.
[0026]
When the initial parameters necessary for generating the DCF envelope are thus set, the sound source 7 returns the processing to step SC3 shown in FIG. 10, and sets the parameters (DCA envelope) necessary for output level control of the musical sound waveform WAVE in the DCA 7d. . Thereafter, the process proceeds to step SC4, the prohibition of the timer interrupt is canceled so as to execute the INT1 process described later, and this routine is completed.
[0027]
(D) Operation of INT1 processing routine
When the prohibition of the timer interrupt is canceled in step SC4 (see FIG. 10), the tone generator 7 executes the INT1 processing routine shown in FIG.
In the INT1 processing routine, the DCO envelope is advanced in step SE1, the DCF envelope is advanced in step SE2, the DCA envelope is advanced in step SE3, and the release envelope is advanced in step SE4. The operation of the DCF ENV processing routine and the operation of the RES ENV processing routine according to the gist of the present invention will be described below.
[0028]
(E) Operation of DCF ENV processing routine
When the DCF ENV processing routine shown in FIG. 13 is executed through step SE2, the sound source 7 proceeds to step SF1, and the frequency rate stored in the register F RATE (hereinafter referred to as frequency rate FRATE) is “ It is determined whether it is not “0”. Here, when the frequency rate FRATE is “0”, the DCF envelope is in a converged state, so it is not necessary to generate an envelope. In this case, the determination result is “NO”, and this routine is completed.
[0029]
On the other hand, if the frequency rate FRATE is not “0”, it is necessary to generate a DCF envelope. Therefore, the determination result in step SF1 is “YES”, and the process proceeds to step SF2. In step SF2, the result of adding the frequency rate F RATE to the DCF envelope current value stored in the register F CNT is stored again in the register F CNT, and in the subsequent step SF3, the DCF envelope current value obtained by adding this rate is added. It is determined whether or not the value matches the frequency level stored in the register F LEVEL (hereinafter referred to as the frequency level LEVEL).
[0030]
Here, if the DCF envelope current value to which the rate is added does not reach the frequency level F LEVEL, the determination result is “NO”, and this routine is once completed.
On the other hand, when the DCF envelope current value subjected to rate addition reaches the frequency level F LEVEL, the determination result is “YES”, the process proceeds to step SF 4, and the flag value of the register F PHASE is incremented by 1. Step forward. Next, in step SF5, it is determined whether the incremented flag value is “5”, that is, whether the release phase has been exceeded. If the release phase is exceeded, the determination result is “YES”, the process proceeds to step SF6, the frequency rate F RATE is reset to zero, and this routine is completed.
[0031]
On the other hand, if the release phase has not been exceeded, the determination result in step SF5 is “NO”, and the process proceeds to step SF7. In step SF7, it is determined whether or not the incremented flag value is “3”, that is, the sustain phase. If it is not the sustain phase, the determination result is “NO”, the process proceeds to step SF9, the frequency level F LEVEL of the waveform phase corresponding to the flag value of the advanced register F PHASE is read from the ROM 5, and the register F LEVEL is read. Set to. Next, in step SF10, the frequency rate FRATE of the waveform phase corresponding to the flag value of the advanced register F PHASE is read from the ROM 5 and set in the register FRATE, and then this routine is completed.
[0032]
(F) Operation of RES ENV START processing routine
On the other hand, if the advanced flag value is “3” and the sustain phase is entered, the determination result in step SF7 is “YES”, and the RES ENV START process shown in FIG. 14 is performed via step SF8. The routine is executed, and the process proceeds to step SG1.
In step SG1, "1" (representing an attack phase) is set in a register RES PHASE that holds a flag value indicating a waveform phase in the resonance envelope, and in step SG2, a register RES CNT that holds the current value of the resonance envelope is initialized. Set the value A.
[0033]
Next, in step SG3, the resonance level RES LEVEL in the attack phase is read from the ROM 5 and set in the register RES LEVEL corresponding to the flag value of the register RES PHASE. Next, in step SG4, according to the flag value of the register RES PHASE, the resonance rate RES RATE in the attack phase is read from the ROM 5 and set in the register RES RATE. In step SG5, “1” is set in the register RES F to indicate the start of the generation of the resonance envelope. When the resonance envelope data is set in this way, the sound source 7 executes steps SF9 and SF10 (see FIG. 13) described above, and then completes the DCF ENV processing routine.
[0034]
(G) Operation of RES ENV processing routine
When the RES ENV processing routine shown in FIG. 15 is executed via step SE4 (see FIG. 12) of the INT1 processing routine, the sound source 7 proceeds to step SH1, and the flag value of the register RES F is “1”, that is, Then, it is determined whether the resonance envelope has started in synchronization with the DCF envelope entering the sustain phase. Here, when the flag value of the register RES F is not “1”, the resonance envelope has not started, so the determination result is “NO”, and this routine is completed without performing any processing.
[0035]
On the other hand, when the flag value of the register RES F is set to “1” and the resonance envelope is started, the determination result in step SH1 is “YES”, and the process proceeds to step SH2. In step SH2, the resonance rate stored in the register RES RATE (hereinafter referred to as resonance rate RES).
It is determined whether “RATE” is not “0”.
Here, if the resonance rate RES RATE is “0”, the resonance envelope is in a converged state, so that it is not necessary to generate an envelope. In this case, the determination result is “NO”, and this routine is completed.
[0036]
On the other hand, if the resonance rate RES RATE is not “0”, the determination result in step SH2 is “YES”, and the process proceeds to the next step SH3. In step SH3, the result of adding the resonance rate RES RATE to the resonance envelope current value stored in the register RES CNT is stored again in the register RESCNT. In the subsequent step SH4, the resonance envelope current value obtained by adding the rate is obtained. Then, it is determined whether or not it matches the resonance level stored in the register RES LEVEL (hereinafter referred to as resonance level RES LEVEL).
[0037]
Here, if the current value of the resonance envelope to which the rate is added does not reach the resonance level RES LEVEL, the determination result is “NO”, and this routine is once completed.
On the other hand, when the current value of the resonance envelope to which the rate is added has reached the resonance level RES LEVEL, the determination result is “YES”, the process proceeds to step SH5, the flag value of the register RES PHASE is incremented by 1, and the step is advanced. Let Next, in step SH6, it is determined whether the incremented flag value is “5”, that is, whether the release phase has been exceeded.
[0038]
If the release phase is exceeded, the determination result is “YES”, the process proceeds to step SH7, the resonance rate RES RATE is reset to zero, and this routine is completed.
On the other hand, if the release phase has not been exceeded, the determination result in step SH6 is “NO”, and the process proceeds to step SH8. In step SH8, the resonance level RES LEVEL of the waveform phase corresponding to the flag value of the advanced register RES PHASE is read from the ROM 5 and set in the register RES LEVEL. Next, in step SH9, the waveform phase resonance rate RESRATE corresponding to the flag value of the incremented register RES PHASE is read from the ROM 5 and set in the register RES RATE, and then this routine is completed.
[0039]
(H) Operation of DCF processing routine
When the DCF processing routine shown in FIG. 16 is executed via step SB7 (see FIG. 9) of the sound source main routine described above, the sound source 7 proceeds to step SJ1, and the DCF envelope current value stored in the register FCNT is obtained. In the subsequent step SJ2, a filter coefficient that embodies the resonance characteristic corresponding to the resonance envelope current value stored in the register RES CNT is calculated. In step SJ3, filtering (envelope control and resonance control) corresponding to each of the calculated filter coefficients is applied to the waveform data WD, and the musical sound waveform WAVE formed thereby is added to the next stage (DCA7d) in step SJ4. Output to.
[0040]
(I) Operation of DCA processing routine
When the DCA processing routine shown in FIG. 17 is executed via step SB8 (see FIG. 9) of the sound source main routine described above, the sound source 7 proceeds to step SK1, and the flag value of the register A PHASE is “4”. That is, it is determined whether or not the DCA envelope is in a released state.
Here, if the DCA envelope is not in the release state, the determination result is “NO”, and the process proceeds to step SK5 described later. However, if the DCA envelope is in the release state, the determination result is “YES” and the process proceeds to step SK2. .
The flag value of the register A PHASE is incremented according to the progress of the DCA envelope in the DCAENV process (not shown).
[0041]
If the DCA envelope is in the released state, the process proceeds to step SK2 to determine whether or not the value of the register A CNT that holds the current value of the DCA envelope is “0” or less, that is, whether or not the key is in the key-off state where the DCA envelope converges To do. If it is not in the key-off state, the determination result is “NO”, and the process proceeds to step SK5, which will be described later. If it is in the key-off state, the determination result is “YES”, and the process proceeds to the next step SK3.
The DCA envelope current value stored in the register A CNT is a value calculated in the process of forming the DCA envelope by DCA ENV processing (not shown).
[0042]
In step SK3, the flag ONF is reset to zero and set to the key-off state. In step SK4, the flag RES F is set to zero. Next, in step SK5, the amplitude level of the input signal (musical sound waveform WAVE) is controlled in accordance with the DCA envelope current value stored in the register A CNT, and the result is output in step SK6.
As an aspect of the level control in step SK5, the volume control of the input signal is performed with an inverse characteristic that cancels the characteristic of the volume change by the resonance control.
[0043]
(J) Operation of RELEASE processing routine
Next, the operation of the RELEASE processing routine will be described with reference to FIGS. In the sound source main routine described above, when the mute instruction command is received and the process proceeds to step SB10 (see FIG. 9), the RELEASE process routine shown in FIG. 18 is executed and the process proceeds to step SL1. In step SL1, DCO release processing is performed to operate the DCO 7a in the release state. Subsequently, in step SL2, DCF RELEASE processing for releasing the DCF envelope is executed.
[0044]
(K) DCF RELEASE processing routine operation
That is, when the DCF RELEASE processing routine shown in FIG. 19 is executed via step SL2, the sound source 7 advances the processing to step SM1, and sets “4” representing the release phase in the register F PHASE. Next, at step SM2, the frequency level F LEVEL of the release phase is read from the ROM 5 and set in the register F LEVEL according to the flag value of the register F PHASE. Subsequently, in step SM3, the frequency rate F RATE of the release phase is read from the ROM 5 according to the flag value of the register F PHASE and set in the register F RATE.
When the parameters necessary for releasing the DCF envelope are determined in this way, the sound source 7 proceeds to step SL3 shown in FIG. 18, releases the DCA envelope, and then executes the RES RELEASE processing routine via step SL4. .
[0045]
(L) Operation of RES RELEASE processing routine
When the RES RELEASE processing routine shown in FIG. 20 is executed via step SL4, the sound source 7 proceeds to step SN1, and sets “4” representing the release phase in the register RES PHASE. Next, in step SN2, according to the flag value of the register RES PHASE, the resonance level RES LEVEL of the release phase is read from the ROM 5 and set in the register RES LEVEL. Subsequently, in step SN3, the resonance rate RES RATE of the release phase is read from the ROM 5 according to the flag value of the register RES PHASE and set in the register RES RATE.
[0046]
As described above, according to the present embodiment, with the key-on, the DCF envelope in which the initial cut-off frequency is set to the fundamental frequency of the musical sound waveform WAVE to be generated is started, and this DCF envelope is changed over time to When the DCF envelope reaches the sustain phase and converges to the initial cutoff frequency again in the process, the resonance envelope is started and the resonance control is performed to emphasize the signal level near the initial cutoff frequency. As a result, the fundamental tone component of the musical sound waveform WAVE is emphasized during the period from sound generation to mute, so that a timbre change like a natural musical instrument in which the fundamental tone component and the harmonic component are harmonized can be obtained.
[0047]
In the above-described embodiment, the resonance control is performed using a certain resonance envelope regardless of the key number NOTE. Instead, a key scale that generates a key scale coefficient according to the key number NOTE. The resonance envelope may be key-scaled by using a table and reading out the key scale coefficient corresponding to the key number NOTE of the key pressed from the key scale table and multiplying or adding to the resonance envelope. By doing so, since the overtone component emphasized according to the key number NOTE changes, it becomes possible to obtain a natural timbre change.
[0048]
In addition, the resonance envelope may be modified in accordance with the velocity, so that the degree to which the overtone component is emphasized can be controlled by the key touch, so that the timbre change can be adjusted by the key touch. As a result, it is also possible to realize a performance form rich in expressiveness.
[0049]
【The invention's effect】
According to the first aspect of the present invention, with respect to the waveform generated in response to the sound generation instruction, the fundamental frequency of the musical sound instructed to generate the sound is set as the initial cut-off frequency, and the DCF representing the cut-off characteristic that changes with time from the starting frequency While the musical sound is formed by filtering corresponding to the envelope, the resonance depth that changes with time at the initial cut-off frequency from the time when the DCF envelope converges to the initial cut-off frequency is expressed with respect to the formed musical sound. By applying the filtering corresponding to the resonance envelope, the fundamental frequency of the musical tone is emphasized, so that it is possible to obtain a timbre change like a natural instrument in which the fundamental component and the harmonic component are harmonized.
According to the second aspect of the invention, since the resonance envelope is key-scaled according to the designated pitch, the overtone component emphasized for each designated pitch changes, and a natural timbre change can be obtained.
According to the third aspect of the present invention, since the volume of the musical tone is controlled by the reverse characteristic that cancels the volume change caused by the filtering of the resonance depth corresponding to the resonance envelope, a natural volume change can be realized.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment according to the present invention.
FIG. 2 is a diagram illustrating an example of a DCF envelope.
FIG. 3 is a diagram showing values of frequency levels F LEVEL (1) to (4) for each phase in the DCF envelope.
FIG. 4 is a diagram showing values of frequency rates F RATE (1) to (4) for each phase in the DCF envelope.
FIG. 5 is a diagram illustrating an example of a resonance envelope.
FIG. 6 is a diagram illustrating values of resonance levels RES LEVEL (1) to (4) for each phase in the resonance envelope.
FIG. 7 is a diagram showing values of resonance rates RES RATE (1) to (4) for each phase in the resonance envelope.
FIG. 8 is a flowchart showing the operation of a CPU main routine.
FIG. 9 is a flowchart showing an operation of a sound source main routine.
FIG. 10 is a flowchart showing an operation of an ENV START processing routine.
FIG. 11 is a flowchart showing an operation of a DCF ENV START processing routine.
FIG. 12 is a flowchart showing the operation of the INT1 processing routine.
FIG. 13 is a flowchart showing the operation of a DCF ENV processing routine.
FIG. 14 is a flowchart showing an operation of a RES ENV START processing routine.
FIG. 15 is a flowchart showing an operation of a RES ENV processing routine.
FIG. 16 is a flowchart showing the operation of a DCF processing routine.
FIG. 17 is a flowchart showing the operation of a DCA processing routine.
FIG. 18 is a flowchart showing an operation of a RELEASE processing routine.
FIG. 19 is a flowchart showing an operation of a DCF RELEASE processing routine.
FIG. 20 is a flowchart showing an operation of a RES REASE processing routine.
[Explanation of symbols]
1 Panel switch group
2 keyboard
3 Display section
4 CPU
5 ROM
6 RAM
7 Sound source
7a DCO
7b Waveform memory
7c DCF
7d DCA
8 Sound system
SP speaker

Claims (3)

発音指示された楽音の基音周波数を初期カットオフ周波数に設定し、この初期カットオフ周波数を起点に経時変化するカットオフ特性を表すDCFエンベロープを発生するDCFエンベロープ発生手段と、
経時変化するDCFエンベロープが前記初期カットオフ周波数に収束した時点で、この初期カットオフ周波数にて経時変化する共振深さを表すレゾナンスエンベロープを発生するレゾナンスエンベロープ発生手段と、
発音指示に応じて生成される波形に対し、前記DCFエンベロープに対応したカットオフ特性でフィルタリングを施して楽音を形成する一方、この形成された楽音に対し、前記レゾナンスエンベロープに対応した共振深さのフィルタリングを施して前記基音周波数を強調するフィルタ手段と
を具備することを特徴とする楽音発生装置。
DCF envelope generating means for setting a fundamental frequency of a tone for which sound generation is instructed to an initial cut-off frequency and generating a DCF envelope representing a cut-off characteristic that changes with time from the initial cut-off frequency;
Resonance envelope generating means for generating a resonance envelope representing a resonance depth that changes with time at the initial cutoff frequency when the DCF envelope that changes with time converges to the initial cutoff frequency;
The waveform generated in response to the sound generation instruction is filtered with a cut-off characteristic corresponding to the DCF envelope to form a musical sound, while the formed musical sound has a resonance depth corresponding to the resonance envelope. A musical tone generator comprising: filter means for performing filtering to emphasize the fundamental frequency.
前記レゾナンスエンベロープ発生手段は、指定された音高に対応したキースケール係数を発生するキースケール発生手段を備え、発生すべき楽音の音高が指定された場合、その音高に対応して前記キースケール発生手段が発生するキースケール係数を用いて前記レゾナンスエンベロープをキースケーリングすることを特徴とする請求項1記載の楽音発生装置。  The resonance envelope generating means includes key scale generating means for generating a key scale coefficient corresponding to a designated pitch, and when the pitch of a musical tone to be generated is designated, the key corresponding to the pitch is designated. 2. The musical tone generator according to claim 1, wherein the resonance envelope is key-scaled using a key scale coefficient generated by a scale generator. 請求項1記載の楽音発生装置において、前記レゾナンスエンベロープに対応した共振深さのフィルタリングにより生じる音量変化を相殺する逆特性に従って前記フィルタ手段が出力する楽音の音量を制御する音量制御手段を具備することを特徴とする請求項1記載の楽音発生装置。  2. The musical sound generating device according to claim 1, further comprising volume control means for controlling the volume of the musical sound output by the filter means in accordance with an inverse characteristic that cancels a volume change caused by filtering of a resonance depth corresponding to the resonance envelope. The musical tone generator according to claim 1.
JP36017699A 1999-12-20 1999-12-20 Music generator Expired - Fee Related JP4088947B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36017699A JP4088947B2 (en) 1999-12-20 1999-12-20 Music generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36017699A JP4088947B2 (en) 1999-12-20 1999-12-20 Music generator

Publications (2)

Publication Number Publication Date
JP2001175259A JP2001175259A (en) 2001-06-29
JP4088947B2 true JP4088947B2 (en) 2008-05-21

Family

ID=18468247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36017699A Expired - Fee Related JP4088947B2 (en) 1999-12-20 1999-12-20 Music generator

Country Status (1)

Country Link
JP (1) JP4088947B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4548327B2 (en) * 2005-12-16 2010-09-22 カシオ計算機株式会社 Musical sound control device and musical sound control processing program
JP6102131B2 (en) * 2012-09-11 2017-03-29 カシオ計算機株式会社 Musical sound control device, musical sound control method and program

Also Published As

Publication number Publication date
JP2001175259A (en) 2001-06-29

Similar Documents

Publication Publication Date Title
JPH0667674A (en) Musical sound synthesizing device
JP4112268B2 (en) Music generator
JP4088947B2 (en) Music generator
JP2576702B2 (en) Electronic musical instrument
EP3373289A1 (en) Electronic musical instrument, musical sound generating method, and storage medium
JP3045375B2 (en) Music synthesizer
EP3757984A1 (en) Electronic musical instrument, method and program
JP5030016B2 (en) Musical sound generator and musical sound generation processing program
JP4833810B2 (en) Resonant sound generator
JP6528752B2 (en) Tone reproduction apparatus, tone reproduction method, program and electronic musical instrument
JP3909693B2 (en) Musical sound modulation device, musical sound modulation method, and musical sound modulation program
JP3554770B2 (en) Tone generator
JP2009053432A (en) Portamento controller and portamento control processing program
JP3168654B2 (en) Music generator
JP4534883B2 (en) Musical sound control device and musical sound control processing program
JP4232203B2 (en) Waveform generator and waveform generation processing program
JP2007187949A (en) Musical sound generator and program for musical sound generation processing
JP2000259154A (en) Code judging device
JPH07152372A (en) Playing device
JP4479847B2 (en) Waveform generator and waveform generation processing program
JPH1031481A (en) Waveform generation device
JP3996987B2 (en) Electronic musical instruments
JP2953217B2 (en) Electronic musical instrument
JP2004279750A (en) Device and program for musical sound generation
JP2009042785A (en) Waveform generator and waveform generation processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071009

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080217

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140307

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees