JP3744440B2 - ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 - Google Patents
ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 Download PDFInfo
- Publication number
- JP3744440B2 JP3744440B2 JP2002055101A JP2002055101A JP3744440B2 JP 3744440 B2 JP3744440 B2 JP 3744440B2 JP 2002055101 A JP2002055101 A JP 2002055101A JP 2002055101 A JP2002055101 A JP 2002055101A JP 3744440 B2 JP3744440 B2 JP 3744440B2
- Authority
- JP
- Japan
- Prior art keywords
- channel
- output
- input
- channels
- data
- 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
- Management Or Editing Of Information On Record Carriers (AREA)
- Circuit For Audible Band Transducer (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
この発明は、複数の入力チャンネルの信号を複数の出力チャンネルのいずれかに分配しミキシングするミキシング装置に関し、例えば電子楽器のような楽音発生機能を持つ機器あるいはデジタルオーディオ機器等で利用可能なものである。また、ミキシング機能を持つ楽音発生装置に関し、さらには、ミキシング用の大規模集積回路(LSI)に関する。
【0002】
【従来の技術】
複数のチャンネルの楽音信号又はオーディオ信号を取り扱うミキシング装置の従来例としては、特開平11−85155号公報に示されたものがある。そこに示されたものにおいては、ミキシング用演算の資源(装置とタイムスロット)の利用態様が固定されている。例えば、1つの入力チャンネルにつき左右ステレオ・パンの設定が可能であり、かつ4個のセンドレベルの設定が可能であり、入力チャンネル数が96で、出力チャンネル数が32の場合、1つの入力チャンネルにつきパン及びセンドレベルの設定のための乗算が合計8個固定的に設定される。また、該1つの入力チャンネルの信号を32の出力チャンネルのすべてに分配しうるように合計32個の累算が固定的に設定される。これらの固定された乗算及び累算が全入力チャンネルに関して常時可能なように、ミキシング用演算装置の資源利用態様が固定されている。
【0003】
【発明が解決しようとする課題】
上述のような固定された資源利用態様では、ミキシング用演算の資源を効率的に利用することができない。例えば、1つの入力チャンネルにつき設定可能なセンドレベルが4個に固定されていたので、センドレベルを4個も使用していない或るチャンネルの不使用分の演算資源を他のチャンネルに回すことができず、無駄が多かった。また、別の或るチャンネルで4よりも多いセンドレベルを使用したくてもそれができない、という不都合があった。また、1つの入力チャンネルの信号を32の出力チャンネルのすべてに分配することはあまりないので、使用されない累算資源が多く、その点でも無駄であった。
【0004】
この発明は上述の点に鑑みてなされたもので、ミキシング用演算の資源を効率的に利用できるようにしたミキシング装置を提供しようとするものであり、更には、キシング機能を持つ楽音発生装置及びミキシング用の大規模集積回路(LSI)を提供しようとするものである。
【0005】
【課題を解決するための手段】
この発明に係るミキシング装置は、信号を入力するための複数の入力チャンネルと、信号を出力するための複数の出力チャンネルと、入力元から入力する信号を音量調整し、音量調整された信号を出力先へ出力するミキシング演算を行なう複数の演算チャンネルと、それぞれ各演算チャンネルに対応して、前記入力元を示すソースチャンネルデータと、前記出力先を示すデスティネーションチャンネルデータと、信号送出レベルを示すレベルデータとを記憶するための複数の記憶手段と、各入力チャンネル毎に、任意の数の出力チャンネルを前記出力先として指定する出力先指定手段と、前記出力先指定手段による前記指定に応じて、各入力チャンネルに対し、当該入力チャンネルの出力先として指定された出力チャンネルに対応する数の演算チャンネルを割り当てる割当手段と、前記割当手段による割り当てに対応して、各入力チャンネルに対して割り当てられた前記出力先として指定された出力チャンネルに対応する数の各演算チャンネルに対応する前記記憶手段に、当該入力チャンネルをソースチャンネルデータとして、当該入力チャンネルの出力先として指定された各出力チャンネルをデスティネーションチャンネルデータとして、それに対応する信号送出レベルをレベルデータとして、それぞれ設定し記憶させる設定手段とを具備し、前記各演算チャンネルは、当該演算チャンネルに対応する前記ソースチャンネルデータが示す入力チャンネルから入力する信号に対し、当該演算チャンネルに対応する前記レベルデータに基づいて音量調整を行い、音量調整した信号を当該演算チャンネルに対応する前記デスティネーションチャンネルデータが示す出力チャンネルへ出力することを特徴とする。これによれば、複数の入力チャンネルで、その出力先に応じて所定数のミキシング演算チャンネルを融通しあうことができる。従って、ミキシング演算チャンネルの資源利用態様が固定されず、効率的に利用できる。
【0006】
この発明に係る楽音発生装置は、信号を生成する複数の音源チャンネルを備えた音源部と、信号を出力するための複数の出力チャンネルと、入力元から入力する信号を音量調整し、音量調整された信号を出力先へ出力するミキシング演算を行なう複数の演算チャンネルと、それぞれ各演算チャンネルに対応して、前記入力元を示すソースチャンネルデータと、前記出力先を示すデスティネーションチャンネルデータと、信号送出レベルを示すレベルデータとを記憶するための複数の記憶手段と、各音源チャンネルに対応する入力チャンネル毎に、任意の数の出力チャンネルを前記出力先として指定する出力先指定手段と、前記出力先指定手段による前記指定に応じて、各入力チャンネルに対し、当該入力チャンネルの出力先として指定された出力チャンネルに対応する数の演算チャンネルを割り当てる割当手段と、前記割当手段による割り当てに対応して、各入力チャンネルに対して割り当てられた前記出力先として指定された出力チャンネルに対応する数の各演算チャンネルに対応する前記記憶手段に、当該入力チャンネルをソースチャンネルデータとして、当該入力チャンネルの出力先として指定された各出力チャンネルをデスティネーションチャンネルデータとして、それに対応する信号送出レベルをレベルデータとして、それぞれ設定し記憶させる設定手段とを具備し、前記各演算チャンネルは、当該演算チャンネルに対応する前記ソースチャンネルデータが示す入力チャンネルから入力する信号に対し、当該演算チャンネルに対応する前記レベルデータに基づいて音量調整を行い、音量調整した信号を当該演算チャンネルに対応する前記デスティネーションチャンネルデータが示す出力チャンネルへ出力することを特徴とする。これによれば、音源の複数音源チャンネルで、その出力先に応じて所定数のミキシング演算チャンネルを融通しあうことができる。
【0007】
この発明に係る大規模集積回路は、信号を出力する第1ブロックと、信号を出力する第2ブロックと、信号を出力するための複数の出力チャンネルと、入力元から入力する信号を音量調整し、音量調整された信号を出力先へ出力するミキシング演算を行なう複数の演算チャンネルと、それぞれ各演算チャンネルに対応して、前記入力元を示すソースチャンネルデータと、前記出力先を示すデスティネーションチャンネルデータと、信号送出レベルを示すレベルデータとを記憶するための複数の記憶手段と、第1ブロックと第2ブロックの各ブロックに対応する各入力チャンネル毎に、任意の数の出力チャンネルを前記出力先として指定する出力先指定手段と、前記出力先指定手段による前記指定に応じて、第1ブロックと第2ブロックの各ブロックに対応する各入力チャンネルに対し、当該入力チャンネルの出力先として指定された出力チャンネルに対応する数の演算チャンネルを割り当てる割当手段と、前記割当手段による割り当てに対応して、各入力チャンネルに対して割り当てられた前記出力先として指定された出力チャンネルに対応する数の各演算チャンネルに対応する前記記憶手段に、当該入力チャンネルをソースチャンネルデータとして、当該入力チャンネルの出力先として指定された各出力チャンネルをデスティネーションチャンネルデータとして、それに対応する信号送出レベルをレベルデータとして、それぞれ設定し記憶させる設定手段とを具備し、前記各演算チャンネルは、当該演算チャンネルに対応する前記ソースチャンネルデータが示す入力チャンネルから入力する信号に対し、当該演算チャンネルに対応する前記レベルデータに基づいて音量調整を行い、音量調整した信号を当該演算チャンネルに対応する前記デスティネーションチャンネルデータが示す出力チャンネルへ出力することを特徴とする。これにより、大規模集積回路に形成されたそれぞれ信号を出力する複数のブロック(例えば音源ブロックおよびDSPブロックなど)について、その出力先に応じてブロック間でミキシング演算チャンネルを融通しあうことができる。
【0008】
この発明の別の観点に従う大規模集積回路は、信号を出力する第1ブロックと、外部からの信号を入力する第2ブロックと、信号を出力するための複数の出力チャンネルと、入力元から入力する信号を音量調整し、音量調整された信号を出力先へ出力するミキシング演算を行なう複数の演算チャンネルと、それぞれ各演算チャンネルに対応して、前記入力元を示すソースチャンネルデータと、前記出力先を示すデスティネーションチャンネルデータと、信号送出レベルを示すレベルデータとを記憶するための複数の記憶手段と、第1ブロックと第2ブロックの各ブロックに対応する各入力チャンネル毎に、任意の数の出力チャンネルを前記出力先として指定する出力先指定手段と、前記出力先指定手段による前記指定に応じて、第1ブロックと第2ブロックの各ブロックに対応する各入力チャンネルに対し、当該入力チャンネルの出力先として指定された出力チャンネルに対応する数の演算チャンネルを割り当てる割当手段と、前記割当手段による割り当てに対応して、各入力チャンネルに対して割り当てられた前記出力先として指定された出力チャンネルに対応する数の各演算チャンネルに対応する前記記憶手段に、当該入力チャンネルをソースチャンネルデータとして、当該入力チャンネルの出力先として指定された各出力チャンネルをデスティネーションチャンネルデータとして、それに対応する信号送出レベルをレベルデータとして、それぞれ設定し記憶させる設定手段とを具備し、前記各演算チャンネルは、当該演算チャンネルに対応する前記ソースチャンネルデータが示す入力チャンネルから入力する信号に対し、当該演算チャンネルに対応する前記レベルデータに基づいて音量調整を行い、音量調整した信号を当該演算チャンネルに対応する前記デスティネーションチャンネルデータが示す出力チャンネルへ出力することを特徴とする。これにより、大規模集積回路に形成されたそれぞれ信号を出力するブロック(例えば音源ブロックあるいはDSPブロックなど)と外部からの信号を入力するブロック(例えば後述するオーディオバスABUS、シリアル入力、あるいはCODECなどのブロック)について、その出力先に応じてブロック間でミキシング演算チャンネルを融通しあうことができる。
【0009】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記録媒体の形態で実施することもできる。
【0010】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
この発明の一実施形態を電子楽器に適用した例について説明する。図1は、この電子楽器の全体のハードウェア構成を例示するブロック図である。CPU(中央処理部)10は、バスBを介して各部を制御する。なお、バスBは、コントロールバス、データバスおよびアドレスバスを総称したものである。ROM(リードオンリメモリ)11は、CPU10において用いられる基本プログラムや、各種データを記憶する。RAM(ランダムアクセスメモリ)12は、CPU10の制御等において発生する各種のデータ等を一時的に記憶する。パネルスイッチ13は、発生すべき楽音の音色を選択するためや、各種状態を設定するためなどのスイッチ等により構成される。パネルスイッチ13において設定された情報はバスBを介してCPU10に供給される。表示部14は、CRTや液晶表示パネルなどから構成され、パネルスイッチ13により入力された情報や、現時点において設定された情報などをCPU10の制御の下、表示する。
【0011】
鍵盤15は演奏操作用の複数の鍵からなる。これら各鍵には、それぞれキーセンサが設けられ(図示せず)、演奏者の鍵盤15に対する演奏操作を検出して、押鍵された鍵の音高を示すキーコードKCや、押鍵・離鍵に対応して楽音の発生・消音を指示するキーオンKON・キーオフKOFF、押鍵速度に対応するキータッチデータKTなどの各種キー情報をバスBを介してCPU10に供給する。外部記憶装置16は、FDD(フロッピー・ディスク・ドライブユニット)、HDD(ハード・ディスク・ドライブユニット)、光ディスクドライブユニットなどの大容量記憶装置であり、波形データやその他各種のデータを記憶するために用いられる。通信インタフェース17は、MIDI規格のデータを授受するMIDIインタフェース及び/又はSCSIやUBS等の通信インタフェースからなり、楽音演奏データやその他のデータを通信ネットワークを介して授受することができる。
【0012】
音源回路20は、大別して、複数の楽音発生チャンネルで楽音信号を発生することができるハードウェア音源部と、各種の楽音エフェクトを付与するための信号処理や物理モデル音源原理に従う楽音信号生成処理などをそれぞれのマイクロプログラムに従って実行するデジタル信号処理部(以下DSPという)と、生成されたデジタル楽音信号やその他の信号をミキシングするミキシング装置とを含んでいる。音源回路20におけるハードウェア音源部では、例えば64チャンネル時分割で、各チャネルにおいて楽音信号を生成することができる。ハードウェア音源部に関連して波形メモリ21が付属されており、該波形メモリ21では基本的な波形データを各種音色毎に複数記憶する。また、音源回路20におけるDSPに関連して遅延メモリ22が付属されており、DSP処理の対象となっている信号を遅延処理するために使用される。音源回路20には、適宜の外部回路23が接続可能である。外部回路23としては、例えば、マイクロフォンを介して取り込まれるアナログオーディオ信号をデジタル信号に変換するAD変換器や、外部のDSP装置や、外部の音源装置などがある。DA変換器18は、音源回路20で発生若しくは処理したデジタル楽音信号をアナログ信号に変換する。DA変換器18により変換されたアナログ信号は、アンプやスピーカ等から構成されたサウンドシステム19により、外部に発音される。
【0013】
次に、音源回路20の構成例について図2を参照して説明する。制御レジスタ201は、音源回路20内の各部を制御するデータを、バスBを介してCPU10から受け取り、記憶するものであり、更には、音源回路20内で処理したデータのうち所定のものを記憶し、バスBを介してCPU10に送る。音源部202は、読出回路203、デジタルフィルタ(以下DCFと略称する)部204、音量変化制御回路205を含む。読出回路203は、波形メモリ21に記憶された波形データのうち、指定された音色の波形データを、キーコードKCで指定された音高になるようにアドレスを操作して(読出レートを制御して)読み出すものである。DCF部204は、読出回路203を介して読み出された波形データの音色等を設定・制御するためにデジタルフィルタ処理を施す。音量変化制御回路205は、キーオン信号等のエンベロープ形成開始指示に応じてエンベロープを形成すると共に、読出回路203により読み出されてDCF部204で音色設定・制御された波形データを、該形成したエンベロープに従って時間的にその振幅値を制御すると共に、キータッチデータ等で示された音の大きさとなるようにその振幅値を制御する。つまり、エンベロープ形成機能と振幅・エンベロープ乗算機能とを持つ。音源部202におけるこれらの読出回路203、DCF部204および音量変化制御回路205は、複数チャネル時分割で動作して、各チャネルにおいて異なる楽音信号を生成することが可能となっている。
【0014】
音源部202における発音モードとして、32音モードと64音モードのいずれかがユーザによるスイッチ操作等に応じて選択可能である。音源部202の資源構成(ハードウエア及び時分割処理タイムスロットの構成)は、最大可能発音チャンネル数分つまり64チャンネル分の能力を有している。音源部202における資源は、64音モードの場合は64チャンネル分の楽音信号発生のために使用され、32音モードの場合は32チャンネル分の楽音信号発生のために使用される。32音モードにおける資源利用形態の一例を説明すると、読出回路203においては、64チャンネル分の資源のうち半分が32チャンネル分の楽音信号発生のために使用され、残り半分は、休眠状態とされ、電力等の省エネルギーが図られる。DCF部204においては、32音モードでは、64チャンネル分の資源のうち半分の32チャンネル分の部分(図2のブロック中で「DCF1」で示す)と、残り半分の32チャンネル分の部分(図2のブロック中で「DCF2」で示す)の両方が32チャンネル分の楽音信号のフィルタ処理のために使用される。従って、32音モードでは、1つの発音チャンネルのために2チャンネル分のフィルタ(DCF1とDCF2)を使用することができ、フィルタによる音色形成性能が2倍とされ、音質の向上が図られる。この場合、1つの発音チャンネルのために使用する2チャンネル分のフィルタ(DCF1とDCF2)の接続の仕方は、並列であってもよいし、直列であってもよく、形成しようとする音色に応じて適宜選択してよい。音量変化制御回路205においては、64チャンネル分の資源のうち半分の32チャンネル分の部分(図2のブロック中で「EG1」で示す)が32チャンネル分の楽音信号発生のために使用され、残り半分の32チャンネル分の部分(図2のブロック中で「EG2」で示す)は、休眠状態とされ、電力等の省エネルギーが図られる。なお、音源部202における資源、特にDCF部204と音量変化制御回路205の資源は、DSPによっても共用可能であるが、この点は後述する。
【0015】
CPU10は、押鍵等の発音指示が発生した時、利用可能な発音チャネル(64音モードでは64チャンネル、32音モードでは32チャンネル)の1つに発音割り当てを行ない、割り当てたチャネルに対応する制御レジスタ201内の領域に該発音指示に応じた楽音の発生を制御する楽音制御データを書き込むとともに、同チャンネルに発音開始トリガ(ノートオン)を供給する。該発音開始トリガ(ノートオン)に応じて、音源202の当該割当チャンネルでは該楽音制御データに基づく楽音の生成を開始する。なお、32音モードにおいて、1発音チャンネルのために2チャンネル分のフィルタ資源を使用する場合は、制御レジスタ201では、1発音チャンネルにつき2チャンネル分のフィルタ設定・制御データが書き込まれる。例えば、32音モードでは、第1チャンネル〜第32チャンネルの32チャンネルを対象にして発音割り当てがなされ、夫々の割り当てチャンネル番号に32をプラスした第33チャンネル〜第64チャンネルが各32の割り当てチャンネルのペアとなって利用されるとすると、第1チャンネルに割り当てた楽音のフィルタ設定・制御データは、第1チャンネル及びそれとペアになる第33チャンネルに対応して書き込まれる。
【0016】
音源部202からは、生成された各チャネルの楽音信号が、各サンプリング周期毎に64チャネル時分割された状態で出力され、ミキサ210に入力される。ミキサ210は、音源部202から出力される複数(例えば64)チャンネル分の楽音信号と、内部DSP206から出力される複数(例えば32)チャンネル分の楽音信号と、外部入出力制御回路207から出力される複数(例えば32)チャンネル分の楽音信号とを入力して、制御レジスタ201から与えられる制御データに従って任意のミキシング処理を施し、音源部202、DSP206、外部入出力制御回路207における指定されたチャンネルに出力(分配)する。音源部202からミキサ210に対する64個の入力チャンネルをTG#1〜TG#64で示す。これらのチャンネルTG#1〜TG#64は、音源部202における64個の発音チャンネル(第1チャンネル〜第64チャンネル)に対応する。ミキサ210は、音源部202における所定の32チャンネルに対して信号を出力(分配)することができる。音源部202に対するミキサ210からの出力チャンネルをTGo#1〜TGo#32で示す。この出力チャンネルTGo#1〜TGo#32は、音源部202における所定の32個の発音チャンネル(第1チャンネル〜第32チャンネル又は第33チャンネル〜第64チャンネル)に対応する。音源部202に対するミキサ210からの出力チャンネルTGo#1〜TGo#32の信号は、音源部202におけるDCF部204又は音量変化制御回路205に入力される。ミキサ210におけるミキシング処理の一形態として、内部DSP206から出力された信号あるいは外部入出力制御回路207を介して外部回路23から与えられる信号を、出力チャンネルTGo#1〜TGo#32のいずれかに供給する形態がある。これにより、音源部202におけるフィルタ資源及び/又はエンベロープ制御用資源を、内部DSP206で処理された信号あるいは外部回路23から与えられる信号のために利用することができる。この機能については追って詳述する。この音源出力チャンネルTGo#1〜TGo#32は、音源部202のチャンネルTG#1〜TG#64のうちTG#1〜TG#32またはTG#32〜TG#64の時分割タイミングに同期する時分割タイミングからなる。
【0017】
DSP206からミキサ210に対する32個の入力チャンネルをDSP#1〜DSP#32で示す。DSP206では、1サンプリング周期を複数のブロックに分割し、各ブロック毎にマイクロプログラムを実行することにより、複数のマイクロプログラムの時分割処理可能である。DSP206は、32の入力チャンネルのうちの任意の楽音信号に対し、複数のマイクロプログラムに従う複数の信号処理を施すことが可能であり、処理の施された楽音信号を32の出力チャンネルのうちの該当する出力チャンネルに出力する。DSP206の各チャンネルに対する制御データも制御レジスタ201を介してCPU10のバスBから与えられる。DSP206における32チャンネルの出力信号は、ミキサ210に対する32個の入力チャンネルDSP#1〜DSP#32の信号となる。DSP206に対するミキサ210からの出力チャンネルをDSPo#1〜DSPo#32で示す。このミキサ210の出力チャンネルDSPo#1〜DSPo#32の信号は、DSP206の上記32チャンネルに対する入力信号となる。
【0018】
外部入出力制御回路207からミキサ210に対する32個の時分割的な入力チャンネルをEXT#1〜EXT#32で示す。外部入出力制御回路207に対するミキサ210からの時分割的な出力チャンネルをEXTo#1〜EXTo#32で示す。外部入出力制御回路207は、外部回路23として接続可能な各種装置に対応する各種I/O部208を介して外部回路23に通じる。一例として、各種I/O部208は、新規格のオーディオデータ入出力用の双方向バスであるオーディオバス(ABUS)を接続可能にするI/O機能と、従来より知られたそれぞれ単方向バスからなるシリアルデータ入出力バス(MEL)を接続可能にするI/O機能と、光ディジタルデータバス(SPDIF)を接続可能にするI/O機能とを有する。任意の機能の外部回路23(例えばマイクロホンとAD変換器とを含む外部音ピックアップ回路、あるいは外部DSP、あるいは外部音源装置など)をそれに対応する機能のバスを介してI/O部208に接続し、外部入出力制御回路207に通じる。
【0019】
また、外部入出力制御回路207は、制御レジスタ201内に設けられたCODEC用の入出力FIFO(先入れ先出しメモリ)にも接続される。CPU10の制御によりRAM12内に記憶されているオーディオ波形データを読み出して外部に出力するあるいはミキサ210に入力する場合、読み出したオーディオ波形データを出力用のCODECのFIFOに順次書き込み、これを所定の再生サンプリング周期で順次読み出して外部入出力制御回路207に入力する。また、外部から入力するオーディオ波形データをRAM12に記憶する場合、サンプリング周期ごとにI/O部208に入力するオーディオ波形データを、一旦、外部入出力制御回路207を介してミキサ210のEXT#1〜EXT#32の何れかの入力チャンネルに入力し、さらにEXTo#1〜EXTo#32の何れかの出力チャンネルから外部入出力制御回路207を介して入力用のCODECのFIFOに出力して該FIFOに書き込む。そして、CPU10の制御により、入力用のCODECのFIFOからRAM12にこのオーディオ波形データが転送記憶される。入力用及び出力用のCODEC FIFOは、それぞれステレオの左右2チャンネル分具備しているとよい。
【0020】
また、外部入出力制御回路207は、DACのI/O部209にも接続される。DACのI/O部209の出力は、DA変換器18(図1)に与えられる。DA変換器18でアナログ信号に変換したいディジタルデータをミキサ210から外部入出力制御回路207を介してDACのI/O部209に供給する。DA変換器18(図1)はそれぞれステレオの左右2チャンネル分具備しており、再生発音しようとするステレオ左右2チャンネルのディジタルオーディオデータが、ミキサ210から外部入出力制御回路207及びI/O部209を介してDA変換器18(図1)に与えられる。
【0021】
次に、ミキサ210の内部構成例及びそのミキシング動作例について、図3に示されたミキサ210の内部構成略図、図4に示されたミキサ設定例説明図、図5に示されたミキサ割当レジスタ説明図、並びに、図6及び図7に示されたミキサ動作タイミングチャート、を参照して説明する。
図3において、入力RAM212は、ミキサ210に入力される音源入力チャンネルTG#1〜TG#64、DSP入力チャンネルDSP#1〜DSP#32、外部入力チャンネルEXT#1〜EXT#32、の合計128チャンネルの各信号(ディジタルサンプルデータ)をバッファ記憶するもので、AバッファとBバッファのダブルバッファ構成からなる。入力RAM212における2つのバッファAとBは、それぞれ128チャンネル分のサンプルデータを記憶する容量を持ち、各バッファA,Bは1サンプリング周期毎に交互に書込モードと読出モードに切り替わる。書込回路211は、ミキサ210に入力される上記各入力チャンネルのデータを、入力RAM212の2つのバッファA,Bのうち現在書き込みモードとなっている方のバッファに書き込む制御を行う。入力RAM212の各バッファA,Bにおける128のアドレスは、128の各入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32に対応している。図4における「入力チャンネル」のブロックでは、入力RAM212に入力データがバッファされる当該ミキサ210の各入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32を模擬的に示している。入力RAM212における書き込みタイミングと読み出しタイミングの詳細例については後述するが、概ね、書き込みタイミングは入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32の時分割タイミングに同期して適当なタイミングに設定され、読み出しタイミングはミキサ210の内部のミキシング用演算チャンネルの時分割タイミングに同期して適当なタイミングに設定される。
【0022】
出力RAM215は、ミキサ210の出力チャンネルである、音源出力チャンネルTGo#1〜TGo#32、DSP出力チャンネルDSPo#1〜DSPo#32、外部出力チャンネルEXTo#1〜EXTo#32、の合計96チャンネルの各信号(ミキシング出力であるディジタルサンプルデータ)をバッファ記憶するもので、これもAバッファとBバッファのダブルバッファ構成からなる。出力RAM215における2つのバッファAとBは、それぞれ96チャンネル分のサンプルデータを記憶する容量を持ち、各バッファA,Bは1サンプリング周期毎に交互に書込モードと読出モードに切り替わる。読出回路216は、上記各出力チャンネルのデータを出力RAM215の2つのバッファA,Bのうち現在読出モードとなっている方のバッファから読み出す制御を行う。なお、後述するように書込モードとなっている方のバッファでは、同じ出力チャンネルへの累算のために読み出しと書き込みが時分割処理される。出力RAM215の各バッファA,Bにおける96のアドレスは、96の各出力チャンネルTGo#1〜TGo#32、DSPo#1〜DSPo#32、EXTo#1〜EXTo#32に対応している。図4における「出力チャンネル」のブロックでは、出力RAM215にミキシング出力データがバッファされる当該ミキサ210の各出力チャンネルTGo#1〜TGo#32、DSPo#1〜DSPo#32、EXTo#1〜EXTo#32を模擬的に示している。出力RAM212における書き込みタイミングと読み出しタイミングの詳細例についても後述するが、概ね、書き込みタイミングはミキサ210の内部のミキシング用演算チャンネルの時分割タイミングに同期して適当なタイミングに設定され、読み出しタイミングは出力チャンネルTGo#1〜TGo#32、DSPo#1〜DSPo#32、EXTo#1〜EXTo#32の時分割タイミングに同期して適当なタイミングに設定される。
【0023】
ミキサ210は、複数のミキシング用演算チャンネルを使用して、入力RAM212にバッファされた各入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32のディジタルサンプルデータを、各出力チャンネルTGo#1〜TGo#32、DSPo#1〜DSPo#32、EXTo#1〜EXTo#32のいずれかに分配して各出力チャンネル毎にミキシングし、各出力チャンネル毎のミキシング出力データを出力RAM215にバッファ記憶する。この実施例では、400の時分割的なミキシング用演算チャンネルがミキサ210で使用される。図4における「MIXチャンネル」のブロックでは、400の各ミキシング用演算チャンネルを、符号MIX#1〜MIX#400で模擬的に示している。図3において、入力RAM212と出力RAM215との間に設けられた乗算回路213と加算回路214がミキシング用演算チャンネルの実体部分を構成する。すなわち、乗算回路213と加算回路214を時分割使用することで、各ミキシング演算チャンネルMIX#1〜MIX#400における係数乗算及び加算等のミキシング演算が行なわれる。このミキシング演算は、CPU10(図1)の制御に基づき制御レジスタ201等からの制御データ等に応じて制御される。
【0024】
CPU10(図1)では、そこで実行する所定のプログラムの適宜の処理過程で、「ミキサ設定処理」を実行する。「ミキサ設定処理」とは、各ミキサ入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32の信号を、1又は複数の指定された出力チャンネルTGo#1〜TGo#32、DSPo#1〜DSPo#32、EXTo#1〜EXTo#32に供給するために、各ミキシング演算チャンネルMIX#1〜MIX#400のうち任意の1又は複数の演算チャンネルを利用するように、各演算チャンネルMIX#1〜MIX#400に対して入力元の任意の入力チャンネルと出力先の任意の出力チャンネルとを適宜可変的に割り当てる(設定する)割当処理である。この「ミキサ設定処理」(すなわち割当処理)によって各演算チャンネルMIX#1〜MIX#400に割り当てられた入力チャンネルと出力チャンネルが、入力元の特定の入力チャンネルを示すソースチャンネルデータSRCchと、出力先の特定の出力チャンネルを示すデスティネーションチャンネルデータDESTchとで特定される。
【0025】
具体的には、各ミキシング演算チャンネルMIX#1〜MIX#400に対する入出力チャンネル設定内容(割当内容)を示すミキサ割当レジスタMIX−ASSが制御レジスタ201に含まれている。図5は、そのようなミキサ割当レジスタMIX−ASSで記憶する割当内容データの一例を示す。ミキサ割当レジスタMIX−ASSにおいては、1つのミキシング演算チャンネル(例えばMIX#1)に対応して、該ミキシング演算チャンネルに割り当てられた入力チャンネルと出力チャンネルをそれぞれ示すソースチャンネルデータSRCchとデスティネーションチャンネルデータDESTchとが記憶され、更に、出力チャンネルに対するセンドレベル(送出レベル係数)を示すセンドレベルデータSENDLと、左右チャンネル出力形式を選択する出力形式選択データLR−SELとが記憶される。このような割当内容データが各ミキシング演算チャンネルMIX#1〜MIX#400に対応して記憶される。
一例を示すと、音源部202(図2)で発生する所与の音色Xの楽音信号を、DSP206(図2)で所与のエフェクトYを付与するよう設定する場合、該音色Xの楽音信号が例えば音源入力チャンネルTG#1とTG#2で発生され、該エフェクトYに係るDSP出力チャンネルがDSPo#3であるとする。そのときの各ミキシング演算チャンネルMIX#1〜MIX#400の利用状況(空き状況)に応じて、適宜の各ミキシング演算チャンネルを使用することが「ミキサ設定処理」によって決定されるが、例えば、TG#1からDSPo#3へのミキシングはMIX#1で行ない、TG#2からDSPo#3へのミキシングはMIX#6で行なうように割当てが決定されたとする。その場合、ミキサ割当レジスタMIX−ASSにおけるミキシング演算チャンネルMIX#1のレジスタには、ソースチャンネルデータSRCchとして音源入力チャンネルTG#1を指示するデータが記憶され、デスティネーションチャンネルデータDESTchとしてDSP出力チャンネルDSPo#3を指示するデータが記憶され、また、ミキシング演算チャンネルMIX#6のレジスタには、ソースチャンネルデータSRCchとして音源入力チャンネルTG#2を指示するデータが記憶され、デスティネーションチャンネルデータDESTchとしてDSP出力チャンネルDSPo#3を指示するデータが記憶される。
【0026】
出力形式選択データLR−SELについて説明する前に、パン制御について説明する。ミキサ210においては、各入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32のオーディオ信号をステレオ・パン制御することができる。例えば、音源入力チャンネルTG#1のオーディオ信号をパンさせる場合、所望の音像定位位置に応じて左パン係数と右パン係数とを周知の手法で決定し、音源入力チャンネルTG#1のオーディオ信号を左チャンネルと右チャンネルに分配し、左チャンネルの信号には左パン係数を乗算し、右チャンネルの信号には右パン係数を乗算し、左右チャンネルで別のスピーカから発音することで、ステレオ・パン制御を実現する。この音像定位は、個別の入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32毎に設定・制御可能である。このため、各ミキサ入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32毎に、任意に設定されたパン制御用の左パン係数と右パン係数とを記憶するパンレジスタを制御レジスタ201内に有している。パン係数を乗算する演算は、ミキシング演算チャンネルMIX#1〜MIX#400において乗算回路213(図3)を使用して行なわれる。その場合、パン係数の乗算を単独で行なうことなく、センドレベルデータSENDLの乗算と一緒に行なう。すなわち、或るミキシング演算チャンネル(例えばMIX#1)について、そこに割り当てられた或る入力チャンネル(例えばTG#1)の信号に対して乗算回路213を使用して係数乗算を行なう場合、該入力チャンネル(例えばTG#1)について設定された左パン係数及び右パン係数並びにセンドレベルデータSENDLを用いて、左パン係数とセンドレベルデータSENDLを合成して左チャンネル用の乗算係数を生成し、かつ、右パン係数とセンドレベルデータSENDLを合成して右チャンネル用の乗算係数を生成する。1つのミキシング演算チャンネルでは、左チャンネル用の演算と右チャンネル用の演算を別々に行なうように、2つのチャンネル若しくはタイムスロットを使用する。よって、或る1つのミキシング演算チャンネル(例えばMIX#1)についてみてみると、制御レジスタ201から乗算回路213に与えられる乗算係数は、上述のように、左パン係数とセンドレベルとを加味した左チャンネル用の乗算係数と、右パン係数とセンドレベルとを加味した右チャンネル用の乗算係数であり、該ミキシング演算チャンネル(例えばMIX#1)に割り当てられた或る入力チャンネル(例えばTG#1)の信号が入力RAM212から読み出されて乗算回路213に入力されるとき、これに同期して、該入力チャンネル(例えばTG#1)についての左チャンネル用の乗算係数と右チャンネル用の乗算係数とが制御レジスタ201から乗算回路213に時分割で与えられ、左右パン係数及びセンドレベルの乗算が行なわれる。
【0027】
出力形式選択データLR−SELは、当該ミキシング演算チャンネルにおいて入力された信号をステレオ・パンで出力するか、あるいはモノラルで出力するか、あるいは出力しないか、を選択するデータである。このデータLR−SELは2ビットデータからなり、例えば、その値が“00”のときOFF(出力しない)、“01”のとき左モノラル出力(パンせずに左チャンネルの信号をモノラル出力する)、“10”のとき右モノラル出力(パンせずに右チャンネルの信号をモノラル出力する)、“11”のときパン出力(左右チャンネルの信号をパン制御して出力する)、の各出力形式を指定する。この出力形式選択データLR−SELの内容は、所望の入力チャンネルに対応してユーザが任意に選択できるし、各入力チャンネルに対応する楽音の音色や効果等の選択に連動して自動的に設定されるようにしてもよい。
【0028】
パン制御に対応するために、デスティネーションチャンネルデータDESTchの指定は、原則的にステレオで行われる。例えば、デスティネーションチャンネルデータDESTchを奇数で表わし、それに1をプラスした偶数チャンネルDESTch+1と対になって、左右ステレオチャンネルとして2つの出力チャンネルが割り当てられる。例えば、ソースチャンネルデータSRCchが音源入力チャンネルTG#1を指示し、それに対応するデスティネーションチャンネルデータDESTchがDSP出力チャンネルDSPo#1を指示する場合、音源入力チャンネルTG#1のステレオ・パン用の左チャンネル信号はDSP出力チャンネルDSPo#1に分配され、その右チャンネル信号はDSP出力チャンネルDSPo#2に分配される。そして、ミキサ210では、上記の出力形式選択データLR−SELの内容に従って、左右の各出力チャンネルに信号を実際に出力するかどうかの制御がなされる。
【0029】
図3において、加算回路214は、同じ出力チャンネルに分配された信号を加算(ミキシング)するためのものである。例えば、或るミキシング演算チャンネルの左チャンネルの演算タイミングの前半において、その演算結果をDSP出力チャンネルDSPo#1に分配する場合、出力RAM215のうち現在書込モードとなっている方のバッファから該DSP出力チャンネルDSPo#1のデータを読み出して加算回路214に供給し、乗算回路213から与えられる該ミキシング演算チャンネルについての演算結果と加算する。この加算結果は、該ミキシング演算チャンネルの左チャンネルの演算タイミングの後半において、出力RAM215のうち現在書込モードとなっている方のバッファの該DSP出力チャンネルDSPo#1の位置に書き込まれる。こうして、1サンプリング周期の間において、同一の出力チャンネルに分配された信号が加算(ミキシング)される。出力RAM215のうち現在書込モードとなっている方のバッファの読み/書きモードは、次の1サンプリング周期において読出モードに切り替わる。読出モードにおける各出力チャンネルのデータの読み出しが終ると、追って説明する図7(b)に示すようなタイミング(次の書込みモードの第1〜第96ステップ)で、出力RAM215の当該バッファのデータがクリアされる。これにより、出力RAM215の当該バッファが次の1サンプリング周期において書込モードに切り替わったとき、まず、前の1サンプルについてのミキシング累算結果がクリアされ、次の新たな1サンプルについてのミキシング累算が可能となる。
【0030】
図6は、ミキサ210における入力側の書込回路211による書込処理タイミングと、ミキシング演算処理タイミング及び出力側の読出回路215による読出処理タイミングの大まかな関係を略示するタイムチャートである。
図6(a)に示された1サンプリング周期は、音源回路20(図1,図2)で処理される波形データの1サンプリング周期に相当する。1サンプリング周期の間で、DSP206(図2)における全処理ステップ(例えば1024ステップ)が1巡し、また、音源回路20における時分割処理サイクルが1巡する。ミキサ210における処理クロックは、DSP206におけるステップクロックと同様であるとし、例えば、1024ステップの時分割動作が可能である。
図6(b)は書込回路211による入力RAM212への書込処理が行われるタイミングを示す。すなわち、1サンプリング周期の間で、全128の入力チャンネルの書き込みが行われる。(b)の例において、「書込処理1」と記載された1サンプリング周期の間で入力RAM212のバッファAに対して書き込みが行なわれ、「書込処理2」と記載された1サンプリング周期の間で入力RAM212のバッファBに対して書き込みが行なわれ、「書込処理3」と記載された1サンプリング周期の間で入力RAM212のバッファAに対して書き込みが行なわれる。
【0031】
1サンプリング周期の間での全128の各入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32の時分割的書込タイミング例は図7(a)のようである。図7(a)では、1サンプリング周期を構成する1024ステップが32ステップサイクルで管理されて時分割的書込タイミングが割り当てられることを示している。32ステップからなる1サイクルのうち第1ステップ(図中で数字1が付されたタイムスロット)と第17ステップ(図中で数字17が付されたタイムスロット)が音源入力チャンネルTG#1〜TG#64の書込タイミングとして割り当てられる(図中でTGが記されたタイムスロット)。合計64チャンネルの音源入力チャンネルTG#1〜TG#64の時分割タイムスロットは、1サンプリング周期=1024ステップを16ステップ幅で分割してなるものとすることができるので、1024ステップ中の32ステップサイクルにおける第1及び第17タイムスロットで音源入力チャンネルの書き込みを行うことで、各音源入力チャンネルTG#1〜TG#64の書込タイミングを適切に確立することができる。
また、32ステップからなる1サイクルのうち第25ステップ(図中で数字25が付されたタイムスロット)が外部入力チャンネルEXT#1〜EXT#32の書込タイミングとして割り当てられる(図中でEXTが記されたタイムスロット)。合計32チャンネルの外部入力チャンネルEXT#1〜EXT#32の時分割タイムスロットは、1サンプリング周期=1024ステップを32ステップ幅で分割してなるものとすることができるので、1024ステップ中の32ステップサイクルにおける第25タイムスロットで外部入力チャンネルの書き込みを行うことで、外部入力チャンネルEXT#1〜EXT#32の書込タイミングを適切に確立することができる。
【0032】
32ステップからなる1サイクルのうち残りのステップ(図中で数字2〜16,18〜24,26〜32が付されたタイムスロット)がDSP入力チャンネルDSP#1〜DSP#32の書込タイミングとして割り当てられる若しくは開放される(図中でDが記されたタイムスロット)。全32のDSP入力チャンネルに割り当てられた若しくは開放された書込タイミングは、1サンプリング周期中で928タイムスロットと、かなり余分にある。実際にどのタイムスロット(DSPステップ)を使用して書き込みを行なうかは、DSP206(図2)におけるマイクロプログラムの設計に委ねられる。従って、DSP206における各種処理のマイクロプログラムの設計にあたっては、処理済みの信号の出力タイミングをどのDSPステップとするかにつき、かなり自由に設計することができるので、設計がやりやすい。
【0033】
図3に戻り、書込回路211では、上述したような時分割的書込タイミングに従って、各入力チャンネルTG#1〜TG#64、DSP#1〜DSP#32、EXT#1〜EXT#32のデータの入力RAM212の一方のバッファへの書き込みを行う。データを書き込んだ入力RAM212のバッファは次の1サンプリング周期において読出モードに切り換えられ、時分割的なミキシング用演算チャンネルのタイミングに従い、制御レジスタ201内の前記ミキサ割当レジスタMIX−ASSから与えられる当該ミキシング用演算チャンネルのソースチャンネルデータSRCchで指示される入力チャンネルのサンプルデータが入力RAM212の該読出モードのバッファから読み出される。
【0034】
図6(c)は、入力RAM212のバッファから読み出したデータに対してミキシング演算処理を行うタイミングを示す。1サンプリング周期の間で、128の入力チャンネルの各1サンプルデータを96の出力チャンネルのいずれか1又は複数に分配しミキシング演算する。なお、128の入力チャンネル全部を必ずしもいずれかの出力チャンネルに分配する必要はなく、128の入力チャンネルの中に使用されていないチャンネルがある場合、その入力チャンネルについてはいずれの出力チャンネルにも分配されないようにしてよい。(c)の例において、「ミキシング処理1」と記載された1サンプリング周期の間では、「書込処理1」のときに入力RAM212のバッファAに書き込まれたデータが読み出され、この読み出されデータに対するミキシング演算処理がなされる。
図7(b)は、1サンプリング周期=1024ステップ中においてミキシング用演算チャンネルMIX#1〜MIX#400に対して割り当てられた時分割タイミングを例示する図である。図中で符号M(1)〜M(400)は、各チャンネルMIX#1〜MIX#400に対して割り当てられたタイムスロットであることを示す。1サンプリング周期中の最初の96ステップ(第1ステップ〜第96ステップ)では、出力RAM215(図3)のうち現在書込モードとされている方のバッファの全記憶をクリアする(図中Cで示す)。この最初の期間で、前述の通り、前サンプリング周期で読出モードだった(データ読み出しが終った)出力RAM215のバッファ(今回書込モードとなったバッファ)のデータがクリアされる。第97ステップから第896ステップまでの合計800ステップ分のタイムスロットでは、連続する2タイムスロットを1つのミキシング用演算チャンネルの演算タイミングとして順次割り当てる。1つのミキシング用演算チャンネルの2タイムスロットのうち、例えば最初が左チャンネル演算用、次が右チャンネル演算用である。
【0035】
例えば、或るミキシング用演算チャンネルMIX#xの2タイムスロットにおいて、入力RAM212の読出モードとなっている方のバッファから、該演算チャンネルMIX#xに割り当てられたソースチャンネルデータSRCchに応じた入力チャンネルのサンプルデータを読み出す。読み出されたデータが乗算回路213に入力される。該チャンネルMIX#xの2タイムスロットのうち最初のタイムスロットで、制御レジスタ201から、該ソースチャンネルデータSRCchに応じた入力チャンネルについてのセンドレベルデータSENDLと左パン係数とを合成した乗算係数が読み出され、これが乗算回路213に入力される。乗算回路213の出力は、加算回路214に入力される。このとき、出力RAM215の書込モードとなっている方のバッファから、該演算チャンネルMIX#xに割り当てられたデスティネーションチャンネルデータDESTchに応じた出力チャンネルのサンプルデータを読み出し、加算回路214に入力する。このときの加算回路214の出力は、出力RAM215の書込モードとなっている方のバッファにおける該演算チャンネルMIX#xに割り当てられたデスティネーションチャンネルデータDESTchに応じた出力チャンネルの記憶場所に書き込まれる。
次に、該チャンネルMIX#xの2タイムスロットのうち2番目のタイムスロットで、制御レジスタ201から、該ソースチャンネルデータSRCchに応じた入力チャンネルについてのセンドレベルデータSENDLと右パン係数とを合成した乗算係数が読み出され、これが乗算回路213に入力される。このとき、出力RAM215の書込モードとなっている方のバッファから、該演算チャンネルMIX#xに割り当てられたデスティネーションチャンネルデータDESTchにブラス1した出力チャンネル(DESTch+1)のサンプルデータを読み出し、加算回路214に入力する。このときの加算回路214の出力は、出力RAM215の書込モードとなっている方のバッファにおける該演算チャンネルMIX#xに割り当てられたデスティネーションチャンネルデータDESTchにブラス1した出力チャンネル(DESTch+1)の記憶場所に書き込まれる。
【0036】
図6(d)は、出力RAM215のバッファからの読出処理を行うタイミングを示す。例えば、図6(c)の「ミキシング処理1」のときに書込モードとになっていた出力RAM215のバッファがAであるとすると、このバッファAは次の1サンプリング周期においては、読出モードに切り替わる。(d)の例において、「読出処理1」と記載された1サンプリング周期の間では、「ミキシング処理1」のときにミキシング演算処理されて出力RAM215のバッファAに書き込まれたデータが、読出回路216の制御によって、読み出される。
1サンプリング周期の間で全96の各出力チャンネルTGo#1〜TGo#32、DSPo#1〜DSPo#32、EXTo#1〜EXTo#32のデータを出力RAM215から時分割的に読み出す読出タイミング例は、図7(a)に示した時分割的書込タイミング例と同様である。すなわち、図中でTGが記された音源用のタイムスロットは、音源出力チャンネルTGo#1〜TGo#32の読出タイミングとして使用される。また、図中でEXTが記された外部用のタイムスロットは、外部出力チャンネルEXTo#1〜EXTo#32の読出タイミングとして使用される。図中でDが記されたDSP用のタイムスロットは、DSP出力チャンネルDSPo#1〜DSPo#32の読出タイミングとして使用される。
【0037】
ただし、図中でTGが記された音源用のタイムスロットは、前述の通り、1サンプリング周期中で64チャンネル分有るのに対して、音源出力チャンネルTGo#1〜TGo#32は32チャンネルしかないが、音源出力チャンネルTGo#1〜TGo#32の信号を音源部202のチャンネルTG#1〜TG#64のどれに与えるかに応じて、適切なタイミングで読み出しを行えばよい。例えば、音源部202内のEGをDSP音又は外部音で利用する後述するEXT−AEGモードが選択されている場合においては、音源出力チャンネルTGo#1〜TGo#32の信号に音源部202のチャンネルTG#33〜TG#64を使用させるように、これらの音源チャンネルTG#33〜TG#64に対応するタイミングで、出力RAM215の各音源出力チャンネルTGo#1〜TGo#32のデータを読み出す。また、音源部202内のDCFをDSP音又は外部音で利用する後述するDCF−SELモードが選択されている場合において、音源部202の発音モードが前述の64音モードであれば、音源出力チャンネルTGo#1〜TGo#32の信号に音源部202のチャンネルTG#33〜TG#64を使用させるように、これらの音源チャンネルTG#33〜TG#64に対応するタイミングで、出力RAM215の各音源出力チャンネルTGo#1〜TGo#32のデータを読み出す。また、該DCF−SELモードが選択されている場合において、音源部202の発音モードが前述の32音モードであれば、音源出力チャンネルTGo#1〜TGo#32の信号に音源部202のチャンネルTG#1〜TG#32を使用させるように、これらの音源チャンネルTG#1〜TG#32に対応するタイミングで、出力RAM215の各音源出力チャンネルTGo#1〜TGo#32のデータを読み出す。
【0038】
前述と同様に、DSP出力チャンネルDSPo#1〜DSPo#32の読出タイミングとして割り当てられた若しくは開放されたタイムスロットは、1サンプリング周期中で928タイムスロットと、かなり余分にあるので。実際にどのタイムスロット(DSPステップ)を使用して読み出しを行なうかは、DSP206(図2)におけるマイクロプログラムの設計に委ねられる。従って、DSP206における各種処理のマイクロプログラムの設計にあたっては、処理すべき信号の入力タイミングをどのDSPステップとするかにつき、かなり自由に設計することができるので、設計がやりやすい。
【0039】
読出回路216では、上述したような時分割的読出タイミングに従って、現在読出モードにある出力RAM212の一方のバッファから、各出力チャンネルTGo#1〜TGo#32、DSPo#1〜DSPo#32、EXTo#1〜EXTo#32のデータの読み出しを行い、この各読み出しデータを3つの出力系統のいずれかに分配し、各系統毎に時分割で出力する。こうしてミキサ210から出力された音源出力チャンネルTGo#1〜TGo#32のデータは音源部202に入力され、DSP出力チャンネルDSPo#1〜DSPo#32のデータはDSP206に入力され、外部出力チャンネルEXTo#1〜EXTo#32のデータは外部入出力制御回路207に入力される。
【0040】
図4において、各チャンネル間を結ぶ線はミキサ設定例を示している。一例を示すと、TG#1がMIX#1、MIX#2、MIX#3に結ばれ、MIX#1がEXTo#1とEXTo#2に結ばれ、MIX#2がDSPo#1とDSPo#2に結ばれ、MIX#3がDSPo#3に結ばれている例は、音源入力チャンネルTG#1の信号がチャンネルMIX#1を使用して外部出力チャンネルEXTo#1とEXTo#2にステレオ出力され、かつ該音源入力チャンネルTG#1の信号がチャンネルMIX#2を使用してDSP出力チャンネルDSPo#1とDSPo#2にステレオ出力され、かつ該音源入力チャンネルTG#1の信号がチャンネルMIX#3を使用してDSP出力チャンネルDSPo#3にモノラル出力されることを示している。図の例では、DSPo#3には、MIX#3のほかに、MIX#5を介してTG#3の信号、MIX#270を介してDSP#1の信号、MIX#273を介してDSP#2の信号、MIX#311を介してEXT#3の信号がミックスされて分配される。
【0041】
次に、外部入力チャンネルEXT#1〜EXT#32に対する外部回路等の割り当て例について説明する。各外部入力チャンネルEXT#1〜EXT#32に取り込みたい外部入力信号として、オーディオバス(ABUS)からの入力信号、シリアル入力バス(MEL)からの入力信号、CODECからの入力信号(CODEC FIFOの出力)、の3種の信号をユーザによって任意に割り当てることができる。勿論、この割り当てはプリセットされていてもよいし、プリセットされた割り当て内容をユーザが変更できるようにしてもよい。
オーディオバス(ABUS)について簡単に説明する。オーディオバス(ABUS)に接続された複数のデバイスは、サンプリング周期毎に各デバイスに割り当てられた転送期間(フレーム)を利用して複数チャンネルのデータを転送することができる。フレームの時間長は各デバイスの転送レートと転送チャンネル数に応じて変化し、1サンプリング周期には最大31のフレームを設けることができる。従って、オーディオバス(ABUS)からの入力信号を、いずれかの外部入力チャンネルEXT#1〜EXT#32に取り込むには、フレーム番号と該フレーム内のチャンネル番号とを特定する必要がある。
【0042】
制御レジスタ201内に外部入力チャンネル設定レジスタがあり、該レジスタにおける各外部入力チャンネルEXT#1〜EXT#32に対応するアドレス位置に、そこに割り当てた外部信号を特定するデータが記憶される。外部入出力制御回路207(図2)では、この外部入力チャンネル設定レジスタの設定に従って、I/O部208及びCODEC FIFOからの所要の信号を各外部入力チャンネルEXT#1〜EXT#32に割り当てる。図4には、この外部入力チャンネル設定レジスタにおける設定例が示されている。「Abus1−1」は、オーディオバス(ABUS)の第1フレームの第1チャンネルのデータを示し、図の例ではこれがチャンネルEXT#1に取り込まれるように設定されている。「Abus1−4」は、オーディオバス(ABUS)の第1フレームの第4チャンネルのデータを示し、図の例ではこれがチャンネルEXT#2に取り込まれるように設定されている。「シリアル 2L」は、シリアル入力バス(MEL)の第2番の左チャンネルのデータを示し、図の例ではこれがチャンネルEXT#3に取り込まれるように設定されている。なお、シリアル入力バス(MEL)は、複数本有り、その中のそれぞれを番号を付して区別する。「CODECoR」は、出力用CODEC FIFOのうち右チャンネルの出力データを示し、図の例ではこれがチャンネルEXT#32に取り込まれるように設定されている。出力用CODEC FIFOは左右2チャンネルある。
【0043】
次に、外部出力チャンネルEXTo#1〜EXTo#32に対する外部回路等の割り当て例について説明する。まず、オーディオバス(ABUS)への出力信号については、先頭の外部出力チャンネルEXTo#1から順に必要なチャンネル数だけ自動的に確保される。そして、残りの外部出力チャンネルに対して、その出力先の外部信号として、シリアル出力バス(MEL)、入力用CODEC FIFO、SPDIF出力、DACの4種の出力をユーザによって任意に割り当てることができる。勿論、この割り当てはプリセットされていてもよいし、プリセットされた割り当て内容をユーザが変更できるようにしてもよい。
制御レジスタ201内に外部出力チャンネル設定レジスタがあり、該レジスタにおける各外部出力チャンネルEXTo#1〜EXTo#32に対応するアドレス位置に、そこに割り当てた外部出力を特定するデータが記憶される。外部入出力制御回路207(図2)では、この外部出力チャンネル設定レジスタの設定に従って、各外部出力チャンネルEXTo#1〜EXTo#32の信号を、所要のI/O部208及びCODEC FIFOに供給する。
【0044】
図4には、この外部出力チャンネル設定レジスタにおける設定例が示されている。「Abus4−1」は、オーディオバス(ABUS)の第4フレームの第1チャンネルのデータを示し、図の例ではこれがチャンネルEXTo#1に該当するように設定されている。「Abus5−1」は、オーディオバス(ABUS)の第5フレームの第1チャンネルのデータを示し、図の例ではこれがチャンネルEXTo#2に該当するように設定されている。「シリアル 2L」は、シリアル出力バス(MEL)の第2番の左チャンネルのデータを示し、図の例ではこれがチャンネルEXTo#3に該当するように設定されている。「CODECiL」は、入力用CODEC FIFOのうち左チャンネルへの入力データを示し、図の例ではこれがチャンネルEXTo#32に該当するように設定されている。入力用CODEC FIFOも左右2チャンネルある。
なお、前述のミキシング設定レジスタにおける各ミキシング演算チャンネルに対する入出力チャンネルの設定にあたっては、上記外部入力/出力チャンネル設定レジスタにおける設定内容が考慮されて、所望の種類の外部信号が入出力できるように外部入力/出力チャンネルの設定を行う。
【0045】
次に、音源部202の資源を、内部での楽音信号発生のためのみならず、DSP206で処理した信号(便宜上DSP音という)あるいは外部回路23等から入力される信号(便宜上外部音という)のためにも共用するようにした仕組みについて説明する。
これまで説明してきた実施例に示されるように、ミキサ210では、ミキシング出力先として、音源出力チャンネルTGo#1〜TGo#32が指定できるようになっている。図2に示されるように、音源出力チャンネルTGo#1〜TGo#32の信号は、音源部202のDCF204及び/又は音量変化制御回路205に導入される。この構成により、DSP206における各種信号処理機能に従って処理された各DSPチャンネルの出力信号(これはミキサ210の各DSP入力チャンネルDSP#1〜DSP#32の信号に相当する)のいずれか1又は複数が、ミキサ210で音源出力チャンネルTGo#1〜TGo#32のいずれか1又は複数に分配されるようにミキシング設定を行うことで、DSP206で処理した信号を音源部202に入力し、該音源部202の持つフィルタ機能及び/又は音量エンベロープ制御機能を、DSP206で処理した信号のために使用させることができる。同様に、外部入出力制御回路207を介して、外部回路23から又は内部のCODEC FIFOから、ミキサ210の各外部入力チャンネルEXT#1〜EXT#32に与えられる信号のいずれか1又は複数が、ミキサ210で音源出力チャンネルTGo#1〜TGo#32のいずれか1又は複数に分配されるようにミキシング設定を行うことで、外部回路23から又は内部のCODEC FIFOからの信号を音源部202に入力し、該音源部202の持つフィルタ機能及び/又は音量エンベロープ制御機能を、これら外部音信号またはCODEC音信号のために使用させることができる。更に、ミキサ210の各外部入力チャンネルEXT#1〜EXT#32に与えられる信号のいずれか1又は複数が、ミキサ210でいずれか1又は複数の特定のDSP出力チャンネルDSPo#1〜DSPo#32に分配されるようにミキシング設定を行い、更に、この特定のDSP出力チャンネルに対応する特定のDSP入力チャンネルDSP#1〜DSP#32の信号が、ミキサ210で音源出力チャンネルTGo#1〜TGo#32のいずれか1又は複数に分配されるようにミキシング設定を行うことで、外部音信号またはCODEC音信号をDSP206で処理した信号に、音源部202の持つフィルタ機能及び/又は音量エンベロープ制御機能を使用させることができる。
【0046】
音源部202におけるフィルタ資源(DCF資源という;すなわちDCF204)とエンベロープジェネレータ資源(EG資源という;すなわち音量変化制御回路205)は、音源部202内部での発生音(読出回路203の制御に基づく音信号)と、音源部202外部での発生音若しくは処理音(上記音源出力チャンネルTGo#1〜TGo#32を介してミキサ210から導入される音信号)、の双方により共用可能なように2つのブロック(DCF1とDCF2及びEG1とEG2)にわけて利用可能である。
音源部202の資源を共用するモードには、EG資源をDSP音又は外部音等で利用するEXT−AEGモードと、DCF資源をDSP音又は外部音等で利用するDCF−SELモードとがある。
【0047】
EXT−AEGモードは、ミキサ210の音源出力チャンネルTGo#1〜TGo#32の信号を音源部202の音量変化制御回路205に導入し、その音量変化制御機能つまり音量エンベロープ制御機能を、該音源出力チャンネルTGo#1〜TGo#32に分配されたDSP音信号あるいは外部音信号またはCODEC音信号等のために使用させる、つまりこれらの信号に対して音量エンベロープを付与する、モードである。このEXT−AEGモードが選択された場合、全64個の音源チャンネルTG#1〜TG#64のうち前半の32個の音源チャンネルTG#1〜TG#32に対応する音量変化制御回路205の資源(図2に示されたEG1のブロック)が読出回路203の制御に基づく内部発生音信号のために使用され、後半の32個の音源チャンネルTG#33〜TG#64に対応する音量変化制御回路205の資源(図2に示されたEG2のブロック)が音源出力チャンネルTGo#1〜TGo#32に分配されたDSP音信号あるいは外部音信号またはCODEC音信号等のために使用可能である。
【0048】
このEXT−AEGモードは、通常は前述の32音モードのときに使用される。32音モードでは、前述のとおり、内部発生音は32チャンネル分のみ発生可能とし、余ったフィルタ資源(DCF204)は1音につき2チャンネル分のDCFを使用することで音質を向上させているが、EG資源は1音につき1チャンネル分しか使用しないので、後半の32チャンネル分のEG2ブロックは通常は休眠状態とされる。このとき、EXT−AEGモードが選択されたならば、後半の32チャンネル分(TG#33〜TG#64)のEG2ブロックを休眠させずに、音源出力チャンネルTGo#1〜TGo#32から与えられる信号のエンベロープ制御のために使用する。つまり、音源出力チャンネルTGo#1〜TGo#32の信号は、音源部202の後半の32チャンネルTG#33〜TG#64の時分割タイミングに対応して音量変化制御回路205に入力され、こうしてEG2ブロックが使用される。
なお、前述の64音モードのときにEXT−AEGモードを選択することも不可能ではない。その場合、EXT−AEGモードが選択されたならば、後半の32チャンネル分(TG#33〜TG#64)のEG2ブロックを、音源出力チャンネルTGo#1〜TGo#32から与えられる信号のエンベロープ制御のために使用することが優先される。つまり、64音モードにおいて後半の32チャンネルTG#33〜TG#64に対して楽音を発生することが割り当てられたとしても、後半の32チャンネル分(TG#33〜TG#64)のEG2ブロックはその内部音のためには使用できず、発音されない。
【0049】
DCF−SELモードは、ミキサ210の音源出力チャンネルTGo#1〜TGo#32の信号を音源部202のDCF204に導入し、そのフィルタ機能つまり音色制御機能を、該音源出力チャンネルTGo#1〜TGo#32に分配されたDSP音信号あるいは外部音信号またはCODEC音信号等のために使用させ、その後EG資源で音量エンベロープを付与するモードである。このDCF−SELモードは、上記EXT−AEGモードが選択され、かつDCF204をその入力先とすることが選択されたときに、選択される。つまり、DCF−SELモードは、EXT−AEGモードのバリエーションである。
このDCF−SELモードで使用するDCF資源は、前述の32音モードと64音モードの場合とで異なる。まず、64音モードが選択され、かつDCF−SELモードが選択されている場合、全64個の音源チャンネルTG#1〜TG#64のうち前半の32個の音源チャンネルTG#1〜TG#32に対応するDCF204の資源(図2に示されたDCF1のブロック)及び音量変化制御回路205の資源(図2に示されたEG1のブロック)が読出回路203の制御に基づく内部発生音信号のために使用され、後半の32個の音源チャンネルTG#33〜TG#64に対応するDCF204の資源(図2に示されたDCF2のブロック)及び音量変化制御回路205の資源(図2に示されたEG2のブロック)が音源出力チャンネルTGo#1〜TGo#32に分配されたDSP音信号あるいは外部音信号またはCODEC音信号等のために使用される。つまり、音源出力チャンネルTGo#1〜TGo#32の信号は、音源部202の後半の32チャンネルTG#33〜TG#64の時分割タイミングに対応してDCF204に入力され、こうしてDCF2ブロックが使用される。従って、64音モードにおいて後半の32チャンネルTG#33〜TG#64に対して楽音を発生することが割り当てられたとしても、後半の32チャンネル分(TG#33〜TG#64)のDCF2ブロック及びEG2ブロックはその内部音のためには使用できず、発音されない。
【0050】
次に、32音モードが選択され、かつDCF−SELモードが選択されている場合、DCF204を1音につき2チャンネル分のDCFを使用する形態が優先されることで、DCF204は32チャンネル分のフィルタ処理しか行わず、この32チャンネル分のフィルタ処理機能が、音源出力チャンネルTGo#1〜TGo#32に分配されたDSP音信号あるいは外部音信号またはCODEC音信号等のために使用される。従って、DSP音信号あるいは外部音信号またはCODEC音信号等に対して高品質な音色制御を施すことができる。すなわち、音源出力チャンネルTGo#1〜TGo#32の信号が音源部202の前半のチャンネルTG#1〜TG#32の時分割タイミングに対応してDCF204に入力され、こうして、32音モードに従いDCF1とDCF2を組み合わせて、DSP音信号あるいは外部音信号またはCODEC音信号等のために使用する。この場合、後段の音量変化制御回路205の資源は、前半のチャンネルTG#1〜TG#32に対応するEG1のブロックのみを使用するので、後半のチャンネルTG#33〜TG#64に対応するEG2のブロックは休眠状態とされ、資源の節約が図られる。この状態では、音源部202のチャンネルTG#1〜TG#32は、読出回路203の制御に基づく内部発生音信号のために使用できない。
なお、EXT−AEGモード及びDCF−SELモードを選択する設定データは、各チャンネル毎に制御レジスタ201内に保持されており、この設定データに従って、DCF204あるいは音量変化制御回路205で、ミキサ210からの音源出力チャンネルTGo#1〜TGo#32の信号を取り込むかどうかを制御する。
【0051】
次に、DCF204におけるフィルタアルゴリズムの一例を図8、図9により示す。図8(a)及び(b)は32音モードのときのフィルタアルゴリズム例を示し、(a)は2つのDCF1,DCF2を直列接続する例、(b)は2つのDCF1,DCF2を並列接続する例である。図8(c)は64音モードのときのフィルタアルゴリズム例を示し、1つのDCFのみを使用する。シフターでは入力データをシフトする。L2,L12,L13等は、パラメータ乗算器である。このパラメータによって、各DCFで制御できる要素(カットオフ周波数やQ)以外の要素を制御できる。図9は、1つのDCF1又はDCF2又はDCFの内部アルゴリズム例を示す。公知のように、乗算係数kやqによってカットオフ周波数やQを制御する。これらのフィルタアルゴリズムは一例にすぎず、他のどのようなアルゴリズムを用いてもよい。また、2つのDCF1、DCF2は別々のフィルタハードウェアからなっていてもよいし、共通のフィルタハードウェアを時分割使用する構成でもよい。同様に、音量変化制御回路205における2つのEG1、EG2ブロックも別々のEGハードウェアからなっていてもよいし、共通のEGハードウェアを時分割使用する構成でもよい。
【0052】
次に、CPU10の制御に基づくミキシング用演算チャンネルの割当処理のいくつかの例についてフローチャートを参照して説明する。
図10は、DSP206で実行すべきマイクロプログラム(MPと略称する)の選択が行われたときに実行される「DSPのMP選択」処理の一例を示す。この「DSPのMP選択」処理は、DSPを使用して実現する何らかのエフェクト
(効果)又は楽音発生機能(TG)を、ユーザが選択したときにスタートする。なお、DSPを使用する楽音発生機能(TG)には、物理モデル音源(遅延ウェーブガイド音源)がある。まず、ユーザが選択したエフェクト
(効果)又は楽音発生機能(TG)に対応するDSPマイクロプログラム番号をMPNとしてストアする(ステップS1)。次に、「MPステップ割当」(ステップS2)では、MPNに対応するマイクロプログラムで使用する必要な数のDPSステップのブロックを、1024ステップからなる全DPSステップの中から確保する(割り当てる)。「MP書込み」(ステップS3)では、DSP206内のマイクロプログラムメモリ内の前記割り当てたブロックに該MPNに対応するマイクロプログラムを書き込む。「DSP入出力ch割当」(ステップS4)では、該MPNに対応するDSP処理を施すべき信号をミキサ210から入力するため入力チャンネル(ミキサ210のDSP出力チャンネルDSPo#1〜DSPo#32)と、該MPNに対応するDSP処理を施した信号をミキサ210に出力するため出力チャンネル(ミキサ210のDSP入力チャンネルDSP#1〜DSP#32)を決定する。この場合、エフェクトの種類によってモノラル処理もあればステレオ処理もあり、また、多チャンネル処理もある。従って、該MPNに対応する処理の種類に応じて、1つの入力チャンネル(ミキサ210のDSP出力チャンネルDSPo#1〜DSPo#32のうちの1つ)、あるいは2つの入力チャンネル(ミキサ210のDSP出力チャンネルDSPo#1〜DSPo#32のうちの2つ)、あるいは3以上の入力チャンネル(ミキサ210のDSP出力チャンネルDSPo#1〜DSPo#32のうちの2つ)、が決定される。出力チャンネル(ミキサ210のDSP入力チャンネルDSP#1〜DSP#32)についても同様である。
【0053】
「MIXch割当」(ステップS5)では、前ステップS4で決定した該MPNに対応する入出力チャンネルに関連して、ミキサ210におけるミキシング演算チャンネル(MIX#1〜MIX#400)の割当を行う。すなわち、第1のミキシング演算チャンネル割当処理として、該MPNに対応するDSP処理を施すべき信号のミキサ210の入力チャンネルTG#1〜TG#64、EXT#1〜EXT#32(場合によっては他のDSP処理に係るDSP#1〜DSP#32が対象に含まれていてもよい)をソースチャンネル(SRCch)とし、該MPNに対応する処理のDSP206に対する入力チャンネルとして決定されたミキサ210のDSP出力チャンネル(DSPo#1〜DSPo#32)をデスティネーションチャンネル(DESTch)とし、該ソースチャンネルからデスティネーションチャンネルに信号を分配するためのミキシング演算のために必要なミキシング演算チャンネル(MIX#1〜MIX#400)を、現在空きの/利用可能なミキシング演算チャンネル(MIX#1〜MIX#400)の中から割り当てる。更に、第2のミキシング演算チャンネル割当処理として、該MPNに対応する処理のDSP206の出力信号の出力チャンネルとして決定されたミキサ210のDSP入力チャンネル(DSP#1〜DSP#32)をソースチャンネル(SRCch)とし、該MPNに対応する処理のDSP206の出力信号を入力すべき装置に対応するミキサ210の出力チャンネルTGo#1〜TGo#32、EXTo#1〜EXTo#32(場合によっては他のDSP処理に係るDSPo#1〜DSPo#32が対象に含まれていてもよい)をデスティネーションチャンネル(DESTch)とし、該ソースチャンネルからデスティネーションチャンネルに信号を分配するためのミキシング演算のために必要なミキシング演算チャンネル(MIX#1〜MIX#400)を、現在空きの/利用可能なミキシング演算チャンネル(MIX#1〜MIX#400)の中から割り当てる。
【0054】
「EG使用?」(ステップS6)では、該MPNに対応するDSP処理結果に対して音源部202で音量エンベロープ制御を施すかどうかを、該MPNに対応するDSP処理の種類及び/又はEXT−AEGモード又はDCF−SELモードの選択状態等に基づいて、判定する。例えば、DSP206を物理モデル音源等の楽音発生機能(TG)のために使用した場合は、音源部202で音量エンベロープ制御を施すことが望まれる。YESであれば、ステップS7に行く。ステップS7の「発音ch割当」では、該MPNに対応する処理に係るDSP206の処理済み出力信号を、デスティネーションチャンネル(DESTch)に相当する音源出力チャンネル(TGo#1〜TGo#32)を介して、音源部202(DCF204又は音量変化制御回路205)に与えて該音源部202を該DSP出力信号によって使用可能にするために、該音源部202における発音チャンネル割当処理を行う。次の「発音ch設定」(ステップS8)では、該DSP出力信号のために割り当てた音源部202の発音チャンネルにおいて、該MPNに対応するDSP処理の種類に適した各種の音量エンベロープパラメータ等を設定し、所望特性の音量エンベロープ制御を行えるように設定する。なお、ミキサ210から音源出力チャンネルTGo#1〜TGo#32を介して音源部202に与えられる楽音信号についての発音開始(エンベロープ発生開始)制御用のノートオンデータは、この「発音ch設定」の処理の後、適宜のタイミングで、トリガされる。例えば、鍵盤15(図1)での押圧鍵に係る楽音信号を通常の音源チャンネルTG#1に割り当て、読出回路203(図2)の制御によって該音源チャンネルTG#1で楽音信号を生成し、それからこの音源チャンネルTG#1の楽音信号をミキサ210を介してDSP206に与えて所望のDSP処理を施し、このDSP処理済み信号をミキサ210に入力してその音源出力チャンネルTGo#1を介して音源部202に与え、該音源部202の音源チャンネルTG#33で音量エンベロープ付与するような場合、音源チャンネルTG#1で使用する押鍵に応じた通常のノートオンデータと同じトリガタイミングで発生するノートオンデータを、ミキサ210の音源出力チャンネルTGo#1を介してDSP206から与えられる楽音信号を処理する音源部202の音源チャンネルTG#33で使用するようなケースがある。例えば、物理モデル音源を実現する場合であれば、音源チャンネルTG#1で励振信号を発生し、DSP処理による共振部をその励振信号で駆動し、発生した共振信号の音量エンベロープを音源チャンネルTG#33で制御する。あるいは、時間的に変化する効果を実現する場合であれば、音源チャンネルTG#1でドライ成分の楽音信号を発生し、その楽音信号からDSP処理でエフェクト成分を生成し、音源チャンネルTG#33でエフェクト成分の音量エンベロープ制御して、ミキサ210でドライ成分とエフェクト成分を混合する。なお、「発音ch割当」(ステップS7)と「発音ch設定」(ステップS8)の処理を図10の処理で行わずに、ミキサ210の音源出力チャンネルTGo#1〜TGo#32に与えられた楽音信号のノートオンデータのトリガタイミングで行うようにしてもよい。
「MIXch設定」(ステップS9)では、選択されたマイクロプログラムのミキシング設定の初期値、及び、上述したミキシング演算チャンネルの新たな割り当てに対応して前記ミキサ割当レジスタMIX−ASSにおける設定内容を更新する等、のミキシング演算に必要なデータ設定処理を行う。
【0055】
図11は、ノートオンイベント時(鍵盤15で新たな押鍵操作がなされたとき、あるいは自動演奏データのノートオンイベント時など)に行われる「ノートオン」処理の一例を示す。ステップS11では、このノートオンイベントに係る楽音の演奏パートを示すパート番号をレジスタPTにストアし、そのノート番号をレジスタNNにストアし、そのベロシティをレジスタVELにストアする。次の「発音ch割当」(ステップS12)では、このノートオンイベントに係る楽音信号の発生を行う音源チャンネルを割り当てする。「MIXch割当」(ステップS13)では、このノートオンイベントに係る楽音を割り当てた音源チャンネルに対応するミキサ210の音源入力チャンネル(TG#1〜TG#64)をソースチャンネル(SRCch)とし、パートPTの音色に応じた1又は複数の送り先に対応するミキサ210の出力チャンネル(DSPo#1〜DSPo#32,EXTo#1〜EXTo#32)をデスティネーションチャンネル(DESTch)とし、該ソースチャンネルからデスティネーションチャンネルに信号を分配するためのミキシング演算のために必要なミキシング演算チャンネル(MIX#1〜MIX#400)を、現在空きの/利用可能なミキシング演算チャンネル(MIX#1〜MIX#400)の中から割り当てる。
次の「発音ch設定」(ステップS14)では、前記ノートオンイベントに係る楽音を割り当てた音源チャンネルに対応して、パートPTの音色の楽音発生に必要な各種データを設定する。「MIXch設定」(ステップS15)では、図10のステップS9と同様に、パートPTの音色のミキシング設定値、及び、ミキシング演算チャンネルの割当内容に従う必要なミキシング演算用のデータ設定処理を行う。「発音開始指示」(ステップS16)では、前記ノートオンイベントに係る楽音を割り当てた音源チャンネルに対応してノートオンデータを発生し、発音開始させる。
【0056】
図12は、ミキサ210の各外部入力チャンネルEXT#1〜EXT#32に対応するフェーダ設定操作量が変更されたときに行われる「ミキサ音量変更」処理の一例を示す。ミキサ210の各外部入力チャンネルEXT#1〜EXT#32に対応してフェーダ操作子(これはパネルスイッチ部13にあってもよいし、あるいは表示部14で表示されてマウス操作等で設定されるバーチャルな操作子であってもよい)が設けられており、いずれかのフェーダ操作子が操作されたとき図12の処理がスタートする。ステップS21では、操作されたフェーダ操作子のフェーダ番号をレジスタFNにストアし、その操作の結果設定された音量値をレジスタVOLにストアする。次の「MIXch検出」(ステップS22)では、ミキシング演算チャンネルMIX#1〜MIX#400の割当内容をチェックして、今回操作されたフェーダ操作子に外部入力チャンネル(EXT#1〜EXT#32)に対して割り当てられている1又は複数のミキシング演算チャンネル(MIX#1〜MIX#400)を検出する。
次のステップS23では、前記レジスタVOLにストアされた音量値が0であるかどうかを判定する。YESであれば、ステップS24に行き、前ステップS22でミキシング演算チャンネルが検出されたかを調べる。ミキシング演算チャンネルが割り当てられていなければ、処理を終える。ミキシング演算チャンネルが割り当てられている場合は、ステップS25に行き、音量値0に変化した外部入力チャンネル(EXT#1〜EXT#32)に対して割り当てられているミキシング演算チャンネルの割り当てを解除し、該ミキシング演算チャンネルを空きチャンネルとして開放する。
【0057】
一方、ステップS23の判定がNOであれば、ステップS26に行き、前ステップS22でミキシング演算チャンネルが検出されていないかを調べる。0以外の音量値に変化した外部入力チャンネル(EXT#1〜EXT#32)に対して既に1又は複数のミキシング演算チャンネルが割り当てられていれば、ステップS26のNOからステップS27に行き、該各ミキシング演算チャンネルにおける音量(乗算係数)を該フェーダ操作子によるフェーダ設定値を考慮した値に夫々変更する。例えば、該各ミキシング演算チャンネルにおける個々のセンドレベルとフェーダ設定値との合成とする。一方、0以外の音量値に変化した外部入力チャンネル(EXT#1〜EXT#32)に対してまだミキシング演算チャンネルが割り当てられていなければ、ステップS26のYESからステップS28に行く。ステップS28の「MIXch割当」とそれに続くステップS29の「MIXch設定」は、図10,図11におけるステップS5,S9,S13,S15と同様の処理である。
【0058】
以上述べたように、本実施例におけるミキシング演算チャンネルの割当態様は次のとおりである。すなわち、図10では、マイクロプログラムの選択に応じ選択されたマイクロプログラムに対応するDSP処理に必要な数のミキシング演算チャンネルを割り当てている。また、図11では、ノートオンに応じてそのノートオンを割り当てた音源チャンネルにそのチャンネルで生成する楽音に必要な数のミキシング演算チャンネルを割り当てている。さらに、図12では、ミキサのフェーダ操作に応じて、音量の立ち上がっているフェーダに対応する入力チャンネルにミキシング演算チャンネルを割り当てている。しかし、本発明に従うミキシング演算チャンネルの割当態様はこれら実施例に示された方法に限定されるものではなく、他のどのような割当態様であってもよい。
【0059】
本発明は、上述の実施例に限定されるものではなく、その他様々な変形が可能である。例えば、同じ音源回路20を使用して、それを搭載する電子楽器の種類に応じてミキシング演算チャンネルを静的に割り当てるようにしてもよい。ここで、静的とは、ユーザのスイッチ操作等に応じて各入力チャンネルへのミキシング演算チャンネルの割当が変化しないということである。
また、電子楽器の動作モードに応じてミキシング演算チャンネルを割り当てるようにしてもよい。例えば、外部入力可能なモードになっているときは、外部入力にもミキシング演算チャンネルを割り当て、不可能なモードになっているときは、その他の入力に割り当てる。あるいは、32音モードになっているときは、停止された32音源チャンネルの使用していたミキシング演算チャンネルを残りの32音源チャンネルや外部入力チャンネルに割り当てるようにしてもよい。
更に、上記実施例では、各入力チャンネルに対し、その出力先の出力チャンネル数分のミキシング演算チャンネルを割り当てているが、将来の利用を想定して、2〜4のミキシング演算チャンネルを余計に割り当てるようにしてもよい。
また、上記実施例では、ミキサ210から出力される信号をフィルタDCFへ入力し、さらに音量変化制御回路205を通して再びミキサ210に入力できるようになっていたが、音量変化制御部205を通さずにフィルタDCFから直接ミキサ210に入力できるようにしてもよい。
更に、この発明は、図1に示したような電子楽器タイプの機器に対する適用に限らず、オーディオ機器や汎用パーソナルコンピュータなど任意の機器・装置に対して適用してよい。例えば、パソナルコンピュータで使用するサウンドカード、ゲーム機器、PDA(携帯情報端末)など、音源機能を内蔵した様々な電子機器において本発明を実施することができる。
【0060】
【発明の効果】
以上説明したように、この発明によれば、複数のミキシング用演算チャンネルの資源利用態様が固定されず、任意に割り当てすることによって、効率的に利用することができる。これに伴い、簡単かつ低コストな構成でミキシング機能を充実させることができる。
【図面の簡単な説明】
【図1】 この発明の一実施形態を適用した電子楽器の全体のハードウェア構成を例示するブロック図。
【図2】 図1における音源回路の詳細構成例を示すブロック図。
【図3】 図2におけるミキサの内部構成例を示すブロック図。
【図4】 図2、図3に示されたミキサによるミキシング設定例を説明する図。
【図5】 図3に示されたミキサ割当レジスタに記憶するデータ例を説明する図。
【図6】 ミキサ動作のおおまかなタイミングチャート。
【図7】 ミキサ動作における時分割的タイミングの詳細例を示すタイミングチャート。
【図8】 図2に示されたDCF(ディジタルフィルタ)のアルゴリズム例を32音モードと64音モードの場合について示す概略ブロック図。
【図9】 DCF内部のフィルタアルゴリズム例を示すブロック図。
【図10】 図2に示されたDSPで実行するマイクロプログラムの選択が行われたときに図1のCPUの制御の下で実行される「DSPのMP選択」処理の一例を示すフローチャート。
【図11】 ノートオンイベント時に図1のCPUの制御の下で実行される「ノートオン」処理の一例を示すフローチャート。
【図12】 ミキサのフェーダ設定操作量が変更されたときに図1のCPUの制御の下で実行される「ミキサ音量変更」処理の一例を示すフローチャート。
【符号の説明】
10 CPU(中央処理部)
20 音源回路
21 波形メモリ
22 遅延メモリ
23 外部回路
201 制御レジスタ
202 音源部
203 読出回路
204 デジタルフィルタ(DCF)部
205 音量変化制御回路
206 デジタル信号処理部(DSP)
207 外部入出力制御回路
210 ミキサ
213 乗算回路
214 加算回路
MIX−ASS ミキサ割当レジスタ
Claims (6)
- 信号を入力するための複数の入力チャンネルと、
信号を出力するための複数の出力チャンネルと、
入力元から入力する信号を音量調整し、音量調整された信号を出力先へ出力するミキシング演算を行なう複数の演算チャンネルと、
それぞれ各演算チャンネルに対応して、前記入力元を示すソースチャンネルデータと、前記出力先を示すデスティネーションチャンネルデータと、信号送出レベルを示すレベルデータとを記憶するための複数の記憶手段と、
各入力チャンネル毎に、任意の数の出力チャンネルを前記出力先として指定する出力先指定手段と、
前記出力先指定手段による前記指定に応じて、各入力チャンネルに対し、当該入力チャンネルの出力先として指定された出力チャンネルに対応する数の演算チャンネルを割り当てる割当手段と、
前記割当手段による割り当てに対応して、各入力チャンネルに対して割り当てられた前記出力先として指定された出力チャンネルに対応する数の各演算チャンネルに対応する前記記憶手段に、当該入力チャンネルをソースチャンネルデータとして、当該入力チャンネルの出力先として指定された各出力チャンネルをデスティネーションチャンネルデータとして、それに対応する信号送出レベルをレベルデータとして、それぞれ設定し記憶させる設定手段と
を具備し、前記各演算チャンネルは、当該演算チャンネルに対応する前記ソースチャンネルデータが示す入力チャンネルから入力する信号に対し、当該演算チャンネルに対応する前記レベルデータに基づいて音量調整を行い、音量調整した信号を当該演算チャンネルに対応する前記デスティネーションチャンネルデータが示す出力チャンネルへ出力することを特徴とするミキシング装置。 - 信号を生成する複数の音源チャンネルを備えた音源部と、
信号を出力するための複数の出力チャンネルと、
入力元から入力する信号を音量調整し、音量調整された信号を出力先へ出力するミキシング演算を行なう複数の演算チャンネルと、
それぞれ各演算チャンネルに対応して、前記入力元を示すソースチャンネルデータと、前記出力先を示すデスティネーションチャンネルデータと、信号送出レベルを示すレベルデータとを記憶するための複数の記憶手段と、
各音源チャンネルに対応する入力チャンネル毎に、任意の数の出力チャンネルを前記出力先として指定する出力先指定手段と、
前記出力先指定手段による前記指定に応じて、各入力チャンネルに対し、当該入力チャンネルの出力先として指定された出力チャンネルに対応する数の演算チャンネルを割り当てる割当手段と、
前記割当手段による割り当てに対応して、各入力チャンネルに対して割り当てられた前記出力先として指定された出力チャンネルに対応する数の各演算チャンネルに対応する前記記憶手段に、当該入力チャンネルをソースチャンネルデータとして、当該入力チャンネルの出力先として指定された各出力チャンネルをデスティネーションチャンネルデータとして、それに対応する信号送出レベルをレベルデータとして、それぞれ設定し記憶させる設定手段と
を具備し、前記各演算チャンネルは、当該演算チャンネルに対応する前記ソースチャンネルデータが示す入力チャンネルから入力する信号に対し、当該演算チャンネルに対応する前記レベルデータに基づいて音量調整を行い、音量調整した信号を当該演算チャンネルに対応する前記デスティネーションチャンネルデータが示す出力チャンネルへ出力することを特徴とする楽音発生装置。 - 前記楽音発生装置は、前記音源部と前記演算チャンネルとが共通の複数種類の楽音発生装置のうちのいずれか1つの種類であり、前記割当手段は、当該楽音発生装置の種類に応じて、音源チャンネルに対して演算チャンネルを割り当てることを特徴とする請求項2に記載の楽音発生装置。
- 前記楽音発生装置は複数の動作モードで動作可能であり、前記割当手段は、現在の動作モードに応じて、音源チャンネルに対して演算チャンネルを割り当てることを特徴とする請求項2に記載の楽音発生装置。
- 信号を出力する第1ブロックと、
信号を出力する第2ブロックと、
信号を出力するための複数の出力チャンネルと、
入力元から入力する信号を音量調整し、音量調整された信号を出力先へ出力するミキシング演算を行なう複数の演算チャンネルと、
それぞれ各演算チャンネルに対応して、前記入力元を示すソースチャンネルデータと、前記出力先を示すデスティネーションチャンネルデータと、信号送出レベルを示すレベルデータとを記憶するための複数の記憶手段と、
第1ブロックと第2ブロックの各ブロックに対応する各入力チャンネル毎に、任意の数の出力チャンネルを前記出力先として指定する出力先指定手段と、
前記出力先指定手段による前記指定に応じて、第1ブロックと第2ブロックの各ブロックに対応する各入力チャンネルに対し、当該入力チャンネルの出力先として指定された出力チャンネルに対応する数の演算チャンネルを割り当てる割当手段と、
前記割当手段による割り当てに対応して、各入力チャンネルに対して割り当てられた前記出力先として指定された出力チャンネルに対応する数の各演算チャンネルに対応する前記記憶手段に、当該入力チャンネルをソースチャンネルデータとして、当該入力チャンネルの出力先として指定された各出力チャンネルをデスティネーションチャンネルデータとして、それに対応する信号送出レベルをレベルデータとして、それぞれ設定し記憶させる設定手段と
を具備し、前記各演算チャンネルは、当該演算チャンネルに対応する前記ソースチャンネルデータが示す入力チャンネルから入力する信号に対し、当該演算チャンネルに対応する前記レベルデータに基づいて音量調整を行い、音量調整した信号を当該演算チャンネルに対応する前記デスティネーションチャンネルデータが示す出力チャンネルへ出力することを特徴とする大規模集積回路。 - 信号を出力する第1ブロックと、
外部からの信号を入力する第2ブロックと、
信号を出力するための複数の出力チャンネルと、
入力元から入力する信号を音量調整し、音量調整された信号を出力先へ出力するミキシング演算を行なう複数の演算チャンネルと、
それぞれ各演算チャンネルに対応して、前記入力元を示すソースチャンネルデータと、前記出力先を示すデスティネーションチャンネルデータと、信号送出レベルを示すレベルデータとを記憶するための複数の記憶手段と、
第1ブロックと第2ブロックの各ブロックに対応する各入力チャンネル毎に、任意の数の出力チャンネルを前記出力先として指定する出力先指定手段と、
前記出力先指定手段による前記指定に応じて、第1ブロックと第2ブロックの各ブロックに対応する各入力チャンネルに対し、当該入力チャンネルの出力先として指定された出力チャンネルに対応する数の演算チャンネルを割り当てる割当手段と、
前記割当手段による割り当てに対応して、各入力チャンネルに対して割り当てられた前記出力先として指定された出力チャンネルに対応する数の各演算チャンネルに対応する前記記憶手段に、当該入力チャンネルをソースチャンネルデータとして、当該入力チャンネルの出力先として指定された各出力チャンネルをデスティネーションチャンネルデータとして、それに対応する信号送出レベルをレベルデータとして、それぞれ設定し記憶させる設定手段と
を具備し、前記各演算チャンネルは、当該演算チャンネルに対応する前記ソースチャンネルデータが示す入力チャンネルから入力する信号に対し、当該演算チャンネルに対応する前記レベルデータに基づいて音量調整を行い、音量調整した信号を当該演算チャンネルに対応する前記デスティネーションチャンネルデータが示す出力チャンネルへ出力することを特徴とする大規模集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002055101A JP3744440B2 (ja) | 2002-02-28 | 2002-02-28 | ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002055101A JP3744440B2 (ja) | 2002-02-28 | 2002-02-28 | ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003255945A JP2003255945A (ja) | 2003-09-10 |
JP3744440B2 true JP3744440B2 (ja) | 2006-02-08 |
Family
ID=28666022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002055101A Expired - Fee Related JP3744440B2 (ja) | 2002-02-28 | 2002-02-28 | ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3744440B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902672A (zh) * | 2009-06-01 | 2010-12-01 | 雅马哈株式会社 | 音频设备和设置音频设备中使用的总线的数量的方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006018737A1 (en) * | 2004-08-20 | 2006-02-23 | Flux Research Pty. Ltd. | A sound recording console |
JP4894006B2 (ja) * | 2007-03-28 | 2012-03-07 | ヤマハ株式会社 | ミキシング処理回路 |
JP4894005B2 (ja) * | 2007-03-28 | 2012-03-07 | ヤマハ株式会社 | ミキシング用信号処理装置及びミキシング用信号処理集積回路 |
JP5190751B2 (ja) * | 2007-03-28 | 2013-04-24 | ヤマハ株式会社 | 信号処理用集積回路 |
US8467889B2 (en) | 2007-03-28 | 2013-06-18 | Yamaha Corporation | Mixing signal processing apparatus and mixing signal processing integrated circuit |
JP5621672B2 (ja) * | 2011-03-18 | 2014-11-12 | ヤマハ株式会社 | 音声信号処理装置およびプログラム |
GB201109012D0 (en) * | 2011-05-27 | 2011-07-13 | Wolfson Microelectronics Plc | Digital signal routing circuit |
US20120300960A1 (en) | 2011-05-27 | 2012-11-29 | Graeme Gordon Mackay | Digital signal routing circuit |
US10490459B2 (en) | 2017-08-25 | 2019-11-26 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for source/drain contact formation in semiconductor devices |
GB201109009D0 (en) * | 2011-05-27 | 2011-07-13 | Wolfson Microelectronics Plc | Digital signal routing circuit |
JP7404718B2 (ja) * | 2019-09-03 | 2023-12-26 | ヤマハ株式会社 | 音響処理装置、音響処理装置の動作方法、音響処理システムおよび音響処理システムの動作方法 |
-
2002
- 2002-02-28 JP JP2002055101A patent/JP3744440B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902672A (zh) * | 2009-06-01 | 2010-12-01 | 雅马哈株式会社 | 音频设备和设置音频设备中使用的总线的数量的方法 |
CN101902672B (zh) * | 2009-06-01 | 2014-05-28 | 雅马哈株式会社 | 音频设备和设置音频设备中使用的总线的数量的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2003255945A (ja) | 2003-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6665409B1 (en) | Methods for surround sound simulation and circuits and systems using the same | |
JP3744440B2 (ja) | ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 | |
JP2007534214A (ja) | 多様なサンプルレートでの畳込みを用いてオーディオパフォーマンスを合成する方法、機器、およびシステム | |
JP2018106006A (ja) | 楽音生成装置および方法、電子楽器 | |
JPH09114462A (ja) | 楽音発生方法 | |
JP2565073B2 (ja) | ディジタル信号処理装置 | |
JP3654257B2 (ja) | 楽音発生装置 | |
JP3991458B2 (ja) | 楽音データ処理装置およびコンピュータシステム | |
JPH07121181A (ja) | 音声情報処理装置 | |
US6351475B1 (en) | Mixing apparatus with compatible multiplexing of internal and external voice signals | |
JP4096952B2 (ja) | 楽音発生装置 | |
JP3230449B2 (ja) | 信号処理装置 | |
JP3781171B2 (ja) | 楽音発生方法 | |
JP3721789B2 (ja) | ミキシング装置 | |
JP4361628B2 (ja) | オーディオ信号生成装置 | |
JPH11167517A (ja) | 信号処理装置 | |
JP4645597B2 (ja) | 楽音合成方法、記録媒体および楽音合成装置 | |
JP3991475B2 (ja) | 音声データ処理装置およびコンピュータシステム | |
JP2010237594A (ja) | 楽音生成装置 | |
JP3693045B2 (ja) | 楽音発生装置 | |
JP3693046B2 (ja) | 楽音発生装置 | |
JPH10222165A (ja) | 音響効果付加装置 | |
JP3705203B2 (ja) | 楽音発生方法 | |
JP2712191B2 (ja) | 効果付加装置 | |
JP4106739B2 (ja) | デジタル信号処理方法およびデジタル信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050405 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050705 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050905 |
|
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: 20051101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051114 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3744440 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081202 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131202 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |