図1は、本発明の実施例によるIEEE1394バス(音楽LANシステム)100の構成を示すブロック図である。
音楽LANシステム100は、例えば、音楽LAN設定装置1と複数の接続機器2A〜2CとをIEEE1394インターフェイスを介して物理的に接続することにより構成される。
音楽LAN設定装置1は、音楽LANシステム100上の各種設定(例えば、各機器間の仮想的な結線状況の表示・変更等)を行うための機器であり、音楽LAN設定用プログラムをインストールしたパーソナルコンピュータ等によって構成されている。なお、「仮想的な結線」とは、物理端子を用いて任意の接続機器2同士を接続するかわりに、本実施例では、IEEE1394インターフェイスを利用して、物理的な結線状態によらず、送受信の論理的な経路を仮想的に設定することである。仮想的に結線された機器間では、あたかもケーブル等で直接接続したのと同様に、AUDIOデータ、MIDIデータ、映像データ等の各種情報の送受信を行うことができる。なお、本明細書では、「結線」という用語は、この「仮想的な結線」を指す。
接続機器2A〜2Cは、少なくともIEEE1394インターフェイスを備えた電子楽器、音響機器、AV機器、音源装置、コンピュータ等であり、例えば、ミキサー、スピーカー、アンプ、サンプラー、シンセサイザー、キーボード等である。なお、本実施例では、接続機器2A〜2Cはいずれも、少なくともAUDIOデータ(WAVEデータ等の波形データ)、MIDIデータのいずれか一方を処理(録音、再生、効果付与、発音、増幅等)可能な電子音楽装置である。また、これらのデータとともに、映像を記録した映像データ(静止画又は動画データ)を扱えるものでも良い。
図2は、本実施例による音楽LANシステム100における信号の伝送経路の一例を示す模式図である。
図2(A)では、接続機器2Aがルート機器に設定されている。ルートに設定された機器(ルート機器)、すなわち、この例では接続機器2Aは、音楽LANシステム100に接続される各接続機器2(2A〜2C)がデータの送信を行う際に、バスの使用権を与える機器であり、各機器間での同期を取るためのクロック同期情報を送出する機器である。音楽LANシステム100に接続される各接続機器2には、それぞれ固有のノードIDが割り当てられるが、ルート機器には最も大きな値を持つノードIDが割り当てられる。例えば、音楽LANシステム100に4つの接続機器2が接続された場合、ノードIDは、「0〜3」となるが、その場合にはルート機器のノードIDは、最大値の「3」となる。逆に、このようなことから、ルート機器のノードIDから現在接続されている接続機器2の総数を知ることもできる。
接続機器2Aからは、ワードクロック(サンプリング周波数に相当するクロック)、AUDIOデータL及びRが接続機器2B及び2Cに配信されている。送信側である接続機器2Aは、自信のクロックを基に、送信パケットにタイムスタンプを埋め込む。受信側の接続機器2B及び2Cでは、自身の持つクロックとこのタイムスタンプを比較してAUDIOデータL又はRの再生タイミングを調整する。また、各機器のクロックは、ルート機器(接続機器2A)が送出するクロック同期情報によって補正される。これによりクロック同期が実現されている。なお、クロック同期情報が各機器に伝わるにはディレイがあるため、各機器のクロックはわずかにずれている。
図2(B)に示す例では、接続機器2Cにルート機器が変更されている。この場合、各接続機器間でのクロックのずれ方が変化する。例えば、図2(A)に示す例では、接続機器2Aのクロックを基準とすると、接続機器2B、接続機器2Cの順で徐々にクロックが遅れている。これが、ルート機器が変わったことにより、図2(B)に示す例では、接続機器2Cのクロックを基準とすると、接続機器2B、接続機器2Aの順で徐々にクロックが遅れている。このようなクロックのずれが起こると、例えば、接続機器2BによるAUDIOデータLと接続機器2CによるAUDIOデータRの再生タイミングに変化が生じる場合がある。また、接続機器2Aのクロックよりも接続機器2Cのクロックの方が低品質であった場合、図2(A)に示す例よりも、図2(B)に示す例の方が、再生される楽音の音質が悪くなってしまうことがある。
ルート機器は、IEEE1394バス上に新たに機器が追加された場合、ルートであった機器がIEEE1394バス上になくなった場合、又はユーザ以外の者がその他の機器をルートとして設定した場合等に変更される可能性があるが、上記の再生タイミングの変化や音質の劣化を防ぐためには、ユーザは、ルートを元の機器に設定したり、同等もしくは上質なクロック精度を有する機器にルートを設定しなおしたり等の何らかの対処を取る必要がある。そこで本実施例では、ルート機器が変更された場合に、変更された旨とその要因をユーザに通知することで対処を促す。
なお、図1及び図2に示す例では、音楽LAN設定装置1と、各接続機器2を別の機器として表したが、1つの機器で両者の機能を併せ持っていてもよい。
図3は、本実施例による音楽LAN設定装置1の基本構成を表すブロック図である。
音楽LAN設定装置1は、例えば、パーソナルコンピュータであり、バス6、RAM7、ROM8、CPU9、タイマ10、検出回路11、設定操作子12、表示回路13、ディスプレイ14、外部記憶装置15、IEEE1394インターフェイス(I/F)21を含んで構成される。
バス6には、RAM7、ROM8、CPU9、外部記憶装置15、検出回路11、表示回路13、IEEE1394インターフェイス(I/F)21が接続される。
RAM7は、一時記憶領域、バッファ領域、フラグ、各種パラメータ等を記憶するCPU9のワーキングエリアを有する。
ROM8には、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。
CPU9は、ROM8又は、外部記憶装置15に記憶されている制御プログラム等に従い、演算又は制御を行う。タイマ10は、CPU9に接続されており、基本クロック信号、割り込み処理タイミング等をCPU9に供給する。
ユーザは、検出回路11に接続される設定操作子12を用いて、各種入力及び設定をすることができる。設定操作子12は、例えば、文字入力用キーボード、マウスであり、また、スイッチ、パッド、フェーダ、スライダ、ロータリーエンコーダ、ジョイスティック、ジョグシャトル等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。さらに、設定操作子12は、マウス等の他の操作子を用いて操作するディスプレイ14上に表示されるソフトスイッチ等でもよい。
表示回路13は、ディスプレイ14に接続され、各種情報をディスプレイ14に表示することができる。ディスプレイ14は、各種パラメータを表示するほかに、図5に示す音楽LAN設定用のユーザーインターフェイス(UI)140を表示することができる。また、図6に示す各種の通知画面を表示する。ユーザは、このディスプレイ14に表示される情報を参照して、各種入力及び設定を行う。また、ディスプレイ14は、外部の表示装置を接続することにより構成してもよい。
外部記憶装置15は、外部記憶装置用のインターフェイスを含み、そのインターフェイスを介してバス6に接続される。外部記憶装置15は、例えばフレキシブルディスク又はフロッピー(登録商標)ディスクドライブ(FDD)、ハードディスクドライブ(HDD)、光磁気ディスク(MO)ドライブ、CD−ROM(コンパクトディスク−リードオンリィメモリ)ドライブ、DVD(Digital Versatile Disc)ドライブ、半導体メモリ等である。
外部記憶装置15として、ハードディスクドライブ(HDD)が接続されている場合には、制御プログラム又は本実施例を実現するためのプログラム等は、外部記憶装置15内のハードディスク(HDD)に記憶させることもできる。ハードディスクからRAM7に制御プログラム等を読み出すことにより、ROM8に制御プログラム等を記憶させている場合と同様の動作をCPU9にさせることができる。このようにすると、制御プログラム等の追加やバージョンアップ等が容易に行える。
また、ハードディスクドライブに加えて、CD−ROMドライブが接続されている場合には、制御プログラム又は本実施例を実現するためのプログラム等をCD−ROMに記憶させることもできる。CD−ROMからハードディスクに制御プログラムや本実施例を実現するためのプログラム等をコピーすることができる。制御プログラム等の新規インストールやバージョンアップを容易に行うことができる。
IEEE1394インターフェイス(I/F)21は、IEEE1394規格に準拠した高速通信インターフェイスである。本実施例では、このIEEE1394インターフェイス(I/F)21を介して、接続機器2と接続することにより音楽LANシステム100を構成する。
図4は、本実施例による接続機器2の基本構成を表すブロック図である。図3と同じ参照番号を付したものは、基本的に同様の構成であるので説明を省略する。
接続機器2は、例えば、電子楽器、音響機器、AV機器、音源装置、コンピュータ等であり、例えば、ミキサー、スピーカー、アンプ、サンプラー、シンセサイザー、キーボード等であり、バス6、RAM7、ROM8、CPU9、タイマ10、検出回路11、設定操作子12、表示回路13、ディスプレイ14、外部記憶装置15、MIDIインターフェイス(MIDI I/F)16、IEEE1394インターフェイス(I/F)21、演奏操作子22、AUDIOインターフェイス(AUDIO I/F)23を含んで構成される。
バス6には、RAM7、ROM8、CPU9、外部記憶装置15、検出回路11、表示回路13、MIDIインターフェイス(MIDI I/F)16、IEEE1394インターフェイス(I/F)21、AUDIOインターフェイス(AUDIO I/F)23が接続される。
なお、接続機器2としては、外部記憶装置15として音楽LAN設定装置と同様のものを装備してもよいが、半導体メモリ等の不揮発メモリを装備すれば十分であり、例えば、接続機器2がパワードスピーカー等である場合は、省略することもできるる。また、ディスプレイ14としては、小型の液晶表示装置等を備えることが好ましいが、省略することもできる。
MIDIインターフェイス(MIDI I/F)16は、外部MIDI機器17、その他の楽器、音響機器、コンピュータ等に接続できるものであり、少なくともMIDI信号(MIDIデータ)を送受信できるものである。MIDIインターフェイス16は、専用のMIDIインターフェイスに限らず、RS−232C、USB(ユニバーサル・シリアル・バス)等の汎用のインターフェイスを用いて構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信するようにしてもよい。
外部MIDI機器17は、MIDIインターフェイス16に接続される音響機器及び楽器等である。MIDI機器17の形態は鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。また、音源装置、自動演奏装置等を1つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、MIDIや各種ネットワーク等の通信方法用いて各装置を接続するものであってもよい。
演奏操作子22は、検出回路11に接続され、ユーザの演奏動作に従い、演奏情報を供給する。演奏操作子22として、演奏用の鍵盤、パッド等を用いることができる。なお、演奏操作子22はこれらに限らず、ユーザが演奏情報を入力できるものであればどのようなものでもよい。なお、接続機器2が電子楽器以外の形態をとる場合は、この演奏操作子22は省略される。
AUDIOインターフェイス(AUDIO I/F)23は、デジタル又はアナログのオーディオ・インターフェイスであり、デジタル又はアナログ音声を入出力する外部オーディオ機器24及び外部ワードクロックジェネレーター25を接続することができる。
外部オーディオ機器24は、デジタル又はアナログ音声を入出力する音響機器、AV機器、サンプラー、ミキサー(デジタル又はアナログミキサー)、マイク、アンプ、スピーカー等である。外部ワードクロックジェネレーター25は、サンプリング周波数に相当するクロックをワードクロックとして生成して出力する。
なお、ここでは汎用インターフェイスの音響機器を例としてあげているため外部MIDI機器、外部AUDIO機器や外部ワードクロックジェネレータが接続されるようになっているが、それら外部機器の機能を接続機器2に内蔵しても良い。
図5は、本実施例による音楽LAN設定用のユーザーインターフェイス(UI)140の一例である。
音楽LAN設定用のユーザーインターフェイス(UI)140は、例えば、音楽LAN設定装置1のディスプレイ14に表示される音楽LAN設定用の画面である。
UI140には、少なくとも音楽LANシステム100に接続されている機器(音楽LAN設定装置1及び接続機器2)のそれぞれに対応する画像(アイコン)141及び142が図形として表示されるとともに、それぞれの機器の結線状況が結線情報(矢印)144によって視覚的に表示される。
また、各機器には、ルート表示143が重ねて表示されている。ルート表示143onは当該機器がルート機器に設定されていることを表し、ルート表示143offは、当該機器がルート機器ではないことを表す。なお、ルート表示の点灯は、現在その機器がルート機器であることが視覚的に確認できるものであれば良い。例えば、点灯と消灯で色を変えるなどでも良い。
ユーザは、マウス等の設定操作子12を操作することによりカーソル145を動かし、結線情報(矢印)144の始点もしくは終点を移動させることにより、音楽LANシステム100における結線状況を変更することができる。また、同様にして、ルート表示143を操作(クリック)することにより、所望の機器をルート機器として設定することができる。このような構成により、ユーザは、視覚的に確認しながら簡単に各機器の結線状況を変更することができる。また、非常に簡単な操作で(ワンクリックで)ルート機器を設定することができる。
なお、UI140は、図5に示すデザインに限らず、グラフィカルに各機器の結線状況及びルート機器を視認できるとともに、簡単な操作で結線状況の設定・変更及びルート機器の決定・変更が行えるものならばよい。
図6は、本発明の実施例による通知画面の一例である。これらの通知画面は、例えば、図3のディスプレイ14上に表示される。
図6(A)は、以前(バスリセット前)のルート機器が、音楽LANシステム100上から、無くなった場合に起こるバスリセットにより、ルート機器が変更されたことを通知するためにディスプレイ14に表示される通知画面145aである。この通知画面145aは、以前のルート機器が、例えば、物理的にケーブルを抜くなどして音楽LANシステム100上から、無くなった場合又は電源がOFFになっている場合、故障などの理由で利用できない場合等に表示される。
図6(B)は、音楽LANシステム100と他の音楽LANシステム間でのバスの結合あるいは音楽LANシステム100に新たな機器が接続された場合に起こるバスリセットによって、以前のルート機器とは違う機器がルートとして設定されてしまった場合に、ルート機器の変更を通知するためにディスプレイ14に表示される通知画面145bの一例である。
図6(C)は、別の機器をルートに設定する操作によるバスリセットによりルート機器が変更になったことを通知するためにディスプレイ14に表示される通知画面145cの一例である。
図7は、本実施例による音楽LAN設定装置1の監視アプリケーション(音楽LAN監視処理)の初期化処理を表すフローチャートである。この処理はアプリケーション起動時に実行される。この処理により図8に示すEUI−64とノードIDとの変換テーブルCTを作成又は更新する。
変換テーブルCTは、ノードID(0〜n)ごとに、音楽LANシステム100に接続されている機器のEUI−64を記録するテーブルである。IEEE1394では、各機器固有のEUI−64(GUID)が、各機器に予め埋め込まれているが、これとは別にバスにつながっている順にノードIDが自動的に割り当てられる。ノードIDは、例えばバスリセット等が起こると割り当てなおされて変わる可能性があるので、常に機器を特定できるものではない。機器を特定するには、ノードIDで指定したパケットを用いてEUI−64を問い合わせる必要がある。なお、ルート機器のノードIDは、各機器のIEEE1394I/F内のシリアル・バス・マネージャーに問い合わせることで取得できる。
ステップSA1で、変換テーブル作成・更新処理を開始し、ステップSA2で、現在のルート機器のノードIDを取得して音楽LANシステム100に接続されている機器の総数を取得する。
ステップSA3では、音楽LANシステム100に接続されている機器の一つからEUI−64を取得する。ステップSA4では、取得したEUI−64をノードIDとの変換テーブルCTに追加する。なお、変換テーブルCTが無い場合は、ここで作成する。
ステップSA5では、全ての機器についてEUI−64の取得が終了したか否かを判断する。取得が終了した場合は、YESの矢印で示すステップSA6に進み、終了していない場合は、NOの矢印で示すステップSA3に戻り、以降の処理を繰り返す。
ステップSA6では、ルート機器のEUI−64を変換テーブルCTとは別に、一時記憶領域に記憶しておく。その後、ステップSA7に進み、初期化処理を終了する。
図9は、本発明の実施例による音楽LAN監視処理を表すフローチャートである。ルート機器の変更には通常、バスリセットが伴う。例えば、バスが結合されたり、機器が追加されたり、機器が抜かれたりした場合に、バスリセットが起こり、ノードIDの振り直しなどのコンフィグレーション処理が行われる。従って、本実施例では、この音楽LAN監視処理をバスリセット直後に割り込み処理として行い、ルート機器の変更を監視する。
ステップSB1で、音楽LAN監視処理を開始し、ステップSB2では、現在のルート機器のノードIDを取得して音楽LANシステム100に接続されている機器の総数を取得する。
ステップSB3では、現在のルート機器のノードIDで指定したパケットを用いてEUI−64を取得する。
ステップSB4では、ステップSB3で取得した現在のルート機器のEUI−64が記憶されている変換テーブルCTに有るか否かを判断し、判断結果をフラグとして記憶する。なお、この音楽LAN監視処理はバスリセット完了直後に開始される割り込み処理であるので、この時点での変換テーブルCTは、バスリセット以前のものである。
ステップSB5では、音楽LANシステム100に接続されている機器の一つからEUI−64を取得する。ステップSB6では、取得したEUI−64に基づき、ノードIDとの変換テーブルCTを更新する。
ステップSB7では、全ての機器についてEUI−64の取得が終了したか否かを判断する。取得が終了した場合は、YESの矢印で示すステップSB8に進み、終了していない場合は、NOの矢印で示すステップSB5に戻り、以降の処理を繰り返す。
ステップSB8では、図7のステップSA6で記憶した以前(バスリセット前)のルート機器のEUI−64とステップSB3で取得した現在(バスリセット完了後)のルート機器のEUI−64とを比較し、同一である場合は、ルート機器の変更は無かったものとしてYESの矢印で示すステップSB10に進み音楽LAN監視処理を終了する。同一で無い場合は、NOの矢印で示すステップSB9に進み、図10に示すルート変更通知処理を行う。その後、ステップ10に進み音楽LAN監視処理を終了する。
図10は、本発明の実施例によるルート変更通知処理を表すフローチャートである。
ステップSC1で、ルート変更通知処理を開始し、ステップSC2では、図7のステップSA6あるいは後述するステップSC7で記憶したバスリセット前のルート機器のEUI−64が、現在の変換テーブルCT(バスリセット完了後、図9のステップSB5〜SB7で更新された変換テーブルCT)に有るか否かを判断する。現在の変換テーブルに有る場合は、YESの矢印で示すステップSC4に進む。現在の変換テーブルに無い場合は、NOの矢印で示すステップSC3に進む。
ステップSC3では、現在の変換テーブルCTに以前のルート機器が無いため、音楽LANシステム100上から、無くなったと判断して、例えば、図6(A)に示す通知画面145aを表示して、ユーザに以前のルート機器が無くなったため、ルート機器が変更になったことを通知する。その後、ステップSC7に進む。
ステップSC4では、現在のルート機器のEUI−64が、以前(バスリセット前)の変換テーブルCTに有るか否かを、図9のステップSB4で記憶したフラグを元に判断する。以前の変換テーブルに有る場合は、YESの矢印で示すステップSC6に進み、無い場合は、NOの矢印で示すステップSC5に進む。
ステップSC5では、現在のルート機器のEUI−64が、以前の変換テーブルに無かったことから、音楽LANシステム100と他の音楽LANシステム間でのバスの結合あるいは音楽LANシステム100に新たな機器が接続されたと判断して、例えば、図6(B)に示す通知画面145bを表示して、ユーザにバスの結合あるいは機器の追加により、ルート機器が変更になった事を通知する。その後、ステップSC7に進む。
ステップSC6では、現在のルート機器のEUI−64が、以前の変換テーブルにも有った事から、別の機器をルートに設定する操作があったものと判断して、例えば、図6(C)に示す通知画面145cを表示して、ユーザに別の機器をルートに設定する操作により、ルート機器が変更になった事を通知する。
ステップSC7では、現在(バスリセット完了後)のルート機器のEUI−64を変換テーブルCTとは別に、一時記憶領域に記憶しておく。その後、ステップSC8に進み、ルート変更通知処理を終了する。
以上、本発明の実施例によれば、音楽LAN100内でルート機器が変更されたことをユーザに通知することができる。
また、音楽LAN100内でルート機器が変更された場合に、ユーザにその要因を通知することができる。
よって、音楽LAN100内でルート機器が変更された場合に、ユーザにそれに対する対処を促すことができる。
また、本発明の実施例によれば、音楽LAN設定用のユーザーインターフェイス(UI)により、ユーザは、視覚的に確認しながら簡単に各機器の結線状況を変更することができる。また、非常に簡単な操作で(ワンクリックで)ルート機器を設定することができる。さらに、グラフィカルに各機器の結線状況及びルート機器を視認できるとともに、簡単な操作で結線状況の設定・変更及びルート機器の決定・変更が行える。
なお、実施例では、AUDIOデータやMIDIデータ等を扱うことを中心に説明したが、音楽LANシステムで扱うデータはこれに限らず、例えば、動画データ等のワードクロックを用いて同期再生されるものならば、どのようなデータでもよい。
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。
1…音楽LAN設定装置、2…接続機器、6…バス、7…RAM、8…ROM、9…CPU、10…タイマ、11…検出回路、12…設定操作子、13…表示回路、14…ディスプレイ、15…外部記憶装置、16…MIDI I/F、17…外部MIDI機器、21…IEEEI/F、22…演奏操作子、23…AUDIO I/F、24…外部オーディオ機器、25…外部ワードクロックジェネレータ、100…音楽LANシステム、140…音楽LAN設定用UI、141…音楽LAN設定装置アイコン、142…接続機器アイコン、143…ルート機器表示、144…結線情報、145…カーソル、146…通知画面