JP4353225B2 - 楽音形成装置 - Google Patents

楽音形成装置 Download PDF

Info

Publication number
JP4353225B2
JP4353225B2 JP2006267167A JP2006267167A JP4353225B2 JP 4353225 B2 JP4353225 B2 JP 4353225B2 JP 2006267167 A JP2006267167 A JP 2006267167A JP 2006267167 A JP2006267167 A JP 2006267167A JP 4353225 B2 JP4353225 B2 JP 4353225B2
Authority
JP
Japan
Prior art keywords
write
parameter
synchronous
writing
parameters
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
JP2006267167A
Other languages
English (en)
Other versions
JP2008089642A (ja
JP2008089642A5 (ja
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006267167A priority Critical patent/JP4353225B2/ja
Publication of JP2008089642A publication Critical patent/JP2008089642A/ja
Publication of JP2008089642A5 publication Critical patent/JP2008089642A5/ja
Application granted granted Critical
Publication of JP4353225B2 publication Critical patent/JP4353225B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、発音指示があった際に発音遅れが生じることなく直ちに発音することのできる楽音形成装置に関する。
従来、電子楽器等に用いられる楽音形成装置として、自然楽器音の立上りから終了までの楽音波形サンプルの波形データを記憶した波形メモリを用意して、この波形メモリから順次楽音波形サンプルを読み出すことにより楽音信号を発生させるようにした波形メモリタイプの音源が知られている。この音源は、楽音形成装置全体の動作を制御するCPU(Central Processing Unit)とデータバスやアドレスバスを介して接続されている。音源は、バスを介して各種音源パラメータ情報を受けて内蔵するレジスタの各バッファに書き込んでいる。この場合、バッファに書き込まれるパラメータは、波形制御用パラメータ、フィルタ係数、エンベロープパラメータや音量パラメータ、ミキサー情報、エフェクト情報等とされる。
特開平7−160262号公報
従来の楽音形成装置が備える波形メモリタイプの音源の構成を示すブロック図を図11に示す。
図11において、CPU(Central Processing Unit)110は、楽音形成装置に備えられ楽音形成装置全体の動作を制御している。音源100は波形メモリタイプの音源とされており、CPUインターフェース111を介してCPU110とバスにより接続されている。音源100は、CPUインターフェース111を介して各種音源パラメータ情報をCPU110から受けてレジスタ114の各バッファに書き込んでいる。レジスタ114には、波形制御用パラメータ、フィルタ係数、エンベロープパラメータや音量パラメータ、ミキサー情報等が格納されるバッファがそれぞれ用意されている。また、発音チャンネルから読み出された現在の出力レベルが書き込まれるバッファもレジスタ114に用意されている。レジスタ114にCPU110から受けたパラメータを書き込む際に、同期書込対象とされているパラメータは同期書込用バッファ112に一時格納されて、同期書込期間となったタイミングでセレクタ113から出力されてレジスタ114に書き込まれる。また、同期書込対象外のパラメータは同期書込用バッファ112に書き込まれることなくセレクタ113から出力されてレジスタ114に書き込まれる。
波形形成部119は複数の発音チャンネルの各発音チャンネルにおいて、サンプリング周期毎に波形サンプルを形成している。この際に、レジスタ114から読込/書込(R/W)回路117により読み出された波形サンプルを形成する発音チャンネルのパラメータに基づいて波形メモリ120から波形データを読み出して、当該発音チャンネルの波形サンプルを形成している。波形形成部119により形成された各発音チャンネルの波形サンプルは合成されて出力される楽音波形のサンプリング周期毎にDAC(デジタル・アナログ変換器)121に出力されてアナログ信号に変換され放音される。また、音量演算回路118は、波形形成部119におけるCPU110から読込要求されたチャンネル(Nch)の現在の音量パラメータを算出して、レジスタ114に書き込むようにしている。
次に、図11に示す従来の楽音形成装置における楽音形成装置が備えるCPU110と音源100との動作タイミングを図12に示す。
図12において、横軸は時間とされており2DACサイクル分が示されている。DACサイクルは、最終的に出力する波形データのサンプリング周期である。発音チャンネル数が128チャンネルとされる場合の例が図12に示されており、1DACサイクル内に128の時分割区間が設定されている。時分割区間は、それぞれの発音チャンネルにおいて波形形成に割り当てられる128区間とされており、各発音チャンネルにおいて波形形成する際に必要とされるパラメータの読み出しタイミングがt1,t2,t3,・・・,t128のタイミングとされている。そして、タイミングt128と次の1DACサイクルが開始されるタイミングt0’までの区間における空き時間が同期書込を行うタイミングとされている。各発音チャンネルに割り当てられた各時分割区間においては、その発音チャンネルに対応するt1〜t128の読み出しタイミングで読み出された当該発音チャンネルのパラメータに基づいて波形メモリ120から読み出された波形データから当該発音チャンネルの楽音波形が形成される。
図12において、CPU110は音源100におけるDACサイクルの管理を行っていないことから、CPU110から音源100へのパラメータの書き込みや読み込みのコマンドは図12に示すようにDACサイクルの各タイミングとは無関係なランダムなタイミングでCPU110において実行される。例えば、タイミングt1付近のタイミングで同期書込を行わないパラメータaを音源100におけるレジスタ114の第10チャンネル(10ch)の位置へ書き込む書込コマンドがCPU110において実行されたとする。すると、このパラメータaが同期書込を行わないと判断される共に同期書込中であることを示すビジーフラグがオンとなっていないと判断されて、書込指示と書き込むパラメータaのデータと、書込先のアドレス(10chのアドレス)とがCPU110から音源100に出力される。音源100が、書込指示とパラメータaとそのアドレスを受け取ると、受け取ったパラメータaをセレクタ113を介してパラメータaのアドレスで示されるレジスタ114の位置(10ch)に書き込む処理が行われる。
また、タイミングt2とタイミングt3との間でレジスタ114の第3チャンネル(3ch)からパラメータbを読み込む読込コマンドがCPU110において実行されると、同期書込中であることを示すビジーフラグがオンとなっていないと判断されて、この読込指示と読込先のアドレス(3chのアドレス)とを音源100に出力する。音源100が読込指示と読込先のアドレスとを受け取ると、読込先のアドレスで指定されるレジスタ114の位置(3ch)からパラメータbを読み込んで、読み込んだパラメータbを音源100からCPU110に出力する処理が行われる。
さらに、タイミングt4付近で同期書込を行わないパラメータcを音源100におけるレジスタ114の第25チャンネル(25ch)の位置へ書き込む書込コマンドがCPU110において実行されると、前記したパラメータaを書き込む処理と同様の処理が行われて、パラメータcがレジスタ114の第25チャンネル(25ch)の位置へ書き込まれる。
そして、その後のタイミングにおいて同期書込を行うパラメータdを音源100におけるレジスタ114の第12チャンネル(12ch)の位置へ書き込む書込コマンドがCPU110において実行されると、CPU110は同期書込中であることを示すビジーフラグがオンとなっていないと判断して、パラメータdおよび書込先のアドレス(12chのアドレス)と、これらを同期書込用バッファ112に書き込む書込指示を音源100に出力する。音源100は、この書込指示を受け取ると受け取ったパラメータdおよびアドレス(12chのアドレス)を同期書込用バッファ112に書き込む処理を行う。
この後のタイミングにおいて、レジスタ114の第27チャンネル(27ch)からパラメータeを読み込む読込コマンドがCPU110において実行されると、まだ、同期書込中であることを示すビジーフラグがオンとなっていないとCPU110で判断されて、この読込指示と読込先のアドレス(27chのアドレス)とを音源100に出力する。音源100が読込指示と読込先のアドレスとを受け取ると、読込先のアドレスで指定されるレジスタ114の位置(27ch)からパラメータbを読み込んでCPU110に出力する処理が行われる。
さらに後のタイミングにおいて、同期書込を行うパラメータfを音源100におけるレジスタ114の第20チャンネル(20ch)の位置へ書き込む書込コマンドがCPU110において実行されると、CPU110は同期書込中であることを示すビジーフラグがオンとなっていないと判断して、パラメータfおよび書込先のアドレス(20chのアドレス)と、これらを同期書込用バッファ112に書き込む書込指示を音源100に出力する。音源100は、この書込指示を受け取ると受け取ったパラメータfおよびアドレス(20chのアドレス)を同期書込用バッファ112に書き込む処理を行う。
さらに後のタイミングにおいて、レジスタ114の第10チャンネル(10ch)からパラメータgを読み込む読込コマンドがCPU110において実行されると、同期書込中であることを示すビジーフラグがオンとなっていないとCPU110で判断されて、この読込指示と読込先のアドレス(10chのアドレス)とを音源100に出力する。音源100が読込指示と読込先のアドレスとを受け取ると、読込先のアドレスで指定されるレジスタ114の位置(10ch)からパラメータgを読み込んでCPU110に出力する処理が行われる。
ここで、CPU110が同期書込を行うパラメータが全て同期書込用バッファ112に書き込まれたと判断すると、CPU110は同期書込指示hを音源100に出力する。音源100がこの同期書込指示hを受け取ると、同期書込中であることを示すビジーフラグをオン状態にして現在のDACサイクルにおいて同期書き込みする期間が到来するまで待機される。同期書き込みは、タイミングt128と次の1DACサイクルが開始されるタイミングt0’までの期間における空き時間とされている。これは、1DACサイクルの途中において同期書き込みを行うと、各発音チャンネルにおける波形データの形成はそれぞれ割り当てられた異なる時分割区間で行われているため、同期書込のタイミングによっては書き込まれたパラメータが反映される発音チャンネルと反映されない発音チャンネルとが生じてしまい、発音チャンネル間の波形データの位相がずれて聴取した際に違和感を生じるからである。このため、全ての発音チャンネルにおいて楽音波形の形成が終了してから同期書込を行うようにしている。
CPU110は同期書込指示hを出力するが、同期書き込みが終了したか否かについては管理しておらず、同期書込中のタイミングにおいてもCPU110はパラメータの書込コマンドや読込コマンドを実行する。例えば、ビジーフラグがオンとなっている同期書込中のタイミングにおいて同期書込を行わないパラメータiを音源100におけるレジスタ114の第50チャンネル(50ch)の位置へ書き込む書込コマンドをCPU110において実行する。この場合、パラメータiが同期書込を行うパラメータではないと判断されるものの、同期書込中であることを示すビジーフラグがオンとなっていると判断されて、ビジーフラグがオフとなるまでCPU110から書込指示等を音源100に送出する処理が待機される。ここで、音源100においてタイミングt128が経過したと判断されると、空き時間において同期書込h’の処理が実行され、同期書込用バッファ112に格納されたパラメータdがその書込先のアドレスで指定されるレジスタ114の位置(12ch)に書き込まれると共に、パラメータfがその書込先のアドレスで指定されるレジスタ114の位置(20ch)に書き込まれる。なお、ビジーフラグは現在のDACサイクルが終了するまで(タイミングt0’)までオンを維持する。
さらに、その後のタイミングにおいてレジスタ114の第17チャンネル(17ch)からのパラメータjの読込コマンドがCPU110において実行されると、同期書込中であることを示すビジーフラグがオンとなっていると判断されて、ビジーフラグがオフとなるまでCPU110から読込指示と読込先のアドレス(17chのアドレス)とを音源100に出力する処理が待機される。
ここで、現在のDACサイクルが終了すると同期書込中であることを示すビジーフラグはオフ状態となり、次のDACサイクルの開始タイミングt0’の後のタイミングi’においてCPU110からパラメータiに関する書込指示等が音源100に出力され、音源100においてパラメータiが、その書込先のアドレスで示されるレジスタの位置(50ch)に書き込まれる。
次いで、タイミングi’の後のタイミングにおいて同期書込を行うパラメータkを音源におけるレジスタの第12チャンネル(12ch)の位置へ書き込む書込コマンドがCPU110において実行される。この場合、パラメータkが同期書込を行うパラメータと判断されると共に、同期書込中であることを示すビジーフラグがオフと判断されるが、パラメータjの読込処理がCPU110において待機されていることから、この処理が終了するまでCPU110から書込指示等を音源100に送出する処理が待機される。
そして、タイミングt1’とタイミングt2’との間のタイミングj’においてCPU110からパラメータjの読込指示と読込先のアドレス(17chのアドレス)とが音源100に出力されて、音源100においてパラメータjの読込処理が実行される。この結果、その読込先のアドレスで指定されるレジスタの位置(17ch)からパラメータjが読み込まれCPU110に出力される。さらに、タイミングt3’付近のタイミングk’においてCPU110からパラメータkとその書込先のアドレスを同期書込用バッファ112に書き込む書込指示が音源100に出力され、音源100において同期書込用バッファ112にパラメータkのデータと書込先のアドレス(12chのアドレス)とが書き込まれる。
このように、従来の楽音形成装置における音源100が内蔵するレジスタ114に書き込まれるパラメータにおいては、同期書込を行うパラメータが存在している。同期書込が必要なパラメータは主に位相の操作を伴うパラメータ、例えば、ピッチにビブラートを印加したりピッチベンドのパラメータとされる。これは、ステレオのような複数の発音チャンネル間において楽音波形の位相がずれると聴取した際に違和感を生じるからである。また、同期書込が不必要なパラメータは例えばレベルに関係するパラメータとされる。なお、同期とは各発音チャンネルの波形データが合成された最終的な楽音波形のサンプリング周期を単位とする同期とされる。
そして、前述したように音源100が内蔵するレジスタ114に同期するパラメータの同期書き込み中においてはビジーフラグをオンとしているため同期書込対象外のパラメータの書込/読込を行うこともできなくなる。すると、同期を行うパラメータの書き込みが終了してビジーフラグがオフとなるまでは、例えば各発音チャンネルの現在の出力レベルを読み出すことができず新たな発音の発音開始が遅れるおそれがあるという問題点があった。なお、各発音チャンネルの現在の出力レベルを読み出す理由は次の通りである。新たな発音要求があった際に割り当てる発音チャンネルがない場合は、リリース状態となっている各発音チャンネルの現在の出力レベルを読み出して、その発音チャンネルの内の最も小さい出力レベルの発音チャンネルを開放して割り当てる必要があるからである。
そこで、本発明は新たな発音の発音開始が遅れることのない楽音形成装置を提供することを目的としている。
上記目的を達成するために、本発明の楽音形成装置における音源手段は、同期書込み対象のパラメータと同期書込み対象外のパラメータが入力されるインターフェースと、同期書込対象のパラメータを書込み先のアドレスと共に一時保存する同期書込用バッファと、楽音形成のための各種パラメータが設定されるレジスタとを備え、レジスタは、同期書込対象のパラメータが格納される第1レジスタと、同期書込対象外のパラメータが格納される第2レジスタからなり、制御手段は、各チャンネルにおける同期書込対象のパラメータおよび同期書込み対象外のパラメータを前記インタフェースを介して前記音源手段に書き込むと共に読み出しており、さらに、前記制御手段は、前記同期書込用バッファへの全ての同期書込み対象のパラメータの書込み終了に応じて、同期書込指示を前記音源手段に出力することにより同期書込対象のパラメータを書き込み中の期間であることを示すビジーフラグをオンとし、該ビジーフラグは、前記処理サイクルの区切りでオフされるものであり、前記音源手段においては、前記制御手段がパラメータの書込み先の書込みアドレスを前記第1レジスタとしているときには、同期書込み対象のパラメータについて、前記ビジーフラグがオフとなっている期間は、書込みが指示された同期書込み対象のパラメータを書込み先のアドレスと共に、前記同期書込用バッファに書き込むと共に、読み出しが指示された同期書込み対象のパラメータを前記第1のレジスタの指示されたアドレスから読み出し、前記ビジーフラグがオンとなっている期間、同期書込対象のパラメータを前記同期書込用バッファへ書き込む処理および同期書込バッファからの読出し処理を前記ビジーフラグがオフとされるまで待機させてから実行すると共に前記複数のチャンネルに割り当てられた時分割区間の終了から前記処理サイクルの区切りまでの期間において、前記書込用バッファに一時保存されている同期書込み対象のパラメータと書込みアドレスを読み出して前記第1のレジスタの対応する書込みアドレスに書き込むようにし、前記制御手段がパラメータの書込み先の書込みアドレスを前記第2レジスタとしている時には、同期書込対象外のパラメータについて前記ビジーフラグがオンとなっている期間においてもオフとなっている期間においても、前記インターフェースを介して前記書込用バッファを経由することなく前記第2レジスタに同期書込対象外のパラメータの書込/読込を行うことができることを最も主要な特徴としている。
本発明によれば、音源手段のレジスタは、同期書込対象のパラメータが格納される第1レジスタと、同期書込対象外のパラメータが格納される第2レジスタからなり、前記制御手段は、同期書込対象のパラメータを前記インタフェースを介して前記同期書込用バッファに書き込み、同期書込指示を前記音源手段に出力することにより、同期書込み対象のパラメータを書き込み中の期間であることを示すビジーフラグをオンとし、前記音源手段は前記同期書込用バッファに一時保存されている同期書込対象のパラメータを、複数のチャンネルに割り当てられた時分割区間の終了から前記処理サイクルの区切りまでの期間において、前記第1レジスタに書き込むと共に、前記ビジーフラグがオンとなっている期間においては、同期書込対象のパラメータを前記同期書込用バッファへ書き込む処理待機さるが、同期書込対象外のパラメータについては前記ビジーフラグがオンとなっている期間においても、前記第2レジスタにアクセスして同期書込対象外のパラメータの書込/読込を行うことができるようになる。これにより、新たな発音の発音開始が遅れることのない楽音形成装置とすることができる。
本発明の実施例である楽音形成装置は、波形メモリタイプの音源を内蔵した構成とされている。図1は本発明にかかる楽音形成装置が備える音源の詳細構成を示すブロック図である。
図1において、CPU(Central Processing Unit)10は楽音形成装置に備えられ、楽音形成装置全体の動作を制御している。音源1は、波形メモリタイプの音源とされておりCPUインターフェース11とデータバス、アドレスバス及び制御信号バスを介してCPU10と接続されている。楽音形成装置は、図示していないがCPU10の各種プログラムや各種データを格納するROM(Read Only Memory)と、CPU10がプログラムを実行する際のワークエリアや各種データを一時的に記憶するRAM(Random Access Memory)を備えている。また、発音すべき楽音の音高を選択するための複数の鍵を備える鍵盤を有していてもよく、鍵盤を操作すると操作された鍵に応じてノートオン、ノートオフ、ベロシティ、ピッチデータ等の各種データがCPU10に出力される。さらに、ROMあるいはRAMに記憶されている演奏データを読み出したり、外部から所望の演奏データを入力するようにしてもよい。
音源1は、CPU10と接続するためのCPUインターフェース11を有し、CPU10からアドレスバス、データバス及び制御信号バスおよびCPUインターフェース11を介して音源1へ音源パラメータを書き込む書込指示や音源1から音源パラメータを読み出す読込指示を受け取る。書込指示の場合は、書き込む各種音源パラメータと書込先のアドレスも受け取り、読込指示の場合は読込先のアドレスも受け取る。書込指示で受け取った各種音源パラメータは、レジスタ14の書込先のアドレスで示されるバッファに書き込まれる。レジスタ14は、同期書込対象のパラメータが保存される第1バッファ群15と同期書込対象外のパラメータが保存される第2バッファ群16とから構成されている。同期書込対象のパラメータを保存する第1バッファ群15は、波形制御用パラメータを格納する波形制御用RAM15a、フィルタ係数を格納するフィルタ制御用RAM15b、エンベロープパラメータや音量パラメータが格納される音量制御RAM15c、ミキサー情報が格納されるミキサー用RAM15dの一部から構成されている。また、同期書込対象外のパラメータを保存する第2バッファ群16は、エフェクト情報が格納されるミキサー用RAM15dの残る一部、リバーブ、コーラス、バリエーション等のエフェクトを付加する処理を行うDSP(Digital Signal Processor)部25で実行されるμプログラムやエフェクトの係数が格納されるDSP用RAM16a、発音チャンネルにおける現在の出力音量情報が格納される音量読出用RAM16bとから構成されている。
第1バッファ群15には、セレクタ13を介して所定のバッファに同期書込対象のパラメータが書き込まれる。また、第2バッファ群16にはCPUインターフェース11を介して同期書込対象外のパラメータが書き込まれる。セレクタ13は、同期書込を行う際に同期書込用バッファ12から読み出された同期書込を行うパラメータを選択し、当該パラメータにおける書込先のアドレスで示される第1バッファ群15の所定のバッファに選択された当該パラメータは書き込まれる。この場合、CPU10から同期書込を行うパラメータを音源1がCPUインターフェース11を介して受け取った場合に、当該パラメータが書込先のアドレスと共に同期書込用バッファ12に保存される。また、同期書込対象のパラメータではあっても同期書込を行わないパラメータを受け取った場合は、セレクタ13はCPUインターフェース11から出力される同期書込を行わないパラメータを選択し、当該パラメータにおける書込先のアドレスで示される第1バッファ群15の所定のバッファに選択された当該パラメータは書き込まれる。さらに、同期書込対象外のパラメータを受け取った場合は、CPUインターフェース11から出力される同期書込対象外のパラメータが、当該パラメータにおける書込先のアドレスで示される第2バッファ群16の所定のバッファに書き込まれる。
なお、同期書込対象のパラメータは主に位相の操作を伴うパラメータ、例えば、ピッチにビブラートを印加したりピッチベンドのパラメータとされる。これは、ステレオのような複数の発音チャンネルにおいては位相を揃える必要があり、このような発音チャンネルにおいて形成される楽音波形の位相がずれると聴取した際に違和感を生じるからである。そして、同期書込を行うパラメータはステレオのように複数の発音チャンネル間で位相を揃える必要がある複数の発音チャンネルにおける位相の操作を行うパラメータとされる。すなわち、同期書込用バッファ12には同期書込を行う複数の発音チャンネルにおけるそれぞれのパラメータが保存されるようになる。そして、CPU10が同期書込を行うパラメータの全てを同期書込用バッファ12に保存したと判断した際に、CPU10は同期書込指示を音源1に出力する。音源1は、同期書込用指示を受け取ると現在のDACサイクルにおいて同期書込用に用意された期間が到来するまで待機して、当該期間が到来した際に同期書込用バッファ12から同期書込を行う複数のパラメータを読み出し、セレクタ13を介してそれぞれのパラメータを第1バッファ群15の書込先のアドレスで示されるバッファに書き込む。この場合、同期書込指示を受け取ってから現在のDACサイクルが終了するまでは同期書込中であることを示すビジーフラグがオンとされ、ビジーフラグがオンとなっている期間においては、セレクタ13は同期書込用バッファ12の出力を選択するようになることから、同期書込対象のパラメータではあっても同期書込を行わないパラメータを第1バッファ群15に書き込んだり、第1バッファ群15から読み出すことはできないようになる。しかしながら、同期書込対象外のパラメータはセレクタ13を介することなく第2バッファ群16から読込/書込を行うことができることから、ビジーフラグがオンとなっている期間においても、同期書込対象外のパラメータを第2バッファ群16に書き込んだり、第2バッファ群16から読み出すことはできるようになる。
ここで、波形制御用RAM15a、フィルタ制御用RAM15b、音量制御RAM15cのRAMの構造を図2(a)に示す。この図に示すRAMの構造は音源1に用意されている発音チャンネル数が128チャンネルの場合とされており、波形制御用RAM15a、フィルタ制御用RAM15b、音量制御RAM15cは、128チャンネルの各チャンネル毎の各種パラメータが格納されるバッファから構成されている。また、ミキサー用RAM15dのRAMの構造を図2(b)に示す。ミキサー用RAM15dの構造は音源1に用意されている発音チャンネル数が128チャンネルの場合とされており、128チャンネルの各チャンネル毎のミキサー用のパラメータが格納されるバッファと、DSP部25のエフェクトパラメータが格納されるバッファとから構成されている。さらに、DSP用RAM16aのRAM構造を図2(c)に示す。DSP用RAM16aは、DSP部25がエフェクトを付加する処理時に実行されるエフェクト種類毎のμプログラムと、その係数が格納されるバッファから構成される。さらにまた、音量読出用RAM16bのRAM構造を図2(d)に示す。音量読出用RAM16bは、音源1の発音チャンネル数によらず読み出されたある発音チャンネル(Nch)の音量情報が格納される1チャンネル分のバッファから構成される。
波形制御用RAM15a、フィルタ制御用RAM15b、音量制御RAM15c、ミキサー用RAM15d、DSP用RAM16aには、それぞれ読込/書込(R/W)回路17a、17b、17c、17d、17eにより、それぞれのRAM用のパラメータの読込/書込が行われる。また、音量読出用RAM16bには、出力音量パラメータの読み出しが要求されたチャンネル(Nch)における現在の出力音量パラメータが書き込まれる。出力音量パラメータは、音量演算回路18により演算される。すなわち、音量演算回路18は波形制御部19における当該チャンネル(Nch)の波形の現在レベルと、音量制御部22における当該チャンネル(Nch)のエンベロープ等の音量制御パラメータの現在レベルとを読み込んで演算することにより、当該チャンネル(Nch)における現在の出力音量パラメータを算出している。
波形制御用RAM15aからR/W回路17aにより読み出された波形制御用パラメータは波形制御部19に供給され、波形制御部19は波形制御パラメータにおける生成される楽音の音高を示すピッチ情報に基づいて、波形メモリ20から波形制御パラメータにより指定された波形サンプルを読み出している。波形メモリ20には、楽音の立上り部(アタック部)と、その後の持続部(ループ部)とからなる波形データが複数ずつ記憶されており、波形制御部19においてピッチ情報に基づく周波数ナンバを累算した整数部に対応するアドレス値により示される波形サンプルと、その次に位置する波形サンプルの2つの波形サンプルが少なくとも読み出されて、累算した小数部に応じてサンプル値間が補間される。補間された波形データはフィルタ制御部21に供給される。
フィルタ制御用RAM15bからR/W回路17bにより読み出されたフィルタ係数はフィルタ制御部21に供給され、フィルタ制御部21はフィルタ係数に応じて波形制御部19から供給された楽音波形に所望のフィルタリング処理を施し、その周波数成分の調整された楽音波形を音量制御部22に出力する。
音量制御用RAM15cからR/W回路17cにより読み出されたエンベロープパラメータや音量パラメータ等の音量制御パラメータは音量制御部22に供給され、音量制御部22はフィルタ制御部21から供給された波形データに音量制御パラメータを乗算することにより音量制御を行っている。音量制御された楽音波形のサンプルはミキサー部23に出力される。
ミキサー用RAM15dからR/W回路17dにより読み出されたミキサー用のパラメータはミキサー部23に供給され、ミキサー部23はミキサー用のパラメータに応じて音量制御部22から供給された各発音チャンネルからの楽音波形のサンプルを合成してDAC(デジタル/アナログ変換器)24に出力している。また、ミキサー用RAM15dからR/W回路17dにより読み出されたエフェクト用のパラメータはミキサー部23に供給され、DSP部25はエフェクト用のパラメータに応じてミキサー部23から出力される楽音波形信号にリバーブ、コーラス、ディレイ、パン等の各種音響効果を付与している。エフェクトが付与されたミキサー部23からの楽音波形信号はDAC24においてアナログ信号に変換され、図示しないサウンドシステムから放音される。なお、DSP用RAM16aからR/W回路17eにより読み出されたμプログラムとエフェクト用の係数はDSP部25に供給され、DSP部25において付与するエフェクト種類に応じたμプログラムが実行されることにより、ミキサー部23から出力される楽音波形信号にエフェクトが付与されるようになる。
次に、図1に示す音源1と楽音形成装置が備えるCPU10の動作タイミングを図3に示す。
図3において、横軸は時間とされており2DACサイクル分が示されている。DACサイクルは、DAC24が変換する最終的に出力される楽音波形のサンプリング周期である。発音チャンネル数が128チャンネルとされる場合の例が図3に示されており、1DACサイクル内に128の時分割区間が設定されている。時分割区間は、t1,t2,t3,・・・,t128で区切られた128の区間とされており、タイミングt1〜t128は各発音チャンネルにおいて波形形成する際に必要とされるパラメータをレジスタ14からR/W回路17a〜17eが読み出す読み出しタイミングとされる。1DACサイクルが開始されるタイミングt0からタイミングt1との区間は空き時間とされている。この空き時間は、タイミングt0において複数の回路が同時に立ち上がった場合に、その競合を解消するための空き時間とされている。また、タイミングt128と次の1DACサイクルが開始されるタイミングt0’までの区間における空き時間において第1バッファ群15に同期書込を行うパラメータが書き込まれる。各発音チャンネルに割り当てられた時分割区間t1〜t128の各時分割区間においては、各発音チャンネルの波形サンプルが波形制御部19により波形メモリ20から読み出されて補間され、フィルタ制御部21においてフィルタリング処理されると共に音量制御部22において音量制御パラメータが乗算されてミキサー部23において他の発音チャンネルの楽音波形のサンプルと合成される。この際に、所望に応じてDSP部25においてエフェクトが付与される。
CPU10は音源1におけるDACサイクルの管理を行っていないことから、CPU10から音源1におけるレジスタ14への書き込みや読み出しのコマンドの実行タイミングは図3に示すようにDACサイクルの各タイミングとは無関係なランダムなタイミングとされる。
図3において、タイミングt1付近のタイミングでパラメータaを音源1におけるレジスタ14の所望のバッファの第10チャンネル(10ch)の位置へ書き込む書込コマンドがCPU10において実行されたとする。すると、このパラメータaが同期書込対象のパラメータか否かが判断され、同期書込対象のパラメータと判断された場合は同期書込中であることを示すビジーフラグの状態が判断される。ここでは、ビジーフラグがオンとなっていないと判断されて、書込指示と書き込むパラメータaのデータと、書込先のアドレスとがCPU10から音源1に出力される。音源1が書込指示とパラメータaと書込先のアドレスをCPUインタフェース11を介して受け取ると、パラメータaの書込先のアドレスが同期書込対象のパラメータが保存される第1バッファ群15内のアドレスとされていることから、受け取ったパラメータaをセレクタ13を介して第1バッファ群15のパラメータaの書込先のアドレスで指定されるバッファの位置(10ch)に書き込む処理が行われる。
また、CPU10においてパラメータaが同期書込対象外のパラメータと判断された場合は、そのまま書込指示と書き込むパラメータaのデータと、書込先のアドレスとがCPU10から音源1に出力される。音源1が書込指示とパラメータaと書込先のアドレスをCPUインタフェース11を介して受け取ると、パラメータaの書込先のアドレスが同期書込対象外のパラメータが保存される第2バッファ群16内のアドレスとされていることから、受け取ったパラメータaをセレクタ13を介することなく第バッファ群1のパラメータaの書込先のアドレスで指定されるバッファの位置(10ch)に書き込む処理が行われる。
次いで、タイミングt2とタイミングt3との間でレジスタ14の所望のバッファから第3チャンネル(3ch)のパラメータbを読み込む読込コマンドがCPU10において実行されると、パラメータbが同期書込対象のパラメータか否かが判断され、同期書込対象のパラメータと判断された場合は同期書込中であることを示すビジーフラグの状態が判断される。ここでは、ビジーフラグがオンとなっていないと判断されて、この読込指示と読込先のアドレスとを音源1に出力する。そして、音源1が読込指示と読込先のアドレスとを受け取ると、セレクタ13を介して第1バッファ群15の読込先のアドレスで示されるバッファの位置(3ch)からパラメータbを読み込んで、読み込んだパラメータbを音源1のCPUインタフェース11を介してCPU10に出力する処理が行われる。
また、CPU10においてパラメータbが同期書込対象外のパラメータと判断された場合は、そのままパラメータbの読込指示と読込先のアドレスとを音源1に出力する。そして、音源1が読込指示と読込先のアドレスとを受け取ると、セレクタ13を介することなく第2バッファ群16の読込先のアドレスで示されるバッファの位置(3ch)からパラメータbを読み込んで、読み込んだパラメータbを音源1のCPUインタフェース11を介してCPU10に出力する処理が行われる。
さらに、タイミングt4付近でパラメータcを音源1におけるレジスタ14の所望のバッファにおける第25チャンネル(25ch)の位置へ書き込む書込コマンドがCPU10において実行された場合は、同期書込中であることを示すビジーフラグがオンとなっていないことから、パラメータcが同期書込対象のパラメータであっても同期書込対象外のパラメータであっても前記したパラメータaを書き込む処理と同様の処理が行われて、パラメータcがレジスタ14の所望のバッファにおける第25チャンネル(25ch)の位置へ書き込まれる。
次いで、その後のタイミングにおいて同期書込を行うパラメータdを音源1における第1バッファ群15の所望のバッファにおける第12チャンネル(12ch)の位置へ書き込む書込コマンドがCPU10において実行されると、パラメータbが同期書込対象のパラメータと判断されて、同期書込中であることを示すビジーフラグの状態が判断される。ここでは、ビジーフラグがオンとなっていないと判断されて、CPU10はパラメータdおよび書込先のアドレスと、これらを同期書込用バッファ12に書き込む書込指示を音源1に出力する。音源1は、この書込指示を受け取ると受け取ったパラメータdおよび書込先のアドレス(12chのアドレス)を同期書込用バッファ12に書き込む処理を行う。
さらに、この後のタイミングにおいて、レジスタ14の所望のバッファから第27チャンネル(27ch)のパラメータeを読み込む読込コマンドがCPU10において実行されると、同期書込中であることを示すビジーフラグがオンとなっていないことから、パラメータeが同期書込対象のパラメータであっても同期書込対象外のパラメータであっても、前述したパラメータbを読み出す処理と同様の処理が行われて、レジスタ14の読込先のアドレスで示されるバッファの位置(27ch)からパラメータeが読み出され、読み出されたパラメータeが音源1のCPUインタフェース11を介してCPU10に出力される処理が行われる。
さらに後のタイミングにおいて、同期書込を行う2番目のパラメータfを音源1における第1バッファ群15の所望のバッファにおける第20チャンネル(20ch)の位置へ書き込む書込コマンドがCPU10において実行されると、パラメータfが同期させる必要があるパラメータと判断されると共に、同期書込中であることを示すビジーフラグの状態が判断される。ここでは、ビジーフラグがオン状態ではないと判断されて、CPU10はパラメータfのデータおよび書込先のアドレスと、これらを同期書込用バッファ12に書き込む書込指示を音源1に出力する。音源1は、この書込指示を受け取ると受け取ったパラメータfおよび書込先のアドレス(20chのアドレス)を同期書込用バッファ12に書き込む処理を行う。
さらに後のタイミングにおいて、レジスタ14の所望のバッファから第10チャンネル(10ch)のパラメータgを読み込む読込コマンドがCPU10において実行されると、同期書込中であることを示すビジーフラグがオンとなっていないことから、パラメータgが同期書込対象のパラメータであっても同期書込対象外のパラメータであっても前述したパラメータbを読み出す処理と同様の処理が行われて、レジスタ14の読込先のアドレスで示されるバッファの位置(10ch)からパラメータgが読み出され、読み出されたパラメータgが音源1のCPUインタフェース11を介してCPU10に出力される処理が行われる。
ここで、CPU10が同期書込を行う全てのパラメータを同期書込用バッファ12に書き込んだと判断すると、CPU10は同期書込指示hを音源1に出力する。音源1がこの同期書込指示hを受け取ると、同期書込中であることを示すビジーフラグをオンとして当該DACサイクルにおいて同期書き込みする期間が到来するまで同期書込の実行を待機させる。同期書き込みする期間は、タイミングt128と次の1DACサイクルが開始されるタイミングt0’までの期間における空き時間とされている。これは、1DACサイクルの途中において同期書き込みを行うと、各発音チャンネルにおける波形データの形成はそれぞれ割り当てられた異なる時分割区間で行われているため、同期書込のタイミングによっては書き込まれたパラメータが反映される発音チャンネルと反映されない発音チャンネルとが生じてしまい、ステレオ等の発音チャンネル間の楽音波形の位相がずれて聴取した際に違和感を生じるおそれがあるからである。そこで、全ての発音チャンネルにおいて楽音波形の形成が終了してから同期書込を行うようにしている。
CPU10は同期書込指示hを出力するが、同期書き込みが終了したか否かについては管理しておらず、同期書込中のタイミングにおいてもCPU10はパラメータの書込コマンドや読込コマンドを実行する。例えば、ビジーフラグがオンとなっている同期書込中のタイミングにおいてパラメータiを音源1におけるレジスタ14の所望のバッファにおける第50チャンネル(50ch)の位置へ書き込む書込コマンドをCPU10は実行する。すると、このパラメータiが同期書込対象のパラメータか否かが判断され、同期書込対象のパラメータと判断された場合は同期書込中であることを示すビジーフラグの状態が判断される。ここでは、ビジーフラグがオンと判断されるため、ビジーフラグがオフと判断されるまで書込処理の実行が待機される。
一方、パラメータiが同期書込対象のパラメータではないと判断された場合は、ビジーフラグの状態に関わらず書込指示と書き込むパラメータiのデータと、書込先のアドレスとがCPU10から音源1に出力される。音源1が書込指示とパラメータiと書込先のアドレスをCPUインタフェース11を介して受け取ると、パラメータiのアドレスが同期書込対象外のパラメータが保存される第2バッファ群16内のアドレスとされていることから、受け取ったパラメータiはセレクタ13を介することなく第2バッファ群16のパラメータiの書込先のアドレスで示されるバッファの位置(50ch)に書き込まれる。
ここで、音源1においてタイミングt128が経過したと判断されると、タイミングt128以後の空き時間において同期書込h’の処理が実行され、同期書込用バッファ12に格納されたパラメータdがその書込先のアドレスで示される第1バッファ群15の位置(12ch)に書き込まれると共に、パラメータfがその書込先のアドレスで示される第1バッファ群15の位置(20ch)に書き込まれる。なお、次のDACサイクルが開始されるタイミングt0’までの期間における空き時間が同期書込のタイミングとして用意されていることから、ビジーフラグは次のDACサイクルが開始されるタイミングt0’までオンを維持する。
次いで、レジスタ14の所望のバッファから第17チャンネル(17ch)のパラメータjを読み出す読込コマンドがCPU10において実行されると、パラメータjが同期書込対象のパラメータか否かが判断され、同期書込対象のパラメータと判断された場合は同期書込中であることを示すビジーフラグの状態が判断される。ここでは、ビジーフラグがオンと判断されるため、ビジーフラグがオフと判断されるまで読込処理の実行が待機される。
一方、CPU10においてパラメータjが同期書込対象のパラメータではないと判断された場合は、そのままパラメータjの読込指示と読込先のアドレスとを音源1に出力する。そして、音源1が読込指示と読込先のアドレスとを受け取ると、セレクタ13を介することなく第2バッファ群16の読込先のアドレスで示されるバッファの位置(17ch)からパラメータjを読み込んで、読み込んだパラメータjを音源1のCPUインタフェース11を介してCPU10に出力する処理が行われる。
ここで、現在のDACサイクルが終了してビジーフラグがオフ状態になると、ビジーフラグがオフ状態になるまで待機されていた書き込み処理や読み込み処理がある場合はその処理が実行されるようになる。そして、時刻t0’となって次のDACサイクルが開始された際に、同期書込を行うパラメータkを音源1における第1バッファ群15の所望のバッファにおける第12チャンネル(12ch)の位置へ書き込む書込コマンドがCPU10において実行されると、パラメータkが同期書込を行う必要のあるパラメータと判断されて、同期書込中であることを示すビジーフラグの状態が判断される。ここでは、ビジーフラグがオフ状態になったことから、CPU10はパラメータkのデータおよび書込先のアドレスと、これらを同期書込用バッファ12に書き込む書込指示を音源1に出力する。音源1は、この書込指示を受け取ると受け取ったパラメータkおよび書込先のアドレス(12chのアドレス)を同期書込用バッファ12に書き込む処理を行う。
以降は、書込コマンドあるいは読込コマンドがCPU10において実行されるたびに前述したパラメータの書き込みの処理あるいは読み出しの処理が音源1において行われるようになる。
次に、CPU10において書込コマンドが実行されることにより起動される書込指示処理のフローチャートを図4に示す。
書込指示処理は1書込コマンド毎に起動され、起動されるとステップS10にて書き込むデータが同期書込対象のパラメータか否かが判断される。ここで、書き込むデータが同期書込対象のパラメータと判断されると、同期あり系とされてステップS11に進み、同期書込中であることを示すビジーフラグの判定処理が行われる。このビジーフラグの判定処理においては、ビジーフラグがオン状態か否かが判断され、ビジーフラグがオフ状態と判断されるとそのまま判定処理は終了するが、ビジーフラグがオン状態と判断されるとビジーフラグがオフ状態と判断されるまで待機される。そして、ビジーフラグがオフ状態と判断されてビジーフラグの判定処理が終了するとステップS12にて書き込むデータが同期書込を行う必要があるパラメータか否かが判断される。ここで、書き込むデータがステレオ発音している発音チャンネルのパラメータ等の場合は同期書込が必要なパラメータと判断されてステップS13に進む。
ステップS13では、同期書込を行うパラメータを音源1の同期書込用バッファ12にセットする。具体的には、同期書込を行うパラメータのデータおよび書込先のアドレスを同期書込用バッファ12に書き込む書込指示を音源1に出力する。次いで、ステップS14にて書き込むデータが同期書込を行う最後のパラメータか否かが判断されるが、ステップS13の処理の初回においては同期書込を行う複数のパラメータが揃っていないためNOと判断されて書込指示処理は終了する。この書込指示処理が複数回起動されてステップS13において同期書込を行う全てのパラメータが揃ったと判断された場合はステップS15に進み同期書込指示を音源1に出力し、書込指示処理は終了する。また、書き込むデータがステップS10にて同期書込対象外のパラメータあるいはステップS12にて同期書込が必要なパラメータではないと判断された場合は、ステップS16に進み音源1のレジスタに書き込むデータがセットされる。具体的には、書き込むパラメータのデータと、書込先のアドレスと書込指示とを音源1に出力し、書込指示処理は終了する。
上述した書込指示処理のステップS11において実行されるビジーフラグの判定処理のフローチャートを図5に示す。ビジーフラグの判定処理が起動されると、ステップS20にて音源1における同期書込用バッファ12におけるビジーフラグ値が取得される。ついで、取得されたビジーフラグ値からビジーフラグがオン状態か否かが判断される。ここで、ビジーフラグがオフ状態と判断された場合は、そのままビジーフラグの判定処理は終了するが、ビジーフラグがオン状態と判断された場合はステップS20に戻りステップS20,S21の処理がビジーフラグがオフ状態と判断されるまで繰り返し行われる。このように、ビジーフラグの判定処理はビジーフラグがオフ状態になるまで待って、オフ状態になった時に終了するようになる。
次に、上述した書込指示処理のステップS15においてCPU10から出力された同期書込指示により音源1において起動される同期書込指示処理のフローチャートを図6に示す。
音源1において同期書込指示処理が起動されると、ステップS30にてビジーフラグをオン状態にセットする。次いで、ステップS31にて同期書込の期間が到来するまで待機される。同期書込の期間は、DACサイクルにおいて各発音チャンネルに割り当てられた時分割区間の終了から次のDACサイクルが開始されるタイミングまでの期間とされ、この期間における空き時間が同期書込を行うタイミングとされている。そして、同期書込のタイミングが到来すると、ステップS32にて同期書込用バッファ12に格納されているパラメータとその書込先アドレスを読み込んで、書込先で指定される第1バッファ群15の所定のバッファに読み込まれたパラメータを書き込む。この場合、複数のパラメータのデータとその書込先アドレスが順次読み出されて、書込先アドレスで指定されるバッファにそれぞれ書き込むようになる。同期書込を行うパラメータが全て書き込まれると、ステップS33にて現在のDACサイクルが終了するまで待機される。そして、現在のDACサイクルが終了するとステップS34に進みビジーフラグをオフ状態にセットして、同期書込指示処理は終了する。
次に、CPU10において読込コマンドが実行されることにより起動される読込指示処理のフローチャートを図7に示す。
読込指示処理は1読込コマンド毎に起動され、起動されるとステップS40にて読み込むデータが同期書込対象のパラメータか否かが判断される。ここで、読み込むデータが同期書込対象のパラメータと判断されると、同期あり系とされてステップS41に進み、同期書込中であることを示す図5に示すビジーフラグの判定処理が行われる。このビジーフラグの判定処理において、ビジーフラグがオン状態か否かが判断され、ビジーフラグがオフ状態と判断されるとそのまま判定処理は終了するが、ビジーフラグがオン状態と判断されるとビジーフラグがオフ状態と判断されるまで待機される。そして、ビジーフラグがオフ状態と判断されてビジーフラグの判定処理が終了するとステップS42に進む。また、読み込むデータがステップS40にて同期書込対象外のパラメータと判断された場合は、同期なし系とされてステップS42にジャンプする。ステップS42では、読み込むデータを音源1におけるレジスタ14のバッファから取得し、読込指示処理は終了する。具体的には、読み込むパラメータの読込先のアドレスと読込指示とを音源1に出力することにより、音源1におけるレジスタ14の読込先のアドレスで指定されるバッファから読み込むパラメータを取得する。読み込むパラメータが取得されると、読込指示処理は終了する。
上述した書込/読込指示処理において、書き込む/読み込むデータの種類が同期書込対象のパラメータと判断されて当該書込/読込処理の処理中において、次の書込/読込指示処理が起動された際に書き込む/読み込むデータの種類が同期書込対象外のパラメータと判断された場合は、同期書込対象のパラメータにかかる書込/読込指示処理と同期書込対象外のパラメータにかかる書込/読込指示処理とを同時に処理することができる。これは、音源1において同期書込対象のパラメータが格納される第1バッファ群15と同期書込対象外のパラメータが格納される第2バッファ群16に対するアクセスは同時に行うことができるからである。しかし、同じ種類のパラメータの書込/読込処理の処理を同時に複数行うことはできない。
次に、CPU10から発音チャンネルの出力レベルの読込指示があった際に音源1において起動されるレベルデータ取得処理のフローチャートを図8に示す。
図8に示すレベルデータ取得処理が起動されると、ステップS50にて音量読出用RAM16bに出力レベルを読み出す発音チャンネルがセットされる。この場合、CPU10は出力レベルの読込指示において音量読出用RAM16bのアドレスと読み込む発音チャンネルの番号とを音源1に出力する。次いで、ステップS51にてCPU10から指定された発音チャンネルのその時点の楽音波形のレベル(dB)が波形制御部19から取得され、ステップS52にてCPU10から指定された発音チャンネルのその時点のエンベロープや音量パラメータの音量制御パラメータのレベル(dB)が音量制御部22から取得される。そして、ステップS53にて楽音波形のレベルと音量制御パラメータのレベルとが加算されて得られた出力レベルが音量読出用RAM16bにセットされる。この出力レベルは音量読出用RAM16bからCPU10に読み込まれて、レベルデータ取得処理は終了する。
次に、CPU10が実行するチャンネル割当処理のフローチャートを図9に示す。
図9に示すチャンネル割当処理は、ノートオンが検出されて新たに発音チャンネルを割り当てる際に起動され、ステップS60にて空いた発音チャンネルがあるか否かが判断される。ここで、空いた発音チャンネルがないと判断された場合はステップS61にて発音チャンネルを開放するチャンネル開放処理が実行される。そして、チャンネル開放処理により空いた発音チャンネルがステップS62にて新たな発音チャンネルとして割り当てられるようになる。また、ステップS60にて空いている発音チャンネルがあると判断された場合は、ステップS62にジャンプして空いている発音チャンネルが新たな発音チャンネルとして割り当てられるようになる。ステップS62の処理が終了するとチャンネル割当処理は終了する。
次に、チャンネル割当処理のステップS61にて実行されるチャンネル開放処理のフローチャートを図10に示す。
チャンネル割当処理が起動されると、ステップS70にて全発音チャンネルの中からリリース状態に入っている発音チャンネルが選択される。次いで、ステップS71にて選択されたリリース状態になっている発音チャンネルの中から最も出力レベルの小さい発音チャンネルが選択される。この場合の発音チャンネルの出力レベルは、前述した図8に示すレベルデータ取得処理により取得する。最も出力レベルの小さい発音チャンネルが選択されると、ステップS72にて選択された発音チャンネルが開放され、チャンネル開放処理は終了する。
本発明において、波形制御部19、フィルタ制御部21、音量制御部22、ミキサー部23の順で当該機能部が全発音チャンネルの楽音形成に関わる処理は終了する。すると、波形制御用RAM15a、フィルタ制御用RAM15b、音量制御用RAM15c、ミキサー用RAM15dの順に開放されることになることから、開放され次第に当該RAMに同期書き込みを行うパラメータの書き込みを開始するのが好適とされる。
以上説明した本発明においては、波形メモリタイプの音源を内蔵した構成としたが、これに限ることはなくFM音源や物理モデル音源を内蔵するようにしてよい。
本発明の実施例である楽音形成装置が備える音源の詳細構成を示すブロック図である。 本発明の楽音形成装置における音源部の各種パラメータを格納するバッファの構造を示す図である。 本発明の楽音形成装置におけるCPUと音源の動作タイミングを示す図である。 本発明の楽音形成装置におけるCPUが実行する書込指示処理のフローチャートである。 本発明の楽音形成装置において実行される書込指示処理におけるビジーフラグの判定処理のフローチャートである。 本発明の楽音形成装置における音源が実行する同期書込指示処理のフローチャートである。 本発明の楽音形成装置におけるCPUが実行する読込指示処理のフローチャートである。 本発明の楽音形成装置における音源が実行するレベルデータ取得処理のフローチャートである。 本発明の楽音形成装置におけるCPUが実行するチャンネル割当処理のフローチャートである。 本発明の楽音形成装置において実行されるチャンネル割当処理におけるチャンネル開放処理のフローチャートである。 従来の楽音形成装置が備える波形メモリタイプの音源の構成を示すブロック図である。 従来の楽音形成装置におけるCPUと音源の動作タイミングを示す図である。
符号の説明
1 音源、11 CPUインタフェース、12 同期書込用バッファ、13 セレクタ、15 第1バッファ群、15a 波形制御用RAM、15b フィルタ制御用RAM、15c 音量制御RAM、15c 音量制御用RAM、15d ミキサー用RAM、16 第2バッファ群、16a DSP用RAM、16b 音量読出用RAM、17a R/W回路、17b R/W回路、17c R/W回路、17d R/W回路、17e R/W回路、18 音量演算回路、19 波形制御部、20 波形メモリ、21 フィルタ制御部、22 音量制御部、23 ミキサー部、24 DAC、25 DSP部、100 音源、110 CPU、111 CPUインターフェース、112 同期書込用バッファ、113 セレクタ、114 レジスタ、117 R/W回路、118 音量演算回路、119 波形形成部、120 波形メモリ、121 DAC

Claims (2)

  1. 同期書込み対象のパラメータと同期書込み対象外のパラメータが入力されるインターフェースと、同期書込対象のパラメータを書込み先のアドレスと共に一時保存する同期書込用バッファと、楽音形成のための各種パラメータが設定されるレジスタとを備え、該レジスタに設定されたパラメータに基づいて、複数のチャンネルについて処理サイクル内で各チャンネルに割り当てられた時分割区間にて処理されて楽音波形を形成して出力する音源手段と、
    該音源手段の前記レジスタの所定のアドレスに楽音形成のための各種パラメータを書き込むと共に、前記レジスタの所定のアドレスから所定のパラメータの現在の値を読み込むことできると共に、ランダムなタイミングにおいて前記音源手段の所望のアドレスへの書込みと前記音源手段の所望のアドレスからの読込みを行うことができる制御手段とを備え、
    前記音源手段における前記レジスタは、同期書込対象のパラメータが格納される第1レジスタと、同期書込対象外のパラメータが格納される第2レジスタからなり、
    前記制御手段は、各チャンネルにおける同期書込対象のパラメータおよび同期書込み対象外のパラメータを前記インタフェースを介して前記音源手段に書き込むと共に読み出しており、さらに、前記制御手段は、前記同期書込用バッファへの全ての同期書込み対象のパラメータの書込み終了に応じて、同期書込指示を前記音源手段に出力することにより同期書込対象のパラメータを書き込み中の期間であることを示すビジーフラグをオンとし、
    該ビジーフラグは、前記処理サイクルの区切りでオフされるものであり、前記音源手段においては、
    前記制御手段がパラメータの書込み先の書込みアドレスを前記第1レジスタとしているときには、同期書込み対象のパラメータについて、
    前記ビジーフラグがオフとなっている期間は、書込みが指示された同期書込み対象のパラメータを書込み先のアドレスと共に、前記同期書込用バッファに書き込むと共に、読み出しが指示された同期書込み対象のパラメータを前記第1のレジスタの指示されたアドレスから読み出し、
    前記ビジーフラグがオンとなっている期間、同期書込対象のパラメータを前記同期書込用バッファへ書き込む処理および同期書込バッファからの読出し処理を前記ビジーフラグがオフとされるまで待機させてから実行すると共に前記複数のチャンネルに割り当てられた時分割区間の終了から前記処理サイクルの区切りまでの期間において、前記同期書込指示が実行されて、前記書込用バッファに一時保存されている同期書込み対象のパラメータと書込みアドレスを読み出して前記第1のレジスタの対応する書込みアドレスに書き込むようにし、
    前記制御手段がパラメータの書込み先の書込みアドレスを前記第2レジスタとしている時には、同期書込対象外のパラメータについて前記ビジーフラグがオンとなっている期間においてもオフとなっている期間においても、前記インターフェースを介して前記書込用バッファを経由することなく前記第2レジスタに同期書込対象外のパラメータの書込/読込を行うことができることを特徴とする楽音形成装置。
  2. 前記制御手段は、発音チャンネル割当時において空いた発音チャンネルがない場合に、前記同期書込対象外のパラメータとされる各発音チャンネルの出力レベル情報を前記第2レジスタから読み込み、出力レベル情報が読み込まれた発音チャンネルの内の最も出力レベル情報が小さい発音チャンネルを開放して新たな発音チャンネルとして割り当てるようにしたことを特徴とする請求項1記載の楽音形成装置。
JP2006267167A 2006-09-29 2006-09-29 楽音形成装置 Expired - Fee Related JP4353225B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006267167A JP4353225B2 (ja) 2006-09-29 2006-09-29 楽音形成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006267167A JP4353225B2 (ja) 2006-09-29 2006-09-29 楽音形成装置

Publications (3)

Publication Number Publication Date
JP2008089642A JP2008089642A (ja) 2008-04-17
JP2008089642A5 JP2008089642A5 (ja) 2008-12-18
JP4353225B2 true JP4353225B2 (ja) 2009-10-28

Family

ID=39373913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006267167A Expired - Fee Related JP4353225B2 (ja) 2006-09-29 2006-09-29 楽音形成装置

Country Status (1)

Country Link
JP (1) JP4353225B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9574142B2 (en) 2010-09-07 2017-02-21 Saudi Arabian Oil Company Process for oxidative desulfurization and sulfone management by gasification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9574142B2 (en) 2010-09-07 2017-02-21 Saudi Arabian Oil Company Process for oxidative desulfurization and sulfone management by gasification

Also Published As

Publication number Publication date
JP2008089642A (ja) 2008-04-17

Similar Documents

Publication Publication Date Title
JP5614420B2 (ja) 楽音発生装置、電子楽器、プログラム及び楽音発生方法
JP6447024B2 (ja) 楽音発生装置、処理方法、プログラムおよび電子楽器
JPH04306697A (ja) ステレオ方式
JP5915420B2 (ja) 楽音発生装置、楽音発生方法、電子楽器及びプログラム
JP4353225B2 (ja) 楽音形成装置
JP3230265B2 (ja) 電子楽器の発音チャンネル割当装置
JP4096952B2 (ja) 楽音発生装置
JP2018159734A (ja) 音色制御装置、音色制御方法、プログラムおよび電子楽器
JP5316091B2 (ja) 波形メモリ音源
JP2010237594A (ja) 楽音生成装置
JP4238807B2 (ja) 音源用波形データの決定装置
JP2009230610A (ja) 命令処理装置及び命令処理方法。
JP3508139B2 (ja) デジタル信号処理プロセッサ
JP2006337438A (ja) 楽音発生装置および楽音発生処理のプログラム
JP6175804B2 (ja) 演奏装置、演奏方法およびプログラム
JP5732769B2 (ja) 楽音生成装置
JP5573465B2 (ja) 楽音生成装置
JP5151523B2 (ja) 電子楽器
JP5353305B2 (ja) 波形データの形成方法
JPH09244653A (ja) 外部波形を入力可能な波形メモリ型楽音発生装置
JP4206830B2 (ja) 楽音制御装置および楽音制御プログラム
JP4742248B2 (ja) 効果付加装置および効果処理プログラム
JP5896128B2 (ja) 楽音発生装置およびプログラム
JP3684078B2 (ja) 楽音波形データ記憶装置、楽音波形データ記憶方法、楽音波形データ再生装置及び楽音波形データ再生方法
JP3707908B2 (ja) 電子楽器の効果付加装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090508

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090518

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090720

R150 Certificate of patent or registration of utility model

Ref document number: 4353225

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees