以下、図面を用いて本発明の実施の形態を説明する。
図1は、この発明の第1の実施形態であるディジタルミキサ100のハードウエア構成を示すブロック図である。中央処理装置(CPU)101は、このミキサ全体の動作を制御する処理装置である。フラッシュメモリ102は、CPU101が実行する各種のプログラムや各種のデータなどを格納した不揮発性メモリである。ランダムアクセスメモリ(RAM)103は、CPU101が実行するプログラムのロード領域やワーク領域に使用する揮発性メモリである。表示器104は、このミキサの操作パネル上に設けられた各種の情報を表示するためのタッチパネル式のディスプレイであり、タッチ操作を検出できるものである。電動フェーダ105は、操作パネル上に設けられたレベル設定用の操作子である。操作子106は、操作パネル上に設けられたユーザが操作するための各種の操作子(電動フェーダ以外のもの)である。オーディオ入出力インターフェース(オーディオI/O)107は、外部機器との間で音響信号をやり取りするためのインターフェースである。信号処理部(DSP)108は、CPU101の指示に基づいて各種のマイクロプログラムを実行することにより、オーディオI/O107経由で入力した音響信号のミキシング処理、効果付与処理、及び音量レベル制御処理などを行い、処理後の音響信号をオーディオI/O107経由で出力する。その他I/O109は、その他の機器を接続するためのインターフェースである。バス110は、これら各部を接続するバスラインであり、コントロールバス、データバス、およびアドレスバスを総称したものである。なお、本明細書に記載されている「信号」は、特段の説明がない限り(制御信号であると説明されていない限り)、音響信号(オーディオ信号)をあらわすものである。
図2は、図1のミキサにより実現するミキシング処理の機能構成を示すブロック図である。201はマイクなどで入力したアナログ音響信号をディジタル信号に変換して入力する入力部を示す。202はディジタル音響信号の入力部を示す。これらの入力部による音響信号の入力は、それぞれ複数本(その本数は装置構成に応じた上限がある)設けることができる。入力パッチ203は、上述した入力を入力チャンネル(ch)204へ接続する任意結線を行う。その結線の設定は、ユーザが所定の画面を見ながら任意に行うことができる。入力ch204は、シングルで64chが設けられている。各入力ch204は、設定されたパラメータの値に基づいて、入力信号に対するレベル制御や周波数特性の調整処理などの各種の信号処理を行う。各入力ch204の信号は、32本のMIXバス205へ選択的に出力することができ、その送出レベルをそれぞれ独立に設定することができる。
MIXバス205の32本の各バスは、入力ch204から入力した信号をミキシングする。ミキシングされた信号は、そのMIXバスに対応する出力ch206(1〜32ch)に出力される。MIXバス205と出力ch206とは1対1の対応で各chが対応づけられている。各出力chは、設定されたパラメータの現在値に基づいて出力側の各種の信号処理を行う。出力ch206の出力は、出力パッチ207に入力する。出力パッチ207は、出力ch206からアナログ出力208またはディジタル出力209への任意の結線を行う。その結線の設定は、ユーザが所定の画面を見ながら任意に行うことができる。
なお、入力部201,202および出力部208,209は図1のオーディオI/O107により実現する。その他の部分203〜207は、DSP108が所定のマイクロプログラムを実行することにより実現する。該マイクロプログラムは、CPU101がDSP108に送って設定する。DSP108が該マイクロプログラムを実行するときに使用する係数データも、CPU101がDSP108に送って設定する。
また、図2の各部はそれぞれ各種のパラメータを有する。パラメータの現在値(カレントデータ)は、フラッシュメモリ102またはRAM103に設けられたカレントメモリへ記憶される。ミキサ100における、各部の信号処理の設定や、パネル状態の設定は、カレントメモリに記憶されているカレントデータに基づいて行われる。すなわち、カレントメモリ上の各種パラメータの値を設定・変更することにより、ミキサ100の各部の動作が制御できるように構成されている。カレントメモリにはミキサ100が備えるすべてのパラメータのカレントデータが記憶され、該カレントメモリ内のカレントデータは、操作子105,106や表示器104などを使って行われる各種の操作の内容に応じて変更(調整)される。
図3は、本実施形態のディジタルミキサの操作パネルの外観(一部)を示す。301は、各種の情報を表示するディスプレイ(図1の104)である。ディスプレイ301の下側にchストリップ部304(図1の105,106)が設けられている。chストリップ部304は8本のchストリップ304−1〜304−8からなる。1本のchストリップ、例えば304−1は、ロータリエンコーダや幾つかのスイッチや電動フェーダを備える。chストリップ部306,307も、chストリップ部304と同様の8本のchストリップからなる。
chストリップ部304の上側のディスプレイ301内の領域302には、chストリップ部304の各chストリップ304−1〜304−8の上方に当たる位置に、それぞれのchストリップに割り当てられているchの複数パラメータの表示領域(chパラメータ表示領域と呼ぶ)が配置されて、表示される。chパラメータ表示領域は、chストリップ部304に設けられたchストリップと同じ数(ここでは8個)だけ表示される。chパラメータ表示領域は、割り当てられたchにおける各種パラメータの値を表示するパラメータの表示機能を実現する。すなわち、各chパラメータ表示領域の割当chは、対応するchストリップの割当chを踏襲する。対応するchストリップとは、chパラメータ表示領域の下方に配置されたchストリップのことである。また、chパラメータ表示領域には、割り当てられたchにおける各種パラメータの値の調整に使うソフトウェア操作子が表示され、該ソフトウェア操作子を直接タッチ操作したり、該ソフトウェア操作子をタッチして選択状態とした後に所定の操作子を操作することで、当該chにおける各種パラメータの調整機能を実現している。パラメータの値を調整するための調整操作子とは、chストリップ部304に物理的に備えられたハードウェア操作子(電動フェーダ、ロータリエンコーダ、スイッチ)、および、領域302の各chパラメータ表示領域内の各種のソフトウェア操作子を指す。いずれかの調整操作子が操作されたことを検出したとき、操作された調整操作子が属するchストリップあるいはchパラメータ表示領域に割り当てられているchにおける、操作された調整操作子が処理対象としているパラメータの値(カレントメモリ内のカレントデータの値)を、今回の(検出した)操作内容に応じた値へ調整(変更)する。
ここで、各chストリップ部304,306,307へchを割り当てるためのレイヤについて説明する。各chストリップ部へのchの割り当ては、各chストリップ部に対応する階層(レイヤ)にレイヤデータをセットすることにより行う。
1つのchストリップ部は、レイヤデータをセットするレイヤを複数備える。本実施形態では、1つのchストリップ部は、フィックスレイヤとベースレイヤという2階層のレイヤを持つ。ここで言う「レイヤ」は概念的なものであるが、具体的にはカレントメモリ上の所定領域が「レイヤ」に対応している。すなわち、カレントメモリには、各chストリップ部毎に、各レイヤに対応するレイヤデータの格納領域が設けられている。この実施形態では、1つのchストリップ部はベースレイヤとフィックスレイヤの2階層を備えているので、カレントメモリには各chストリップ部毎にベースレイヤデータ領域とフィックスレイヤデータ領域が設けられている。レイヤにレイヤデータを「セットする」とは、chストリップ部の1つのレイヤにおいて使用する1つのレイヤデータを決定する処理であり、具体的には、そのchストリップ部のレイヤに対応するカレントメモリ上のレイヤデータ領域にレイヤデータを格納することを言う。「セット」では、chストリップへのchの「アサイン」は行わない。「アサイン」については後述する。
1つのレイヤには、1つのレイヤデータをセットできる。1つのレイヤに、同時に複数のレイヤデータをセットすることはできない。レイヤデータのセットは、レイヤごとに独立に行う。すなわち、1つのchストリップ部(例えば、chストリップ部304)に対し、そのchストリップ部の複数のレイヤ(ここではフィックスレイヤとベースレイヤ)のそれぞれにレイヤデータをセットすることで、1つのchストリップ部に複数のレイヤデータを同時にセットすることができる。ベースレイヤにセットするためのレイヤデータをベースレイヤデータと呼び、フィックスレイヤにセットするためのレイヤデータをフィックスレイヤデータと呼ぶ。ベースレイヤデータおよびフィックスレイヤデータは、何れもchストリップ部の8本のchストリップのそれぞれに割り当てるchを規定するデータである。ベースレイヤには、常に何れか1つのベースレイヤデータがセットされている。フィックスレイヤには、フィックスレイヤデータがセットされていない状態もあり得る。レイヤデータは、セットする対象であるレイヤごとに複数用意される。異なるレイヤでは流用できない。例えば、ベースレイヤデータはベースレイヤにのみセットでき、フィックスレイヤなどベースレイヤ以外の他のレイヤにはセットできない。
上述のベースレイヤデータは常にchストリップ部内の8本の全chストリップに対して割り当てるchを規定するが、フィックスレイヤデータはchが割り当てられていないchストリップがあってもよい。例えば、ベースレイヤデータとしては、入力ch1〜8を8本のchストリップに左側から順に割り当てるベースレイヤデータ、入力ch9〜16を8本のchストリップに左側から順に割り当てるベースレイヤデータ、…などが備えられている。フィックスレイヤデータは、ユーザが任意にchストリップへのchの割り当てを規定するデータを作成できる。例えば、ボーカル音が入力ch22に割り当てられており、このchをchストリップ1で操作したい場合は、入力ch22をchストリップ1に割り当て、他のchストリップ2〜8は割り当てch無しとするフィックスレイヤデータを作成すればよい。
カレントメモリには、各chストリップ部毎に、そのchストリップ部の各chストリップに実際に割り当てられるch(アサインch)を格納するアサインch格納領域が設けられている。「アサイン」とは、「セット」されているレイヤデータを使って、そのchストリップ部の各chストリップの操作対象となるchを設定する処理であり、具体的には、各レイヤに「セット」されているレイヤデータに基づいて各chストリップごとのアサインchを決定し(chのアサイン状態を決定し)、当該決定したアサイン状態に沿って、そのchストリップ部の各chストリップに対応するカレントメモリ上のアサインch格納領域にアサインchを格納することを言う。「アサイン」は、電源オン時の初期設定のとき、および、chストリップ部に対応するカレントメモリのベースレイヤデータ若しくはフィックスレイヤデータが変更されたとき、そのchストリップ部の全chストリップについて行う。「アサイン」には、そのchストリップ部のレイヤごとにセットされている全てのレイヤデータを使う。「アサイン」が行われてカレントメモリ上のアサインch格納領域にアサインchが設定されると、以後、何れかのchストリップの操作子(あるいは、そのchストリップに対応するchパラメータ表示領域に表示されているソフトウェア操作子)が操作されたときには、そのchストリップに対応するカレントメモリ上のアサインch格納領域に格納されているアサインchが操作対象のchとなる。
概念的には、ベースレイヤが下層に、フィックスレイヤが上層に位置する。すなわち、まずベースレイヤにセットされたベースレイヤデータに基づいて各chストリップへのchの割り当てが為されるが、フィックスレイヤにフィックスレイヤデータがセットされているときは、フィックスレイヤデータに基づく割り当てが優先(上書き)されるようにして、各chストリップへのchのアサイン状態が決められる。このとき、フィックスレイヤデータにおいて割り当てch無しのchストリップについては、下層のベースレイヤデータに基づく割り当てが採用される。割り当てch無しのchストリップについては、上層のフィックスレイヤが透過状態になっているような取扱いである。フィックスレイヤにフィックスレイヤデータがセットされている状態でベースレイヤのベースレイヤデータを変更した場合、フィックスレイヤデータに基づいてchが割り当てられているchストリップについてはその割り当てがそのまま継続し、フィックスレイヤデータで割り当てch無しのchストリップについては変更後のベースレイヤデータに基づいてchの割り当てが変更される。
具体的には、chストリップ部の各chストリップの「アサイン」の際には、まず、カレントメモリ上の当該chストリップ部のベースレイヤデータ領域に格納されているベースレイヤデータをカレントメモリ上のアサインch格納領域にコピーし、その後、カレントメモリ上の当該chストリップ部のフィックスレイヤデータ領域に格納されているフィックスレイヤデータのうち割り当てchが規定されているchストリップについてはその割り当てchをカレントメモリ上の対応するchストリップのアサインch格納領域に上書きする。フィックスレイヤデータで割り当てch無しと規定されているchストリップについては、アサインch格納領域のアサインchの上書きはせず、ベースレイヤデータに基づくアサインchがそのまま維持される。要するに、chのアサインでは、上層にセットされたレイヤデータで指示されているchを、下層にセットされたレイヤデータで指示されているchよりも優先する。
図3の311は、chストリップ部304のベースレイヤにセットするベースレイヤデータを選択するための8つのスイッチ(BASEスイッチと呼び、個々のスイッチはB1〜B8スイッチと呼ぶ)である。B1〜B8スイッチには、それぞれベースレイヤデータが対応付けられている。例えば、B1スイッチには入力ch1〜8を8本のchストリップに左側から順に割り当てるベースレイヤデータ1が対応し、B2スイッチには入力ch9〜16を8本のchストリップに左側から順に割り当てるベースレイヤデータ2が対応し、…という具合である。この場合、B1スイッチをオンすると、chストリップ部304のベースレイヤに入力ch1〜8を左側から順に割り当てるベースレイヤデータがセットされる。312は、chストリップ部304のフィックスレイヤにセットするフィックスレイヤデータを選択するための3つのスイッチ(FIXスイッチと呼び、個々のスイッチはFIX1〜FIX3スイッチと呼ぶ)である。FIX1〜FIX3スイッチには、それぞれフィックスレイヤデータ1〜3が対応付けられている。例えば、FIX1スイッチをオンすると、chストリップ部304のフィックスレイヤにフィックスレイヤデータ1がセットされる。
同様に、313,314はchストリップ部306に対してベースレイヤデータおよびフィックスレイヤデータを選択するためのスイッチ群である。ここではchストリップ部307に対するレイヤデータの選択スイッチを図示していないが、すべてのchストリップ部に対して同様の選択スイッチが設けられているものとする。
図4は、CPU101によるフィックスレイヤデータの作成処理のフローチャートを示す。ユーザが操作子106により所定の操作を行うと、フィックスレイヤデータの作成画面(作成モード)へ移行し、本処理が起動する。ステップ401では、ユーザの指示に基づいて、フィックスレイヤデータを作成し、所定の記憶領域に登録する処理を行う。上述したように、1つのフィックスレイヤデータは1つのchストリップ部の8つのchストリップそれぞれへ割り当てるアサインchを規定したデータであるが、割り当てch無しのchストリップがあっても良い。フィックスレイヤデータは、複数個、独立に作成して登録できるが、ここでは1つのchストリップ部に対して3つのFIXスイッチ(図3の312,314)を設けてあるので、これらの各FIXスイッチに対応付けて1つのchストリップ部当たり3つのフィックスレイヤデータを登録できる。すなわち、作成したフィックスレイヤデータを登録する際には、どのchストリップ部のどのFIXスイッチに対応したフィックスレイヤデータであるかが特定できるように所定の記憶領域に格納する。逆に、何れかのFIXスイッチが操作されたときには、それに対応するchストリップ部とフィックスレイヤデータが特定される。
図5は、CPU101によるフィックスレイヤデータのセット処理のフローを示す。何れかのFIXスイッチが操作されたとき(新たなフィックスレイヤデータをセットする指示が検出されたとき)に本処理が起動される。何れかのFIXスイッチが操作されると、該操作されたFIXスイッチに対応するchストリップ部とフィックスレイヤデータが特定され、本処理にはそれらの情報が与えられる。
ステップ501では、特定されたフィックスレイヤデータを、特定されたchストリップ部のフィックスレイヤにセットする。すなわち、カレントメモリ上の当該chストリップ部のフィックスレイヤデータ領域に、カレントデータとして、当該フィックスレイヤデータを書き込む。ステップ501で既に当該フィックスレイヤデータ領域にカレントデータとして他のフィックスレイヤデータがセットされていた場合は、該データを上書きする形で、すなわち、当該他のフィックスレイヤデータを当該フィックスレイヤデータ領域から消去し、新たなフィックスレイヤデータがセットされる。このとき、ベースレイヤにセットされているカレントデータには影響を与えない。すなわち、あるレイヤのカレントデータを書き換えたとき、他のレイヤのカレントデータは書き換えずそのまま維持するものとする。
ステップ502では、カレントメモリ上の当該chストリップ部のフィックスレイヤデータ領域とベースレイヤデータ領域それぞれにセットされているカレントデータに沿って、当該chストリップ部の新たなアサイン状態を決める。フィックスレイヤデータ領域にセットされているカレントデータは、ステップ501で書き換えられた後のデータである。ベースレイヤデータ領域には必ず何らかのベースレイヤデータがカレントデータとしてセットされている。ステップ503では、新たなアサイン状態に沿って各chストリップにchをアサインする。「アサイン」については既に説明した。なお、chストリップ部304のアサイン状態が変更された場合は、領域302の表示内容も新たなアサインchにあわせて更新する。
図6は、指示されたchストリップ部における図5の処理によるフィックスレイヤデータの設定例を示す。601はカレントメモリ上の当該chストリップ部のフィックスレイヤデータ領域の設定内容(カレントデータ)を示し、602はカレントメモリ上の当該chストリップ部のベースレイヤデータ領域の設定内容(カレントデータ)を示す。ベースレイヤのカレントデータ602には、B1スイッチのベースレイヤデータがセットされている。フィックスレイヤのカレントデータ601には、フィックスレイヤデータがセットされていない。603は、ベースレイヤとフィックスレイヤのカレントデータ602,601に基づいてアサインを行ったときの、カレントメモリ上のアサインch格納領域の設定内容(カレントデータ)を示す。フィックスレイヤデータがセットされていないので、ベースレイヤデータのみに基づいてchのアサイン状態が決定されており、chストリップ1〜8(8本のchストリップを左から順にchストリップ1〜8と呼ぶ)に入力ch1〜8が割り当てられている。
図6(a)の状態から、FIX1スイッチをオンして図5の処理を行い、新規にフィックスレイヤデータをセットしたとする。図6(b)は、そのときの状態を示す。611は、図5のステップ501により新たにセットされたフィックスレイヤデータ領域のカレントデータを示す。セットされたフィックスレイヤデータは、chストリップ1に入力ch22を割り当て、その他のchストリップ2〜8は割り当てch無しと規定するデータである。ベースレイヤのカレントデータ612は、602の状態から書き換えられずそのまま維持される。613は、図5のステップ502,503により、ベースレイヤとフィックスレイヤのカレントデータ612,611に基づいて決定されたアサイン状態に沿ってアサインを行ったときの、カレントメモリ上のアサインch格納領域のカレントデータを示す。このアサインでは、上層のレイヤであるフィックスレイヤのカレントデータに基づく割り当てが優先されるので、フィックスレイヤでアサインするchが規定されているchストリップ(つまり一番左のchストリップ1)についてはフィックスレイヤデータに基づく割り当てが為される。上層のレイヤデータでアサインするchが規定されていないchストリップについては(つまり一番左以外のchストリップ2〜8)、その直下の階層のレイヤデータの指示を使う。つまり、ベースレイヤのカレントデータとして記録されているベースレイヤデータにおいてアサインするよう指示されているchをアサインする。これにより、chストリップ1に入力ch22が割り当てられ、chストリップ2〜8にはベースレイヤデータで規定される各chが割り当てられたアサイン状態となる。
なお、最下層以外のレイヤ(ここではフィックスレイヤ)は、新たなレイヤデータをセットする以外に、セットされているレイヤデータをクリアできるものとする。クリアが指示された場合は、そのレイヤに該当するカレントデータを、図6の601に示すように、空(初期状態)とする。
図7は、CPU101によるベースレイヤデータのセット処理のフローを示す。何れかのBASEスイッチが操作されたとき(新たなベースレイヤデータをセットする指示が検出されたとき)に本処理が起動される。何れかのBASEスイッチが操作されると、該操作されたBASEスイッチに対応するchストリップ部とベースレイヤデータが特定され、本処理にはそれらの情報が与えられる。
ステップ701では、特定されたベースレイヤデータを、特定されたchストリップ部のベースレイヤにセットする。すなわち、カレントメモリ上の当該chストリップ部のベースレイヤデータ領域に、カレントデータとして、当該ベースレイヤデータを書き込む。ステップ701で既に当該ベースレイヤデータ領域にカレントデータとして他のベースレイヤデータがセットされていた場合は、該データを上書きする形で新たなベースレイヤデータがセットされる。このとき、フィックスレイヤにセットされているカレントデータには影響を与えない。
ステップ702では、カレントメモリ上の当該chストリップ部のフィックスレイヤデータ領域にカレントデータがセットされているかチェックする。セットされているときは、ステップ703で、カレントメモリ上の当該chストリップ部のフィックスレイヤデータ領域とベースレイヤデータ領域それぞれにセットされているカレントデータに沿って、当該chストリップ部の新たなアサイン状態を決める。次に、ステップ705で、新たなアサイン状態に沿って各chストリップにchをアサインする。「アサイン」については既に説明した。なお、chストリップ部304のアサイン状態が変更された場合は、領域302の表示内容も新たなアサインchにあわせて更新する。ステップ702でフィックスレイヤデータ領域にカレントデータがセットされていないときは、ステップ704で、ベースレイヤデータ領域にセットされているカレントデータのみに沿って、chストリップ部の新たなアサイン状態を決め、ステップ705に進む。
図8は、指示されたchストリップ部においてフィックスレイヤにフィックスレイヤデータがセットされている状態で、図7の処理によりベースレイヤを変更する例を示す。801はカレントメモリ上の当該chストリップ部のフィックスレイヤデータ領域の設定内容(カレントデータ)を示し、802はカレントメモリ上の当該chストリップ部のベースレイヤデータ領域の設定内容(カレントデータ)を示す。ベースレイヤのカレントデータ802には、B1スイッチのベースレイヤデータがセットされている。フィックスレイヤのカレントデータ801には、chストリップ1に入力ch22を割り当て、その他のchストリップ2〜8は割り当てch無しと規定するフィックスレイヤデータがセットされている。803は、ベースレイヤとフィックスレイヤのカレントデータ802,801に基づいて決定されたアサイン状態に沿ってアサインを行ったときの、カレントメモリ上のアサインch格納領域の設定内容(カレントデータ)を示す。chストリップ1にフィックスレイヤデータで規定される入力ch22が割り当てられ、chストリップ2〜8にベースレイヤデータで規定される各chが割り当てられている。
図8(a)の状態から、B3スイッチをオンして図7の処理を行い、ベースレイヤデータの変更を行ったとする。図8(b)は、そのときの状態を示す。812は、802の状態から、図7のステップ701により変更されたベースレイヤデータ領域のカレントデータを示す。新たにセットされたベースレイヤデータは、chストリップ1〜8に入力ch33〜40を割り当てるデータである。フィックスレイヤのカレントデータ811は、801の状態から書き換えられずそのまま維持される。813は、図7のステップ702→703→705の処理により、ベースレイヤとフィックスレイヤのカレントデータ812,811に基づいて決定されたアサイン状態に沿ってアサインを行ったときの、カレントメモリ上のアサインch格納領域のカレントデータを示す。chストリップ1にフィックスレイヤデータで規定される入力ch22が割り当てられ、chストリップ2〜8に新たなベースレイヤデータで規定される各chが割り当てられている。これにより、フィックスレイヤでの割り当ては固定的に使用しつつ、ベースレイヤでの割り当てを切り替えることができる。
なお、ベースレイヤは最下層のレイヤであるためレイヤのカレントデータを空にすることはできず、従ってレイヤのカレントデータをクリアする処理を持たない。ベースレイヤデータ領域には、カレントデータとして常にいずれかのベースレイヤデータが記録されている。
なお、フィックスレイヤデータを予め用意せず、セレクテッド(selected)チャンネルとして選択されたch、つまりセル(SEL)スイッチ(各chストリップに設けられているスイッチ)が操作されたchストリップにアサインされているアサインchをフィックスレイヤで規定するchとし、当該chをカレントメモリ上のフィックスレイヤデータ領域にカレントデータとしてセットするようにしてもよい。この場合、操作パネル上のFIXスイッチは不要となり、その代わり、例えばフィックスレイヤをセットするモードのオン/オフを指示するスイッチ等を設ける。
図9〜図12の図面を用いて、本発明の第2の実施形態を説明する。
図9は、本発明の第2の実施形態に係るディジタルミキサの操作パネルの外観を示す。第2の実施形態は、フィックスレイヤデータを予め用意することなく、SELスイッチが操作されたchストリップにアサインされているアサインchをフィックスレイヤで規定するchとしてセットするものである。第2の実施形態のディジタルミキサのハード構成は図1と同じであり、ミキシング処理のブロック構成も図2と同じである。
図9の操作パネル上の各部は図3と同様のものであり、901,902,904,906,907,911,913はそれぞれ図3の301,302,304,306,307,311,313と対応するものであるので説明は省略する。なお、第1の実施形態の説明では割愛しているが、各chストリップ部304、306、307、904、906、907の各chストリップにはSELスイッチが配置されている(図3、図9のロータリエンコーダの下に配置されているスイッチ)。また、第1の実施形態では複数のFIXスイッチ312,314を設けたが、第2の実施形態ではフィックスレイヤをセットするモード(FIXセットモードと呼ぶ)のオン/オフを指示するFIXセットスイッチ912,914を設ける。例えばchストリップ部904において、入力ch16をフィックスレイヤに配置したい場合、まずフィックスレイヤがクリアされている状態で、BASEスイッチ911のうちのB2スイッチをオンしてベースレイヤに入力ch9〜16をセットする。これによりchストリップ8に入力ch16が割り当てられる。次に、FIXセットスイッチ912を押下してフィックスセットモードをオンにし、そのモード下で、chストリップ8のSELスイッチをオンする。これがその時点でchストリップ8に割り当てられているchをフィックスレイヤにセットする指示に相当する。chストリップ8には入力ch16が割り当てられているので、当該入力ch16がフィックスレイヤに割り当てられる。
なお、フィックスレイヤのどのchストリップに割り当てるかは、予め固定的に決めておいてもよいし、ユーザが任意のchストリップを選択できるようにしてもよい。ここでは、フィックスレイヤの8本のchストリップ1〜8の左側から順に割り当てるものとする。従って、上記の例では、chストリップ1に入力ch16が割り当てられる。さらに、FIXセットモード下で、複数のchストリップのSELスイッチを押下した場合は、次のchストリップ2,3,…に順にchを割り当てる。SELスイッチをオンするchストリップは、FIXセットモードをオンしたchストリップ部内のchストリップに限ることはなく、別のchストリップ部のchストリップのSELスイッチをオンして割り当てることもできる。
次に、FIXセットスイッチ912を再度押下してFIXセットモードをオフする。以後は、ベースレイヤを切り替えてもchストリップ1には入力ch16が割り当てられた状態が継続する。フィックスレイヤにおけるchストリップ1の割り当てを解除したいときは、FIXセットモードをオンにした状態で、chストリップ8のSELスイッチ(オン状態であることを示すためにスイッチに埋め込まれているLEDが点灯しているものとする)をオフにすればよい。この場合、フィックスレイヤのchストリップ2,3,…に割り当てが存在するときは、それらは左詰めにされ、chストリップ1,2,…割り当てに変更するものとする。
図10は、第2の実施形態におけるレイヤの設定例を示す。上記第1の実施形態では、例えば図6や図8に示したようにカレントメモリ上にフィックスレイヤデータ領域とベースレイヤデータ領域を設けたが、第2の実施形態では、カレントメモリ上にはアサインch格納領域のみを設け、フィックスレイヤデータ領域とベースレイヤデータ領域は設けない。その代わりに、ワークレジスタとして、フィックスレイヤ用レジスタとベースレイヤ用レジスタを設ける。なお、第2の実施形態におけるフィックスレイヤ用レジスタやベースレイヤ用レジスタに相当するデータ領域をカレントメモリ上に設ける構成を採用してもよい。
第2の実施形態において、ベースレイヤは、上記第1の実施形態のベースレイヤと同じく、レイヤデータを使用して各chストリップにchを割り当てる階層(レイヤ)である。ベースレイヤレジスタは、各chストリップ部毎に設けられ、当該chストリップ部のベースレイヤにおいて8つのchストリップのそれぞれに割り当てるchを格納する領域を持つ。何れかのBASEスイッチが押下されたとき、そのBASEスイッチに対応するベースレイヤデータがベースレイヤレジスタにセットされる。なお、ベースレイヤレジスタには、1つのレイヤデータをセットでき、複数用意されているベースレイヤデータのいずれか1つをBASEスイッチにより選択してセットするものとする。ベースレイヤレジスタには、常にいずれかのベースレイヤデータがセットされており、(初期状態の場合を除いて)ベースレイヤデータがセットされていない状態はない。また、ベースレイヤレジスタには、常に8本の全chストリップ分のchがセットされている。ベースレイヤにおいて、chがセットされていないchストリップはない。
フィックスレイヤは、上記第1の実施形態のフィックスレイヤと同様のユーザが指定したchを割り当てることができるレイヤであるが、第2の実施形態のフィックスレイヤではレイヤデータを使用しない。フィックスレイヤに割り当てたいchは、個々のchストリップ毎にユーザが指定するものとする。従って、第2の実施形態ではフィックスレイヤデータは存在しない。フィックスレイヤレジスタは、各chストリップ部毎に設けられ、当該chストリップ部のフィックスレイヤにおいて8つのchストリップのそれぞれに割り当てるchを格納する領域を持つ。フィックスレイヤレジスタには、常に全chストリップ分のchをセットする必要はなく、chがセットされていないchストリップがあってもよい。また、全chストリップのいずれにもchがセットされていない状態でもよい。
図10(a)の1001は当該chストリップ部のフィックスレイヤ用レジスタの設定内容を示し、1002は当該chストリップ部のベースレイヤ用レジスタの設定内容を示す。1003はカレントメモリ上のアサインch格納領域のうちの、当該chストリップ部の内容(カレントデータ)を示す。図10(a)は初期状態であり、フィックスレイヤ用レジスタ1001とベースレイヤ用レジスタ1002には何れもデータが設定されておらず、全てのchストリップが「none」に設定されている。従って、アサインch格納領域1003の内容も全chストリップが「none」である。
図10(a)の状態から、BASEスイッチ911のうちのB1スイッチをオンして新規にベースレイヤデータをセットしたとする。図10(b)は、そのときの状態を示す。1015は、各BASEスイッチに対応して予め用意されているベースレイヤデータである。オンされたB1スイッチに対応するベースレイヤデータB1が、1012に示すようにベースレイヤ用レジスタに設定される。1011に示すようにフィックスレイヤレジスタの状態に変化はない。そして、各レイヤのレジスタの設定内容1011,1012に基づいて当該chストリップ部のアサイン状態が決定され、当該決定されたアサイン状態に沿って当該chストリップ部の各chストリップにchが割り当てられる。1013は、このときの、カレントメモリ上のアサインch格納領域のうちの、当該chストリップ部のカレントデータを示しており、前記決定されたアサイン状態に沿った各chストリップの割当chを格納している。この例では、1011のように、フィックスレイヤレジスタにはデータが配置されていないので、ベースレイヤデータがそのままアサインch格納領域のカレントデータとなる。
図10(b)の状態から、FIXセットスイッチ912を押下してFIXセットモードをオンにし、その状態で、パネル面のchストリップのうちのch22が割り当てられているchストリップ内のSELスイッチを押下したとする。これにより、図10(c)の1021に示すように、フィックスレイヤレジスタの一番左のchストリップ1に対応する領域にch22がセットされる。1022に示すようにベースレイヤレジスタの状態に変化はない。そして、各レイヤのレジスタの設定内容1021,1022に基づいて当該chストリップ部のアサイン状態が決定され、当該決定されたアサイン状態に沿って各chストリップにchが割り当てられる。1023は、このときの、カレントメモリ上のアサインch格納領域のうちの、当該chストリップ部のカレントデータを示しており、前記決定されたアサイン状態に沿った各chストリップの割当chを格納している。この例では、1021のようにフィックスレイヤレジスタにデータが存在するため、フィックスレイヤレジスタの設定内容に基づく割り当てが優先されるので、フィックスレイヤで割当chが規定されているchストリップ(つまりchストリップ1)についてはその割り当てが為される。フィックスレイヤレジスタで割当chが規定されていないchストリップについては(つまりchストリップ2〜8)、その直下の階層のベースレイヤレジスタで規定されている割当chを割り当てる。
図11は、CPU101によるベースレイヤデータのセット処理のフローを示す。何れかのBASEスイッチが操作されたとき(新たなベースレイヤデータをセットする指示が検出されたとき)に本処理が起動される。何れかのBASEスイッチが操作されると、該操作されたBASEスイッチに対応するchストリップ部とベースレイヤデータが特定され、本処理にはそれらの情報が与えられる。
ステップ1101では、指示されたベースレイヤデータを、指示されたchストリップ部のベースレイヤにセットする。すなわち、当該chストリップ部のベースレイヤレジスタに、当該ベースレイヤデータを書き込む(例えば図10の1002→1012)。ステップ1101で既に当該ベースレイヤレジスタに他のベースレイヤデータがセットされていた場合は、該データを上書きする形で新たなベースレイヤデータがセットされる。このとき、フィックスレイヤレジスタにセットされているデータには影響を与えない(図10の1001→1011)。
ステップ1102では、当該chストリップ部のフィックスレイヤレジスタにデータがセットされているかチェックする。セットされているとき(図10(c)の状態)は、ステップ1103で、当該chストリップ部のフィックスレイヤレジスタとベースレイヤレジスタそれぞれにセットされているデータに沿って、当該chストリップ部の新たなアサイン状態を決める。次に、ステップ1105で、新たなアサイン状態に沿って各chストリップにchをアサインする。アサイン状態の決定やchのアサインについては既に説明した。なお、chストリップ部904のアサイン状態が変更された場合は、領域902の表示内容も新たなアサインchにあわせて更新する。ステップ1102でフィックスレイヤレジスタにデータがセットされていないとき(図10(b)のケース)は、ステップ1104で、ベースレイヤレジスタにセットされているデータのみに沿って、chストリップ部の新たなアサイン状態を決め、ステップ1105に進む。
図12は、CPU101によるフィックスレイヤのセット処理のフローを示す。何れかのFIXセットスイッチが操作されてFIXセットモードオンとし、そのモード下で何れかのchストリップ内のSELスイッチがオンされたたとき(フィックスレイヤへ新たなchをセットする指示が検出されたとき)に本処理が起動される。操作されたFIXセットスイッチに対応するchストリップ部が特定され、オンされたSELスイッチに対応するch(オンされたSELスイッチが属するchストリップに割り当てられているch)が特定されるので、本処理にはそれらの情報が与えられる。
ステップ1201では、指示されたchを、指示されたchストリップ部のフィックスレイヤレジスタにセットする(例えば図10の1011→1021)。なお、本実施形態ではフィックスレイヤレジスタの一番左のchストリップから順に割り当てていく。従って、まずフィックスレイヤレジスタ一番左の割り当てch設定領域を見てそこが空いていれば(「none」であれば)そこに前記指示されたchを設定する。空いていなければ、順に右側の割り当てch設定領域を見ていき空いている領域を見つけて、そこに指示されたchを設定する。このとき、ベースレイヤレジスタにセットされているデータには影響を与えない(図10の1012→1022)。
ステップ1202では、当該chストリップ部のフィックスレイヤレジスタとベースレイヤレジスタそれぞれにセットされているデータに沿って、当該chストリップ部の新たなアサイン状態を決める。フィックスレイヤレジスタにセットされているデータは、ステップ1201で書き換えられた後のデータである。ベースレイヤレジスタには必ず何らかのベースレイヤデータがセットされている。ステップ1203では、新たなアサイン状態に沿って各chストリップにchをアサインする(図10(c)のケースのように、フィックスレジスタ1021とベースレジスタ1022にセットされているデータに基づいてアサイン状態を決定され、そのアサイン状態に沿った各chストリップの割当chがアサインch格納領域1023へ格納される)。アサイン状態の決定やchのアサインについては既に説明した。なお、chストリップ部904のアサイン状態が変更された場合は、領域902の表示内容も新たなアサインchにあわせて更新する。
上記第1および第2の実施形態では2階層のレイヤの例で説明したが、レイヤの数は3階層以上としてもよい。3階層以上とした場合、最下層は上記実施形態のベースレイヤと同様のレイヤとし、その上位の階層は上記実施形態のフィックスレイヤと同様のレイヤとし上位の階層ほど優先させるようにすればよい。
上記第1および第2の実施形態では、例えば図6の601に示すような「フィックスレイヤにフィックスレイヤデータがセットされていない状態」を前提に説明したが、フィックスレイヤデータとして全chストリップを割り当てch無しと規定するフィックスレイヤデータを用意し、該フィックスレイヤデータがセットされたとき、上記実施形態の「フィックスレイヤにフィックスレイヤデータがセットされていない状態」と同等とみなして処理できることはもちろんである。
上記第1および第2の実施形態では、カレントメモリ上にアサインch格納領域を設けたが、必ずしもこの領域を設ける必要はない。chストリップに割り当てられているchを特定する必要がある毎に、セットされているフィックスレイヤデータとベースレイヤデータに基づいて各chストリップのアサインchを決定してもよい。