JP2018201085A - 音信号処理装置、音信号処理方法及びプログラム - Google Patents
音信号処理装置、音信号処理方法及びプログラム Download PDFInfo
- Publication number
- JP2018201085A JP2018201085A JP2017104147A JP2017104147A JP2018201085A JP 2018201085 A JP2018201085 A JP 2018201085A JP 2017104147 A JP2017104147 A JP 2017104147A JP 2017104147 A JP2017104147 A JP 2017104147A JP 2018201085 A JP2018201085 A JP 2018201085A
- Authority
- JP
- Japan
- Prior art keywords
- plug
- arrangement data
- sound signal
- component
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Circuit For Audible Band Transducer (AREA)
- Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
Abstract
【課題】配置データを、プロセッサの処理リソースのコンポーネントへの割り当てに反映させる場合に、その反映に伴って信号処理中の音に途切れが発生する箇所をユーザが容易に把握できるようにする。
【解決手段】プロセッサの処理リソースを、所定の配置データに従って1以上のコンポーネントに割り当てて、その割り当てた処理リソースを用いて各コンポーネントに関する音信号処理を実行する音信号処理装置において、ユーザにより、1の配置データを、上記割り当てに反映させる配置データを記憶する第1記憶部に読み出すことが指示された場合、その指示時点で上記第1記憶部に記憶されている第1配置データと、読み出すべき第2配置データとに基づき、その読み出しの実行に応じた処理リソースの割り当て変更によって、出力先への音信号の出力が一時的に途切れる途切れ箇所を検出し、表示部に、該途切れ箇所を表示させるようにした。
【選択図】 図11
【解決手段】プロセッサの処理リソースを、所定の配置データに従って1以上のコンポーネントに割り当てて、その割り当てた処理リソースを用いて各コンポーネントに関する音信号処理を実行する音信号処理装置において、ユーザにより、1の配置データを、上記割り当てに反映させる配置データを記憶する第1記憶部に読み出すことが指示された場合、その指示時点で上記第1記憶部に記憶されている第1配置データと、読み出すべき第2配置データとに基づき、その読み出しの実行に応じた処理リソースの割り当て変更によって、出力先への音信号の出力が一時的に途切れる途切れ箇所を検出し、表示部に、該途切れ箇所を表示させるようにした。
【選択図】 図11
Description
この発明は、音信号処理装置、音信号処理方法及び、コンピュータに音信号処理方法を実行させるためのプログラムに関する。
従来から、デジタルミキサ、プロセッサ、DAW(Digital Audio Workstation)等の音信号処理装置において、予め用意された複数の仮想的な配置位置に、ユーザがプラグイン等の所望のコンポーネントを配置できるようにすることが行われている。このような音信号処理装置は、ユーザにより配置された各コンポーネントに信号処理用DSP(デジタル・シグナル・プロセッサ)の処理能力(リソース)を割り当てて、DSPのその割り当てたリソースを用いて各コンポーネントの機能を実現させる。このような音信号処理装置については、例えば特許文献1に記載されている。
また、非特許文献1には、デジタルミキサにおいて、仮想的な配置位置である複数のバーチャルラックに、グラフィックイコライザ(GEQ)やエフェクタ等のコンポーネントをそれぞれマウントできることが記載されている。また、バーチャルラック毎にユーザが設定した入力元の信号を、マウントされたコンポーネントで処理し、処理後の信号を、バーチャルラック毎にユーザが設定した出力先に出力できることが記載されている。
「DIGITAL MIXING CONSOLE CL5/CL3/CL1 リファレンスマニュアル」、2013年、ヤマハ株式会社
ところで、仮想的な配置位置へのコンポーネントの配置を、予め配置データとして作成しておき、装置に読み込ませることにより、コンサートのシーン変更時などの任意のタイミングで、迅速に音信号処理装置の動作に反映させられるようにすることが考えられる。
しかし、この反映に際しては、読み込み時点であるコンポーネントに割り当てられていたリソースを、読み込みに応じて別のコンポーネントに割り当て直す必要が生じることもある。一方、上記別のコンポーネントが信号処理を開始するためには、プログラムのロード等に若干の時間を要する。このため、配置データの読み込みに際して上記あるコンポーネントが信号処理を止めてから、上記別のコンポーネントが信号処理を開始するまでの間に、若干間隔が空く。そして、その間は、DSPからの音信号の出力が途切れてしまうことになる。
しかし、この反映に際しては、読み込み時点であるコンポーネントに割り当てられていたリソースを、読み込みに応じて別のコンポーネントに割り当て直す必要が生じることもある。一方、上記別のコンポーネントが信号処理を開始するためには、プログラムのロード等に若干の時間を要する。このため、配置データの読み込みに際して上記あるコンポーネントが信号処理を止めてから、上記別のコンポーネントが信号処理を開始するまでの間に、若干間隔が空く。そして、その間は、DSPからの音信号の出力が途切れてしまうことになる。
このような途切れがある程度起こることはやむを得ないが、コンサート等の本番中に、注目を集める出力音に対して起こると、聴衆に不自然な印象を与えてしまう。従って、なるべく途切れが避けられるようにし、起こるとしてもあまり注目の集まらない音に対して起こるようにすることが望ましい。
しかし、読み込み時に有効になっている配置データと、これから読み込もうとする配置データとの双方の内容を正確に把握していなければ、配置データの読み込みに伴いどこでどのように途切れが起こるかが予め把握できず、途切れを適切に管理することは難しいという問題があった。
しかし、読み込み時に有効になっている配置データと、これから読み込もうとする配置データとの双方の内容を正確に把握していなければ、配置データの読み込みに伴いどこでどのように途切れが起こるかが予め把握できず、途切れを適切に管理することは難しいという問題があった。
この発明は、このような問題を解決し、音信号処理装置が、プロセッサの処理リソースの、コンポーネントへの割り当てを示す配置データを読み込んで実際の割り当てに反映させる場合に、該反映に伴って信号処理中の音に途切れが発生する箇所をユーザが容易に把握できるようにすることを目的とする。
上記の目的を達成するため、この発明の音信号処理装置は、プロセッサの処理リソースを、所定の配置データに従って1以上のコンポーネントに割り当てて、その割り当てた処理リソースを用いてその各コンポーネントに関する音信号処理を実行する音信号処理装置において、上記割り当てに反映させる配置データであって、各コンポーネントに割り当てる処理リソースの情報と、各コンポーネントが処理する信号の入力元とその各コンポーネントによる処理後の信号の出力先の情報とを含む配置データを記憶する第1記憶部と、上記配置データを複数記憶する記憶部から、1の配置データを、上記第1記憶部に読み出す読出部と、上記第1記憶部に記憶されている配置データが変更された場合に、その変更後の配置データに基づきコンポーネントへの上記処理リソースの割り当て変更及び各コンポーネントについての信号の入力元と出力先の変更を行う割当変更部と、ユーザにより、上記記憶部に記憶されている配置データの読み出しが指示された場合、その指示時点で上記第1記憶部に記憶されている第1配置データと、読み出すべき第2配置データとに基づき、その読み出しの実行に応じた上記割当変更部による変更によって、出力先への音信号の出力が一時的に途切れる途切れ箇所を検出する検出部と、上記検出部が上記途切れ箇所を検出した場合に、表示部に、その途切れ箇所を表示させる表示制御部とを設けたものである。
このような音信号処理装置において、上記検出部が、上記第2配置データの読み出しにより、上記第1配置データに従って一のコンポーネントに割り当てられていた処理リソースを他のコンポーネントに割り当てる必要が生じ、かつ、上記第2配置データにおいてその他のコンポーネントに関して、信号の入力元及び出力先として、上記第1配置データにおいて上記一のコンポーネントに関して定められているものと同じ入力元及び出力先が定められている場合に、その他のコンポーネントを、上記途切れ箇所として特定するとよい。
さらに、上記検出部が、上記一のコンポーネントも、上記途切れ箇所として特定するとよい。
さらに、上記検出部が、上記一のコンポーネントも、上記途切れ箇所として特定するとよい。
また、上記信号の出力先の候補のうち、上記途切れ箇所の検出の対象とする候補の指定をユーザから受け付ける第1受付部を設け、上記検出部が、上記第2配置データにおいて上記他のコンポーネントに関して定められている出力先が、上記第1受付部が受け付けた候補のいずれかである場合にのみ、上記他のコンポーネントを、上記途切れ箇所として特定するとよい。
さらに、上記信号の入力元の候補のうち、上記途切れ箇所の検出の対象とする候補の指定をユーザから受け付ける第2受付部を設け、上記検出部が、上記第2配置データにおいて上記他のコンポーネントに関して定められている入力元が、上記第2受付部が受け付けた候補のいずれかである場合にのみ、上記他のコンポーネントを、上記途切れ箇所として特定するとよい。
さらに、上記信号の入力元の候補のうち、上記途切れ箇所の検出の対象とする候補の指定をユーザから受け付ける第2受付部を設け、上記検出部が、上記第2配置データにおいて上記他のコンポーネントに関して定められている入力元が、上記第2受付部が受け付けた候補のいずれかである場合にのみ、上記他のコンポーネントを、上記途切れ箇所として特定するとよい。
また、上記の各音信号処理装置において、上記表示制御部が、上記第1配置データに従った、コンポーネントに対する上記プロセッサの処理リソースの割り当て状態と、上記第2配置データの読み出しを実行した場合における、コンポーネントに対する上記プロセッサの処理リソースの割り当て状態とを、上記表示部に並べて表示させ、その表示中で、上記途切れ箇所と特定されたコンポーネントを強調表示させるとよい。
さらに、上記検出部が上記途切れ箇所を検出した場合に、ユーザの指示に応じて、上記第2配置データ中でその途切れ箇所と特定されたコンポーネントに割り当てる処理リソースを、上記第1配置データに従って現にコンポーネントに割り当てられている処理リソースと重ならないように変更する変更部を設けるとよい。
さらに、上記変更部による変更後の第2配置データを、ユーザの指示に応じて、上記記憶部における第2配置データに上書きして保存するとよい。
また、この発明は、上記のように装置として実施する他、システム、方法、プログラム、記録媒体等、任意の態様で実施することができる。
さらに、上記変更部による変更後の第2配置データを、ユーザの指示に応じて、上記記憶部における第2配置データに上書きして保存するとよい。
また、この発明は、上記のように装置として実施する他、システム、方法、プログラム、記録媒体等、任意の態様で実施することができる。
以上のようなこの発明の構成によれば、音信号処理装置が、プロセッサの処理リソースの、コンポーネントへの割り当てを示す配置データを読み込んで実際の割り当てに反映させる場合に、該反映に伴って信号処理中の音に途切れが発生する箇所をユーザが容易に把握することができる。
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
まず、図1に、この発明の音信号処理装置の一実施形態であるデジタルミキサの構成を示す。
図1に示すように、デジタルミキサ10は、CPU11、フラッシュメモリ12、RAM13、PC(パーソナルコンピュータ)_I/O(入出力部)14、MIDI(Musical Instrument Digital Interface:商標)_I/O15、その他I/O16、表示器17、操作子18、波形I/O19、ミキシング処理部20、プラグイン処理部30を備え、これらをシステムバス22により接続している。また、波形I/O19、ミキシング処理部20及びプラグイン処理部30は、デジタル音信号であるオーディオデータを伝送するためのオーディオバス23によっても接続している。
まず、図1に、この発明の音信号処理装置の一実施形態であるデジタルミキサの構成を示す。
図1に示すように、デジタルミキサ10は、CPU11、フラッシュメモリ12、RAM13、PC(パーソナルコンピュータ)_I/O(入出力部)14、MIDI(Musical Instrument Digital Interface:商標)_I/O15、その他I/O16、表示器17、操作子18、波形I/O19、ミキシング処理部20、プラグイン処理部30を備え、これらをシステムバス22により接続している。また、波形I/O19、ミキシング処理部20及びプラグイン処理部30は、デジタル音信号であるオーディオデータを伝送するためのオーディオバス23によっても接続している。
このうちCPU11は、デジタルミキサ10の動作を統括制御する制御部であり、フラッシュメモリ12に記憶された所要のプログラムを実行することにより、波形I/O19における音信号の入出力や表示器17における表示の制御、操作子18の操作に従ったパラメータの編集、ミキシング処理部20及びプラグイン処理部30における信号処理の制御といった処理を行う。
フラッシュメモリ12はCPU11が実行する制御プログラムや後述する各種データ等を記憶する書き換え可能な不揮発性の記憶部である。RAM13はCPU11が各種のデータを書き込み及び読み出しする揮発性の記憶部であり、CPU11のワークメモリとしても使用される。
PC_I/O14、MIDI_I/O15、その他I/O16はそれぞれ、種々の外部機器を接続し入出力を行うためのインタフェースである。例えば、PC_I/O14には外部のPCが接続され、MIDI_I/O15にはフィジカルコントローラや電子楽器のようなMIDI対応機器が接続される。その他I/O16には、ディスプレイ、マウス、文字入力用のキーボード等のUIデバイスや、USB(Universal Serial Bus)メモリ、メモリカード等の着脱可能な記憶媒体が接続される。外部機器との通信に用いる規格は、イーサネット(商標)、USB等、任意のものを採用することができる。有線無線も問わない。
PC_I/O14、MIDI_I/O15、その他I/O16はそれぞれ、種々の外部機器を接続し入出力を行うためのインタフェースである。例えば、PC_I/O14には外部のPCが接続され、MIDI_I/O15にはフィジカルコントローラや電子楽器のようなMIDI対応機器が接続される。その他I/O16には、ディスプレイ、マウス、文字入力用のキーボード等のUIデバイスや、USB(Universal Serial Bus)メモリ、メモリカード等の着脱可能な記憶媒体が接続される。外部機器との通信に用いる規格は、イーサネット(商標)、USB等、任意のものを採用することができる。有線無線も問わない。
表示器17は、CPU11の制御に従って種々の情報を表示する表示部であり、例えば液晶パネル(LCD)や発光ダイオード(LED)によって構成できる。
操作子18は、デジタルミキサ10に対する操作を受け付けるためのものであり、種々のキー、ボタン、ロータリーエンコーダ、スライダ等によって構成できる。表示器17であるLCDに積層したタッチパネルを用いることもできる。
操作子18は、デジタルミキサ10に対する操作を受け付けるためのものであり、種々のキー、ボタン、ロータリーエンコーダ、スライダ等によって構成できる。表示器17であるLCDに積層したタッチパネルを用いることもできる。
波形I/O19は、ミキシング処理部20で処理すべき音信号の入力を受け付け、また処理後の音信号を出力するためのインタフェースである。波形I/O19は、アナログ音信号を外部から受け取りデジタル音信号に変換してミキシング処理部20に供給するアナログ入力ポート、ミキシング処理部20からのデジタル音信号をアナログ音信号に変換して出力するアナログ出力ポート、各種伝送形式のデジタル音信号を外部から受け取りミキシング処理部20に供給するデジタル入力ポート、ミキシング処理部20からのデジタル音信号を各種伝送形式に変換して外部に出力するデジタル出力ポートを、それぞれ複数備える。
ミキシング処理部20は、複数のDSPを含むDSP群として構成され、波形I/O19からオーディオバス23を介して供給されるデジタルの音信号にミキシングやイコライジング等の信号処理を施し、信号処理後の音信号をオーディオバス23を介して再び波形I/O19に出力する機能を備える。その信号処理は各種処理パラメータの現在値(カレントデータ)により制御される。そのカレントデータは、上記操作子18の操作によりユーザが編集可能であり、RAM13あるいはDSPに備える所定のメモリに記録される。
プラグイン処理部30は、ミキシング処理部20にて処理途中の音信号に対し、種々のプラグインコンポーネント(以下単に「プラグイン」という)を用いた信号処理を行うことができる。このプラグインには、リバーブ、ディレイ、コーラス、グラフィックイコライザ、コンプレッサ等の、音効果を付与するエフェクタの機能を実現するものが含まれる。プラグインは、複数のchの音信号を処理する機能を備えるものであってもよいが、以下の説明を簡単にするため、ここでは、1chの音信号を処理するものであるとする。
プラグインを使用する場合、例えば、ミキシング処理部20が行っている信号処理における、あるブロックとその次のブロックの間の所定位置で、前記あるブロックからの音信号を取り出してオーディオバス23を介してプラグイン処理部30に供給し、その音信号に対してプラグインの信号処理を施して、処理後の音信号をオーディオバス23を介してミキシング処理部20に戻して前記次のブロックに供給する。また、処理後の音信号の供給先は、音信号を取り出した位置と異なっていてもよい。例えば、入力ch(チャンネル)から取り出して処理した信号を、出力chへ供給してもよい。
なお、プラグイン処理部30で行われる音信号処理を制御する各種処理パラメータも、上述したカレントデータに含まれる。
なお、プラグイン処理部30で行われる音信号処理を制御する各種処理パラメータも、上述したカレントデータに含まれる。
次に、図2に、波形I/O19、ミキシング処理部20及びプラグイン処理部30により実現される音信号処理機能のブロック図を示す。
図2に示すように、ミキシング処理部20での音信号処理は、入力パッチ43、入力ch44、ミキシング(MIX)バス45、MIX出力ch46、出力パッチ47を有する。
図2に示すように、ミキシング処理部20での音信号処理は、入力パッチ43、入力ch44、ミキシング(MIX)バス45、MIX出力ch46、出力パッチ47を有する。
入力パッチ43では、12chある入力ch44のそれぞれに、波形I/O19のアナログ入力部41の複数のアナログ入力ポート及びデジタル入力部42の複数のデジタル入力ポートのいずれか1つの入力ポートをパッチし(割り当て)、割り当てた入力ポートからの音信号をその入力chに供給する。各入力chでは、入力パッチ43からの音信号に対してイコライザ、コンプレッサ等の一連の処理ブロックでそれぞれ信号処理を施し、信号処理後の音信号を、8系統のMIXバス45のうちの1または複数系統のバスへ送出する。なお、その送出時には、送出する音信号のレベルをバスごと個別に変更できる。
各MIXバス45では、各入力ch44から入力される音信号をミキシングし、ミキシング結果の音信号を、MIXバス45の系統ごとに設けられている8chのMIX出力ch46へ送出する。
各MIX出力ch46では、MIXバス45から入力される音信号に対してイコライザ、コンプレッサ等の一連の処理ブロックでそれぞれ信号処理を施し、信号処理後の音信号を出力パッチ47へ送出する。出力パッチ47では、MIX出力ch46のそれぞれに、波形I/O19の各出力端子と対応して設けられている複数のアナログ出力部48及び複数のデジタル出力部49のいずれか1つをパッチし、各MIX出力chの音信号をパッチ先の出力部から出力する。
各MIX出力ch46では、MIXバス45から入力される音信号に対してイコライザ、コンプレッサ等の一連の処理ブロックでそれぞれ信号処理を施し、信号処理後の音信号を出力パッチ47へ送出する。出力パッチ47では、MIX出力ch46のそれぞれに、波形I/O19の各出力端子と対応して設けられている複数のアナログ出力部48及び複数のデジタル出力部49のいずれか1つをパッチし、各MIX出力chの音信号をパッチ先の出力部から出力する。
各入力chの一連の処理ブロック間の所定位置、および、各出力chの一連の処理ブロック間の所定位置には、それぞれインサートポイントが設けられている。そして、このインサートポイントと、プラグイン処理部30に配置されたプラグイン50とを接続し、任意のインサートポイントにおける音信号をプラグイン50に入力して処理し、処理後の信号を任意のインサートポイントに戻すことができる。より具体的には、入力側のインサートポイントの前段の処理ブロックが出力する音信号を、インサート出力してプラグイン処理部30に伝送し、プラグイン50に入力して処理し、処理後の信号を、プラグイン処理部30からミキシング処理部20に戻し、出力側のインサートポイントの後段の信号処理に供することができる。インサートポイントは、1つのch内に複数箇所設け、使用するポイントをその中からユーザが選択できるようにしてもよい。
また、これ以外にも、任意のchから出力される音信号をプラグイン50に入力して処理したり、プラグイン50による処理後の音信号を任意のchの入力に供給したりすることもできる。
また、これ以外にも、任意のchから出力される音信号をプラグイン50に入力して処理したり、プラグイン50による処理後の音信号を任意のchの入力に供給したりすることもできる。
次に、図3乃至図5を用いて、プラグイン処理部30が有する処理リソース及び、その処理リソースを用いたプラグイン処理の実行態様及び手順について説明する。
図3は、プラグイン処理部30が有する処理リソースを示す図、図4及び図5は、それぞれプラグイン処理部30が有する処理リソースを用いたプラグイン処理の実行態様の例を示す図である。
図3は、プラグイン処理部30が有する処理リソースを示す図、図4及び図5は、それぞれプラグイン処理部30が有する処理リソースを用いたプラグイン処理の実行態様の例を示す図である。
図3に示すように、プラグイン処理部30は、第1DSP31−1〜第mDSP31−mまでの、m個(mは1以上の整数)のDSPを備える。処理リソースの割り当てを単純な処理で行うためには、各DSPは、全く同じ能力であることが望ましいが、これには限られない。
また、各DSP31−x(xは1からmまでの整数)は、第1処理タイミング31−x−1から第n処理タイミング31−x−nまでのn個(nは1以上の整数)の処理タイミングを有する。各処理タイミングは、処理対象の音信号の1サンプリング期間をn分割したものであり、その期間内にDSP31−xが提供可能な演算能力を示す。
さらに、各DSP31−xは、内部に、各処理タイミングに実行するためのプログラム及び処理対象の音データを記憶するためのDSPメモリ32−xを備える。
さらに、各DSP31−xは、内部に、各処理タイミングに実行するためのプログラム及び処理対象の音データを記憶するためのDSPメモリ32−xを備える。
以上の各DSP31−xは、各処理タイミング31−x−1〜31−x−nにおいて、DSPメモリ32−xの、その処理タイミングと対応付けて記憶されているプログラムを実行することにより、その処理タイミングの信号処理を実行する。また、各処理タイミング31−x−1〜31−x−nの信号処理は、DSPメモリ32−xの、その処理タイミングと対応する入力アドレスに記憶されている音信号を1サンプル分読み出し、プログラムに従った処理結果の音信号を1サンプル分、DSPメモリ32−xの、その処理タイミングと対応する出力アドレスに書き込むものである(プログラムをそのように作成する)。
また、ある処理タイミング31−x−y(yは1からn―1までの整数)と対応する出力アドレスが、その次の処理タイミング31−x−(y+1)と対応する入力アドレスとなっている。各処理タイミングと対応する入力アドレス及び出力アドレスは、この実施形態では固定としている。
従って、各DSP31−xは、連続する複数の処理タイミングにおいて、複数のプログラム間で音信号を順次受け渡しつつ、処理することができる。このことにより、実質的に、1の処理タイミング内に完了しない信号処理も実行することができる。
以上のプラグイン処理部30に、あるコンポーネントに係る信号処理を実行させる場合、図4あるいは図5に示すように、コンポーネントに処理リソースを割り当てればよい。
従って、各DSP31−xは、連続する複数の処理タイミングにおいて、複数のプログラム間で音信号を順次受け渡しつつ、処理することができる。このことにより、実質的に、1の処理タイミング内に完了しない信号処理も実行することができる。
以上のプラグイン処理部30に、あるコンポーネントに係る信号処理を実行させる場合、図4あるいは図5に示すように、コンポーネントに処理リソースを割り当てればよい。
図4は、DSPの処理タイミング4つ分の演算能力で実行可能なプラグインAの処理を、プラグイン処理部30のDSPに実行させる場合の実行状態の例である。
この場合、プラグインAの処理の内容を規定するプラグインプログラムAを、それぞれDSP31−xが1の処理タイミング内に実行可能なA1〜A4の4つのプラグインプログラム部品に分けて作成しておく。そして、プラグインAに対し、DSP31−xの4つの処理タイミング(ここでは第1〜第4処理タイミング31−x−1〜4)を割り当て、各処理タイミング31−x−1〜4と対応付けて、DSPメモリ32−xにプラグインプログラム部品A1〜A4をロードしておく。
この場合、プラグインAの処理の内容を規定するプラグインプログラムAを、それぞれDSP31−xが1の処理タイミング内に実行可能なA1〜A4の4つのプラグインプログラム部品に分けて作成しておく。そして、プラグインAに対し、DSP31−xの4つの処理タイミング(ここでは第1〜第4処理タイミング31−x−1〜4)を割り当て、各処理タイミング31−x−1〜4と対応付けて、DSPメモリ32−xにプラグインプログラム部品A1〜A4をロードしておく。
すると、DSPは、第1処理タイミング31−x−1では、入力アドレスX1から音信号を読み出してプラグインプログラム部品A1による処理を実行し、その結果の音信号を出力アドレスX2に書き込む(上書きする)。第2処理タイミング31−x−2では、入力アドレスX2から音信号を読み出してプラグインプログラム部品A2による処理を実行し、その結果の音信号を出力アドレスX3に書き込む(上書きする)。同様に、第4処理タイミング31−x−4まで処理を実行すると、アドレスX1に記憶されていた音信号に対してプラグインプログラム部品A1〜A4により順次処理を行った結果の音信号が、アドレスX5に記憶される。
従って、ミキシング処理部20の入力側インサートポイントの音信号をサンプリング周期毎にアドレスX1に書き込み、アドレスX5の音信号をサンプリング周期毎に、ミキシング処理部20の出力側インサートポイントの音信号を記憶するアドレスに書き込むことにより、入力側インサートポイントの音信号に対してプラグインAの処理を行った結果を、出力側インサートポイントに供給することができる。このような、プラグインAへの入出力のためのデータ伝送の設定も、入力パッチ43や出力パッチ47と同様、「パッチ」と呼ぶことにする。
なお、各プラグインプログラム部品A1〜A4に従った処理自体は、処理タイミングが割り当てられていれば、パッチの設定がなく、アドレスX1に意味のある音信号が書き込まれていなくても実行可能である。この場合、処理結果の音信号も意味のないデータとなるが、出力側のパッチも設定されていなければ、その処理結果がミキシング処理部20の信号処理に影響を与えることはない。
図5は、DSPの処理タイミング3つ分の演算能力で実行可能なプラグインBの処理を、プラグイン処理部30のDSPに実行させる場合の実行状態の例である。
この場合、プラグインBに、DSP31−xの3つの処理タイミング(ここでは第1〜第3処理タイミング31−x−1〜3)を割り当てれば、必要なプラグインプログラム部品B1〜B3の処理を実行可能である。そして、最終的な処理結果は第3処理タイミング31−x−3の出力アドレスX4に書き込まれる。従って、アドレスX4を、出力側インサートポイントとパッチすればよい。
この場合、プラグインBに、DSP31−xの3つの処理タイミング(ここでは第1〜第3処理タイミング31−x−1〜3)を割り当てれば、必要なプラグインプログラム部品B1〜B3の処理を実行可能である。そして、最終的な処理結果は第3処理タイミング31−x−3の出力アドレスX4に書き込まれる。従って、アドレスX4を、出力側インサートポイントとパッチすればよい。
このように、プラグイン処理部30に、プラグインに関する信号処理を有効に実行させるためには、プラグインに対して、そのプラグインを構成するプラグインプログラム部品と同じ数の処理タイミングを処理リソースとして割り当てると共に、入出力のパッチを設定すればよい。また、プラグインに割り当てる処理タイミングを、プラグインを配置可能な位置という意味で、「スロット」とも呼ぶことにする。
次に、図6に、以上説明したプラグインへの処理リソースの割り当て及びパッチの設定を受け付け、また現在の状態を表示するためのプラグイン配置画面の例を示す。
図6に示すプラグイン配置画面200は、表示制御部として機能するCPU11により表示器17に表示され、プラグイン配置部210、カーソル操作部220、プラグイン選択部230、プラグイン設定部240、配置ボタン251、削除ボタン252、クローズボタン253を備える。
図6に示すプラグイン配置画面200は、表示制御部として機能するCPU11により表示器17に表示され、プラグイン配置部210、カーソル操作部220、プラグイン選択部230、プラグイン設定部240、配置ボタン251、削除ボタン252、クローズボタン253を備える。
これらのうちプラグイン配置部210は、プラグインへの処理リソースの割り当て状態を表示する領域である。この例では、1列に並んだ16のマスが、プラグイン処理部30における1つのDSPの処理リソースと対応し、その各マスが、1つの処理タイミングと対応する。従って、図6の例では、プラグイン処理部30がaからxまでの24個のDSPを備え、それらのDSPが各16の処理タイミングを持つことを示している。
また、プラグイン配置部210では、プラグインと対応するアイコンをマスに重ねて配置することにより、どのプラグインにどの処理リソースを割り当てて使用するかを表示している。例えば、アイコン212は、リバーブのプラグインに、DSP31−aの第1〜第6処理タイミングを割り当てることを示している。また、アイコン213は、グラフィックイコライザのプラグインに、DSP31−aの第13〜第14処理タイミングを割り当てることを示している。
各アイコンのサイズは、該当のプラグインの機能を利用するためにいくつの処理タイミングを割り当てる必要があるか(プラグインを配置するためにいくつのスロットが必要であるか)も示している。アイコンが配置されていないマスは、現在空いている処理リソース(スロット)を示す。
なお、ここでは、マスの1列が1つのDSPに対応するとしたが、それに限られることはなく、複数列が1つのDSPに対応してもよい。図6の表示により、16×24=384の処理タイミングを持つ1つのDSPを表してもよい。
なお、ここでは、マスの1列が1つのDSPに対応するとしたが、それに限られることはなく、複数列が1つのDSPに対応してもよい。図6の表示により、16×24=384の処理タイミングを持つ1つのDSPを表してもよい。
また、プラグイン配置部210上にはカーソル211を表示し、これをカーソル操作部220により操作できるようにしている。カーソル211のサイズは、プラグイン選択部230にて現在選択されているプラグインのアイコンのサイズである。
カーソル操作部220は、つまみ221、カーソル位置表示部222及びリソース表示部223を備える。
カーソル操作部220は、つまみ221、カーソル位置表示部222及びリソース表示部223を備える。
つまみ221は、カーソル211を移動させるための操作子である。つまみ221をタッチして選択した後でのドラッグ操作や、つまみ221を割り当てたロータリーエンコーダ等の物理操作子の操作により、ユーザは、カーソル211を左右に移動させることができる。ここでは、プラグインに複数のDSPにまたがる処理リソースの割り当てはしないこととし、これに対応して、カーソル211の端部が列の端に達した状態でさらに移動させると、カーソル211は前又は後ろの列に移動する。
カーソル位置表示部222は、カーソル211の位置の座標を、プラグイン配置部210に表示されたアルファベットと数字の組み合わせで表示する領域である。カーソル211が複数マスに亘る場合、例えば最も左側のマスなど、所定の基準位置の座標が表示される。
リソース表示部223は、利用可能な処理タイミング数を表示する領域である。カーソル211がアイコンの配置されていないマスにある場合は、そのマスを含む連続した空きマスの数を、カーソル211の位置で配置済みのプラグインに影響を与えずに利用可能な処理タイミング数として表示する。カーソル211がアイコンの配置されたマスにある場合は、そのアイコンが占めるマスの数を、カーソル211の位置で、その位置に配置されたプラグイン以外のプラグインに影響を与えずに利用可能な処理タイミング数として表示する。リソース表示部223の表示も、カーソル211が複数マスに亘る場合、例えば最も左側のマスなど、所定の基準位置の状況に応じた表示を行う。図6の例では、カーソル211の最も左側のマス「d3」に配置されたリバーブプラグインのサイズに基づき、リソース表示部223に6スロットと表示されている。
次に、プラグイン選択部230は、プラグイン配置部210に配置するプラグインのタイプ(種類)の選択を受け付けるための領域である。ユーザがプラグイン選択部230をタッチすると配置可能なプラグインのタイプのリストが図7のコンポーネントデータに基づき表示され、その中からタイプを選択することができる。プラグイン選択部230には、選択されたプラグインを示すアイコン231が表示され、また名称表示部232に選択されたプラグインの名称が表示される。どのタイプも選択しない、という選択も可能であり、この場合にはカーソル211のサイズは1マスとなる。この状態は、配置済みのプラグインに対する編集に適した、編集モードであると捉えることもできる。
プラグイン設定部240は、カーソル211の位置(複数マスに亘る場合には上述の基準位置)に配置済みのプラグインの設定状態を表示すると共に、そのプラグインに関する設定を受け付けるための領域である。プラグイン設定部240で表示及び受け付けを行う設定は、プラグインに関するパッチ及びリコールセーフの設定であり、入力元設定部241が入力側のパッチを、出力先設定部242が出力側のパッチを、リコールセーフ設定部243がリコールセーフの設定を、表示及び受け付けする。
ユーザが入力元設定部241にタッチすると、プラグインへの信号の入力元候補のリストが表示され、ユーザはその中から入力元を選択することができる。候補は、例えば入力ch44とMIX出力ch46など、デジタルミキサ10が備えるchとすることができるが、他のプラグインの出力を指定できるようにするなど、さらに他の選択肢があってもよい。また、1つのchの中に複数のインサートポイントを設ける場合、そのうちいずれを入力元とするかも、上記リスト、あるいは別途用意された操作部により選択できるようにする。いずれにせよ、ユーザが入力元を選択すると、デジタルミキサ10は、その入力元から、設定対象のプラグインに割り当てられている処理タイミングの先頭と対応する入力アドレスへ音信号を伝送すべきことを、パッチの設定として保存すると共に、入力元設定部241に、選択された入力元を表示する。図6の例では、4番目の入力chの、フェーダの後ろ(AF)にあるインサートポイントが入力元であることを表示している。
また、ユーザが出力先設定部242にタッチすると、プラグインへの信号の出力先候補のリストが表示され、ユーザはその中から出力先を選択することができる。候補のリストは、入力元の場合と同じとすることができるが、これには限られない。いずれにせよ、ユーザが出力先を選択すると、デジタルミキサ10は、設定対象のプラグインに割り当てられている処理タイミングの末尾と対応する出力アドレスからその出力先へ音信号を伝送すべきことを、パッチの設定として保存すると共に、出力先設定部242に、選択された出力先を表示する。図6の例では、4番目の入力chの、フェーダの後ろ(AF)にあるインサートポイントが出力先であることを表示している。
また、リコールセーフ設定部243は、プラグインの種類(図6の例では「Reverb」)を表示すると共に、そのプラグインについてリコールセーフを設定するか否かを表示している。リコールセーフとは、後述する配置データ(図8のシーン)を読み出してデジタルミキサ10の動作に反映させる(このことを「呼び出し」あるいは「リコール」ともいう)場合に、リコールセーフが設定されたプラグインの状態を変更しないようにその反映を行うことを定めるものである。従って、読み出された配置データに含まれるプラグインのうち、リコールセーフが設定されたプラグインと重なる位置に配置されるプラグインは、デジタルミキサ10の動作に反映されない(図8のカレントシーンに保存されない)ことになる。
ユーザは、リコールセーフ設定部243をタッチすることにより、リコールセーフのオンオフをトグルで切り替えることができる。
ユーザは、リコールセーフ設定部243をタッチすることにより、リコールセーフのオンオフをトグルで切り替えることができる。
また、リコールセーフ設定部243に対してダブルタップ等の所定の操作を行うと、図7の表示用データに基づき、プラグインが信号処理に用いるパラメータの設定を受け付けるためのGUI(グラフィカルユーザインタフェース)がポップアップ表示され、ユーザはそのGUIを操作してパラメータを設定することができる。
次に、配置ボタン251は、カーソルの位置に、プラグイン選択部230で選択されているプラグインを配置することを指示するためのボタンである。パッチは、プラグインを配置した後で別途設定する。リコールセーフの有無は、セーフなしをデフォルト値として自動で設定するとよい。
削除ボタン252は、カーソルの位置に配置されているプラグインを削除することを指示するためのボタンである。プラグインを削除すると、そのプラグインについて設定されているパッチも自動で削除される。
クローズボタン253は、プラグイン配置画面200を閉じるためのボタンである。
削除ボタン252は、カーソルの位置に配置されているプラグインを削除することを指示するためのボタンである。プラグインを削除すると、そのプラグインについて設定されているパッチも自動で削除される。
クローズボタン253は、プラグイン配置画面200を閉じるためのボタンである。
次に、図7及び図8に、プラグイン及びその配置に関連してデジタルミキサ10が参照及び作成するデータについて説明する。図7は、利用可能なコンポーネントを示すデータの例を、図8は、プラグインの配置状態を示すデータの例を示す。図7及び図8には、本実施形態の説明に関係する範囲のデータのみを示してあり、もちろんここに示したもの以外のデータがあってもよい。
まず、デジタルミキサ10は、デジタルミキサ10において利用可能なコンポーネントのタイプを規定するデータとして、図7に示すコンポーネントデータをフラッシュメモリ12等の記憶部(第2記憶部)に記憶している。
なおここでは、利用可能なコンポーネントはプラグインコンポーネントのみであるとし、コンポーネントデータは、利用可能なプラグインのタイプ数pと、その各タイプの内容を規定する、第1〜第pのプラグインタイプのデータを含む。プラグイン以外のコンポーネントも利用可能である場合には、同様に当該コンポーネントのデータも用意する。
なおここでは、利用可能なコンポーネントはプラグインコンポーネントのみであるとし、コンポーネントデータは、利用可能なプラグインのタイプ数pと、その各タイプの内容を規定する、第1〜第pのプラグインタイプのデータを含む。プラグイン以外のコンポーネントも利用可能である場合には、同様に当該コンポーネントのデータも用意する。
各プラグインタイプのデータは、タイプID、スロット数、プラグインプログラム部品、パラメータ構成データ及び表示用データを含む。
これらのうちタイプIDは、プラグインタイプを特定するための識別情報である。
スロット数tは、該当タイプのプラグインに割り当てる必要がある処理リソースの量を、DSPの処理タイミング数で示したものである。
これらのうちタイプIDは、プラグインタイプを特定するための識別情報である。
スロット数tは、該当タイプのプラグインに割り当てる必要がある処理リソースの量を、DSPの処理タイミング数で示したものである。
各プラグインプログラム部品は、各処理タイミングでDSPに実行させるためのプログラムであり、#1〜#tの部品により、該当タイプのプラグインの機能が実現される。
パラメータ構成データは、該当タイプのプラグインが信号処理に使用するパラメータの構成を示すデータである。このデータは、必要なパラメータの項目や、各項目が取り得る値等のデータを含む。
表示用データは、該当タイプのプラグインをプラグイン配置画面200に表示するためのアイコンや、パラメータの設定を受け付けるためのGUIのデータ等、プラグインに関する表示を行うためのデータである。
パラメータ構成データは、該当タイプのプラグインが信号処理に使用するパラメータの構成を示すデータである。このデータは、必要なパラメータの項目や、各項目が取り得る値等のデータを含む。
表示用データは、該当タイプのプラグインをプラグイン配置画面200に表示するためのアイコンや、パラメータの設定を受け付けるためのGUIのデータ等、プラグインに関する表示を行うためのデータである。
また、デジタルミキサ10は、コンポーネントの配置状態を示す配置データとして、図8に示すシーンデータ及びカレントシーンを記憶している。カレントシーンが、現在のプラグイン処理部30に実行させる信号処理及びそれに関連する信号伝送に反映させるデータである。デジタルミキサ10は、このカレントシーンを、第1記憶手順によりRAM13等の記憶部(第1記憶部)に記憶している。シーンデータは、必要に応じて読み出してカレントシーンとして使用できるように、予め作成されて保存されているデータである。
シーンデータは、保存されているシーンの数を示すシーン数sと、第1〜第sシーンのデータとを含む。第1〜第sシーンは、それぞれが1つの配置データに該当する。
各シーンは、シーンID、配置プラグイン数、プラグインデータ及びパッチデータを含む。
各シーンは、シーンID、配置プラグイン数、プラグインデータ及びパッチデータを含む。
これらのうちシーンIDは、シーンを特定するための識別情報である。
配置プラグイン数dは、該当のシーンにおいて配置されているプラグインの数を示すデータである。
各プラグインデータは、該当のシーンに配置されているプラグインを示すデータであり、各プラグインと対応する第1〜第dのプラグインデータが作成される。同じタイプのプラグインが複数配置される場合にも、各個体と対応するプラグインデータが作成される。
パッチデータは、各プラグインに関して設定されているパッチの情報をまとめたものである。
配置プラグイン数dは、該当のシーンにおいて配置されているプラグインの数を示すデータである。
各プラグインデータは、該当のシーンに配置されているプラグインを示すデータであり、各プラグインと対応する第1〜第dのプラグインデータが作成される。同じタイプのプラグインが複数配置される場合にも、各個体と対応するプラグインデータが作成される。
パッチデータは、各プラグインに関して設定されているパッチの情報をまとめたものである。
また、上記のプラグインデータは、プラグインID、タイプID、開始スロット、最終スロット、リコールセーフ、およびパラメータデータを含む。
これらのうちプラグインIDは、シーン内でプラグインの個体を特定するための識別情報である。
タイプIDは、該当のプラグインのタイプを示すIDであり、デジタルミキサ10は、このタイプIDをキーにコンポーネントデータを検索して、シーンに配置される各プラグインについての詳細情報を取得することができる。
これらのうちプラグインIDは、シーン内でプラグインの個体を特定するための識別情報である。
タイプIDは、該当のプラグインのタイプを示すIDであり、デジタルミキサ10は、このタイプIDをキーにコンポーネントデータを検索して、シーンに配置される各プラグインについての詳細情報を取得することができる。
開始スロット及び最終スロットは、プラグイン配置画面200における該当のプラグインの配置位置、すなわち該当のプラグインに割り当てる処理リソースを示すデータであり、それぞれ配置の開始位置と終了位置を示す。各位置は、プラグイン処理部30におけるDSP31及びその処理タイミングにより特定することができる。なお、開始スロットから最終スロットまでの長さは、プラグインのスロット数と一致する。
リコールセーフは、リコールセーフ設定部243で設定された、該当のプラグインについてのリコールセーフのオンオフを示すデータである。
パラメータデータは、該当のプラグインが信号処理に使用するパラメータの値である。その構成は、プラグインのタイプに対応するパラメータ構成データに基づくものである。
リコールセーフは、リコールセーフ設定部243で設定された、該当のプラグインについてのリコールセーフのオンオフを示すデータである。
パラメータデータは、該当のプラグインが信号処理に使用するパラメータの値である。その構成は、プラグインのタイプに対応するパラメータ構成データに基づくものである。
また、パッチデータは、データ数zと、zセットの接続元及び接続先の情報を含む。
データ数zは、パッチデータに含まれる伝送元及び伝送先の情報の数を示す。
伝送元及び伝送先は、プラグインに対するパッチのために行う信号伝送の伝送元と伝送先を規定するデータである。伝送元及び伝送先につき、ミキシング処理部20側の位置は、インサートポイントの位置(あるいはミキシング処理部20が処理する音信号を記憶するアドレス)により、プラグイン処理部30側の位置は、図4及び図5を用いて説明したDSPメモリのアドレスにより特定することができる。伝送元と伝送先の少なくとも一方はプラグイン処理部30にあるものとする。
データ数zは、パッチデータに含まれる伝送元及び伝送先の情報の数を示す。
伝送元及び伝送先は、プラグインに対するパッチのために行う信号伝送の伝送元と伝送先を規定するデータである。伝送元及び伝送先につき、ミキシング処理部20側の位置は、インサートポイントの位置(あるいはミキシング処理部20が処理する音信号を記憶するアドレス)により、プラグイン処理部30側の位置は、図4及び図5を用いて説明したDSPメモリのアドレスにより特定することができる。伝送元と伝送先の少なくとも一方はプラグイン処理部30にあるものとする。
どのセットがどのプラグインに関するパッチを規定するかは、特に明示のデータとして保持する必要はないが、保持することも妨げられない。明示のデータがなくても、あるプラグインの開始スロットと対応するアドレスが伝送先になっているセットが、そのプラグインについての入力側のパッチを示し、あるプラグインの最終スロットと対応するアドレスが伝送元になっているセットが、そのプラグインについての出力側のパッチを示すことは、デジタルミキサ10が容易に把握可能である。
カレントシーンのデータ構成は、以上説明した各シーンのデータ構成と同じである。従って、デジタルミキサ10は、保存されている任意のシーンをカレントシーンの記憶領域にコピーすることにより、そのシーンをプラグイン処理部30に実行させる信号処理等に反映させることができる。また、任意の時点のカレントシーンのデータを、1つのシーンとしてシーンデータ中に保存し、後で読み出せるようにすることもできる。
また、図6のプラグイン配置画面200でなされたプラグインの配置やパッチの設定等は、カレントデータに反映される。すなわち、プラグインが新たに配置されれば、デジタルミキサ10はその配置されたプラグインと対応するプラグインデータをカレントシーンに追加し、逆にプラグインが削除されればそのプラグインを示すプラグインデータをカレントシーンから削除する。パッチも、新たに設定されればデジタルミキサ10はそのパッチを示す伝送元と伝送先のデータをカレントデータ中のパッチデータに追加し、逆に削除されれば、削除されたパッチを示す伝送元と伝送先のデータを削除する。プラグインのリコールセーフの設定あるいは信号処理パラメータの値が変更されれば、デジタルミキサ10は、その変更を該当のプラグインと対応するプラグインデータ中の、リコールセーフ及びパラメータデータに反映させる。
なお、既にプラグインが配置されている位置に重なるように新たなプラグインの配置を指示された場合、デジタルミキサ10は、その重なる位置に配置されているプラグイン及びそのプラグインについて設定されているパッチを(もしあれば)削除してから、上記新たなプラグインの配置を行う。この際に、削除されるプラグインに入力と出力双方のパッチが設定されている場合、プラグインの削除に伴って出力先への音信号の供給が途絶えることになる。このため、削除可否についてユーザに確認し、削除可の回答を得てからプラグインの削除及び新たなプラグインの配置を行うとよい。
また、カレントシーンが変更されれば、デジタルミキサ10は、その変更内容を直ちにプラグイン処理部30における信号処理及び信号伝送に反映する。すなわち、プラグインが追加されれば、そのプラグインに割り当てられる各処理タイミングにて実行すべきプラグインプログラム部品をDSPメモリ32にロードし、各処理タイミングにてそのプログラム部品が実行されるようにする。また、パッチが設定されれば、デジタルミキサ10は、その設定に従った信号伝送が行われるよう、オーディオバス23に対する音信号の書き込み及び読み出しを含め、必要な伝送路の設定を行う。削除の場合には、逆にプログラム部品の削除や伝送路の設定解除を行う。なお、信号伝送の開始時あるいは終了時には、音信号の急激な変動を避けるため、適宜にフェードイン、フェードアウト、クロスフェード等の処理を行うとよい。
なお、カレントシーンの変更を信号処理及び信号伝送にリアルタイムに反映させないモードを設けることもできる。このモードは、シーンデータ中に保存しておき後で使用するためのシーンを作成する際に用いることができる。
なお、カレントシーンの変更を信号処理及び信号伝送にリアルタイムに反映させないモードを設けることもできる。このモードは、シーンデータ中に保存しておき後で使用するためのシーンを作成する際に用いることができる。
以上のデジタルミキサ10において特徴的な点の1つは、シーンをリコールする場合に、そのリコールに応じて、リコール時に行っているプラグイン処理部30からミキシング処理部20への音信号の出力が、プラグイン処理部30におけるリソースの割り当て変更に伴い一時的に途切れる箇所(以下「途切れ箇所」ともいう)を、ユーザが容易に認識できるようにした点である。そこで、以下この動作について説明する。
ここで、一時的に途切れる、とは、リコールの前と後で同じ入力信号を処理して同じ出力先へ出力するが、リソースの割り当て変更中はプラグイン処理部30で信号処理ができないことに伴い、その間出力が途絶えることをいう。シーンのリコールを行っても、それに応じてリソースの割り当てが変わらないプラグインについては、そのまま信号処理を継続できるため、出力が途切れることはない。なお、プラグイン処理部30からの音信号の出力が途切れると、ミキシング処理部20における出力先のchを経由して波形I/O19から出力される音信号(ひいては波形I/O19に接続されるスピーカの出力音)も途切れることになるので、このような途切れを「音切れ」とも呼ぶことにする。
まず図9に、シーン操作画面の表示例を示す。
図9に示すシーン操作画面300は、シーンデータに含まれるシーンの呼び出し及び保存の指示を受け付けるための画面である。シーン操作画面300は、ユーザによる所定の操作に応じて、表示器17に表示される画面である。
シーン操作画面300には、シーン番号選択部301、ストアボタン302及びリコールボタン303が含まれる。
図9に示すシーン操作画面300は、シーンデータに含まれるシーンの呼び出し及び保存の指示を受け付けるための画面である。シーン操作画面300は、ユーザによる所定の操作に応じて、表示器17に表示される画面である。
シーン操作画面300には、シーン番号選択部301、ストアボタン302及びリコールボタン303が含まれる。
これらのうちシーン番号選択部301は、操作の対象とするシーンの番号(シーンID)を選択するための領域であり、ユーザは、番号の直接入力やアップダウンボタンにより、番号を選択することができる。
ストアボタン302は、現在のカレントシーンの内容を、シーン番号選択部301にて選択された番号のシーンとして保存することを指示するためのボタンである。このボタンが操作されると、デジタルミキサ10は、現在のカレントシーンの内容をコピーしてシーンを作成し、シーンIDを付してシーンデータ中に保存する。同じシーンIDのシーンが既に保存されていれば、上書き保存する。
ストアボタン302は、現在のカレントシーンの内容を、シーン番号選択部301にて選択された番号のシーンとして保存することを指示するためのボタンである。このボタンが操作されると、デジタルミキサ10は、現在のカレントシーンの内容をコピーしてシーンを作成し、シーンIDを付してシーンデータ中に保存する。同じシーンIDのシーンが既に保存されていれば、上書き保存する。
リコールボタン303は、シーン番号選択部301にて選択された番号のシーンをリコールすることを指示するためのボタンである。このボタンが操作されると、デジタルミキサ10は、図11の処理を実行し、シーンのリコールと、それに応じた途切れ箇所の検出、表示等を行う。
次に、図10に、音切れ防止設定画面の例を示す。
図10に示す音切れ防止設定画面400は、音の途切れを許容できるchと許容できないchとの区別の設定を受け付けるための画面である。音切れ防止設定画面400は、ユーザによる所定の操作に応じて、随時に表示器17に表示される画面である。すなわち、リコール直前にこの画面による設定を行うこともできるし、予め設定を保存しておくこともできる。
図10に示す音切れ防止設定画面400は、音の途切れを許容できるchと許容できないchとの区別の設定を受け付けるための画面である。音切れ防止設定画面400は、ユーザによる所定の操作に応じて、随時に表示器17に表示される画面である。すなわち、リコール直前にこの画面による設定を行うこともできるし、予め設定を保存しておくこともできる。
音切れ防止設定画面400には、入力側設定部410と、出力側設定部420が含まれる。
入力側設定部410には、プラグインに対する信号の入力元の候補となる各chと対応するボタンが設けられている。出力側設定部420には、プラグインに対する信号の出力先の候補となる各chと対応するボタンが設けられている。ここでは、いずれの候補も、1番目から12番目までの入力ch44と、1番目から8番目までのMIX出力ch46である。
入力側設定部410には、プラグインに対する信号の入力元の候補となる各chと対応するボタンが設けられている。出力側設定部420には、プラグインに対する信号の出力先の候補となる各chと対応するボタンが設けられている。ここでは、いずれの候補も、1番目から12番目までの入力ch44と、1番目から8番目までのMIX出力ch46である。
そして、入力側設定部410では、各chと対応するボタンにより、該当のchが入力元となっている音信号に関して音の途切れを許容できるか否かを、ch毎にトグルで設定することができる。図10の例では、ハッチングを付した状態が許容否(途切れを防止する)を、ハッチングなしの状態が許容可を示す。出力側設定部420は、同様に、該当のchが出力先となっている音信号に関して音の途切れを許容できるか否かの設定を受け付ける。
なお、入力側設定部410と出力側設定部420とを区別せず、入力元になる場合と出力先になる場合とについて共通の設定を受け付けるようにしてもよい。また、ch内に複数のインサートポイントを設ける場合に、インサートポイント毎に設定を受け付けることも考えられる。さらに、入力ch44とMIX出力ch46以外の場所にインサートポイントを設ける場合、それらの場所についても設定を受け付けることが望ましい。ただし、一部のchについては対応する操作部を設けず、設定を固定とすることも考えられる。
以上の音切れ防止設定画面400を制御するCPU11は、第1受付部及び第2受付部として機能する。
以上の音切れ防止設定画面400を制御するCPU11は、第1受付部及び第2受付部として機能する。
次に、図11に、デジタルミキサ10のCPU11がリコールボタン303の操作に応じて実行するシーンリコール処理のフローチャートを示す。なお、以降説明するフローチャートに係る処理は、CPU11が所要のプログラムを実行することにより行うものであるが、説明を簡単にするため、デジタルミキサ10がその処理を実行するものとして説明する。また、ここまでの説明で、デジタルミキサ10の動作として説明した動作も、基本的には、CPU11が所要のプログラムを実行することにより行うものである。
デジタルミキサ10は、リコールボタン303の操作を検出すると、そのとき選択されているシーン番号nを引数として図11の処理を開始する。
図11の処理において、デジタルミキサ10はまず、図12に示す途切れ箇所検出処理を行う(S11)。この処理は、後に詳述するが、カレントシーン(第1配置データ)と、リコールしようとする第nシーン(第2配置データ)のそれぞれについて、リコールに伴い音信号の出力が一時的に途切れる途切れ箇所となるプラグインを特定する処理である。
図11の処理において、デジタルミキサ10はまず、図12に示す途切れ箇所検出処理を行う(S11)。この処理は、後に詳述するが、カレントシーン(第1配置データ)と、リコールしようとする第nシーン(第2配置データ)のそれぞれについて、リコールに伴い音信号の出力が一時的に途切れる途切れ箇所となるプラグインを特定する処理である。
そして、途切れ箇所が特定された場合(S12のYes)、デジタルミキサ10は、図13のリコール確認画面500を表示して、その途切れ箇所をユーザに通知すると共に、それに応じて実行する動作の選択を受け付ける(S13)。いずれの場合も、デジタルミキサ10は、ステップS13で選択を受け付けると、リコール確認画面500を一旦消去する。ここでは、ステップS13の選択肢として、「続行」、「中止」、「自動編集」、「保存」の4通りを用意しており、処理はその結果に応じて分岐する(S14)。
まず、「続行」の場合、デジタルミキサ10は、図14のリコール実行処理により、第nシーンのリコールを実行して(S15)、処理を終了する。ただし、ここで用いる第nシーンのデータは、図11の処理の開始時点のデータとは異なる場合がある。なお、ステップS12で途切れ箇所がなかった場合も、同様にリコールを実行する。リコール実行処理については後に詳述する。
また、「中止」の場合、デジタルミキサ10は、リコールを中止して(S16)、処理を終了する。この場合、プラグイン処理部30におけるリソースの割り当てや信号伝送は変化しない。音信号が途切れることを避けるためには、この選択肢を選ばざるを得ない場合もある。
また、「自動編集」の場合、デジタルミキサ10は、今回が図11の処理における初回の編集であれば(S17のYes)、リコール対象の第nシーンのデータを所定のワークエリアにコピーし、以後シーンリコールが完了又は中止されるまで、当該ワークエリアのデータを第nシーンのデータとして取り扱うこととする(S18)。ステップS17でNoであれば、ステップS18はスキップする。この処理は、シーンデータ中の第nシーンのデータに影響を与えずに第nシーンのデータを加工するための準備である。
いずれの場合も、デジタルミキサ10は、次に図15のプラグイン移動処理を実行する(S19)。この処理は、後に詳述するが、第nシーン中の途切れ箇所のプラグインを、途切れの原因とならない位置へ移動させることを試みる処理である。
その後、デジタルミキサ10は、再度図12の途切れ箇所検出処理を実行して(S20)、ステップS13に戻り、処理を繰り返す。この場合、途切れ箇所がなくても、確認のためステップS13でリコール確認画面500を表示する。この表示はもちろん、プラグイン移動処理による加工後の、ワークエリア中の第nシーンのデータに基づき行う。
その後、デジタルミキサ10は、再度図12の途切れ箇所検出処理を実行して(S20)、ステップS13に戻り、処理を繰り返す。この場合、途切れ箇所がなくても、確認のためステップS13でリコール確認画面500を表示する。この表示はもちろん、プラグイン移動処理による加工後の、ワークエリア中の第nシーンのデータに基づき行う。
なお、ステップS19(図15)の処理を行っても、必ずしも途切れを全て解消できるとは限らない。しかしユーザは、再度ステップS13で表示されたリコール確認画面500を参照して、途切れ箇所がなくなったか、またはどの部分に残っているかを把握した上で、「続行」、「中止」、あるいは「保存」を選択することができる。再度「自動編集」を選択することも妨げられない。
また、ステップS14で「保存」の場合、デジタルミキサ10は、ワークエリアに第nシーンのデータがあれば、これをシーンデータ中の第nシーンのデータに上書きして保存する(S21)。なければ、第nシーンのデータは変更されていないと考えられるため、保存は不要である。この場合、後述の保存ボタン544を無効にしてもよい。その後、ステップS13に戻って処理をくり返す。この処理は、ステップS19での編集結果を保存するための処理である。
次に、図12の途切れ箇所検出処理の詳細を説明する。
図12の処理において、デジタルミキサ10は、リコール対象の第nシーンに含まれる各プラグインを順次処理対象として、ステップS31乃至S37の処理をくり返す。
この繰り返し部分では、デジタルミキサ10はまず、カレントシーン中で処理対象のプラグインと重なる配置のプラグインがあるか否か判断する(S31)。一部でも重なればこの判断はYesになる。
図12の処理において、デジタルミキサ10は、リコール対象の第nシーンに含まれる各プラグインを順次処理対象として、ステップS31乃至S37の処理をくり返す。
この繰り返し部分では、デジタルミキサ10はまず、カレントシーン中で処理対象のプラグインと重なる配置のプラグインがあるか否か判断する(S31)。一部でも重なればこの判断はYesになる。
ステップS31でNoの場合、処理対象のプラグインには、リコール時点でどのプラグインにも割り当てられていないリソースを割り当てることになるため、処理対象のプラグインは途切れの原因とならないことがわかる。そこで、処理対象のプラグインについての処理を終了する。
ステップS31でYesであれば、デジタルミキサ10は次に、発見した重なる配置のプラグインにリコールセーフが設定されているか否か判断する(S32)。なお、ステップS31で重なる配置のプラグインが複数あった場合、1つでもリコールセーフが設定されているものがあれば、ステップS32はYesとなる。
ステップS31でYesであれば、デジタルミキサ10は次に、発見した重なる配置のプラグインにリコールセーフが設定されているか否か判断する(S32)。なお、ステップS31で重なる配置のプラグインが複数あった場合、1つでもリコールセーフが設定されているものがあれば、ステップS32はYesとなる。
ステップS32でYesであれば、リコールセーフ機能のため処理対象のプラグインはカレントデータに反映されないので、リコールによりリソースの割り当ては変化しないことがわかる。従って、処理対象のプラグインは途切れの原因とならないため、処理対象のプラグインについての処理を終了する。
ステップS32でNoであれば、リコールに伴い、ステップS31で発見されたプラグインに割り当てられていたリソースを、処理対象のプラグインに割り当て直す必要が生じることがわかる。そこで、ステップS32でNoの場合、処理はステップS33以降に進むが、ステップS31で複数のプラグインを発見した場合、そのそれぞれについて個別にステップS33以降の処理を実行する。
ステップS32でNoであれば、リコールに伴い、ステップS31で発見されたプラグインに割り当てられていたリソースを、処理対象のプラグインに割り当て直す必要が生じることがわかる。そこで、ステップS32でNoの場合、処理はステップS33以降に進むが、ステップS31で複数のプラグインを発見した場合、そのそれぞれについて個別にステップS33以降の処理を実行する。
ステップS33では、デジタルミキサ10は、処理対象のプラグインとステップS31で発見したプラグインとでパッチ先のchが共通か否か判断する(S33)。ここでは、入力元と出力先の双方が共通である場合にこの判断がYesになるとする。
ステップS33でNoであれば、処理対象のプラグインとステップS31で発見したプラグインとは、異なる箇所の信号を取り扱うものであることがわかる。このため、リソースの割り当て直しに伴い信号が出力できない期間が生じたとしても、それは一時的な途切れではない。すなわち、リコールに伴い、今までプラグイン処理部30が行っていた1つの出力がなくなり、新たにそれと全く異なる出力がなされるようになるだけである。従って、処理対象のプラグインを途切れ箇所とはせず、処理対象のプラグインについての処理を終了する。
ステップS33でNoであれば、処理対象のプラグインとステップS31で発見したプラグインとは、異なる箇所の信号を取り扱うものであることがわかる。このため、リソースの割り当て直しに伴い信号が出力できない期間が生じたとしても、それは一時的な途切れではない。すなわち、リコールに伴い、今までプラグイン処理部30が行っていた1つの出力がなくなり、新たにそれと全く異なる出力がなされるようになるだけである。従って、処理対象のプラグインを途切れ箇所とはせず、処理対象のプラグインについての処理を終了する。
ステップS33でYesであれば、処理対象のプラグインとステップS31で発見したプラグインとでプラグインのタイプ及び配置位置が共通か否か判断する(S34)。ここでもYesであれば、処理対象のプラグインとステップS31で発見したプラグインとは、全く同じ処理を行うプラグインであって、形式的にはリソースの割り当て直しが必要であっても、実質的には割り当て直しを行うことなくそのままプラグインに係る処理を継続して問題ない。したがってこの場合、処理対象のプラグインを途切れ箇所とはせず、処理対象のプラグインについての処理を終了する。
ステップS34でNoであれば、処理対象のプラグインの箇所で途切れが発生することがわかる。しかし、デジタルミキサ10は、処理対象のプラグインについて第nシーンで設定されているパッチと、音切れ防止設定画面400でなされた設定とを参照し、処理対象のプラグインの出力先及び入力元のいずれについても途切れ防止が設定されていない場合には(S35のNoかつS36のNo)、処理対象のプラグインを途切れ箇所とはせず、処理対象のプラグインについての処理を終了する。
特段の問題がなければ速やかにリコールが実行できた方が望ましいため、音が途切れてもよいchの信号を扱うプラグインについては、途切れ箇所として特定せず、ユーザへの確認も不要としたものである。
特段の問題がなければ速やかにリコールが実行できた方が望ましいため、音が途切れてもよいchの信号を扱うプラグインについては、途切れ箇所として特定せず、ユーザへの確認も不要としたものである。
ステップS35又はS36でYesの場合、デジタルミキサ10は、処理対象のプラグイン及びステップS31で発見したプラグイン(のうちステップS33以降の処理で注目したもの)を途切れ箇所として特定し(S37)、処理対象のプラグインについての処理を終了する。
第nシーンに含まれる全てのプラグインについて以上の処理が終了すると、デジタルミキサ10は図12の処理を終了し、元の処理に戻る。
以上の図12の処理が検出手順の処理であり、この処理において、CPU11は検出部として機能する。以上の処理により、ユーザに通知すべき途切れ箇所を、適切に検出することができる。
以上の図12の処理が検出手順の処理であり、この処理において、CPU11は検出部として機能する。以上の処理により、ユーザに通知すべき途切れ箇所を、適切に検出することができる。
次に、図13のリコール確認画面500の詳細を説明する。
このリコール確認画面500は、図12の処理で特定した音切れ箇所をユーザに通知すると共に、それに応じて実行する動作の選択を受け付けるための画面である。
リコール確認画面500は、カレントシーン表示部510、リコールシーン表示部520、ステータス表示部530、OKボタン541、キャンセルボタン542、自動編集ボタン543、保存ボタン544を備える。
このリコール確認画面500は、図12の処理で特定した音切れ箇所をユーザに通知すると共に、それに応じて実行する動作の選択を受け付けるための画面である。
リコール確認画面500は、カレントシーン表示部510、リコールシーン表示部520、ステータス表示部530、OKボタン541、キャンセルボタン542、自動編集ボタン543、保存ボタン544を備える。
これらのうちカレントシーン表示部510は、プラグイン配置画面200におけるプラグイン配置部210と同様な書式により、カレントシーンにおけるプラグインへの処理リソースの割り当て状態を表示する領域である。また、リコールシーン表示部520は、同様に、第nシーンのリコールを実行した場合におけるプラグインへの処理リソースの割り当て状態を表示する領域である。この割り当て状態は、リコールセーフの設定も加味して導出するので、必ずしも第nシーンの内容と同じにはならない。
ただし、カレントシーン表示部510とリコールシーン表示部520のいずれにおいても、途切れ箇所として特定されたプラグインを、他のプラグインと区別できるように強調して表示する。図13の例では、VSSプラグインを示すアイコン511と、NLNプラグインを示すアイコン521とが強調表示されている。この強調表示により、ユーザは、今回指示したリコールに伴って音信号の出力に一時的な途切れが発生する場合に、その箇所を容易に把握することができる。
カレントシーン表示部510とリコールシーン表示部520の一方のみの表示、または一方のみにおいて強調表示を行うようにすることも考えられるが、図13のように双方で強調表示を行う方が望ましい。途切れ防止のためには、カレントシーン(又は前回リコールしたシーン)を修正する方法と、今回リコールしようとしたシーンを修正する方法とがあるが、双方で強調表示がされていれば、ユーザにとって、どちらをどのように修正すればよいかを把握し易いためである。ユーザは、リコール確認画面500において「中止」を選択してリコール確認画面500を閉じた後、必要に応じてシーンデータを手動で編集することができる。
なお、強調に用いる表示形式は、輪郭線の太さの他、アイコンの色、塗りつぶしパターン、フォント、線種、点滅など、任意でよい。
いずれにせよ、リコール確認画面500では、カレントシーンに従った、コンポーネントに対する処理リソースの割り当て状態と、第nシーンのリコールを実行した場合における、コンポーネントに対する処理リソースの割り当て状態とを、並べて表示し、その表示中で、途切れ箇所と特定されたコンポーネントを強調表示するものである。
いずれにせよ、リコール確認画面500では、カレントシーンに従った、コンポーネントに対する処理リソースの割り当て状態と、第nシーンのリコールを実行した場合における、コンポーネントに対する処理リソースの割り当て状態とを、並べて表示し、その表示中で、途切れ箇所と特定されたコンポーネントを強調表示するものである。
ステータス表示部530は、カーソル操作部531、プラグイン選択部532、およびプラグイン設定部533において、図6のカーソル操作部220、プラグイン選択部230、およびプラグイン設定部240と同様な形式で、カーソル501の位置及びその位置に配置されているプラグインの情報を表示する領域である。
図13の例では、プラグイン選択部532においてプラグインのタイプは選択されておらず、これに対応してカーソル501のサイズは1マスである。また、カーソル501の位置は、カーソル操作部531によりカーソル操作部220と同様に操作可能だが、プラグイン設定部533においてはプラグイン設定部240で行えたような設定はできず、単に現在の設定内容を表示するのみである。
OKボタン541、キャンセルボタン542、自動編集ボタン543、保存ボタン544は、それぞれ図11の説明で述べた「続行」、「中止」、「自動編集」、「保存」の指示を受け付けるためのボタンである。
以上のリコール確認画面500の表示を制御する手順が表示制御手順であり、リコール確認画面500の表示に関してCPU11は表示制御部として機能する。
OKボタン541、キャンセルボタン542、自動編集ボタン543、保存ボタン544は、それぞれ図11の説明で述べた「続行」、「中止」、「自動編集」、「保存」の指示を受け付けるためのボタンである。
以上のリコール確認画面500の表示を制御する手順が表示制御手順であり、リコール確認画面500の表示に関してCPU11は表示制御部として機能する。
次に、図14のリコール実行処理の詳細を説明する。
図14の処理において、デジタルミキサ10はまず、カレントシーン中のプラグインのうち、リコール対象の第nシーンに含まれるプラグインのいずれかのプラグインとタイプ、配置位置及びパッチが完全に一致するものを抽出する(S51)。そして、これらのプラグイン及びそのパッチについては、リコールセーフの有無を問わず、リコールに応じてカレントシーンを変更する必要がないため、ステップS51で抽出されたプラグイン及びこれと対応する第nシーン中のプラグインを、以後の処理における考慮から除外する(S52)。プラグイン処理部30は、この除外されたプラグインに係る信号処理を、リコールの前後を通じて継続的に実行可能である。
図14の処理において、デジタルミキサ10はまず、カレントシーン中のプラグインのうち、リコール対象の第nシーンに含まれるプラグインのいずれかのプラグインとタイプ、配置位置及びパッチが完全に一致するものを抽出する(S51)。そして、これらのプラグイン及びそのパッチについては、リコールセーフの有無を問わず、リコールに応じてカレントシーンを変更する必要がないため、ステップS51で抽出されたプラグイン及びこれと対応する第nシーン中のプラグインを、以後の処理における考慮から除外する(S52)。プラグイン処理部30は、この除外されたプラグインに係る信号処理を、リコールの前後を通じて継続的に実行可能である。
次に、デジタルミキサ10は、カレントシーン中の、第nシーンに含まれるいずれかのプラグインとタイプ及び配置位置が一致し、かつリコールセーフが設定されていないものを抽出する(S53)。そして、カレントシーン中の、ステップS53で抽出したプラグインに関するパッチデータを、第nシーン中の対応するプラグインに関するパッチデータに置き換える(S54)。第nシーンに該当のパッチデータがない場合には、単にカレントシーン中のパッチデータを削除すればよい。
その後、デジタルミキサ10は、ステップS54でのカレントシーンの変更箇所について、変更後のデータに従いデータ伝送の設定を実行する(S55)。そして、ステップS53で抽出したプラグイン及びこれと対応する第nシーン中のプラグインを、以後の処理における考慮から除外する(S56)。
以上のステップS53乃至S56の処理は、カレントシーンと第nシーンとでパッチの設定のみが異なるプラグインに関するリコールの処理である。このようなプラグインについては、プラグインプログラム部品のロードを省略し、ごく短時間でリコールを行うことができる。
以上のステップS53乃至S56の処理は、カレントシーンと第nシーンとでパッチの設定のみが異なるプラグインに関するリコールの処理である。このようなプラグインについては、プラグインプログラム部品のロードを省略し、ごく短時間でリコールを行うことができる。
次に、デジタルミキサ10は、カレントシーン中の、第nシーンに含まれるプラグインと配置が重なるプラグインであって、かつリコールセーフが設定されていないプラグインのプラグインデータを削除する(S57)。また、カレントシーン中の、ステップS57で削除したプラグインデータと対応するパッチデータも削除する(S58)。そして、ステップS57及びS58でのカレントシーンの変更箇所について、変更後のデータに従いデータ伝送の設定を実行する(S59)。これらの処理は、リコール指示時に配置されていたプラグインのうち、第nシーン中のプラグインの配置の障害になるものを、先に削除するための処理である。
なお、ステップS59において、カレントデータの変更に従えば、削除したプラグインデータと対応するプラグインプログラム部品の削除も行うことになるが、この削除は行わなくても特に問題はない。次にプラグインを配置する際にはそのプラグインのプラグインプログラム部品を上書きすることになるし、パッチを削除してしまえば、処理後の信号が出力されることもないためである。もちろん、削除しても特に問題はない。
次に、デジタルミキサ10は、第nシーンに含まれるプラグインのうち、カレントシーンに残っているプラグインと重ならないもののプラグインデータをカレントシーンに追加コピーする(S60)。また、第nシーンにおいてステップS60でコピーしたプラグインデータについて設定されているパッチデータを、カレントシーンに追加コピーする(S61)。そして、ステップS60及びS61でのカレントシーンの変更箇所について、変更後のデータに従いプラグインプログラム部品のロードを実行する(S62)。
これらの処理は、第nシーンのうちカレントシーンに反映可能なデータを反映させるものである。ステップS60の時点で、カレントシーンの、第nシーンに含まれるプラグインと重なる配置位置に残っているプラグインは、リコールセーフされたプラグインであるので、第nシーン中でこれと重なる配置位置のプラグインは、カレントシーンに反映されない。また、ステップS58では、まだデータ伝送の設定は行わない。
次に、デジタルミキサ10は、カレントシーン中の、リコールセーフが設定されているプラグイン以外で第nシーンに含まれないプラグインのプラグインデータを削除する(S63)。また、カレントシーン中の、ステップS63で削除したプラグインデータと対応するパッチデータも削除する(S64)。そして、ステップS60,S63及びS64でのカレントシーンの変更箇所について、変更後のデータに従いデータ伝送の設定を実行して(S65)、図14の処理を終了し、元の処理に戻る。
ステップS65で、プラグインプログラム部品の削除を行ってもよいことは、ステップS59の場合と同様である。また、ステップS63で削除されるのは、リコール前のカレントシーンにおいて、第nシーンではプラグインが配置されない位置に配置されていたプラグインである。この位置に配置されているプラグインは、残しておいてもリコールの障害にならないため、リコール処理の最終段階まで残しておき、可能な限り信号処理を継続できるようにしたものである。
後述する図15の処理では、音信号の途切れ防止のため、第nシーンにおける途切れ箇所のプラグインを、カレントシーン中のプラグインと重ならない配置位置に移動させる編集を行う。図14の処理のように、カレントシーン中のプラグインに可能な限り信号処理を継続させることにより、プラグインの配置位置が重ならない場合には、あるプラグインを、入力元と出力先を変えずに別のプラグインに入れ替える場合でも、ほとんど音信号の途切れが生じないようにすることができる。
なお、図15の処理による移動を行うと、第nシーンには、カレントシーンのプラグインと出力先が共通し、かつ配置位置が重ならないプラグインが存在することになる。そしてこの場合、図14のステップS61における追加後のパッチデータには、複数の出力元から同じ出力先へのパッチが規定されることになる(リコール指示時のカレントシーン由来のものと、第nシーン由来のものとが共存するため)。この状態でパッチデータをデータ伝送に反映させると、伝送に不具合が生じるため、データ伝送への反映は、ステップS63及びS64で、カレントシーン中の、リコール後に残らないプラグインを削除した後で行っている。この状態では1つの出力元からのパッチのみがパッチデータ中に残っているはずである。
また、リバーブのように、信号処理に直前の一定時間分の音信号が必要なプラグインがあることを考慮すると、ステップS62でそのようなプラグインのプラグインプログラム部品を優先的にロードし、入力側のパッチに基づく信号伝送の設定だけこの時点で行ってしまうことも考えられる。その後、ステップS65までの間で、直前の一定時間分の音信号を蓄積できれば、該当のプラグインは、ステップS65の時点から直ちに信号出力を行うことができ、音信号の途切れが生じないようにすることができる。
以上の図14の処理は、読出手順及び割当変更手順の処理であり、この処理において、CPU11が読出部及び割当変更部として機能する。
以上の図14の処理は、読出手順及び割当変更手順の処理であり、この処理において、CPU11が読出部及び割当変更部として機能する。
次に、図15のプラグイン移動処理の詳細を説明する。
図15の処理において、デジタルミキサ10は、リコール対象の第nシーンに含まれるプラグインのうち図12の途切れ箇所検出処理で途切れ箇所として特定された各プラグインを順次処理対象として、ステップS71乃至S76の処理をくり返す。
この繰り返し部分では、デジタルミキサ10はまず、第nシーンに、処理対象と同タイプであって、入力と出力のいずれもパッチされていないプラグインがあるか否か判断する(S71)。パッチされていないプラグインは、シーン中に配置されたものの使われていないプラグインであると考えられる。
図15の処理において、デジタルミキサ10は、リコール対象の第nシーンに含まれるプラグインのうち図12の途切れ箇所検出処理で途切れ箇所として特定された各プラグインを順次処理対象として、ステップS71乃至S76の処理をくり返す。
この繰り返し部分では、デジタルミキサ10はまず、第nシーンに、処理対象と同タイプであって、入力と出力のいずれもパッチされていないプラグインがあるか否か判断する(S71)。パッチされていないプラグインは、シーン中に配置されたものの使われていないプラグインであると考えられる。
そこで、このようなプラグインがあった場合(S71でYes)、デジタルミキサ10は、ステップS71で発見したプラグインを、処理対象のプラグインと同じパッチ先にパッチする(S72)と共に、処理対象のプラグイン及びそのプラグインに関するパッチを第nシーンから削除する(S73)。このことにより、途切れ箇所のプラグインと同じ信号処理を行うプラグインを、別の配置位置に設け、途切れ箇所のプラグインを実質的に移動させることができる。移動先においても再度途切れ箇所となることは想定しにくいが、移動先のプラグインがリコールセーフによりカレントシーンに反映されない可能性もあるため、音信号の途切れなしで反映されることを確認してからステップS72に進むようにしてもよい。
一方、ステップS71でNoの場合、デジタルミキサ10は、第nシーンとカレントシーンとで共に空きであり、かつ、処理対象のプラグインを配置できるサイズの連続したスロットがあるか否か判断する(S74)。これがYesであれば、デジタルミキサ10は、発見した空きスロットに処理対象のプラグインと同タイプのプラグインを追加し、さらに追加したプラグインを処理対象のプラグインと同じパッチ先にパッチする(S75)。その後、ステップS73の場合と同様に、処理対象のプラグイン及びそのプラグインに関するパッチを第nシーンから削除する。このことにより、途切れ箇所のプラグインを、途切れ箇所とならない位置に移動させることができる。
このように、ステップS72及びS73の場合も、ステップS75及びS76の場合も、プラグインの移動により、リコールに伴う音信号の途切れを防止することができる。
このように、ステップS72及びS73の場合も、ステップS75及びS76の場合も、プラグインの移動により、リコールに伴う音信号の途切れを防止することができる。
ステップS74でもNoであれば、処理対象のプラグインには適切な移動先がなく、途切れ箇所となることを回避できないことがわかる。このため、処理対象のプラグインの移動処理は行わない。
ステップS73又はS76の後、あるいはステップS74でNoの場合、処理対象のプラグインに関する処理を終了する。第nシーンに含まれる全ての途切れ箇所のプラグインについて以上の処理が終了すると、デジタルミキサ10は図15の処理を終了し、元の処理に戻る。
以上の処理が、割当変更手順の処理であり、この処理においてCPU11は割当変更部として機能する。
ステップS73又はS76の後、あるいはステップS74でNoの場合、処理対象のプラグインに関する処理を終了する。第nシーンに含まれる全ての途切れ箇所のプラグインについて以上の処理が終了すると、デジタルミキサ10は図15の処理を終了し、元の処理に戻る。
以上の処理が、割当変更手順の処理であり、この処理においてCPU11は割当変更部として機能する。
以上で実施形態の説明を終了するが、装置の構成、データの構成、画面の表示形式や表示内容、コンポーネントの種類、具体的な処理の手順などが、上述の実施形態で説明したものに限られないことはもちろんである。
例えば、信号処理を行うハードウェアが、ミキシング処理部20とプラグイン処理部30に分かれていることは必須ではない。プラグインコンポーネントに、ミキシング処理部20の処理リソースを割り当ててもよい。また、割り当てる処理リソースも、処理タイミングに限られず、レジスタやメモリも割り当ての対象であってもよい。
例えば、信号処理を行うハードウェアが、ミキシング処理部20とプラグイン処理部30に分かれていることは必須ではない。プラグインコンポーネントに、ミキシング処理部20の処理リソースを割り当ててもよい。また、割り当てる処理リソースも、処理タイミングに限られず、レジスタやメモリも割り当ての対象であってもよい。
また、上述した実施形態では、DSPの処理リソースを割り当てるコンポーネントが、プラグインコンポーネントである例について説明したが、コンポーネントの用途はプラグインには限られない。例えば、1のコンポーネントや複数のコンポーネントの組み合わせ(とパッチ)だけで音信号処理の内容を定義したプログラマブルミキサにおいて用いられるコンポーネントの取り扱いにも、本発明を適用可能である。
また、デジタルミキサ10が、上述したリコールセーフ機能に代えて、またはこれに加えて、シーンの一部のみを選択的に読み出してカレントシーンに反映させるフォーカスリコール機能を備えていてもよい。この場合、リコールを指示された第nシーンのデータのうち、カレントシーンに反映させる部分のデータのみを用いて、図11の処理を実行すればよい。
なお、リコールセーフやフォーカスリコールのように、シーンをリコールする範囲を制約する機能を設けることは、必須ではない。
また、シーンデータあるいはカレントデータ中で途切れ箇所を特定する基準は、必ずしも図12の処理で用いたものには限られない。少なくとも、ステップS35及びS36の処理は省略可能である。
なお、リコールセーフやフォーカスリコールのように、シーンをリコールする範囲を制約する機能を設けることは、必須ではない。
また、シーンデータあるいはカレントデータ中で途切れ箇所を特定する基準は、必ずしも図12の処理で用いたものには限られない。少なくとも、ステップS35及びS36の処理は省略可能である。
また、以上説明したデジタルミキサ10の機能は、汎用コンピュータに所要のプログラムを実行させることによっても実現可能である。この場合、音信号を入出力するための入出力装置と、DSPを備えた信号処理用増設カードとをそのコンピュータに接続するとよい。また、デジタルミキサ10の機能を、複数の装置に分散して設け、それらを協働させて、デジタルミキサ10と同等な機能を備えるシステムとして動作させることもできる。
また、図7あるいは図8に示したデータの全部又は一部を、その他I/O16に接続される記憶媒体や、ネットワークを介して接続される外部装置の記憶部等に記憶させておき、必要に応じてデジタルミキサ10がこれを読み出して利用する構成も考えられる。
また、図7あるいは図8に示したデータの全部又は一部を、その他I/O16に接続される記憶媒体や、ネットワークを介して接続される外部装置の記憶部等に記憶させておき、必要に応じてデジタルミキサ10がこれを読み出して利用する構成も考えられる。
また、上記のプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。しかし、メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、必要な処理をコンピュータに実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶部に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶部に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、この発明は、デジタルミキサ以外にも、プロセッサの処理リソースを、プラグインのような仮想的な信号処理コンポーネントに割り当てて、その割り当てた処理リソースを用いて各コンポーネントに関する信号処理を実行する任意の音信号処理装置に対して適用可能である。例えば、マイク、エフェクタ、レコーダ、アンプ、スピーカ、シンセサイザ等に適用できる。
また、以上述べてきた構成は、矛盾しない範囲で適宜組み合わせて適用することも可能である。逆に、上述した実施形態に含まれる構成を全て同時に実施する必要もない。
また、以上述べてきた構成は、矛盾しない範囲で適宜組み合わせて適用することも可能である。逆に、上述した実施形態に含まれる構成を全て同時に実施する必要もない。
以上の説明から明らかなように、この発明によれば、音信号処理装置における、プロセッサの処理リソースの、コンポーネントへの割り当てを示す配置データを読み込んで実際の割り当てに反映させる機能の利便性を高めることができる。また、このことを通じて、音信号処理装置の操作性を向上させることができる。
10…デジタルミキサ、11…CPU、12…フラッシュメモリ、13…RAM、14…PC_I/O、15…MIDI_I/O、16…その他I/O、17…表示器、18…操作子、19…波形I/O、20…ミキシング処理部、22…システムバス、23…オーディオバス、30…プラグイン処理部、31…DSP、32…DSPメモリ、41…アナログ入力部、42…デジタル入力部、43…入力パッチ、44…入力ch、45…MIXバス、46…MIX出力ch、47…出力パッチ、48…アナログ出力部、49…デジタル出力部、50…プラグイン、200…プラグイン配置画面、210…プラグイン配置部、211,501…カーソル、212,213,231,511,521…アイコン、220,531…カーソル操作部、221…つまみ、222…カーソル位置表示部、223…リソース表示部、230,532…プラグイン選択部、232…名称表示部、240,533…プラグイン設定部、241…入力元設定部、242…出力先設定部、243…リコールセーフ設定部、251…配置ボタン、252…削除ボタン、253…クローズボタン、300…シーン操作画面、301…シーン番号選択部、302…ストアボタン、303…リコールボタン、400…音切れ防止設定画面、410…入力側設定部、420…出力側設定部、500…リコール確認画面、510…カレントシーン表示部、520…リコールシーン表示部、530…ステータス表示部、541…OKボタン、542…キャンセルボタン、543…自動編集ボタン、544…保存ボタン
Claims (10)
- プロセッサの処理リソースを、所定の配置データに従って1以上のコンポーネントに割り当てて、該割り当てた処理リソースを用いて該各コンポーネントに関する音信号処理を実行する音信号処理装置であって、
前記割り当てに反映させる配置データであって、各コンポーネントに割り当てる処理リソースの情報と、各コンポーネントが処理する信号の入力元と該各コンポーネントによる処理後の信号の出力先の情報とを含む配置データを記憶する第1記憶部と、
前記配置データを複数記憶する記憶部から、1の配置データを、前記第1記憶部に読み出す読出部と、
前記第1記憶部に記憶されている配置データが変更された場合に、該変更後の配置データに基づきコンポーネントへの前記処理リソースの割り当て変更及び各コンポーネントについての信号の入力元と出力先の変更を行う割当変更部と、
ユーザにより、前記記憶部に記憶されている配置データの読み出しが指示された場合、該指示時点で前記第1記憶部に記憶されている第1配置データと、読み出すべき第2配置データとに基づき、該読み出しの実行に応じた前記割当変更部による変更によって、出力先への音信号の出力が一時的に途切れる途切れ箇所を検出する検出部と、
前記検出部が前記途切れ箇所を検出した場合に、表示部に、該途切れ箇所を表示させる表示制御部とを備えることを特徴とする音信号処理装置。 - 請求項1に記載の音信号処理装置であって、
前記検出部は、前記第2配置データの読み出しにより、前記第1配置データに従って一のコンポーネントに割り当てられていた処理リソースを他のコンポーネントに割り当てる必要が生じ、かつ、前記第2配置データにおいて該他のコンポーネントに関して、信号の入力元及び出力先として、前記第1配置データにおいて前記一のコンポーネントに関して定められているものと同じ入力元及び出力先が定められている場合に、該他のコンポーネントを、前記途切れ箇所として特定することを特徴とする音信号処理装置。 - 請求項2に記載の音信号処理装置であって、
前記検出部は、前記一のコンポーネントも、前記途切れ箇所として特定することを特徴とする音信号処理装置。 - 請求項2又は3に記載の音信号処理装置であって、
前記信号の出力先の候補のうち、前記途切れ箇所の検出の対象とする候補の指定をユーザから受け付ける第1受付部を備え、
前記検出部は、前記第2配置データにおいて前記他のコンポーネントに関して定められている出力先が、前記第1受付部が受け付けた候補のいずれかである場合にのみ、前記他のコンポーネントを、前記途切れ箇所として特定することを特徴とする音信号処理装置。 - 請求項2乃至4のいずれか一項に記載の音信号処理装置であって、
前記信号の入力元の候補のうち、前記途切れ箇所の検出の対象とする候補の指定をユーザから受け付ける第2受付部を備え、
前記検出部は、前記第2配置データにおいて前記他のコンポーネントに関して定められている入力元が、前記第2受付部が受け付けた候補のいずれかである場合にのみ、前記他のコンポーネントを、前記途切れ箇所として特定することを特徴とする音信号処理装置。 - 請求項1乃至5のいずれか一項に記載の音信号処理装置であって、
前記表示制御部は、前記第1配置データに従った、コンポーネントに対する前記プロセッサの処理リソースの割り当て状態と、前記第2配置データの読み出しを実行した場合における、コンポーネントに対する前記プロセッサの処理リソースの割り当て状態とを、前記表示部に並べて表示させ、該表示中で、前記途切れ箇所と特定されたコンポーネントを強調表示させることを特徴とする音信号処理装置。 - 請求項1乃至6のいずれか一項に記載の音信号処理装置であって、
前記検出部が前記途切れ箇所を検出した場合に、ユーザの指示に応じて、前記第2配置データ中で該途切れ箇所と特定されたコンポーネントに割り当てる処理リソースを、前記第1配置データに従って現にコンポーネントに割り当てられている処理リソースと重ならないように変更する変更部を備えることを特徴とする音信号処理装置。 - 請求項7に記載の音信号処理装置であって、
前記変更部による変更後の第2配置データを、ユーザの指示に応じて、前記記憶部における第2配置データに上書きして保存することを特徴とする音信号処理装置。 - プロセッサの処理リソースを、所定の配置データに従って1以上のコンポーネントに割り当てて、該割り当てた処理リソースを用いて該各コンポーネントに関する音信号処理を実行する音信号処理手順と、
前記割り当てに反映させる配置データであって、各コンポーネントに割り当てる処理リソースの情報と、各コンポーネントが処理する信号の入力元と該各コンポーネントによる処理後の信号の出力先の情報とを含む配置データを第1記憶部に記憶させる第1記憶手順と、
前記配置データを複数記憶する記憶部から、1の配置データを、前記第1記憶部に読み出す読出手順と、
前記第1記憶部に記憶されている配置データが変更された場合に、該変更後の配置データに基づきコンポーネントへの前記処理リソースの割り当て変更及び各コンポーネントについての信号の入力元と出力先の変更を行う割当変更手順と、
ユーザにより、前記記憶部に記憶されている配置データの読み出しが指示された場合、該指示時点で前記第1記憶部に記憶されている第1配置データと、読み出すべき第2配置データとに基づき、該読み出しの実行に応じた前記割当変更手順による変更によって、出力先への音信号の出力が一時的に途切れる途切れ箇所を検出する検出手順と、
前記検出手順で前記途切れ箇所を検出した場合に、表示部に、該途切れ箇所を表示させる表示制御手順とを備えることを特徴とする音信号処理方法。 - コンピュータに、請求項9に記載の音信号処理方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017104147A JP2018201085A (ja) | 2017-05-26 | 2017-05-26 | 音信号処理装置、音信号処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017104147A JP2018201085A (ja) | 2017-05-26 | 2017-05-26 | 音信号処理装置、音信号処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018201085A true JP2018201085A (ja) | 2018-12-20 |
Family
ID=64668321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017104147A Pending JP2018201085A (ja) | 2017-05-26 | 2017-05-26 | 音信号処理装置、音信号処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018201085A (ja) |
-
2017
- 2017-05-26 JP JP2017104147A patent/JP2018201085A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7430454B2 (en) | Multi-track digital recording and reproducing apparatus | |
US7617012B2 (en) | Audio signal processing system | |
JP4924101B2 (ja) | 音響信号処理装置及びプログラム | |
EP3098986A1 (en) | Signal processing apparatus and controling method | |
US9852765B2 (en) | Graphical user interface, process, program, storage medium and computer system for arranging music | |
JP4192841B2 (ja) | ミキサエンジン制御装置及びプログラム | |
US7414634B2 (en) | Audio signal processing system | |
JP6828594B2 (ja) | 音信号処理装置、音信号処理方法及びプログラム | |
JP5239453B2 (ja) | 編集装置及び音響信号処理装置 | |
JP5929499B2 (ja) | 制御装置及びプログラム | |
JP2018201085A (ja) | 音信号処理装置、音信号処理方法及びプログラム | |
US8761914B2 (en) | Audio apparatus | |
JP4771287B2 (ja) | 信号処理装置に実行させる信号処理モジュール | |
JP5256817B2 (ja) | ポート割り当て装置 | |
JP4924150B2 (ja) | 効果付与装置 | |
JP3988730B2 (ja) | プログラム及び音響信号処理装置 | |
JP4164760B2 (ja) | ディジタルミキサ、シーンデータ編集装置、ミキサ構成編集装置、およびシーンデータ記憶装置 | |
JP4161962B2 (ja) | 音響信号処理システム及びプログラム | |
JP4193764B2 (ja) | 制御装置及びプログラム | |
JP2020123803A (ja) | 音信号処理装置、音信号処理方法およびプログラム | |
JP2016181122A (ja) | パラメータ制御装置及びプログラム | |
JP4161961B2 (ja) | 編集装置及びプログラム | |
JP2016178409A (ja) | 音信号処理装置及びプログラム | |
JP2005045425A (ja) | 音響信号処理装置 | |
JP2016225691A (ja) | 音信号処理装置 |