JP5573465B2 - 楽音生成装置 - Google Patents
楽音生成装置 Download PDFInfo
- Publication number
- JP5573465B2 JP5573465B2 JP2010174519A JP2010174519A JP5573465B2 JP 5573465 B2 JP5573465 B2 JP 5573465B2 JP 2010174519 A JP2010174519 A JP 2010174519A JP 2010174519 A JP2010174519 A JP 2010174519A JP 5573465 B2 JP5573465 B2 JP 5573465B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- sound
- unit
- tone
- sounding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
この発明は、発音チャンネルの数を増加しても効率的に楽音を生成することのできる楽音生成装置に関する。
従来の楽音生成装置は、MIDI(Musical Instrument Digital Interface)、鍵盤、あるいはシーケンサ等からの演奏情報を受ける演奏情報入力部と、楽音生成に使用する音源パラメータを発生する制御部(CPU)と、音源パラメータに基づいて楽音を形成する音源部とを有している。制御部(CPU)は、入力された演奏情報に応じて、チャンネルアサイン、音源パラメータの発生等の制御処理を実行し、音源部に発生した楽音パラメータと発音開始指示を供給する。音源部は、楽音を生成する際に使用する楽音パラメータを記憶するための音源レジスタと、楽音生成処理を行う楽音生成処理部を備えている。制御部(CPU)から供給された楽音パラメータは音源レジスタに格納され、この楽音パラメータに基づいて楽音生成処理部が楽音生成処理を行っている。音源部において、音源レジスタに記憶された楽音パラメータに基づいた楽音生成処理が実行されることにより、制御部(CPU)から指示された楽音の生成処理が行われる。音源部としては、実際の楽音波形が波形データとして記録されている波形メモリを備える波形メモリ音源が従来より知られている。この波形メモリ音源においては、音色毎および音域毎の波形データが波形メモリに記憶され、この波形メモリから楽音生成処理部が、発生すべき楽音の音色や音高に対応する波形データを読み出して、読み出された波形データの特性を、音源パラメータに基づいて発生された音量制御エンベロープ等の制御波形により制御する。そして、複数の楽音を同時に発生させるために、楽音生成処理部における複数の発音チャンネルを形成し各発音チャンネルでの楽音発生処理を時分割で行うようにしている。これにより、1サンプリング周期毎に複数の発音チャンネルにおいて楽音波形サンプルがそれぞれ演算生成されて、発音チャンネル数分の楽音が生成されるようになる。
また、新たな発音指示(ノートオンイベント)が発生したときには、空いている発音チャンネルを検出して割り当てて、割り当てた発音チャンネルにおいて楽音生成を行う。この場合、すべての発音チャンネルにおいて楽音生成処理がなされていた場合、すなわち、すべての発音チャンネルに対して発音割り当てがなされていた場合には、消音しても最も影響の少ない発音チャンネルを選択する。そして、その発音チャンネルで発音中の楽音の音量を急速に減衰(ダンプ)させ、その発音チャンネルを新たな楽音生成のために解放する、いわゆるトランケート処理を行う。そして、トランケート処理を施すべきチャンネル(トランケートチャンネル)としては、全発音チャンネル中、現在発音中の楽音の音量が最も小さいチャンネルを選択する方法が一般的である。
このような楽音生成装置の出力部は、一般にステレオ構成であり、高品質な楽音を生成するために、波形メモリにステレオの波形データを格納して、この波形メモリから、発生すべき楽音に対応するステレオ波形データを読み出すことにより、ステレオの楽音を生成することも行われている。
このような楽音生成装置の出力部は、一般にステレオ構成であり、高品質な楽音を生成するために、波形メモリにステレオの波形データを格納して、この波形メモリから、発生すべき楽音に対応するステレオ波形データを読み出すことにより、ステレオの楽音を生成することも行われている。
従来の楽音生成装置においてステレオ発音する場合は、1つのステレオ発音をするために左チャンネル(以下、「Lch」という)と右チャンネル(以下、「Rch」という)の楽音の生成のために、2つの発音チャンネル(以下、「チャンネル」を「ch」という)を使用するようになっていた。すなわち、制御部(CPU)は、LchおよびRchに発音chを割り当てる発音割当処理をそれぞれ行うことにより、2つの発音chを確保する。また、音源レジスタには発音ch毎の音源パラメータが格納されるので、LchおよびRchのそれぞれの音源パラメータが格納されることになる。楽音生成処理部は、発音ch毎の音源パラメータに基づいて、波形メモリから指定された音高に応じた速度で波形データを読み出し、読み出された波形データの楽音特性を、音量制御エンベロープ等の制御波形により制御するので、Lchに割り当てられた発音chにおいては、Lch用の音源パラメータに基づいて、波形メモリからLch波形データを読み出し、楽音特性を制御して、Lchの楽音波形データを生成し、Rchに割り当てられた発音chにおいては、Rch用の音源パラメータに基づいて、波形メモリからRch波形データを読み出し、楽音特性を制御して、Rchの楽音波形データを生成する。
このように、従来の楽音発生装置においては、ステレオの楽音波形サンプルの生成には2つの発音chが必要なことから、発音ch数を増やしたいという要望があり、楽音生成用集積回路(音源LSI)で扱える発音ch数が増加する傾向にある。しかしながら、楽音生成処理部におけるステレオ発音中の発音chの特性を制御するには、LchとRchとの2ch分の処理を行わなければならず、楽音生成処理部にかかる負担が大きくなると云う問題点があった。この場合、モノラル発音では、1chのみの特性を制御すればよいが、ステレオ発音では、2chを同じサンプリング周期内で同時に特性を制御しないと、LchとRchとでタイミングによって異なる特性の楽音が発音されることから、同じサンプリング周期内において同時に特性を制御する処理を行う必要があり、楽音生成処理処理部にかかる負担がさらに大きくなると云う問題点があった。
そこで、本発明は、発音チャンネルの数を増加しても楽音生成処理部にかかる負担が大きくなることを極力抑制できる楽音生成装置を提供することを目的としている。
そこで、本発明は、発音チャンネルの数を増加しても楽音生成処理部にかかる負担が大きくなることを極力抑制できる楽音生成装置を提供することを目的としている。
上記目的を達成するために、本発明の楽音生成装置は、ステレオサンプリングされたLch波形データとRch波形データとからなる波形データペアと、モノラルサンプリングされたモノ波形データとを、それぞれ、複数記憶している波形メモリと、モードフラグに応じてステレオ発音モードまたはモノラル発音モードで動作する、2つの発音chからなる発音単位であって、N(Nは1以上の整数)個の発音単位を備えており、ステレオ発音モードで動作する各発音単位は、前記波形メモリから2ch分の波形データを読み出して、2chの楽音波形を生成し、モノラル発音モードで動作する各発音単位は、前記波形メモリから1ch分の波形データを読み出して、1chの楽音波形を生成する音源部と、N個の発音単位に対応するN個の音色制御データを記憶しており、各音色制御データは、前記モードフラグ、第1波形指定情報、第2波形指定情報、Fナンバ、および、特性パラメータを含んでいる音源レジスタと、前記音源レジスタへパラメータを書き込むことにより、前記音源部の動作を制御する制御部とを備え、前記制御部は、新たな楽音の発音を指示する発音指示命令(ノートオン)に応じて、N発音単位の何れか1つを、発音指示された楽音の生成に割り当て、発音指示された楽音がステレオかモノラルかを判定し、発音指示された楽音がステレオの場合は、ステレオ発音モードを示すモードフラグ、該楽音の生成に使用する第1波形指定情報、第2波形指定情報、Fナンバ、および、特性パラメータを含む音色制御データを形成し、前記音源レジスタの割り当てた発音単位に対応する記憶領域に設定するようにし、発音指示された楽音がモノラルの場合は、モノラル発音モードを示すモードフラグ、該楽音の生成に使用する第1波形指定情報、Fナンバ、および、特性パラメータを含む音色制御データを形成し、前記音源レジスタの割り当てた発音単位に対応する記憶領域に設定するようにして、割り当てた発音単位に対して、発音の開始を指示する処理を行い、前記音源部は、前記制御部からの1つの発音単位に対する発音開始指示に応じて、前記音源レジスタに記憶された当該発音単位のモードフラグがステレオ発音モードを示していれば、前記音源レジスタに設定された当該発音単位の第1波形指定情報が示すLch(又はRch)波形データと、当該発音単位の第2波形指定情報が示すRch(又はLch)波形データとを、それぞれ、当該発音単位のFナンバが示す速度で前記波形メモリから読み出し、読み出されたLch波形データとRch波形データの各楽音特性を、前記音源レジスタに設定された当該発音単位の特性制御パラメータに基づいて制御して、Lchの楽音信号とRchの楽音信号とを形成し、前記音源レジスタに記憶された当該発音単位のモードフラグがモノラル発音モードを示していれば、前記音源レジスタに記憶された当該発音単位の第1波形指定情報が示すモノ波形データを、当該発音単位のFナンバが示す速度で波形メモリから読み出し、読み出されたモノ波形データの楽音特性を、前記音源レジスタに設定された当該発音単位の特性制御パラメータに基づいて制御して、モノラルの楽音信号を形成する処理を行うことを最も主要な特徴としている。
本発明によれば、発音指示が発生したとき、モノラル発音かステレオ発音かに関わらず、1つの発音単位を割当てればよいことになる。また、1つの発音単位で共通に使用するデータがあることから、ステレオ発音の場合、音源レジスタに設定すべきデータの量は、モノラル発音の場合の倍より少ない量となる。さらに、発音を開始する場合は、音源レジスタの設定後に、モノラル発音かステレオ発音かに関わらず、割り当てた発音単位に対して発音開始指示すればよく、ステレオ発音であっても、「2chを同時にノートオン」するような制御を行う必要はない。
さらにまた、Fナンバあるいは制御パラメータは、LchとRchとで共通に使われるので、ステレオ発音であっても、制御部は、音源レジスタのFナンバあるいは制御パラメータの値を1つだけ変更すればよく、値の変更を2ch同時に行うよう制御を行う必要はない。
なお、特性制御パラメータには、ピッチエンベロープ波形(ピッチEG波形)、音量エンベロープ波形(音量EG波形)、フィルタエンベロープ波形(フィルタEG波形)、低周波波形(LFO波形)の何れか1を制御するパラメータのいずれか1つが該当するが、それ以外に、リリース開始指示(ノートオフ)も該当する。
さらにまた、Fナンバあるいは制御パラメータは、LchとRchとで共通に使われるので、ステレオ発音であっても、制御部は、音源レジスタのFナンバあるいは制御パラメータの値を1つだけ変更すればよく、値の変更を2ch同時に行うよう制御を行う必要はない。
なお、特性制御パラメータには、ピッチエンベロープ波形(ピッチEG波形)、音量エンベロープ波形(音量EG波形)、フィルタエンベロープ波形(フィルタEG波形)、低周波波形(LFO波形)の何れか1を制御するパラメータのいずれか1つが該当するが、それ以外に、リリース開始指示(ノートオフ)も該当する。
本発明の実施例にかかる楽音生成装置の構成の概要を示すブロック図を図1に示す。
図1に示す本発明の楽音生成装置1においては、ステレオ発音する左チャンネル(以下、「Lch」という)と右チャンネル(以下、「Rch」という)の2つの発音チャンネル(以下、「チャンネル」を「ch」という)で1発音単位が構成されており、音源部20は、N(Nは1以上の整数)個の発音単位を備えている。例えば、音源部20における発音ch数が256chとされた場合に、発音単位数は発音ch数の半分の128とされる。そして、本発明にかかる楽音生成装置1において同時に複数の楽音を発生させるために、複数の発音単位での楽音発生処理をサンプリング周期毎に時分割で行うようにしている。さらに、各発音単位では2ch分の楽音波形サンプルが時分割で演算生成されることから、1サンプリング周期毎に発音単位の倍の楽音波形サンプルが演算生成されるようになる。ここで、本発明にかかる楽音生成装置1においては、発音単位とされるLchおよびRchにおける一部のパラメータを2ch間で共用するようにしている。すなわち、LchとRchとの発音ch毎に個別とされるタイプ1のパラメータは、音源レジスタ23に用意された発音単位の領域に各ch毎に独立して記憶される。また、LchとRchとの2ch間で共用されるタイプ2のパラメータは、音源レジスタ23に用意された発音単位の領域に共通して記憶される。すなわち、音源レジスタ23には、N個の発音単位に対応するN個の音色制御データを記憶する領域が用意されており、各音色制御データには、その音色で使用するタイプ1のパラメータとされるステレオのLch波形データを示すLch波形指定情報、Rchの波形データを示すRch波形指定情報と、タイプ2のパラメータとされるLchとRchの両chに共通の楽音のピッチを決定するFナンバと特性制御パラメータとが含まれている。
図1に示す本発明の楽音生成装置1においては、ステレオ発音する左チャンネル(以下、「Lch」という)と右チャンネル(以下、「Rch」という)の2つの発音チャンネル(以下、「チャンネル」を「ch」という)で1発音単位が構成されており、音源部20は、N(Nは1以上の整数)個の発音単位を備えている。例えば、音源部20における発音ch数が256chとされた場合に、発音単位数は発音ch数の半分の128とされる。そして、本発明にかかる楽音生成装置1において同時に複数の楽音を発生させるために、複数の発音単位での楽音発生処理をサンプリング周期毎に時分割で行うようにしている。さらに、各発音単位では2ch分の楽音波形サンプルが時分割で演算生成されることから、1サンプリング周期毎に発音単位の倍の楽音波形サンプルが演算生成されるようになる。ここで、本発明にかかる楽音生成装置1においては、発音単位とされるLchおよびRchにおける一部のパラメータを2ch間で共用するようにしている。すなわち、LchとRchとの発音ch毎に個別とされるタイプ1のパラメータは、音源レジスタ23に用意された発音単位の領域に各ch毎に独立して記憶される。また、LchとRchとの2ch間で共用されるタイプ2のパラメータは、音源レジスタ23に用意された発音単位の領域に共通して記憶される。すなわち、音源レジスタ23には、N個の発音単位に対応するN個の音色制御データを記憶する領域が用意されており、各音色制御データには、その音色で使用するタイプ1のパラメータとされるステレオのLch波形データを示すLch波形指定情報、Rchの波形データを示すRch波形指定情報と、タイプ2のパラメータとされるLchとRchの両chに共通の楽音のピッチを決定するFナンバと特性制御パラメータとが含まれている。
波形メモリ21には、ステレオサンプリングされたLch波形データとRch波形データとの波形データペアが複数記憶されている。この波形データペアは音色毎および音域毎に記憶されており、ステレオ発音には適さない音色の波形データについては、モノラルサンプリングされたモノ波形データが波形メモリ21に記憶されている。
この波形メモリ21に記録されている多数の波形データのデータ構造(メモリマップ)を図4に示す。図4に示すデータ構造において、波形データWD1mはモノラルの波形データであり、波形データWD2slとWD2srとはステレオの波形データペアであり、このうちのWD2slはLch波形データであり、WD2srはRch波形データである。また、同様に波形データWD3slとWD3srとはステレオの他の波形データペアであり、このうちのWD3slはLch波形データであり、WD3srはRch波形データである。波形メモリ21には、このようなモノラルの波形データおよびステレオの波形データペアが多数記録されている。Lch波形データとRch波形データは、1つずつを見れば1つの波形データであり、モノラルの波形データと何ら違いがあるわけではない。従って、Lch波形データとRch波形データの何れか一方だけを、モノラルの波形データとして読み出すこともできる。
この波形メモリ21に記録されている多数の波形データのデータ構造(メモリマップ)を図4に示す。図4に示すデータ構造において、波形データWD1mはモノラルの波形データであり、波形データWD2slとWD2srとはステレオの波形データペアであり、このうちのWD2slはLch波形データであり、WD2srはRch波形データである。また、同様に波形データWD3slとWD3srとはステレオの他の波形データペアであり、このうちのWD3slはLch波形データであり、WD3srはRch波形データである。波形メモリ21には、このようなモノラルの波形データおよびステレオの波形データペアが多数記録されている。Lch波形データとRch波形データは、1つずつを見れば1つの波形データであり、モノラルの波形データと何ら違いがあるわけではない。従って、Lch波形データとRch波形データの何れか一方だけを、モノラルの波形データとして読み出すこともできる。
また、位相発生部111は、時分割で、複数の発音単位の各々について、音源レジスタ23に記憶された当該発音単位のFナンバを累算することにより、当該発音単位のLchとRchとの両chに共通の位相を発生する。各発音単位の該累算は、制御部122から受付部117aが受け付けた当該発音単位の発音開始指示をトリガとして開始される。なお、受付部117aは、複数の発音単位の各々について相互に独立して、発音開始指示を受け付ける。
さらに、波形読出部112は、時分割で、複数の発音単位の各々について、位相発生部111から供給される当該発音単位の位相と、音源レジスタ23に記憶された当該発音単位のLch波形指定情報とに基づいて、波形メモリ21から1つのLch波形データを読み出すとともに、同じく位相発生部111から供給される位相と、音源レジスタ23に記憶された当該発音単位のRch波形指定情報とに基づいて、波形メモリ21から1つのRch波形データを読み出している。
さらに、波形読出部112は、時分割で、複数の発音単位の各々について、位相発生部111から供給される当該発音単位の位相と、音源レジスタ23に記憶された当該発音単位のLch波形指定情報とに基づいて、波形メモリ21から1つのLch波形データを読み出すとともに、同じく位相発生部111から供給される位相と、音源レジスタ23に記憶された当該発音単位のRch波形指定情報とに基づいて、波形メモリ21から1つのRch波形データを読み出している。
さらにまた、制御波形発生部116は、時分割で、複数の発音単位の各々について、音源レジスタ23に記憶された当該発音単位の制御波形パラメータに基づいて値が時間的に変化する、当該発音単位のLchとRchとの両chに共通の特性制御波形を発生する。制御波形発生部116により発生された特性制御波形は特性制御部113に供給され、この特性制御波形に基づいてLch波形データとRch波形データの楽音特性をそれぞれ制御することにより、当該発音単位のLchの楽音信号とRchの楽音信号とが形成される。制御波形発生部116により発生される特性制御波形には、楽音のピッチ変化を制御するピッチエンベロープ波形(ピッチEG波形)、楽音の音量変化を制御する音量エンベロープ波形(音量EG波形)、楽音の周波数特性の変化を制御するフィルタエンベロープ波形(フィルタEG波形)、楽音のピッチや音量に低周波の変調を加える低周波波形(LFO波形)がある。また、制御波形発生部116により発生されたLFO波形を位相発生部111に供給することにより、楽音信号にビブラートを付与することができ、このLFO波形を特性制御部113に供給することにより、楽音信号にワウワウやトレモロを付与することができる。
ここで、制御部122がMIDI、鍵盤、あるいはシーケンサ等からの演奏情報を受けて、新たな楽音の発音を指示する発音指示命令(ノートオン)を受けると、制御部122において、ステレオ発音あるいはモノラル発音にかかわらずN発音単位の何れか1つを発音指示された楽音の生成に割り当てる処理が行われる(後述するステップS11〜S15)。次いで、制御部122において発音指示された楽音の生成に使用するLch波形指定情報、Rch波形指定情報、Fナンバ、および、特性制御パラメータを含む音色制御データを形成して、割り当てた発音単位に対応する音源レジスタ23の記憶領域に設定する(同ステップS16、S17)。そして、受付部117aに割り当てた発音単位の発音の開始を指示する(同ステップS18)。ステレオ発音の場合には、当該発音単位の2chに対して、発音開始が指示されることになる。これにより、受付部117aが受け付けた発音単位の発音開始指示をトリガとして、位相発生部111は発音単位のFナンバの累算を開始して、当該発音単位のLchとRchとの両chに共通の位相を発生する。発生された位相が供給される波形読出部112は、位相発生部111から供給された当該発音単位の位相と、音源レジスタ23に記憶された当該発音単位のLch波形指定情報とに基づいて、波形メモリ21から1つのLch波形データを読み出すと共に、位相発生部111から供給された位相と、音源レジスタ23に記憶された当該発音単位のRch波形指定情報とに基づいて、波形メモリ21から1つのRch波形データを読み出す。
波形読出部112により読み出されたLch波形データとRch波形データとは、その楽音特性が制御波形発生部116により発生された発音中に時間変化する特性制御波形に基づいてそれぞれ制御されて、当該発音単位のLchの楽音波形サンプルとRchの楽音波形サンプルとが形成される。特性制御部113から発音単位毎のLchの楽音波形サンプルとRchの楽音波形サンプルとが時分割でステレオ構成の累算部(MIX)114のLch側とRch側にそれぞれ出力され、MIX114では、1サンプリング周期内において割り当てられた発音単位数のLch側に出力された楽音波形サンプルとRch側に出力された楽音波形サンプルとがそれぞれ累算される。MIX114からは、1サンプリング周期である1DAC周期(デジタル・アナログ変換器(DAC)115の変換周期)毎に、全ての発音単位にわたって累算されたLchの楽音波形サンプルとRchの楽音波形サンプルとが、DAC115に出力される。ステレオ構成のDAC115では1DAC周期毎に、累算されたLchの楽音波形サンプルとRchの楽音波形サンプルとがアナログのLchの楽音信号とRchの楽音信号に変換されて、ステレオ構成のサウンドシステム22(アンプ及びスピーカ)からステレオの楽音信号が放音される。
本発明にかかる楽音生成装置1において発音ch数が256chとされ発音単位数が128とされた場合における位相発生部111、波形読出部112、制御波形発生部116、特性制御部113においてステレオ発音時に必要な処理スロット(時分割処理のタイムスロット)の数が各ブロックに括弧書きの数字で示されている。すなわち、位相発生部111は発音単位毎に2ch共通の位相を生成することから、位相の処理スロット数は128となる。波形読出部112は、発音単位毎の2chについてそれぞれ波形データを波形メモリ21から読み出すことから、波形データの処理スロット数は256となる。また、制御波形発生部116は、発音単位毎に2ch共通の制御波形を生成することから、制御波形の処理スロット数は128となり、特性制御部113は、発音単位毎の2chについてそれぞれ波形データの楽音特性を制御することから、楽音特性を制御する処理スロット数は256となる。
ところで、モノラル発音が発音単位に対して発音指示された場合は、波形読出部112はLch波形指定情報(あるいはRch波形指定情報)と位相発生部111からの位相に基づいて1つのモノ波形データを波形メモリ21から読み出すようになる。すなわち、2chの発音単位において1chの波形データのみが読み出される。波形読出部112により読み出されたモノ波形データは、特性制御部113において制御波形発生部116から供給された発音中に時間変化する特性制御波形により楽音特性が制御されてモノラルの楽音波形サンプルが形成されてMIX114のLch側とRch側に出力される。上述したように、MIX114とDAC115およびサウンドシステム22がステレオ構成とされており、特性制御部113は、発音単位の1chから同じモノラルの楽音波形サンプルをパンパラメータに基づく音量でMIX114のLch側とRch側に出力する。このLch側とRch側に出力された楽音波形サンプルは、MIX114により他の発音単位においてLch側とRch側に出力された楽音サンプルとそれぞれ累算されて、DAC115に出力される。ステレオ構成のDAC115では1DAC周期毎に、累算されたLchとRchとの楽音波形サンプルがアナログのLchとRchとの楽音信号に変換されて、ステレオ構成のサウンドシステム22から楽音信号が放音される。この場合、ステレオ発音のステレオ信号とモノラル発音のモノラル信号とが混在してサウンドシステム22から放音されるようになる。
上記したように、本発明にかかる楽音生成装置1においては、発音単位とされるLchとRchとに共通の位相信号に基づいて、Lch楽音信号とRch楽音信号の2つの楽音信号を形成するので、位相発生部111が発生する位相の数が生成可能な楽音数の半分とされる発音単位の数となり、位相発生部111の処理量を減らし回路規模を小さくすることができる。一般的に、楽音生成には精密なピッチ制御が要求されており、位相発生部では、20ビットを超えるビット長の位相が生成されるため、回路規模も大きくなりがちである。また、制御波形発生部116は、各発音単位の特性制御パラメータに基づいて、LchとRchに共通の制御波形を発生することから、制御波形発生部116で発生する特性制御波形の数が生成可能な楽音数の半分とされる発音単位の数となり、制御波形発生部116の処理量を減らし回路規模を小さくすることができる。さらに、発音割当処理は、発音ch数の半分の発音単位に対して行われるので、トランケート処理を行う場合でも制御部122にかかる処理負荷を小さくすることができる。発音割当では、割り当て対象となる発音chないし発音単位の数に応じて、その処理にかかる処理負荷の量が指数関数的に増大する。さらに、Fナンバ、および、特性制御パラメータについても発音単位とされる2chにおいて共通とされ、発音単位毎に1つだけ設定すればよいことから、制御部122が音源レジスタ23に特性制御パラメータを設定する時間を短縮することができ、また、音源レジスタ23の規模を小さくできる。
そして、本発明にかかる楽音生成装置1は、ステレオ発音およびモノラル発音をすることができるが、モノラル発音かステレオ発音かに関わらず、発音指示が発生したときに、1つの発音単位を割当てればよい。また、楽音生成装置1においては、ステレオ発音する場合の各発音単位に関して、Lch波形データとRch波形データとを波形メモリ21から波形読出部112が、同じFナンバに応じた速度で読み出し、特性制御部113において同じ特性制御パラメータ(ないし特性制御パラメータに基づく特性制御波形)で特性制御して、音高及び楽音特性が同様に制御されたLch楽音信号とRch楽音信号を形成している。この場合、LchとRchとに共通の位相信号に基づいて、Lch楽音信号とRch楽音信号の2つの楽音信号を形成するので、位相発生部111が発生する位相の数は、生成可能な楽音数の半分とされる発音単位の数となり、位相発生部111の処理量を減らし回路規模を小さくすることができる。さらに、制御波形発生部116は、各発音単位の特性制御パラメータに基づいて、LchとRchに共通の制御波形を発生することから、制御波形発生部116で発生する特性制御波形の数は、生成可能な楽音数の半分とされる発音単位の数となり、制御波形発生部116の処理量を減らし回路規模を小さくすることができる。なお、この特性制御波形は、ピッチエンベロープ波形(ピッチEG波形)、音量エンベロープ波形(音量EG波形)、フィルタエンベロープ波形(フィルタEG波形)、低周波波形(LFO波形)の何れかとされる。
上記したように、Fナンバあるいは特性制御パラメータは、LchとRchとで共通に使われるので、ステレオ発音であっても音源レジスタ23に設定すべきデータの量は、モノラル発音の場合の倍より少ない量となる。このことから、制御部122にかかる設定時間を短くすることができる。さらに、音源レジスタ23に各種パラメータを設定した後では、モノラル発音かステレオ発音かに関わらず、割り当てた発音単位に対して発音開始指示すればよい。すなわち、ステレオ発音であってもLchおよびRchの2chを同時にノートオンするような制御をわざわざ行う必要はない。さらにまた、Fナンバあるいは特性制御パラメータは、LchとRchとで共通に使われるので、ステレオ発音であっても制御部122は、音源レジスタ23の1つの発音単位に係るFナンバあるいは特性制御パラメータの値をリアルタイム変更すればよく、2つの発音chに係る2つのパラメータ値の変更を同時にリアルタイム変更する必要がないことから、制御部122にかかる処理量を少なくすることができる。
図1に示す本発明の楽音生成装置1は楽音生成用の集積回路により実現されているが、上記説明したように一部のブロックの処理量を少なくすることができることから、発音チャンネルの数を増加しても楽音を生成する音源部20の集積回路の規模が大きくなることを極力抑制できるようになる。
図1に示す本発明の楽音生成装置1は楽音生成用の集積回路により実現されているが、上記説明したように一部のブロックの処理量を少なくすることができることから、発音チャンネルの数を増加しても楽音を生成する音源部20の集積回路の規模が大きくなることを極力抑制できるようになる。
次に、図1に示す本発明にかかる楽音生成装置1の詳細な構成を図2に示す。図2に示す楽音生成装置1は、図1に示す楽音生成装置1と同様の楽音生成動作を行うと共に同様の作用効果を奏しており、図1と図2とで同じ番号が付与されたブロックは、基本的に、相互に同じ機能を果たす。
図2に示す楽音生成装置1は、上記の通りステレオ発音するLchとRchとの2つのchで1発音単位が構成されており、音源部20は、N(Nは1以上の整数)個の発音単位を備えている。例えば、音源部20における発音ch数が256chとされた場合に、発音単位数は発音ch数の半分の128とされる。そして、本発明にかかる楽音生成装置1において同時に複数の楽音を発生させるために、複数の発音単位での楽音発生処理を時分割で行うようにしている。各発音単位では2chのそれぞれにおいて楽音波形サンプルが生成されることから、1サンプリング周期毎に発音単位の倍の楽音波形サンプルが時分割で演算生成されるようになる。
図2に示す楽音生成装置1は、上記の通りステレオ発音するLchとRchとの2つのchで1発音単位が構成されており、音源部20は、N(Nは1以上の整数)個の発音単位を備えている。例えば、音源部20における発音ch数が256chとされた場合に、発音単位数は発音ch数の半分の128とされる。そして、本発明にかかる楽音生成装置1において同時に複数の楽音を発生させるために、複数の発音単位での楽音発生処理を時分割で行うようにしている。各発音単位では2chのそれぞれにおいて楽音波形サンプルが生成されることから、1サンプリング周期毎に発音単位の倍の楽音波形サンプルが時分割で演算生成されるようになる。
図2に示す楽音生成装置1おいて、CPU10は楽音生成に関連する各種プログラムを実行することにより楽音生成装置1における楽音生成を始めとする様々な機能の動作を制御する制御部(Central Processing Unit)である。フラッシュROM(Read Only Memory)11は、CPU10が実行する楽音生成処理のプログラムや、音色データ等の各種データが格納される書き換え可能な不揮発性メモリである。RAM(Random Access Memory)12は楽音生成装置1における揮発性のメインメモリであり、CPU10のワークエリア等が設定される。また、操作子13は鍵盤等の演奏操作子および各種スイッチであり、各種スイッチを操作することにより楽音生成装置1に各種指示を与えることができる。さらに、表示器14は楽音生成時に各種情報を表示させる表示器である。通信I/O15は、外部から演奏情報等をとり込むことができるインタフェースであり、例えば外部とMIDIメッセージの送受信を行うMIDIインタフェースとされる。音源部20は、CPU10の制御に基づいて、波形メモリ21から楽音生成に必要とする波形データを読み出し、波形データの補間、エンベロープ付与、チャンネル累算(ミキシング)などの処理を行って、アナログの楽音波形信号として出力している。この図では、累算部(MIX)20iからサウンドシステム22までの矢印が2本とされ、ステレオ構成の2つのデータが通過することが明示されているが、その他の1本の矢印は、1つのデータが通過することを示している訳ではなく、時分割で複数の信号が通過する。例えば、Fナンバ発生部(FG)20aからフェーズ発生器(PG)20bには、128の発音単位に対応する128のデータが時分割で供給される。音源部20から出力された楽音波形信号は、サウンドシステム22に供給されてステレオの楽音が放音されるようになる。なお、各部はバスライン16を介して接続されている。
音源部20における音源レジスタ23には、128の発音単位に対応する128の音色制御データが設定される。それぞれの音色制御データはノートオンの処理を行うCPU10により形成されており、音源レジスタ20の発音単位毎に用意された領域に設定される。この音源レジスタ23に領域に設定される音色制御データは、図3(a)に示す発音単位毎のデータと、図3(b)に示す発音単位におけるLchとRchとの発音ch(256ch)毎のデータから構成されている。
図3(a)に示す発音単位毎のデータは、セント値で表されたピッチシフトデータ(PS)、LFO周波数、PMデプス、FMデプス、AMデプスを含むLFOパラメータ(LFOPs)、複数の各ステートのPEGレートおよびPEGレベルからなるPEGパラメータ(PEGPs)、複数の各ステートのFEGレートおよびFEGレベルからなるFEGパラメータ(FEGPs)、複数の各ステートのAEGレートおよびAEGレベルからなるAEGパラメータ(AEGPs)、Lchのパンデータ(PAN(L))およびRchのパンデータ(PAN(R))からなるパンデータ(PANs)、ステレオ発音モードかモノラル発音モードかのいずれかのモードを示すモードフラグ(Mode)とされている。ここで、ピッチシフトデータ(PS)は、波形メモリから読み出す波形データの音高をシフトする量を制御するデータであり、セントスケールにおけるFナンバである。後述するFナンバ発生部(FG)20aでは、周波数比のリニアスケールにおけるFナンバを発生するが、このPSは、その発生されるFナンバの値を決定する主因子である。PSの分解能は1セントであり、リアルタイムに変更してもノイズを生じないように、値の変化をスムーズ化する補間器が設けられている。また、これらのパラメータにおいて小文字の「s」が付されているパラメータは、それぞれ、単一のパラメータではなく、複数のパラメータで構成されることを示している。
図3(a)に示す発音単位毎のデータは、セント値で表されたピッチシフトデータ(PS)、LFO周波数、PMデプス、FMデプス、AMデプスを含むLFOパラメータ(LFOPs)、複数の各ステートのPEGレートおよびPEGレベルからなるPEGパラメータ(PEGPs)、複数の各ステートのFEGレートおよびFEGレベルからなるFEGパラメータ(FEGPs)、複数の各ステートのAEGレートおよびAEGレベルからなるAEGパラメータ(AEGPs)、Lchのパンデータ(PAN(L))およびRchのパンデータ(PAN(R))からなるパンデータ(PANs)、ステレオ発音モードかモノラル発音モードかのいずれかのモードを示すモードフラグ(Mode)とされている。ここで、ピッチシフトデータ(PS)は、波形メモリから読み出す波形データの音高をシフトする量を制御するデータであり、セントスケールにおけるFナンバである。後述するFナンバ発生部(FG)20aでは、周波数比のリニアスケールにおけるFナンバを発生するが、このPSは、その発生されるFナンバの値を決定する主因子である。PSの分解能は1セントであり、リアルタイムに変更してもノイズを生じないように、値の変化をスムーズ化する補間器が設けられている。また、これらのパラメータにおいて小文字の「s」が付されているパラメータは、それぞれ、単一のパラメータではなく、複数のパラメータで構成されることを示している。
また、図3(b)に示す発音単位のLchとRchの各発音chのデータは、当該chの波形指定情報である先頭アドレス(WS)、ループ先頭アドレス(LS)、末尾アドレス(WE)からなる波形アドレス用パラメータ(WAPs)と、波形データが圧縮されている場合のその解除を制御する圧縮情報と、ループ読み出しを制御するループ情報等を含むその他のパラメータとされる。モノラル発音モードでは、Lchの波形指定情報によってモノラル波形データが指定され、Rchの波形指定情報は使用されない。
これら3つのアドレスWS、LS、WEは、それぞれ、波形メモリの絶対アドレスとされているが、何れか1つを絶対アドレスとして残し、残りの2つをその絶対アドレスからの相対アドレスとしてもよい。例えば、ループ先頭アドレスLSを絶対アドレスとし、先頭アドレスWSと末尾アドレスWEを、それぞれ、ループ先頭アドレスLSからの相対アドレスとしてもよい。その場合、相対アドレスとされた2つのアドレスは、発音単位の2ch間で共通にすることができ、発音単位毎のデータ(図3(a))に移動することができる。すなわち、本発明の波形指定情報は、3つのアドレスWS、LS、WEのうちの、少なくとも1つの絶対アドレスとされているアドレスに対応する。
さらに、音源レジスタ23には、図3(a)、図3(b)に示す発音単位毎の領域とは別に、各発音単位GUに対して発音の開始を指示するための発音開始フラグGT(GU)の領域と、リリースの開始を指示するためのリリース開始フラグRT(GU)の領域とが含まれている。
これら3つのアドレスWS、LS、WEは、それぞれ、波形メモリの絶対アドレスとされているが、何れか1つを絶対アドレスとして残し、残りの2つをその絶対アドレスからの相対アドレスとしてもよい。例えば、ループ先頭アドレスLSを絶対アドレスとし、先頭アドレスWSと末尾アドレスWEを、それぞれ、ループ先頭アドレスLSからの相対アドレスとしてもよい。その場合、相対アドレスとされた2つのアドレスは、発音単位の2ch間で共通にすることができ、発音単位毎のデータ(図3(a))に移動することができる。すなわち、本発明の波形指定情報は、3つのアドレスWS、LS、WEのうちの、少なくとも1つの絶対アドレスとされているアドレスに対応する。
さらに、音源レジスタ23には、図3(a)、図3(b)に示す発音単位毎の領域とは別に、各発音単位GUに対して発音の開始を指示するための発音開始フラグGT(GU)の領域と、リリースの開始を指示するためのリリース開始フラグRT(GU)の領域とが含まれている。
フラッシュROM11には、波形メモリ21に記録されている複数の波形データを管理する複数の波形管理データと、楽音生成装置1で選択可能な複数の音色のパラメータセットである複数の音色データとが格納されている。本実施形態の楽音発生装置1はマルチパート音源であり、パート毎に、前記複数の音色の中から1つの音色を選択して、当該パートの音色として設定することができる。そして、複数パートの演奏情報に応じて、パート毎に設定されている音色で楽音が生成される。この波形管理データのデータ構造を図5(a)に示し、音色データのデータ構造を図5(b)に示す。波形メモリ21から波形データを読み出す際には、音源パートに設定されている音色の音色データを参照して波形データを選択し、選択された波形データの波形管理データを用いて波形メモリから該選択された波形データを読み出す。
図5(a)に示す複数の波形管理データは、波形メモリ21から波形データを読み出すのに必要なデータであって、各波形管理データは、波形メモリ21に記憶されている各ステレオ波形データペア乃至モノラル波形データと対応している。WKD1はモノラルの波形データWD1mの波形管理データであり、WKD2は波形データWD2sl,WD2srのステレオ波形データペアの波形管理データであり、WKD3は波形データWD3sl,WD3srのステレオ波形データペアの波形管理データである。各波形管理データは、対応する波形データがステレオ波形データペアかモノラル波形データに関わらず同様のデータ構造を有しており、WKD2に展開されて示されているように、ステレオフラグ、波形アドレス情報1、波形アドレス情報2、基本ピッチ、ループ情報、圧縮情報から構成されている。ステレオフラグが「1」であれば、対応する波形データがステレオの波形データペアであり、「0」であれば、モノラルの波形データである。新規発音のために、フラグが立っている波形データが選択された場合は、その発音用に割り当てた発音単位の音源レジスタに、ステレオ発音モードを示すモードフラグ(Mode)が設定され、フラグが立っていない波形データが選択された場合は、モノラル発音モードを示すモードフラグ(Mode)が設定される。
波形アドレス情報1は、ステレオフラグが「0」の場合、波形メモリ21の中のモノラル波形データの記憶位置を示し、「1」の場合、波形メモリ21中のLch波形データの記憶位置を示す情報であり、モノラル波形データ乃至Lch波形データの先頭アドレス、ループ先頭アドレス、および末尾アドレスの情報からなる。波形アドレス情報2は、ステレオフラグが「0」の場合、使用されない情報(Don’t Care)であり、「1」の場合、Rch波形データの記憶位置を示す情報であり、Rch波形データの先頭アドレス、ループ先頭アドレス、および末尾アドレスの情報からなる。基本ピッチは、波形データをピッチシフトなし(Fナンバ=1)で読み出したときの、その読み出された波形データが有するピッチを示す情報であり、ループ情報は、ループ読み出しをするか否かを示す情報や、アタック波形のエンドのピッチにループ波形のスタートのピッチを合わせるためのループ部のピッチを補正する情報等とされる。また、圧縮情報は、波形データが圧縮されているか否かおよび圧縮されている場合の圧縮方式を示す圧縮方式情報や、先頭のフレームの圧縮を解除するための圧縮係数情報であり、発音単位の発音開始時には、CPU10は、これらの情報を音源レジスタ23の当該発音単位の領域に設定し、その設定された情報に基づいて、波形アドレス発生部20c、読出&Cache部20d、デコーダ20e等が制御される。
また、図5(b)に示すように、フラッシュROM11には、複数の音色の複数の音色データTD1、TD2、TD3、・・・が格納されており、各音色の音色データはTD2に展開されて示されているように、音色名、波形選択情報と、LchとRchとに共通のPEGパラメータ、FEGパラメータ、AEGパラメータ、LFOパラメータと、その他のパラメータから構成されている。
波形選択情報は、発音指示に係る音高(ノート番号)や演奏強度(ベロシティ)に応じて、その発音指示に応じた楽音を生成するのに使用する波形データ(を読み出すための波形管理データ)を選択するための情報である。例えば、操作子13とされる鍵盤を弾いた際のノートオンに応じて、鍵盤パートに設定された音色の音色データの波形選択情報が、そのノートオンに付随するノート番号ないしベロシティで参照され、1つのステレオ波形データペアないしモノラル波形データに対応する波形管理データが選択される。
PEGパラメータ、FEGパラメータ、およびAEGパラメータは、それぞれ、複数ステートの折れ線形状を有する、ピッチEG波形、フィルタEG波形、および音量EG波形の制御するパラメータであって、各ステートのレートとレベルのパラメータ、および、ノート番号やベロシティなどに応じて一部のレートないしレベルを調整するためのパラメータからなる。音量EG波形の複数ステートは、例えば、アタック(ないしホールド)、第1ディケイ、第2ディケイ、サスティン、リリースの5ステートで構成され、アタック(ないしホールド)のレベルが、ベロシティに応じて増減される。LFOパラメータは、生成するLFO波形の周波数を制御するLFO周波数、楽音のピッチを変調するためのLFO波形の振幅(ピッチ変調の深さ)を制御するPMデプス、楽音の周波数特性を変調するためのLFO波形の振幅(フィルタ変調の深さ)を制御するFMデプス、楽音の振幅を変調するためのLFO波形の振幅(振幅変調の深さ)を制御するAMデプスの情報からなる。
波形選択情報は、発音指示に係る音高(ノート番号)や演奏強度(ベロシティ)に応じて、その発音指示に応じた楽音を生成するのに使用する波形データ(を読み出すための波形管理データ)を選択するための情報である。例えば、操作子13とされる鍵盤を弾いた際のノートオンに応じて、鍵盤パートに設定された音色の音色データの波形選択情報が、そのノートオンに付随するノート番号ないしベロシティで参照され、1つのステレオ波形データペアないしモノラル波形データに対応する波形管理データが選択される。
PEGパラメータ、FEGパラメータ、およびAEGパラメータは、それぞれ、複数ステートの折れ線形状を有する、ピッチEG波形、フィルタEG波形、および音量EG波形の制御するパラメータであって、各ステートのレートとレベルのパラメータ、および、ノート番号やベロシティなどに応じて一部のレートないしレベルを調整するためのパラメータからなる。音量EG波形の複数ステートは、例えば、アタック(ないしホールド)、第1ディケイ、第2ディケイ、サスティン、リリースの5ステートで構成され、アタック(ないしホールド)のレベルが、ベロシティに応じて増減される。LFOパラメータは、生成するLFO波形の周波数を制御するLFO周波数、楽音のピッチを変調するためのLFO波形の振幅(ピッチ変調の深さ)を制御するPMデプス、楽音の周波数特性を変調するためのLFO波形の振幅(フィルタ変調の深さ)を制御するFMデプス、楽音の振幅を変調するためのLFO波形の振幅(振幅変調の深さ)を制御するAMデプスの情報からなる。
楽音生成装置1において、楽音の発生開始を指示する新たなノートオンが検出されたとすると、CPU10は、図6に示すノートオンイベント処理を実行する。ノートオンイベント処理において、CPU10は、まず、発音割当処理を行うことにより新たなノートオンを空き発音単位に割り当て、音源レジスタ23における割り当てられた発音単位の領域(図3(a)、(b))に、新たなノートオンの各種パラメータからなる音色制御データを設定する。そして、CPU10が、その発音単位の発音指示(GT)を設定することにより、音源部20は、上記設定された音色制御データを用いて新たなノートオンに対応する楽音生成を、割り当てられた発音単位において開始する。ここで、モードフラグ(Mode)がステレオ発音のモードとされている場合は、音源部20からステレオの楽音信号が生成されてサウンドシステム22に出力され、モードフラグ(Mode)がモノラル発音のモードとされている場合は、音源部20からモノラルの楽音信号が生成されてサウンドシステム22に出力される。
このノートオンイベント処理を、さらに詳細に説明する。ノートオンは、新たな楽音の発音開始を指示する命令(MIDIメッセージ)であって、パラメータとして、何れのパートの命令であるかを示すパート番号と、生成すべき楽音の音高を示すノート番号と、強度を示すベロシティとを伴っている。例えば、操作子13とされる鍵盤で、何れかの鍵が押鍵されたときには、その鍵盤が制御するパートを示すパート番号と、その押下された鍵のノート番号と、押下速度を示すベロシティとを含むノートオンが生成される。複数パートの曲データの自動演奏の中では、各パートのノートオンが生成される。また、通信I/O15を介して外部機器からノートオンを受信する場合もある。
CPU10は、これら何れかのノートオンが検出されると、図6に示すノートオンイベント処理をスタートし、まず、ステップS10にて発生されたノートオンから、そのパート番号、ノート番号およびベロシティを取り出し、RAM12のワークエリアに確保された領域PTにパート番号を、領域NNにノート番号を、領域VLにベロシティをそれぞれ格納する。次いで、ステップS11にて全発音単位から発音割り当てされていない空き発音単位(Unit)を検出する処理が行われ、この検出する処理において空き発音単位が検出されたか否かがステップS12にて判断される。ここで、空き発音単位が検出されたと判断された場合は、ステップS13に進み、その空き発音単位のUnit番号を、RAM12のワークエリアに確保された領域AUに格納する。また、ステップS12にて空き発音単位が検出されないと判断された場合は、ステップS14に分岐してトランケートUnit決定処理を行い、決定されたトランケート発音単位のUnit番号を上記領域AUに格納する。
CPU10は、これら何れかのノートオンが検出されると、図6に示すノートオンイベント処理をスタートし、まず、ステップS10にて発生されたノートオンから、そのパート番号、ノート番号およびベロシティを取り出し、RAM12のワークエリアに確保された領域PTにパート番号を、領域NNにノート番号を、領域VLにベロシティをそれぞれ格納する。次いで、ステップS11にて全発音単位から発音割り当てされていない空き発音単位(Unit)を検出する処理が行われ、この検出する処理において空き発音単位が検出されたか否かがステップS12にて判断される。ここで、空き発音単位が検出されたと判断された場合は、ステップS13に進み、その空き発音単位のUnit番号を、RAM12のワークエリアに確保された領域AUに格納する。また、ステップS12にて空き発音単位が検出されないと判断された場合は、ステップS14に分岐してトランケートUnit決定処理を行い、決定されたトランケート発音単位のUnit番号を上記領域AUに格納する。
トランケートUnit決定処理では、まず、全パートの中から楽音を発生させる優先度の低いパート等のトランケート発音単位をサーチするサーチ対象パートを決定する。RAM12には、CPU10が、各発音単位で発音中の楽音のパート番号やノート番号などを記録する領域が設けられており、CPU10は、その領域の情報を参照することにより、決定されたパートで発音中の発音単位を検出する。次いで、検出された複数の発音単位において発音中の2chの楽音の音量レベルの内のLch波形データの振幅と音量EG波形とのレベルの合成値が最小の発音単位を検出して、トランケートする発音単位として決定する。これは、モノラル発音モードの場合においても発音単位におけるLchでは楽音が生成されているからである。この決定されたトランケート発音単位のUnit番号を上記領域AUに格納して、トランケートUnit決定処理を終了する。
ステップS14のトランケートUnit決定処理が終了すると、ステップS15にて領域AUに格納されているUnit番号で生成中のLchとRchとの2chの楽音に対する急速減衰処理(ダンプ処理)を実行する。ここまでの処理で、新たな楽音の生成のために1の発音単位(Unit)が割り当てられ、割り当てられた発音単位の番号が領域AUに格納される。ステップS13あるいはステップS15の処理が終了すると、ステップS16に進み、領域PTのパート番号が示すパートで現在設定されている現音色の音色データ(図5(b))の波形選択情報により波形データを選択する。そして、選択された波形データに対応する波形管理データ(図5(a))のステレオフラグを参照して、当該波形データがステレオ波形データペアであれば、発音モードをステレオ発音モードに決定し、モノラル波形データであればモノラル発音モードに決定する。
次いで、ステップS17にて、当該音色データと、領域PT、NNおよび領域VLに格納されているパート番号、ノート番号およびベロシティとに基づいて、新規楽音の生成に用いる各種パラメータを決定し、音源レジスタ23の、領域AUに格納されているUnit番号に対応する記憶領域(図3(a)、(b))に、決定した各種パラメータを設定する。CPU10が設定する各種パラメータは、上記決定された発音モードを示すモードフラグ(Mode)、上記現音色の音色データにおける波形選択情報と上記ノート番号および上記ベロシティ値とに応じて選択された波形データのLch波形指定情報、Rch波形指定情報、ループ情報、および、圧縮情報と、上記ノート番号および上記ベロシティ値とに応じて加工されたLchとRchの両chに共通の上記現音色の音色データにおけるLFOパラメータ、PEGパラメータ、FEGパラメータ、AEGパラメータ、上記ノート番号と基本ピッチとの差に基づくピッチシフトデータ(セントスケールにおけるFナンバ)、および、パンデータなどからなる音色制御データとされている。ただし、Rch波形指定情報は、ステレオ発音モードの場合のみ設定し、モノラル発音モードのときは(設定する情報が無いので)設定しなくてよい。ステップS17において音色制御データをAU領域に設定した後、CPU10は、ステップS18にて、音源レジスタ23の発音開始フラグGT(AU)に「1」を書き込むことにより、領域AUのUnit番号が示す発音単位に対して発音開始指示を行う。これにより、ノートオンイベント処理は終了し、音源部20は発音開始指示(GT(AU)←1)をトリガとして、割り当てられた発音単位(Unit)において、設定された音色制御データに基づいて、LchおよびRchの楽音の生成(ステレオ発音モード)、ないし、モノラルchの楽音の生成(モノラル発音モード)を開始するようになる。
なお、本実施形態は、「*」が付されたステップS12−S15の発音割当処理、およびステップS18の発音開始指示処理において、ステレオ発音モードかモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
次いで、ステップS17にて、当該音色データと、領域PT、NNおよび領域VLに格納されているパート番号、ノート番号およびベロシティとに基づいて、新規楽音の生成に用いる各種パラメータを決定し、音源レジスタ23の、領域AUに格納されているUnit番号に対応する記憶領域(図3(a)、(b))に、決定した各種パラメータを設定する。CPU10が設定する各種パラメータは、上記決定された発音モードを示すモードフラグ(Mode)、上記現音色の音色データにおける波形選択情報と上記ノート番号および上記ベロシティ値とに応じて選択された波形データのLch波形指定情報、Rch波形指定情報、ループ情報、および、圧縮情報と、上記ノート番号および上記ベロシティ値とに応じて加工されたLchとRchの両chに共通の上記現音色の音色データにおけるLFOパラメータ、PEGパラメータ、FEGパラメータ、AEGパラメータ、上記ノート番号と基本ピッチとの差に基づくピッチシフトデータ(セントスケールにおけるFナンバ)、および、パンデータなどからなる音色制御データとされている。ただし、Rch波形指定情報は、ステレオ発音モードの場合のみ設定し、モノラル発音モードのときは(設定する情報が無いので)設定しなくてよい。ステップS17において音色制御データをAU領域に設定した後、CPU10は、ステップS18にて、音源レジスタ23の発音開始フラグGT(AU)に「1」を書き込むことにより、領域AUのUnit番号が示す発音単位に対して発音開始指示を行う。これにより、ノートオンイベント処理は終了し、音源部20は発音開始指示(GT(AU)←1)をトリガとして、割り当てられた発音単位(Unit)において、設定された音色制御データに基づいて、LchおよびRchの楽音の生成(ステレオ発音モード)、ないし、モノラルchの楽音の生成(モノラル発音モード)を開始するようになる。
なお、本実施形態は、「*」が付されたステップS12−S15の発音割当処理、およびステップS18の発音開始指示処理において、ステレオ発音モードかモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
音源部20のステレオ発音モードを示すモードフラグ(Mode)が設定されている発音単位(Unit)において楽音生成する際の、音源部20を構成している各部の、その発音単位のタイムスロットにおける動作説明を以下に行う。
Fナンバを発生するFナンバ発生部(FG)20aには、当該発音単位のタイムスロットで、LFO20mからの変調データ(PMデプスで振幅が調整されたLFO波形)と、音源レジスタ23からのピッチシフトデータ(PS)と、ピッチエンベロープ発生部(PEG)20kからのピッチEG波形とが供給され、これらの3つのデータが加算され、さらに、セントスケールからリニアスケールに変換されて、LchとRchとの発音単位に共通のFナンバが発生される。この場合、これら3つのデータはセント値を単位とするデータとされ、音源レジスタ23から直接供給されるPSは、波形メモリ21から読み出される波形データが記録された際の音高(図5(a)の基本ピッチ)と、生成すべき楽音の音高(ノート番号)との差分をセント値で表したデータとされる。FG20aで発生するFナンバは、大まかな値はピッチシフトデータによって決定され、さらに、その値に対して変調データとピッチEG波形による比較的小さな調整が加えられたリニア値のデータである。例えば、記録された際の音高と同じ音高で楽音を生成する際は、PSは「0」とされ、調整値であるLFO20mおよびPEG20kからのデータを無視すると、この場合にFG20aで発生されるFナンバは「1」となる。FG20aからのFナンバはフェーズ発生器(PG)20bに供給され、PG20bは、当該発音単位のタイムスロットで、サンプリング周期毎に供給されるFナンバを累算し、その累算値の上位ビットを読出アドレスを生成するためのLchとRchとの発音単位に共通の位相の整数部として、下位ビットを同位相の小数部として、波形アドレス発生部(WAG)20cに出力する。PG20bにおけるFナンバの累算は、音源レジスタ23の受付部から供給される当該発音単位の発音指示(GT)をトリガとして、ゼロを初期値として開始される。生成される位相の整数部は波形データのサンプル単位の位置を指定するデータであり、小数部は隣接する2サンプル間の中間位置を指定するデータである。
Fナンバを発生するFナンバ発生部(FG)20aには、当該発音単位のタイムスロットで、LFO20mからの変調データ(PMデプスで振幅が調整されたLFO波形)と、音源レジスタ23からのピッチシフトデータ(PS)と、ピッチエンベロープ発生部(PEG)20kからのピッチEG波形とが供給され、これらの3つのデータが加算され、さらに、セントスケールからリニアスケールに変換されて、LchとRchとの発音単位に共通のFナンバが発生される。この場合、これら3つのデータはセント値を単位とするデータとされ、音源レジスタ23から直接供給されるPSは、波形メモリ21から読み出される波形データが記録された際の音高(図5(a)の基本ピッチ)と、生成すべき楽音の音高(ノート番号)との差分をセント値で表したデータとされる。FG20aで発生するFナンバは、大まかな値はピッチシフトデータによって決定され、さらに、その値に対して変調データとピッチEG波形による比較的小さな調整が加えられたリニア値のデータである。例えば、記録された際の音高と同じ音高で楽音を生成する際は、PSは「0」とされ、調整値であるLFO20mおよびPEG20kからのデータを無視すると、この場合にFG20aで発生されるFナンバは「1」となる。FG20aからのFナンバはフェーズ発生器(PG)20bに供給され、PG20bは、当該発音単位のタイムスロットで、サンプリング周期毎に供給されるFナンバを累算し、その累算値の上位ビットを読出アドレスを生成するためのLchとRchとの発音単位に共通の位相の整数部として、下位ビットを同位相の小数部として、波形アドレス発生部(WAG)20cに出力する。PG20bにおけるFナンバの累算は、音源レジスタ23の受付部から供給される当該発音単位の発音指示(GT)をトリガとして、ゼロを初期値として開始される。生成される位相の整数部は波形データのサンプル単位の位置を指定するデータであり、小数部は隣接する2サンプル間の中間位置を指定するデータである。
PEG20kには、当該発音単位のタイムスロットで、音源レジスタ23からLchとRchとの発音単位に共通の、各ステート毎のPEGレートおよびPEGレベルのPEGパラメータ(PEGPs)が供給され、該PEGパラメータに基づいて、複数ステートからなる、LchとRchとの発音単位に共通のピッチEG波形であって、サンプリング周期毎に値の変化するピッチEG波形が生成されてFG20aに供給される。該ピッチEGの生成は、音源レジスタ23から供給される当該発音単位の発音指示(GT)をトリガとして開始される。ピッチEG波形をFG20aに供給することにより、ピッチEGに従って波形メモリ21からの読み出し速度が適宜変調されて、アタックピッチ等のピッチ変調効果が付与される。
WAG20cには、当該発音単位のLchとRchのタイムスロットで、音源レジスタ23からLch波形データの先頭アドレス、ループ先頭アドレス、末尾アドレスからなるLch波形指定情報、Rch波形データの先頭アドレス、ループ先頭アドレス、末尾アドレスからなるRch波形指定情報、および、ループ情報で構成される波形アドレス用パラメータ(WAPs)が供給され、これらのパラメータ(WAPs)と位相の整数部とに基づいて、当該発音単位のLchの波形アドレスとRchの波形アドレスとが生成される。ループ読み出ししないループ情報が設定された発音単位の各chでは、先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで、サンプリング周期毎の位相の整数部の増加速度と同じ速度で進行する波形アドレスが生成される。ループ読み出しするループ情報が設定された発音単位の各chでは、前記増加速度と同じ速度で、先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで一通り進行した後、ループ先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで繰り返し進行する波形アドレスが生成される。WAG20cから出力されるLchおよびRchの波形アドレス(整数部)は読出&Cashe部20dに供給され、LchおよびRchの位相の小数部はサンプル間補間部(INT)20fに供給される。波形メモリ21には、圧縮された波形データである圧縮波形データと、圧縮されていないリニア波形データとが記録されており、読出&Cashe部20dは、当該発音単位のLchとRchのタイムスロットで、供給されたLchおよびRchの波形アドレスと圧縮情報とに応じて波形メモリ21からLchおよびRchのそれぞれの波形データのサンプルを読み出す。読み出されたLchおよびRchの波形データは、それが圧縮波形データである場合には、デコーダ(DEC)20eにおいて、当該発音単位のLchおよびRchのタイムスロットで伸張され、元のLch波形データサンプルとRch波形データサンプルが出力される。一方、リニア波形データである場合には、同じタイムスロットでDEC20eを通過して、Lch波形データサンプルとRch波形データサンプルとして出力される。
WAG20cには、当該発音単位のLchとRchのタイムスロットで、音源レジスタ23からLch波形データの先頭アドレス、ループ先頭アドレス、末尾アドレスからなるLch波形指定情報、Rch波形データの先頭アドレス、ループ先頭アドレス、末尾アドレスからなるRch波形指定情報、および、ループ情報で構成される波形アドレス用パラメータ(WAPs)が供給され、これらのパラメータ(WAPs)と位相の整数部とに基づいて、当該発音単位のLchの波形アドレスとRchの波形アドレスとが生成される。ループ読み出ししないループ情報が設定された発音単位の各chでは、先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで、サンプリング周期毎の位相の整数部の増加速度と同じ速度で進行する波形アドレスが生成される。ループ読み出しするループ情報が設定された発音単位の各chでは、前記増加速度と同じ速度で、先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで一通り進行した後、ループ先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで繰り返し進行する波形アドレスが生成される。WAG20cから出力されるLchおよびRchの波形アドレス(整数部)は読出&Cashe部20dに供給され、LchおよびRchの位相の小数部はサンプル間補間部(INT)20fに供給される。波形メモリ21には、圧縮された波形データである圧縮波形データと、圧縮されていないリニア波形データとが記録されており、読出&Cashe部20dは、当該発音単位のLchとRchのタイムスロットで、供給されたLchおよびRchの波形アドレスと圧縮情報とに応じて波形メモリ21からLchおよびRchのそれぞれの波形データのサンプルを読み出す。読み出されたLchおよびRchの波形データは、それが圧縮波形データである場合には、デコーダ(DEC)20eにおいて、当該発音単位のLchおよびRchのタイムスロットで伸張され、元のLch波形データサンプルとRch波形データサンプルが出力される。一方、リニア波形データである場合には、同じタイムスロットでDEC20eを通過して、Lch波形データサンプルとRch波形データサンプルとして出力される。
ここで、波形メモリ21に記録されている圧縮波形データに関して説明すると、連続する複数サンプルからなる波形データを複数のフレームに分割して、フレーム毎に波形データに可変長とされる圧縮処理を施す。1フレーム分の圧縮波形データは、各アドレス毎にnビットのデータを記憶可能な波形メモリ21の連続する所定数j個のアドレスにわたって記憶される。j個の各アドレスに記憶されるデータには、それぞれ、nビットのうちのmビットに、フレーム内で同一とされているビット数の圧縮波形データがkサンプル順次格納される。そして、残る(n−m)ビットに、圧縮情報を含む副情報が格納される。
このように圧縮波形データが記憶された波形メモリ21から圧縮波形データを読み出す場合は、読出&Cashe部20dは、当該発音単位のLchとRchの各タイムスロットで、サンプリング周期ごとにWAG20cから供給される波形アドレスがkだけ進むごとに1つだけ進むメモリアドレスを生成し、該メモリアドレスにより波形メモリ21をアクセスしてnビットのデータを読み出すと共に、読み出されたnビットのデータから(n−m)ビットのデータを取り出して圧縮情報を含む副情報を出力する。また、読み出されたnビットのデータからmビットのデータを取り出してキャッシュメモリに一時記憶する。そして、DEC20eが、当該発音単位のLchとRchのタイムスロットで、波形アドレスによりキャッシュメモリをアクセスして、kサンプルの圧縮波形データを順次読み出し、圧縮情報と順次読み出される圧縮波形データのサンプルとに基づいてDEC20eにおいて伸長処理を行うことにより元の波形データのサンプルを復元する。
なお、伸張する際に用いられる圧縮情報は、1つ前に読み出されたフレームに記憶されていた圧縮情報が用いられることから、圧縮情報がない初期においては音源レジスタ23から供給されたデコーダ初期値を用いて伸張される。また、圧縮波形データに関しての詳細については特許第3912304号公報を参照されたい。
このように圧縮波形データが記憶された波形メモリ21から圧縮波形データを読み出す場合は、読出&Cashe部20dは、当該発音単位のLchとRchの各タイムスロットで、サンプリング周期ごとにWAG20cから供給される波形アドレスがkだけ進むごとに1つだけ進むメモリアドレスを生成し、該メモリアドレスにより波形メモリ21をアクセスしてnビットのデータを読み出すと共に、読み出されたnビットのデータから(n−m)ビットのデータを取り出して圧縮情報を含む副情報を出力する。また、読み出されたnビットのデータからmビットのデータを取り出してキャッシュメモリに一時記憶する。そして、DEC20eが、当該発音単位のLchとRchのタイムスロットで、波形アドレスによりキャッシュメモリをアクセスして、kサンプルの圧縮波形データを順次読み出し、圧縮情報と順次読み出される圧縮波形データのサンプルとに基づいてDEC20eにおいて伸長処理を行うことにより元の波形データのサンプルを復元する。
なお、伸張する際に用いられる圧縮情報は、1つ前に読み出されたフレームに記憶されていた圧縮情報が用いられることから、圧縮情報がない初期においては音源レジスタ23から供給されたデコーダ初期値を用いて伸張される。また、圧縮波形データに関しての詳細については特許第3912304号公報を参照されたい。
DEC20eからリニアのまま出力される、ないし、伸張され出力される発音単位のLchおよびRchのそれぞれの波形データのうちの最新の2サンプルが、当該発音単位のLchとRchの各タイムスロットで、INT20fに供給される。INT20fは、当該発音単位のLchとRchのタイムスロットで、このLchおよびRchにおける各2サンプルの伸長された波形データ間を、WAG20cから供給されている発音単位の位相の小数部に基づいてそれぞれ補間処理することにより、補間されたLchおよびRchのそれぞれの波形データを得るようにしている。また、INT20fにおいて4点補間が行われる場合は、DEC20eからLchおよびRchの最新の4サンプルが供給され、この4サンプルの伸長された波形データと、位相の小数部に基づいて補間処理することにより、補間されたLchおよびRchのそれぞれの波形データを得るようにしている。
INT20fから出力される補間されたLchおよびRchの発音単位の波形データは、ディジタルコントロールドフィルタ(DCF)20gに供給され高域成分が減衰される。DCF20gには、当該発音単位のLchとRchのタイムスロットで、LFO20mからの変調データ(FMデプスで振幅が調整されたLFO波形)とフィルタエンベロープ発生部(FEG)20nからのフィルタEG波形とが供給され、この2つのデータに応じてDCF20gのカットオフ周波数やQ(選択度)が制御されて、Lch波形データとRch波形データのそれぞれの高域成分が減衰される。FEG20nには、当該発音単位のタイムスロットで、音源レジスタ23からLchとRchとの発音単位に共通の、各ステート毎のFEGレートおよびFEGレベルからなるFEGパラメータ(FEGPs)が供給され、該FEGパラメータに基づいて、複数ステートの、LchとRchとの発音単位に共通のフィルタEG波形であって、サンプリング周期毎に値が変化するフィルタEG波形が生成されてDCF20gに供給される。該フィルタEG波形の生成は、音源レジスタ23から供給される発音指示(GT)をトリガとして開始される。
INT20fから出力される補間されたLchおよびRchの発音単位の波形データは、ディジタルコントロールドフィルタ(DCF)20gに供給され高域成分が減衰される。DCF20gには、当該発音単位のLchとRchのタイムスロットで、LFO20mからの変調データ(FMデプスで振幅が調整されたLFO波形)とフィルタエンベロープ発生部(FEG)20nからのフィルタEG波形とが供給され、この2つのデータに応じてDCF20gのカットオフ周波数やQ(選択度)が制御されて、Lch波形データとRch波形データのそれぞれの高域成分が減衰される。FEG20nには、当該発音単位のタイムスロットで、音源レジスタ23からLchとRchとの発音単位に共通の、各ステート毎のFEGレートおよびFEGレベルからなるFEGパラメータ(FEGPs)が供給され、該FEGパラメータに基づいて、複数ステートの、LchとRchとの発音単位に共通のフィルタEG波形であって、サンプリング周期毎に値が変化するフィルタEG波形が生成されてDCF20gに供給される。該フィルタEG波形の生成は、音源レジスタ23から供給される発音指示(GT)をトリガとして開始される。
DCF20gから出力される信号処理されたLch波形データとRch波形データとは、ディジタルコントロールドアンプ(DCA)20hに供給されLchおよびRchのそれぞれの音量が制御される。DCA20hには、当該発音単位のLchとRchのタイムスロットで、LFO20mからの変調データ(AMデプスにより振幅が調整されたLFO波形)と音量エンベロープ発生部(AEG)20pからの音量EG波形、および、音像を定位させる音源レジスタ23からのパンデータ(PANs)とが供給され、LFO20mからの変調データと音量EG波形とLchのパンデータ(PAN(L))に応じて、Lch波形データの音量が制御されて累算部(MIX)20iのLch側に出力され、LFO20mからの変調データと音量EG波形とRchのパンデータ(PAN(R))に応じて、Rch波形データの音量が制御されてMIX20iのRch側に出力される。このように、DCA20hからは、音像位置がパンデータ(PANs)により定位されたLch波形データ(Lchの楽音データ)とRch波形データ(Rchの楽音データ)とが、当該発音単位のタイムスロットで、MIX20iのLch側とRch側に出力される。AEG20pには、当該発音単位のタイムスロットで、音源レジスタ23からLchとRchとの発音単位に共通の、各ステート毎のAEGレートおよびAEGレベルからなるAEGパラメータ(AEGPs)が供給され、該AEGパラメータに基づいて、複数ステートの、LchとRchとの発音単位に共通の音量EG波形であって、サンプリング周期毎に値の変化する音量EG波形が生成されてDCA20hに供給される。該音量EG波形の生成は、音源レジスタ23から供給される発音指示(GT)をトリガとして開始される。
1DAC周期内において、DCA20hからは、複数の各発音単位のタイムスロットで、波形データのサンプルが、累算部(MIX)20iのLch側とRch側に出力される。MIX20iにおいては、1DAC周期の各発音単位のタイムスロットで、Lch側に供給された波形データのサンプルと、Rch側に供給された波形データのサンプルが、それぞれLch側とRch側とで別々に累算される。そして、MIX20iからは、DAC周期毎に、全ての発音単位についての累算結果である、LchとRchのサンプルからなるステレオ波形データがDAC20jに出力される。DAC20jは、1DAC周期毎に、供給されるステレオ波形データをアナログのステレオ波形信号に変換して、変換されたアナログのLchとRchとのステレオ波形信号を、ステレオ構成のサウンドシステム22に供給する。サウンドシステム22からは、そのステレオの波形信号が放音される。
また、LFO20mには、当該発音単位のタイムスロットで、音源レジスタ23からLchとRchとの発音単位に共通のLFO周波数、PMデプス、FMデプス、AMデプスのLFOパラメータ(LFOPs)が供給され、LFO周波数が示す周波数の、LchとRchとの発音単位に共通のLFO波形が生成されて、その振幅がPMデプス、FMデプスおよびAMデプスに応じて制御されて、FG20a、DCF20gおよびDCA20hに供給される。該LFO波形の生成は、音源レジスタ23から供給される発音指示(GT)をトリガとして開始される。このLFO波形をFG20aに供給することにより楽音信号にビブラートを付与することができ、このLFO波形をDCF20gに供給することにより楽音信号にワウワウを付与することができ、このLFO波形をDCA20hに供給することにより楽音信号にトレモロを付与することができる。
以上説明したように、図1に示す構成における位相発生部111はFG20a、PG20bに相当し、波形読出部112はWAG20c、読出&Cashe部20d、DEC20e、INT20fに相当し、特性制御部113はDCF20g、DCA20hに相当し、制御波形発生部116は、破線で囲った発音中に時間変化する制御波形を発生するPEG20k、LFO20m、FEG20nおよびAEG20pに相当する。また、制御部122はCPU10に相当する
上記した音源部20の各部の動作説明は、モードフラグ(Mode)がステレオ発音のモードとされた発音単位のタイムスロットに注目して、ステレオ発音する場合の動作を説明したものである。なお、波形メモリ21には、モノラルの波形データとステレオの波形データペアとが音色毎および音域毎に記録されており、楽音生成装置1のある発音単位において楽音生成する際に、波形メモリ21から読み出す波形データとしてステレオの波形データが選択されている場合は、その発音単位に対してステレオ発音モードを示すモードフラグ(Mode)が設定されて、その発音単位のタイムスロットにおいてステレオの楽音が生成されるようになる。また、楽音生成装置1のある発音単位において楽音生成する際に、波形メモリ21から読み出す波形データとしてモノラルの楽音波形が選択されている場合は、その発音単位に対してモノラル発音モードを示すモードフラグ(Mode)が設定されて、その発音単位のタイムスロットにおいてモノラルの楽音が生成されるようになる。波形メモリ21から読み出される波形データは、設定された音色やノート番号やベロシティなどに応じて選択された波形データであるが、その音色がステレオ効果が判るような音色か否か、その音色でのその音域、強度の演奏頻度、波形メモリの総容量による制約、等の各種要件を鑑みて、それぞれステレオ波形データペア、または、モノラル波形データとして用意されたものである。
モノラル発音モードを示すモードフラグ(Mode)が設定された発音単位(Unit)に関して、音源部20の各部の動作を説明する。
楽音生成装置1において新たなノートオンイベントが検出された際に、CPU10は、発音割当処理を行うことにより新たなノートオンを空き発音単位に割り当て、音源レジスタ23における割り当てられた発音単位の領域に上記した図3(a)(b)に示す新たなノートオンの各種パラメータを設定する。この場合は、音源レジスタ23に設定されるモードフラグ(Mode)はモノラル発音モードとされるが、モノラル発音のノートオンでも2chの発音単位が割り当てられる。なお、この実施形態では、音源部20の各発音単位の2chのうちのLchの各種リソースを用いてモノラル発音を行っているが、Rchの各種リソースを用いてモノラル発音をするようにしてもよい。
音源レジスタ23における新たなノートオンに割り当てられた発音単位の領域に各種パラメータが設定され、当該発音単位に対して発音開始が指示されると、FG20aは、ステレオ発音する場合と同様にして、当該発音単位のタイムスロットでFナンバを生成し、PG20bは、ステレオ発音する場合と同様にして、当該発音単位のタイムスロットで、サンプリング周期毎にFナンバを累算し、読出アドレスを生成するための整数部と小数部からなる位相を生成してWAG20cに出力する。
楽音生成装置1において新たなノートオンイベントが検出された際に、CPU10は、発音割当処理を行うことにより新たなノートオンを空き発音単位に割り当て、音源レジスタ23における割り当てられた発音単位の領域に上記した図3(a)(b)に示す新たなノートオンの各種パラメータを設定する。この場合は、音源レジスタ23に設定されるモードフラグ(Mode)はモノラル発音モードとされるが、モノラル発音のノートオンでも2chの発音単位が割り当てられる。なお、この実施形態では、音源部20の各発音単位の2chのうちのLchの各種リソースを用いてモノラル発音を行っているが、Rchの各種リソースを用いてモノラル発音をするようにしてもよい。
音源レジスタ23における新たなノートオンに割り当てられた発音単位の領域に各種パラメータが設定され、当該発音単位に対して発音開始が指示されると、FG20aは、ステレオ発音する場合と同様にして、当該発音単位のタイムスロットでFナンバを生成し、PG20bは、ステレオ発音する場合と同様にして、当該発音単位のタイムスロットで、サンプリング周期毎にFナンバを累算し、読出アドレスを生成するための整数部と小数部からなる位相を生成してWAG20cに出力する。
WAG20cは、当該発音単位のLchのタイムスロットで、波形アドレス用パラメータ(WAPs)の内のLch波形指定情報とループ情報、および、位相の整数部に基づいて発音単位におけるLchの波形アドレスが生成される。WAG20cから出力されるLchの波形アドレス(整数部)は読出&Cashe部20dに供給され、当該発音単位のLchのタイムスロットを用いて、波形メモリ21からモノラルの波形データのサンプルが読み出される。読み出されたモノラルの波形データは、DEC20eにおいて、当該発音単位のLchのタイムスロットで伸張され、元のモノラル波形データサンプルが出力される。DEC20eから出力されるモノラルの波形データのうちの最新の2サンプルがINT20fに供給され、当該発音単位のLchのタイムスロットで、WAG20cから供給されている発音単位の位相の小数部に基づいて補間処理することにより、補間されたモノラルの波形データを得るようにしている。INT20fから出力される補間されたモノラルの発音単位の波形データは、DCF20gに供給され、DCF20gにおいて、当該発音単位のLchのタイムスロットで、LFO20mからの変調データとFEG20nからのフィルタEG波形とに応じたカットオフ周波数やQ(選択度)で、高域成分が減衰されて、高調波成分が調整されたモノラルの波形データが出力される。PEG20k、FEG20n、AEG20p、および、LFO20mは、それぞれステレオ発音の場合と同様に、当該発音単位のタイムスロットで、ピッチEG波形、フィルタEG波形、振幅EG波形、および、LFO波形を生成する。
DCF20gから出力されるモノラル波形データは、ディジタルコントロールドアンプ(DCA)20hに供給され、当該発音単位のLchとRchのタイムスロットで、モノラル波形データの音量が制御される。DCA20hには、LFO20mからの変調データとAEG20pからの音量EG波形、および、音源レジスタ23からのパンデータ(PANs)とが供給されている。この場合、LFO20mからの変調データと音量EG波形とLchのパンデータ(PAN(L))に応じてモノラル波形データの音量が制御されてMIX20iのLch側に出力され、LFO20mからの変調データと音量EG波形とRchのパンデータ(PAN(R))に応じて同じモノラル波形データの音量が制御されてMIX20iのRch側に出力される。このように、DCA20hからは音像位置がパンデータ(PANs)により定位されたモノラルの波形データが、Lchの楽音データとRchの楽音データとして、当該発音単位のタイムスロットで、MIX20iのLch側とRch側に出力される。
MIX20iにおいては、当該発音単位のタイムスロットでLch側に供給されたモノラルの波形データサンプルは、他の発音単位のタイムスロットでLch側に供給された波形データサンプルと累算され、Rch側に供給されたモノラルの波形データのサンプルは、他の発音単位のタイムスロットでRch側に供給された波形データサンプルと累算されて、1DAC周期の全ての発音単位について累算されたLchとRchとの波形データサンプルが、1DAC周期毎に、DAC20jに出力される。DAC20jは、1DAC周期毎に、供給された波形データサンプルをアナログのステレオ波形信号に変換して、変換されたアナログのLchとRchとの波形信号を、サウンドシステム22に供給する。サウンドシステム22からは、パンデータ(PANs)により音像が定位された、ステレオ発音の発音単位のステレオ信号と、モノラル発音の発音単位のモノラル信号との混合音である、ステレオの波形信号が放音されることになる。
上記したように、モノラル発音モードが設定された発音単位では、その発音単位が有するWAG20c、読出&Cashe部20dおよびDEC20eの2ch分のリソースの内の1chの処理しか使用しないため、残り1ch分のリソースが余ることになる。そこで、これらのリソースを、全て、当該発音単位の1サンプリング周期におけるモノラル波形データのサンプルの読み出しに転用するようにすると、1サンプリング周期において2倍の数のサンプルを読み出しデコードできることから、モノラル発音時においては、通常の2倍までのピッチアップを行うことができるようになる。
上記したように、モノラル発音モードが設定された発音単位では、その発音単位が有するWAG20c、読出&Cashe部20dおよびDEC20eの2ch分のリソースの内の1chの処理しか使用しないため、残り1ch分のリソースが余ることになる。そこで、これらのリソースを、全て、当該発音単位の1サンプリング周期におけるモノラル波形データのサンプルの読み出しに転用するようにすると、1サンプリング周期において2倍の数のサンプルを読み出しデコードできることから、モノラル発音時においては、通常の2倍までのピッチアップを行うことができるようになる。
次に、本発明の楽音生成装置1において、楽音の減衰の開始を指示するノートオフが検出されたときに、CPU10が実行するノートオフイベント処理のフローチャートを図7に示す。ノートオフは、楽音の減衰の開始を指示する命令(MIDIメッセージ)であって、パラメータとして、何れのパートの命令であるかを示すパート番号と、減衰開始すべき楽音の音高を示すノート番号とを伴っている。例えば、操作子13とされる鍵盤で、それまで押下されていた鍵が離鍵されたとき、その鍵盤が制御するパートを示すパート番号と、その鍵のノート番号を含むノートオフが生成される。また、通信I/O15を介して、外部機器からノートオフを受信する場合もある。
CPU10は、ノートオフが検出されると、図7に示すノートオフイベント処理をスタートし、ステップS20にて、ノートオフが指示された楽音のパート番号をRAM12のワークエリアに確保された領域PTに、ノート番号を領域NNに格納する。次いで、ステップS21にて、音源部20で楽音データを生成中の発音単位の中から、領域PTのパート番号が示すパートで、領域NNのノート番号が示す音高の楽音を形成中の発音単位(Unit)を検出する処理が行われ、該当する発音単位が検出されると、当該発音単位のUnit番号がRAM12のワークエリアに確保された領域DUに格納される。そして、ステップS22にて、ステップS21で該当する発音単位が検出されたか否かが判断され、検出されたと判断された場合はステップS23に進む。ステップS23では、音源レジスタ23の減衰開始フラグRT(DU)に「1」を書き込むことにより、領域DUのUnit番号が示す当該発音単位に対してリリースの開始を指示する。これにより、ノートオフイベント処理は終了し、音源部20のPEG20k、FEG20n、およびAEG20pでは、それぞれ、該リリース開始指示(RT(DU)←1)をトリガとして、当該発音単位のタイムスロットで生成中のピッチEG波形、フィルタEG波形、および振幅EG波形をリリースステートに移行させる。リリースステートに移行した振幅EG波形は、現在のレベルからゼロレベル(−∞dB)に向けて、音源レジスタ23から供給されるリリースステートのAEGレートで徐々に減少するので、これによって、当該発音単位のLchとRchのタイムスロットで生成中のLchとRchの楽音データの音量が、ゼロレベルに向けて徐々に減衰する。また、ステップS22にて、検出されなかったと判断された場合は、そのままノートオフイベント処理は終了する。また、充分に減衰が進んだ発音単位が検出された場合には、CPU10が、その発音単位を上述した「空き発音単位」として開放する開放処理を行う。
なお、本実施形態は、「*」が付されたステップS23の減衰開始指示処理において、ステレオ発音モードがモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
CPU10は、ノートオフが検出されると、図7に示すノートオフイベント処理をスタートし、ステップS20にて、ノートオフが指示された楽音のパート番号をRAM12のワークエリアに確保された領域PTに、ノート番号を領域NNに格納する。次いで、ステップS21にて、音源部20で楽音データを生成中の発音単位の中から、領域PTのパート番号が示すパートで、領域NNのノート番号が示す音高の楽音を形成中の発音単位(Unit)を検出する処理が行われ、該当する発音単位が検出されると、当該発音単位のUnit番号がRAM12のワークエリアに確保された領域DUに格納される。そして、ステップS22にて、ステップS21で該当する発音単位が検出されたか否かが判断され、検出されたと判断された場合はステップS23に進む。ステップS23では、音源レジスタ23の減衰開始フラグRT(DU)に「1」を書き込むことにより、領域DUのUnit番号が示す当該発音単位に対してリリースの開始を指示する。これにより、ノートオフイベント処理は終了し、音源部20のPEG20k、FEG20n、およびAEG20pでは、それぞれ、該リリース開始指示(RT(DU)←1)をトリガとして、当該発音単位のタイムスロットで生成中のピッチEG波形、フィルタEG波形、および振幅EG波形をリリースステートに移行させる。リリースステートに移行した振幅EG波形は、現在のレベルからゼロレベル(−∞dB)に向けて、音源レジスタ23から供給されるリリースステートのAEGレートで徐々に減少するので、これによって、当該発音単位のLchとRchのタイムスロットで生成中のLchとRchの楽音データの音量が、ゼロレベルに向けて徐々に減衰する。また、ステップS22にて、検出されなかったと判断された場合は、そのままノートオフイベント処理は終了する。また、充分に減衰が進んだ発音単位が検出された場合には、CPU10が、その発音単位を上述した「空き発音単位」として開放する開放処理を行う。
なお、本実施形態は、「*」が付されたステップS23の減衰開始指示処理において、ステレオ発音モードがモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
次に、本発明の楽音生成装置1において、楽音の生成中にピッチベンド命令が検出されたときに、CPU10が実行するピッチベンドイベント処理のフローチャートを図8に示す。ピッチベンド命令は、1つのパートで生成中の1ないし複数の楽音のピッチをリアルタイムに変化させる命令(MIDIメッセージ)であって、パラメータとして、何れのパートの命令であるかを示すパート番号と、音高の変化量を示すベンド量とを伴っている。例えば、操作子13とされるピッチベンドホイールが操作されると、そのホイールが制御するパートを示すパート番号と、その操作量に応じたベンド量を含むピッチベンド命令が生成される。また、通信I/O15を介して、外部機器からピッチベンド命令を受信する場合もある。
ピッチベンド命令が検出されると、図8に示すピッチベンドイベント処理がスタートされ、ステップS30にて、ピッチベンド命令に付随するパート番号をRAM12のワークエリアに確保された領域PTに、ベンド量を領域PVに格納する。次いで、ステップS31にて128ある発音単位(Unit)の先頭の発音単位が指定されて、指定された発音単位のUnit番号がRAM12のワークエリアに確保された領域CUに格納される。そして、ステップS32にて領域CUに格納されているUnit番号から後方へ向かって、領域PTに格納されているパート番号の楽音データを形成中の発音単位が検出されて、検出された場合はその発音単位のUnit番号がRAM12のワークエリアに確保された領域DUに格納される。そして、上記楽音データを形成中の発音単位が検出されたか否かがステップS33にて判断され、検出されたと判断された場合はステップS34に進む。
ピッチベンド命令が検出されると、図8に示すピッチベンドイベント処理がスタートされ、ステップS30にて、ピッチベンド命令に付随するパート番号をRAM12のワークエリアに確保された領域PTに、ベンド量を領域PVに格納する。次いで、ステップS31にて128ある発音単位(Unit)の先頭の発音単位が指定されて、指定された発音単位のUnit番号がRAM12のワークエリアに確保された領域CUに格納される。そして、ステップS32にて領域CUに格納されているUnit番号から後方へ向かって、領域PTに格納されているパート番号の楽音データを形成中の発音単位が検出されて、検出された場合はその発音単位のUnit番号がRAM12のワークエリアに確保された領域DUに格納される。そして、上記楽音データを形成中の発音単位が検出されたか否かがステップS33にて判断され、検出されたと判断された場合はステップS34に進む。
ステップS34では、音源レジスタ23中の領域DUのUnit番号が示す発音単位におけるLchとRchに共通のピッチシフトPS(DU)の値が、当該発音単位で発音中の楽音のノート番号と領域PVのベンド量とに基づいて変更される。ステップS34の処理が終了するとステップS35にて領域DUのUnit番号が1だけインクリメントされて、そのUnit番号が領域CUに格納されて、ステップS32に戻る。ステップS32では領域CUに格納されている領域DUに格納された1インクリメントされたUnit番号から後方へ向かって、領域PTのパート番号が示すパートの楽音データを形成中の発音単位を検出する処理がさらに行われ、検出された場合はその発音単位のUnit番号が領域DUに格納され、続いてステップS33以降の処理が行われる。このステップS32ないしステップS35の処理が繰り返し行われることにより、領域PTのパート番号が示すパートの楽音データを形成中の発音単位の全てが検出され、音源レジスタ23中のそれらの発音単位におけるLchとRchに共通のピッチシフトPS(DU)の値が、それぞれ領域PVのベンド量に基づいて変更される。そして、領域PTに格納されているパート番号の楽音を形成中の該当発音単位の全てが検出されて、ステップS33にて該当発音単位がないと判断されると、ピッチベンドイベント処理は終了する。この処理の結果、音源20で生成中の、ピッチベンド命令のパート番号が示すパートの全ての楽音データのピッチが、ピッチベンド命令のベンド量に応じて変化(ベンド)する。
なお、本実施形態は、「*」が付されたステップS34のピッチ変更処理において、ステレオ発音モードかモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
なお、本実施形態は、「*」が付されたステップS34のピッチ変更処理において、ステレオ発音モードかモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
上記説明したように、ノートオンイベント処理、ノートオフイベント処理およびピッチベンドイベント処理では、制御対象の楽音データがモノラル発音されるかステレオ発音されるかに関わらず、その発音データを生成する発音単位に対して処理が行われるようになる。モノラル発音では、発音単位の一部のリソースが使われず一見無駄が多いように見えるが、高品質なステレオ発音を用いる音色が多数となっている現状では、実際問題として無駄になるリソースは余り多くなく、CPU10の負荷を軽減できる効果の方が遥かに大きい。
また、音源部20においては、発音単位毎にステレオ発音モードかモノラル発音モードかが設定されることから、ステレオ発音モードの発音単位とモノラル発音モードの発音単位とが平行して楽音データを生成するようになる。
また、音源部20においては、発音単位毎にステレオ発音モードかモノラル発音モードかが設定されることから、ステレオ発音モードの発音単位とモノラル発音モードの発音単位とが平行して楽音データを生成するようになる。
以上説明した本発明の楽音生成装置においては、波形メモリに圧縮された波形データも記録されるようにしていたが、これに限ることはなく圧縮されていない波形データのみを記録するようにしても良い。この場合は、伸張処理を行うDEC20eを省略することができる。また、本発明にかかる楽音生成装置の発音ch数を256chとしたが、これに限ることはなく256chより多くても少なくても良い。この場合、発音単位数は発音ch数の半分となる。
なお、WAG20c、読出&Cache部20d、DEC20e、INT20f、DCF20g等のステレオ2ch分のリソースを有する各ブロックでは、モノラル発音モードの発音単位のタイムスロットにおいて、Lchのリソースを使用してモノラル波形データの処理を行うようになっていたが、Rchのリソースを使用してモノラル波形データの処理を行うように変更してもよい。
また、トランケートUnit決定処理では、サーチ対象パートの楽音を生成している発音単位のLchの音量レベルに基づいて、トランケートする発音単位を決定していたが、この決定を、LchとRchのうちの大きいほうの音量レベルに基づいて行うようにしてもよい。また、その発音単位がリリース開始前か後かに関わらず、トランケートする発音単位を決定するようにしていたが、既にリリース開始されている発音単位を、優先的にトランケートする発音単位として決定するようにしてもよい。また、まず、サーチ対象のパートを絞り込み、絞り込まれたパートの楽音を生成している発音単位の音量レベルに基づいて、トランケートする発音単位を決定していたが、この絞込みを行わず、全パートの楽音を生成している発音単位の音量に基づいて、トランケートする発音単位を決定するようにしてもよい。
また、CPU11は、セントスケールのFナンバであるピッチシフトデータ(PS)を、音源レジスタ23に設定するようになっていたが、その代わりに、リニアスケールのFナンバを設定するようにしてもよい。この場合、Fナンバ発生部20aでは、CPU11が設定したFナンバを、セントスケールからリニアスケールに変換する必要はなくなる。ただし、Fナンバ発生部20aにおける、CPU11からのFナンバと、PEG20kからのピッチEGと、LFO20mからの変調データの合成のための構成が複雑化するので、音源レジスタ23にリニアスケールのFナンバを記憶させることは、設計として不適切である。
リアルタイムに制御パラメータの値を制御する例として、ピッチベンド命令の例を示したが、リアルタイム制御はこれに限らない。例えば、音量をリアルタイム制御するエクスプレション命令、LFOによる振幅等の変調深さをリアルタイム制御するモジュレーションデプス命令、カットオフ周波数をリアルタイム制御するパラメータチェンジ命令等によるリアルタイム制御であってもよい。
なお、WAG20c、読出&Cache部20d、DEC20e、INT20f、DCF20g等のステレオ2ch分のリソースを有する各ブロックでは、モノラル発音モードの発音単位のタイムスロットにおいて、Lchのリソースを使用してモノラル波形データの処理を行うようになっていたが、Rchのリソースを使用してモノラル波形データの処理を行うように変更してもよい。
また、トランケートUnit決定処理では、サーチ対象パートの楽音を生成している発音単位のLchの音量レベルに基づいて、トランケートする発音単位を決定していたが、この決定を、LchとRchのうちの大きいほうの音量レベルに基づいて行うようにしてもよい。また、その発音単位がリリース開始前か後かに関わらず、トランケートする発音単位を決定するようにしていたが、既にリリース開始されている発音単位を、優先的にトランケートする発音単位として決定するようにしてもよい。また、まず、サーチ対象のパートを絞り込み、絞り込まれたパートの楽音を生成している発音単位の音量レベルに基づいて、トランケートする発音単位を決定していたが、この絞込みを行わず、全パートの楽音を生成している発音単位の音量に基づいて、トランケートする発音単位を決定するようにしてもよい。
また、CPU11は、セントスケールのFナンバであるピッチシフトデータ(PS)を、音源レジスタ23に設定するようになっていたが、その代わりに、リニアスケールのFナンバを設定するようにしてもよい。この場合、Fナンバ発生部20aでは、CPU11が設定したFナンバを、セントスケールからリニアスケールに変換する必要はなくなる。ただし、Fナンバ発生部20aにおける、CPU11からのFナンバと、PEG20kからのピッチEGと、LFO20mからの変調データの合成のための構成が複雑化するので、音源レジスタ23にリニアスケールのFナンバを記憶させることは、設計として不適切である。
リアルタイムに制御パラメータの値を制御する例として、ピッチベンド命令の例を示したが、リアルタイム制御はこれに限らない。例えば、音量をリアルタイム制御するエクスプレション命令、LFOによる振幅等の変調深さをリアルタイム制御するモジュレーションデプス命令、カットオフ周波数をリアルタイム制御するパラメータチェンジ命令等によるリアルタイム制御であってもよい。
1 楽音生成装置、10 CPU、11 フラッシュROM、12 RAM、13 操作子、14 表示器、15 通信I/O、16 バスライン、20 音源部、20a FG、20b PG、20c WAG、20d 読出&Cashe、20e DEC、20f INT、20g DCF、20h DCA、20i MIX、20j DAC、20k PEG、20m LFO、20n FEG、20p AEG、21 波形メモリ、22 サウンドシステム、23 音源レジスタ、111 位相発生部、112 波形読出部、113 特性制御部、114 MIX、115 DAC、116 制御波形発生部、117a 受付部、122 制御部
Claims (2)
- ステレオサンプリングされたLch波形データとRch波形データとからなる波形データペアと、モノラルサンプリングされたモノ波形データとを、それぞれ、複数記憶している波形メモリと、
モードフラグに応じてステレオ発音モードまたはモノラル発音モードで動作する、2つの発音chからなる発音単位であって、N(Nは1以上の整数)個の発音単位を備えており、ステレオ発音モードで動作する各発音単位は、前記波形メモリから2ch分の波形データを読み出して、2chの楽音波形を生成し、モノラル発音モードで動作する各発音単位は、前記波形メモリから1ch分の波形データを読み出して、1chの楽音波形を生成する音源部と、
N個の発音単位に対応するN個の音色制御データを記憶しており、各音色制御データは、前記モードフラグ、第1波形指定情報、第2波形指定情報、Fナンバ、および、特性パラメータを含んでいる音源レジスタと、
前記音源レジスタへパラメータを書き込むことにより、前記音源部の動作を制御する制御部とを備え、
前記制御部は、新たな楽音の発音を指示する発音指示命令(ノートオン)に応じて、
N発音単位の何れか1つを、発音指示された楽音の生成に割り当て、
発音指示された楽音がステレオかモノラルかを判定し、
発音指示された楽音がステレオの場合は、ステレオ発音モードを示すモードフラグ、該楽音の生成に使用する第1波形指定情報、第2波形指定情報、Fナンバ、および、特性パラメータを含む音色制御データを形成し、前記音源レジスタの割り当てた発音単位に対応する記憶領域に設定するようにし、発音指示された楽音がモノラルの場合は、モノラル発音モードを示すモードフラグ、該楽音の生成に使用する第1波形指定情報、Fナンバ、および、特性パラメータを含む音色制御データを形成し、前記音源レジスタの割り当てた発音単位に対応する記憶領域に設定するようにして、
割り当てた発音単位に対して、発音の開始を指示する処理を行い、
前記音源部は、前記制御部からの1つの発音単位に対する発音開始指示に応じて、
前記音源レジスタに記憶された当該発音単位のモードフラグがステレオ発音モードを示していれば、前記音源レジスタに設定された当該発音単位の第1波形指定情報が示すLch(又はRch)波形データと、当該発音単位の第2波形指定情報が示すRch(又はLch)波形データとを、それぞれ、当該発音単位のFナンバが示す速度で前記波形メモリから読み出し、読み出されたLch波形データとRch波形データの各楽音特性を、前記音源レジスタに設定された当該発音単位の特性制御パラメータに基づいて制御して、Lchの楽音信号とRchの楽音信号とを形成し、
前記音源レジスタに記憶された当該発音単位のモードフラグがモノラル発音モードを示していれば、前記音源レジスタに記憶された当該発音単位の第1波形指定情報が示すモノ波形データを、当該発音単位のFナンバが示す速度で波形メモリから読み出し、読み出されたモノ波形データの楽音特性を、前記音源レジスタに設定された当該発音単位の特性制御パラメータに基づいて制御して、モノラルの楽音信号を形成する処理を行うことを特徴とする楽音生成装置。 - 前記制御部は、生成中の楽音のFナンバあるいは制御パラメータの値を指示する制御命令に応じて、
当該制御命令の制御対象の楽音を生成中の発音単位を特定し、
前記音源レジスタの該特定された発音単位のFナンバあるいは制御パラメータの値を、前記制御命令で指示された値に変更する処理を行い、
前記音源部は、前記制御部によるFナンバあるいは制御パラメータの値の変更により、
前記音源レジスタに記憶された当該発音単位のモードフラグがステレオ発音モードを示していれば、前記波形メモリからLch波形データとRch波形データを読み出す際の各読出速度を、変更されたFナンバにより制御あるいは読み出したLch波形データとRch波形データの各楽音特性の制御を、変更された特性パラメータにより制御し、
前記音源レジスタに記憶された当該発音単位のモードフラグがモノラル発音モードを示していれば、前記波形メモリからモノ波形データを読み出す際の読出速度を、変更されたFナンバにより制御あるいは読み出したモノ波形データの楽音特性の制御を、変更された特性パラメータにより制御する処理を行うことを特徴とする請求項1記載の楽音生成装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010174519A JP5573465B2 (ja) | 2010-08-03 | 2010-08-03 | 楽音生成装置 |
EP11176241.5A EP2416311B1 (en) | 2010-08-03 | 2011-08-02 | Tone generation apparatus |
US13/196,741 US8389844B2 (en) | 2010-08-03 | 2011-08-02 | Tone generation apparatus |
CN201110221297.0A CN102347023B (zh) | 2010-08-03 | 2011-08-03 | 乐音产生设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010174519A JP5573465B2 (ja) | 2010-08-03 | 2010-08-03 | 楽音生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012037562A JP2012037562A (ja) | 2012-02-23 |
JP5573465B2 true JP5573465B2 (ja) | 2014-08-20 |
Family
ID=45849651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010174519A Expired - Fee Related JP5573465B2 (ja) | 2010-08-03 | 2010-08-03 | 楽音生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5573465B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07113830B2 (ja) * | 1990-03-19 | 1995-12-06 | ヤマハ株式会社 | 電子楽器 |
JPH0820872B2 (ja) * | 1990-03-20 | 1996-03-04 | ヤマハ株式会社 | 波形発生装置 |
US6169241B1 (en) * | 1997-03-03 | 2001-01-02 | Yamaha Corporation | Sound source with free compression and expansion of voice independently of pitch |
JP2003108142A (ja) * | 2001-09-28 | 2003-04-11 | Casio Comput Co Ltd | 楽音発生装置及び楽音発生処理のプログラム |
-
2010
- 2010-08-03 JP JP2010174519A patent/JP5573465B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012037562A (ja) | 2012-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2416311B1 (en) | Tone generation apparatus | |
US6687674B2 (en) | Waveform forming device and method | |
JP4181637B2 (ja) | ウェーブテーブルシンセサイザに使用される音響サンプルを予め処理するための期間強制フィルタ | |
JP2008112183A (ja) | 音響シンセサイザにおける低減メモリリバーブシミュレータ | |
JP2007011217A (ja) | 楽音合成装置及びプログラム | |
KR100416932B1 (ko) | 악음발생장치,악음발생방법및기억매체 | |
EP3373289B1 (en) | Electronic musical instrument, musical sound generating method, and storage medium | |
JP3008922B2 (ja) | 楽音発生装置および楽音発生方法 | |
JP4867940B2 (ja) | 楽音生成装置及びプログラム | |
US6762358B2 (en) | Waveform reproduction apparatus | |
JP5573465B2 (ja) | 楽音生成装置 | |
JP5732769B2 (ja) | 楽音生成装置 | |
JP2012037561A (ja) | 楽音生成装置 | |
JP5316091B2 (ja) | 波形メモリ音源 | |
JP4236570B2 (ja) | 波形再生装置および波形再生プログラム | |
JP3746578B2 (ja) | 波形発生装置 | |
JP2940440B2 (ja) | 電子楽器の波形データ圧縮記録方法および波形データ再生方法 | |
JP5353305B2 (ja) | 波形データの形成方法 | |
JP2000089765A (ja) | 楽音発生装置 | |
JP5070842B2 (ja) | 楽音生成装置及びプログラム | |
JP4097785B2 (ja) | 波形再生装置 | |
JP3589382B2 (ja) | 楽音信号生成装置 | |
JP2794561B2 (ja) | 波形データ発生装置 | |
JP2956552B2 (ja) | 楽音発生方法および装置 | |
JPH07271375A (ja) | 音源装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130620 |
|
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: 20140603 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140616 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5573465 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |