JP5720656B2 - 音楽システム管理方法 - Google Patents

音楽システム管理方法 Download PDF

Info

Publication number
JP5720656B2
JP5720656B2 JP2012242376A JP2012242376A JP5720656B2 JP 5720656 B2 JP5720656 B2 JP 5720656B2 JP 2012242376 A JP2012242376 A JP 2012242376A JP 2012242376 A JP2012242376 A JP 2012242376A JP 5720656 B2 JP5720656 B2 JP 5720656B2
Authority
JP
Japan
Prior art keywords
management
session
music
established
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012242376A
Other languages
English (en)
Other versions
JP2014093624A (ja
Inventor
光敬 越智
光敬 越智
伊藤 俊之
俊之 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2012242376A priority Critical patent/JP5720656B2/ja
Priority to EP13190768.5A priority patent/EP2728834A1/en
Priority to US14/070,230 priority patent/US9703866B2/en
Priority to CN201310538288.3A priority patent/CN103812588B/zh
Publication of JP2014093624A publication Critical patent/JP2014093624A/ja
Application granted granted Critical
Publication of JP5720656B2 publication Critical patent/JP5720656B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/61Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/04Studio equipment; Interconnection of studios
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

この発明は、1のコンピュータで起動された管理ソフトプロセスが、このコンピュータにネットワークを介して接続された複数のコンピュータで起動された複数の音楽ソフトプロセスと、該ネットワークに接続された複数のコントローラとを制御して、1つの音楽システムとして動作させる音楽システム管理方法に関する。
従来から、コンピュータを用いて、演奏データの録音や編集、ミキシング等の音響処理作業を行うことが知られている。コンピュータは、PC(パーソナルコンピュータ)等の汎用のコンピュータとされ、オーディオインターフェースやMIDI I/F(Musical Instrument Digital Interface)などの各種ハードウェア装置を備えており音楽ソフトがインストールされている。PCにインストールされる従来の音楽ソフトとして、DAW(Digital Audio Workstation )と呼ばれるアプリケーションソフトウェアが知られている。DAWプロセスが起動されたPCは、音楽処理装置として機能し、演奏データに応じた楽曲の演奏や、オーディオ信号の録音/再生、編集、ミキシングなどの音楽処理を実行することができるようになる。
PCで動作するDAWの音楽ソフトの機能は充実しており、PCに音楽ソフトをインストールすることで個人でも簡単に音楽制作ができるようになる。一方、音楽ソフトの機能が豊富になったことから、マウスやPCのキーボードで、PCで起動された音楽ソフト(DAW)プロセスの全ての操作やパラメータの設定を行う場合は、その操作が煩雑になってきている。そこで、高度な音楽制作の現場では、音楽ソフトがインストールされたPCに、音楽ソフトプロセスの操作のためのフィジカルコントローラを接続して、このフィジカルコントローラに備えられているつまみ、スライダ、ボタンなどの操作子を使用して演奏データやオーディオデータの録音/再生、編集、ミキシングを行う際の操作やパラメータの設定を行うことが行われている(特許文献1参照)。
また、音楽ソフトをインストールした複数のPCをネットワークに接続すると共に、各PCで起動された音楽ソフトプロセスを制御するコントローラをネットワーク接続する音楽システムが知られている。この音楽システムでは、コントローラとDAWプロセスの接続を管理するプロセス(管理ソフトプロセス)が、DAWプロセスと共に各PCで起動される。そして、コントローラの操作パネル上の接続切替用のスイッチの操作に応じて、コントローラの制御対象である音楽ソフトプロセスを切り替えるようにしている(非特許文献1参照)。
特開2011−59232号公報
Mc Mix ユーザーオペレーションガイドマニュアル(和文),P.11-18,P.38-42,[online], [平成24年4月3日検索],インターネット<http://connect.euphonix.com/documents/MC_Mix_User_Guide_rB_Jap.pdf>
従来の音楽システムにおいては、複数のPCで音楽ソフトプロセスが起動されている場合、各PC毎に独立した管理ソフトプロセスが起動されているので、あるコントローラがリモート制御する音楽ソフトプロセスを別の音楽ソフトプロセスに切り替えるためには、複数のPCの複数の管理ソフトプロセス間で通信を行い、複数の管理ソフトが連携して切り替えなければならないことから、音楽ソフトプロセスの切り替えに時間がかかってしまうという問題点があった。
そこで、本発明は、1のコンピュータで起動された管理ソフトプロセスが、このコンピュータにネットワークを介して接続された複数のコンピュータで起動された複数の音楽ソフトプロセスと、該ネットワークに接続された複数のコントローラとを制御して、1つの音楽システムとして動作させることにより、音楽ソフトプロセスの切り替えを高速に行うことができる音楽システム管理方法を提供することを目的としている。
上記目的を達成するために、本発明の請求項1にかかる音楽システム管理方法は、1のコンピュータで起動された管理ソフトプロセスが、ネットワークを介して接続されている複数のコンピュータで起動された複数の音楽ソフトプロセスと、該ネットワークに接続された複数のコントローラとを制御して、1つの音楽システムとして動作させる音楽システム管理方法であって、前記管理ソフトプロセスは、ユーザから、前記複数の音楽ソフトプロセスと前記複数のコントローラの中から所望の音楽ソフトプロセスとコントローラの選択を受け付ける第1の過程と、前記ネットワークを介して、前記第1の過程で受け付けられた音楽ソフトプロセスおよびコントローラと通信を行い、該音楽ソフトプロセスおよびコントローラと前記管理ソフトプロセスの間で管理通信を行うための管理セッションを前記ネットワーク上に確立する第2の過程と、ユーザから、各コントローラに対して制御対象となる1の音楽ソフトプロセスの選択を受け付ける第3の過程と、前記管理セッションを介して、各コントローラおよび前記第3の過程で受け付けられた1の音楽ソフトプロセスと通信を行い、該コントローラの現在の制御セッションを開放するとともに、前記ネットワーク上に、該コントローラと該1の音楽ソフトプロセスの間で制御通信を行うための新たな制御セッションを確立する第4の過程とを有し、ユーザによる各コントローラの操作に応じて、当該コントローラは、当該コントローラとの間に制御セッションが確立された音楽ソフトプロセスを、前記制御セッションを介してリモート制御することを最も主要な特徴としている。
また、本発明の請求項2にかかる音楽システム管理方法は、前記ネットワーク上の複数のコンピュータで複数の管理ソフトプロセスが起動され、前記複数の音楽ソフトプロセスおよび前記複数のコントローラは、それぞれ、前記複数の管理ソフトプロセスのうちの何れか1つの管理ソフトプロセスのみとの間に前記管理セッションを確立することができ、前記複数の管理ソフトプロセスのうちの何れか1つの管理ソフトプロセスと、当該管理ソフトプロセスとの間に管理セッションが確立された音楽ソフトプロセスおよびコントローラにより1つの音楽システムが構築され、結果として、前記ネットワーク上には、複数の管理ソフトプロセスに対応する複数の音楽システムが構築されることを特徴としている。
さらに、本発明の請求項3にかかる音楽システム管理方法は、請求項2に記載の音楽システム管理方法において、前記複数の管理ソフトプロセスのそれぞれは、さらに、当該管理ソフトプロセスとは異なる管理ソフトプロセスとの間において、既に管理セッションが確立されている音楽ソフトプロセス又はコントローラとの間で、割込通信を行うための割込セッションを一時的に確立する第5の過程と、前記割込セッションを介して、該割込セッションが確立された音楽ソフトプロセス又はコントローラと通信を行い、該割込セッションを開放させるとともに、前記ネットワーク上に、該音楽ソフトプロセスおよびコントローラと当該管理ソフトプロセスの間で管理通信を行うための管理セッションを確立する第6の過程とを有していることを特徴としている。
さらにまた、本発明の請求項4にかかる音楽システム管理方法は、請求項2に記載の音楽システム管理方法において、前記複数の管理ソフトプロセスのそれぞれは、さらに、当該管理ソフトプロセスとは異なる管理ソフトプロセスとの間において、既に管理セッションが確立されている音楽ソフトプロセス又はコントローラとの間で、割込通信を行うための割込セッションを一時的に確立する第7の過程と、前記割込セッションを介して、該割込セッションが確立された音楽ソフトプロセス又はコントローラに情報を送信、又は、同音楽ソフトプロセス又はコントローラから情報を入手する第8の過程とを有していることを特徴としている。
さらにまた、本発明の請求項5にかかる音楽システム管理方法は、請求項1記載の音楽システム管理方法において、あるコンピュータで起動された音楽ソフトプロセスに確立された各制御セッションは、同じコンピュータで確立されている前記管理セッションおよび他の制御セッションで使用されていないポート番号を使用して確立されることを特徴としている。
本発明の請求項1にかかる音楽システム管理方法では、1つの音楽システムを構成する音楽ソフトプロセスとコントローラとの間の制御セッションを、専用の管理セッションを介して、1つの管理ソフトが一括して管理するので、各コントローラの制御対象となる音楽ソフトプロセスの切り替えをレスポンス良く行うことができる。
また、本発明の請求項2にかかる音楽システム管理方法では、1つのネットワークに接続された複数のコンピュータで複数の管理ソフトプロセスを起動することにより、該1つのネットワーク上に、複数の音楽システムを構築することができる。
さらに、本発明の請求項3にかかる音楽システム管理方法では、ある音楽システムの管理ソフトプロセスは、他の音楽システムの音楽ソフトプロセス又はコントローラを横取りして、当該音楽システムに組み込むことができる。
さらにまた、本発明の請求項4にかかる音楽システム管理方法では、ある音楽システムの管理ソフトプロセスは、他の音楽システムの音楽ソフトプロセス又はコントローラとの間で、該他の音楽システムの動作を邪魔することなく直接情報を伝達することができる。
さらにまた、本発明の請求項5にかかる音楽システム管理方法では、各音楽ソフトプロセスとコントローラの組み合わせ毎に異なるポート番号を使用して制御セッションが確立されるので、制御通信をより効率的に行うことができる。このため、受信処理での条件分岐を減少させることができる。
本発明の実施例の音楽システム管理方法が適用された音楽システムのハードウェア構成を示すブロック図である。 本発明の実施例の音楽システム管理方法におけるワークグループの設定例を示す図である。 本発明の実施例の音楽システム管理方法におけるグループマネージャ画面を示す図である。 本発明の実施例の音楽システム管理方法において確立されるセッションを示す図である。 本発明の実施例の音楽システム管理方法におけるフェーダコントローラのパネル構成を示す図である。 本発明の実施例の音楽システム管理方法におけるメインコントローラのパネル構成を示す図である。 本発明の実施例の音楽システム管理方法におけるPCのハードウェア構成を示すブロック図である。 本発明の実施例の音楽システム管理方法におけるDAWプロセスの機能構成を示す図である。 本発明の実施例の音楽システム管理方法におけるUIデバイスのハードウェア構成を示すブロック図である。 本発明の実施例の音楽システム管理方法におけるイーサネットフレームの構成を示す図である。 本発明の実施例の音楽システム管理方法におけるHB生成送信処理のフローチャートである。 本発明の実施例の音楽システム管理方法におけるHB受信処理のフローチャートである。 本発明の実施例の音楽システム管理方法におけるメイン処理のフローチャートである。 本発明の実施例の音楽システム管理方法におけるセッションの確立手順、データ伝送手順、開放手順を示すシーケンス図である。 本発明の実施例の音楽システム管理方法におけるメンバ追加処理のフローチャートである。 本発明の実施例の音楽システム管理方法におけるHBエラー処理のフローチャートである。 本発明の実施例の音楽システム管理方法においてDAWの選択ボタンが操作された時にUIデバイスとグループマネージャで実行される処理のフローチャートである。 本発明の実施例の音楽システム管理方法においてパラメータの操作子が操作された時にUIデバイスとDAWで実行される処理のフローチャートである。
本発明の実施例の音楽システム管理方法が適用される音楽システムの構成を示すブロック図を図1に示す。
音楽システム1は、イーサネット(Ethernet)(登録商標)のネットワーク2を備えており、ネットワーク2に7台のパーソナルコンピュータ(PC)であるPC1,PC2,PC3,PC4,PC5,PC6,PC7と、8台のUI(User Interface)デバイスであるM1,F1,F2,F3,F4,M2,M3,F5が接続されている。イーサネットは、LAN (Local Area Network)用のネットワーク技術規格の名称である。ネットワーク2に接続された7台のPCおよび8台のUIデバイスには、各々がネットワーク2に新たに接続された際に、ネットワーク2に既に接続されているDHCP(Dynamic Host Configuration Protocol)サーバから相互に異なるIPアドレスがそれぞれ割り当てられる。この場合、専用のDHCPサーバを設けても良いし、あるいは1のPCあるいはUIデバイスのいずれかがDHCPサーバの役割りを果たしても良い。なお、固定のIPアドレスを予め7台のPCおよび8台のUIデバイスに設定しておいても良い。7台のパーソナルコンピュータではOS(Operating System)上で、管理ソフトプロセスおよび/または音楽ソフト(DAW)プロセスが起動されており、PC1ではGM1の管理ソフトプロセスが起動され、PC2ではDAW1のDAWプロセスが起動され、PC3ではGM2の管理ソフトプロセスと、DAW2のDAWプロセスが起動され、PC4ではDAW3,DAW4の2つのDAWプロセスが起動され、PC6ではDAW5,DAW6の2つのDAWプロセスが起動され、PC7ではDAW7のDAWプロセスが起動されている。DAWプロセスが起動されているPCでは、MIDIイベントやオーディオ信号の録音/再生、編集、ミキシングなどの音楽処理を実行することができる。なお、本明細書においては、PCに、協同で1台のDAW(Digital Audio Workstation)としての機能を果たさせる一組の複数プロセスを「DAWプロセス」と呼び、また、協同で1台の音楽システム管理装置としての機能を果たさせる一組の複数プロセスを「管理ソフトプロセス」と呼んでいる。また、UIデバイスであるM1,F1,F2,F3,F4,M2,M3,F5は、ユーザが操作するつまみ、フェーダ、ボタンなどを備えるフィジカルコントローラであり、M1,M2,M3はメインコントローラ、F1,F2,F3,F4,F5はフェーダコントローラである。
図1に示す音楽システム1における各UIデバイス、各DAWプロセス、各管理ソフトプロセスには、それぞれ、そのUIデバイスあるいはプロセスを特定するための、ユニークなIDがそれぞれ付与されている。このユニークIDは、UIデバイスやプロセスの起動、停止によって変化することはない。従って、後述するハートビートパケットによりUIデバイスやプロセスがネットワーク上で発見されたとき、ユニークIDを利用して同一のUIデバイスあるいはプロセスが後述するHBリストにあるか否かを判定することができる。
なお、DAWプロセスにおいては、プロジェクトと呼ばれる各音楽ファイルについて、MIDIイベントを記録するMIDIトラック、オーディオ信号を記録するオーディオトラック、オーディオ信号をミキシングするバスをそれぞれ任意数ずつ、ユーザが作成することができるようにされている。オーディオトラックは、DAWプロセスが備える1ないし複数の入力ポート/チャンネルの1つから入力するオーディオ信号を、各オーディオトラック毎に選択的に録音することができ、オーディオトラックで再生されるオーディオ信号の出力先として、DAWプロセスが備える複数の出力ポート/チャンネルの中から任意の1つを選択することができるようにされている。そして、ユーザがオーディオトラックを作成する毎に、ミキサ画面には対応するチャンネルストリップの表示が追加されるようになる。なお、ミキサ画面のチャンネルストリップでは、種々のチャンネルのパラメータが調整されるが、そのうちのオーディオチャンネルの詳細については、図8を参照して後述する。
PC1で起動されているGM1の管理ソフトプロセスとPC3で起動されているGM2の管理ソフトプロセスとは、それぞれに設定されているワークグループの管理を行っており、ワークグループにはネットワーク2上に存在するDAWプロセスやUIデバイスを登録することができる。ワークグループの設定例が図2に示されており、図2に示す設定例では、ワークグループWG1には、DAW3,DAW5,DAW7のDAWプロセスと、M1,F2,F3のUIデバイスが登録されており、ワークグループWG2には、DAW2,DAW6のDAWプロセスと、M3,F4,F5のUIデバイスが登録されており、DAW1,DAW4とM2,F1はいずれのワークグループにも登録されていない。そして、GM1の管理ソフトプロセスはワークグループWG1の管理を行い、GM2の管理ソフトプロセスはワークグループWG2の管理を行っている。なお、ワークグループの管理は、そのワークグループの管理ソフトプロセスを実行しているPCで行われることになる。そして、1つのワークグループに含まれる、DAWプロセスと、UIデバイスとが、1つの音楽システムとして動作する。すなわち、図2に示す場合はWG1からなる第1音楽システムとWG2からなる第2音楽システムとが独立して動作している。それぞれの音楽システムでは、入力されたMIDIイベントやオーディオ信号の録音/再生、編集、ミキシングなどの音楽処理を実行することができる。なお、ワークグループの管理では、ワークグループを構成するDAWやUIデバイスとされるメンバ間の通信の管理やメンバの追加あるいは削除の管理を行っているが、詳細については後述する。
ここで、F1,F2,F3,F4,F5で示されるフェーダコントローラ10のパネル構成を図5に示す。
図5に示すようにフェーダコントローラ10のパネルには、例えば8本とされる複数本のchストリップからなるchストリップ部20aと、コントロール部20bとが設けられている。chストリップ部20aの各chストリップには、ミキサ画面の1chストリップが割り当てられ、割り当てられたchストリップの調整を指示するための操作子が設けられている。操作子は、フェーダ21と複数のノブ23等とされ、そのchストリップに割り当てられた操作対象のch名をch名表示部22に表示することができる。そして、フェーダ21を操作することにより操作対象のchのレベルを調整することができ、ノブ23を操作することにより操作対象のchの所定のパラメータを調整することができる。
また、コントロール部20bにおいては、chストリップ部20aでは行えない操作を行う操作子群である第1操作子24と、第2操作子25と、選択ボタン26とが設けられている。第1操作子24はchストリップ部20aにおけるノブ23へ割り当てるパラメータの種類を切り替えるための操作子であり、第2操作子25はchストリップ部20aの各chストリップに割り当てる操作対象のchを切り替えるための操作子である。また、選択ボタン26は制御対象とされるDAWプロセスを切り替える選択ボタンであり、「a」が表記されたボタン26aを押すことにより制御対象を「a」に割り当てられているDAWプロセスに切り替えられ、「b」が表記されたボタン26bを押すことにより制御対象を「b」に割り当てられているDAWプロセスに切り替えられ、「c」が表記されたボタン26cを押すことにより制御対象を「c」に割り当てられているDAWプロセスに切り替えられる。
上記したように、選択ボタン26a〜26cが操作されて、制御対象として操作された選択ボタンに対応する1のDAWプロセスが選択されると、当該UIデバイスと該選択されたDAWプロセスを実行しているPCとの間に制御セッションが確立される。さらに、選択ボタン26a〜26cのうちの、制御セッションが確立されたDAWプロセスに対応する選択ボタンが点灯し、確立されていないDAWプロセスに対応する選択ボタンが消灯する。これにより、ユーザは、選択ボタン26a〜26cの点灯/消灯の状態を確認することにより、当該UIデバイスで現在制御しているDAWプロセスを確認することができる。
なお、各DAWプロセスをワークグループへ追加した時は、そのDAWプロセスに対しては、その時点で存在しているDAWプロセスに割り当てられていない「a」、「b」、「c」のうちの、何れか1つが割り当てられる。
次に、M1,M2,M3で示されるメインコントローラ11のパネル構成を図6に示す。
メインコントローラ11は、トランスポートの制御や、各チャンネルの詳細なパラメータの制御などを行うコントローラとされており、図6に示すようにメインコントローラ11のパネルには、chストリップ部は設けられていない。メインコントローラ11のパネルには、トランスポートの制御や、各チャンネルの詳細なパラメータの制御などを行うためのノブやボタン等の複数の操作子が設けられている。典型的には、DAWプロセスのメイン画面の各種操作を行うための複数の操作子がパネルに配置されている。すなわち、「DAWプロセスの詳細なパラメータを制御するための各種ポップアップ画面を開くための複数のボタン」、「トラック上の現在時刻を示す時間カーソルの位置を変更する操作子」、「録音の開始/停止、再生の開始/停止を指示する操作子」、「カーソル位置のパラメータに、値をセットするための操作子」、「ライブラリへのパラメータセットのストア/リコールをするための操作子などが配置されている。また、制御対象とされるDAWプロセスを切り替える選択ボタン31が設けられており、「a」が表記されたボタン31aを押すことにより制御対象を「a」に割り当てられているDAWプロセスに切り替えられ、「b」が表記されたボタン31bを押すことにより制御対象を「b」に割り当てられているDAWプロセスに切り替えられ、「c」が表記されたボタン31cを押すことにより制御対象を「c」に割り当てられているDAWプロセスに切り替えられる。
また、フェーダコントローラ10のchストリップ部20aおよびコントロール部20bの操作子、メインコントローラ11の操作子を使って、制御対象のDAWプロセスにおける各種設定の調整を行うことができる。この場合、制御対象のDAWプロセス(PC)へ操作子の操作量に応じた制御情報を送ることにより制御を行っている。
図2に示すようなワークグループの設定は図3に示すグループマネージャ(GM)画面3において行うことができる。このGM画面は、管理ソフト(GM)プロセスが起動されているPCの表示デバイスに表示される。図3に示すGM画面3の例は、GM1プロセスが起動されているPC1の表示デバイスに表示される。
GM画面3において、「Workgroup」の欄3aにはGM1プロセスが管理するWG1のワークグループに登録されているメンバであり、かつ、ネットワーク2上に存在するUIデバイスおよびDAWプロセスが表示される。また、「Outside」の欄3bには、WG1には登録されていないがネットワーク2上に存在するDAWプロセスとUIデバイスとが表示される。
ここで、欄3aおよび欄3bに表示される名称のうちの、名称「Conobase」、「Anotool」、「Orando」、「CTH」、「FDH」は、各DAWプロセスあるいはUIデバイスのモデル名であり、そのDAWプロセスあるいはUIデバイスから受信した後述するHBメッセージに含まれるモデルIDに対応して表示される。また、役割り「DAW A」、「DAW B」、「DAW C」は、DAWプロセスに対する、当該ワークグループの第1のDAW(「a」)、第2のDAW(「b」)、第3のDAW(「c」)の役割りの割り当てを示しており、また、役割り「MU」は、メインコントローラ11に対する、当該ワークグループの第1のメインコントローラの役割りの割り当てを、役割り「FU1」、「FU2」は、フェーダコントローラ10に対する、当該ワークグループの第1、第2のフェーダコントローラの役割りの割り当てを示している。なお、これらの「役割り」は、管理ソフトプロセスのCPU処理で、そのDAWプロセスあるいはUIデバイスが、新たなメンバとして当該ワークグループに登録されたときに割り当てられた「役割り」である。
この場合、他のワークグループに登録されていてもネットワーク2上に存在していれば「Outside」の欄3bに表示される。図示する場合は、「Conobase(PC2)」「Anotools(PC4)」「Orando(PC3)」「Conobase(PC6)」の名称のDAWプロセスと、「CTH(M2)」「CTH(M3)」「FDH(F3)」「FDH(F4)」「FDH(F5)」の名称のUIデバイスがネットワーク2上に存在しており、「Outside」の欄3bに表示されている。
さらに、左矢印ボタン3cはワークグループ(この場合は、WG1)にメンバを追加させるボタンであり、「Outside」の欄3bにおいて追加したいメンバを選択して左矢印ボタン3cをクリックすることにより、WG1に選択されたメンバが追加されるようになる。この場合、追加されたメンバは「Outside」の欄3bから消去されて「Workgroup」の欄3aに表示されるようになる。また、右矢印ボタン3dはWG1に登録されているメンバを削除するボタンであり、「Workgroup」の欄3aにおいて削除したいメンバを選択して右矢印ボタン3dをクリックすることにより、選択されたメンバがWG1から削除されるようになる。この場合、削除されたメンバは「Workgroup」の欄3aから消去されて「Outside」の欄3bに表示されるようになる。
本発明にかかる音楽システム管理方法では、管理ソフトプロセスが管理している音楽システムとして動作するワークグループ内において、管理ソフトプロセスと各メンバとの間で通信を行うための管理セッションが常時確立されている。また、管理ソフトプロセスが管理しているワークグループ内において、管理ソフトプロセスとメンバとの間で一時的に通信を行う時に、割込セッションが一時的に確立される。ワークグループにおける管理セッションおよび割込セッションの確立の態様を図4(a)に示す。図4(a)に示すように、GM1が管理している音楽システムとして動作しているWG1においては、GM1が、管理セッションのクライアントとして、それぞれサーバとしての動作をしているDAW3、DAW5、DAW7のDAWプロセス、および、M1、F2、F3のUIデバイスとの間に実線で示す6つの管理セッションを確立している。さらに、GM1は、サーバとしての動作をしている、それ以外のDAWプロセスあるいはUIデバイスとの間に、必要に応じて割込セッションを一時的に確立する。また、GM2が管理しているWG1とは異なる音楽システムとして動作しているWG2においては、GM2が、管理セッションのクライアントとして、それぞれサーバとして動作をしているDAW2,DAW6のDAWプロセス、および、F4,M3,F5のUIデバイスとの間に実線で示す5つの管理セッションを確立している。さらに、GM2は、サーバとしての動作をしている、それ以外のDAWプロセスあるいはUIデバイスとの間に、必要に応じて割込セッションを一時的に確立する。
ここで、本発明にかかる音楽システム1における「セッションを確立」は、ネットワーク2において、クライアントとなる管理ソフトプロセスを実行中のPCあるいはUIデバイスから、サーバとなるUIデバイスあるいはDAWプロセスを実行中のPCへの論理的な通信経路(TCPコネクション)を確立し、その確立された経路を、そのクライアントとそのサーバの間のセッション(データのやり取り)に割り当てることを言う。セッションには、「管理セッション」、「割込セッション」、「制御セッション」の3つの種類があり、セッション種類に応じたデータのやり取りが行われる。また、本発明に係る音楽システム1における「セッションを開放」は、そのセッションに割り当てられた通信経路(TCPコネクション)を開放することを言う。
管理セッションは、PCにおいて管理ソフトプロセスが起動された後に、GM1あるいはGM2が自己のワークグループのメンバから最初の後述するハートビートパケットを受信した際にそのメンバとの間で確立されたり、新しいメンバがワークグループに加わった際に、そのメンバとの間で確立される。また、管理セッションは、音楽システムが動作中の間は確立され続けるが、ワークグループからメンバが削除された際には、当該メンバとの間の管理セッションが開放される。例えば、WG1にDAW2を追加する場合は、DAW2プロセスとGM2との間の管理セッションを開放し、GM1とDAW2プロセスとの間に管理セッションを確立させる。さらに、WG2にM2を追加する場合は、M2はいずれのワークグループにも登録されていないことから開放する管理セッションはなく、GM2とM2との間に管理セッションを確立させる。なお、各サーバは、確立された管理セッションがない時に管理セッションの接続指示をいずれかのクライアントから受けた時、および、確立された割込セッションがない時に割込セッションの接続指示をいずれかのクライアントから受けた時には、接続指示されたセッションを確立するが、各サーバは、確立された管理セッションがある時に管理セッションの接続指示をいずれかのクライアントから受けた時、および、確立された割込セッションがある時に割込セッションの接続指示をいずれかのクライアントから受けた時には、その接続指示は拒否する。また、1つのPCで複数のDAWプロセスが起動されている場合は、DAWプロセスは互いに異なるポート番号で待ち受けを行う。この場合、ネットワーク2上の複数のPCおよび複数のUIデバイスは、それぞれに割り当てられたIPアドレスにより特定できることから、各管理ソフトプロセスは、相手のIPアドレスとポート番号との組(ソケット)で、何れか1つのDAWプロセスあるいはUIデバイスを特定することができる。
また、割込セッションは、前述したGM画面3において左矢印ボタン3cが操作された際に、新しくメンバとなるサーバ(DAWプロセスあるいはUIデバイス)との間で一時的に確立される。例えば、図4(a)に破線で示すように、GM1とDAW2プロセスとの間に割込セッションが確立されており、また、GM2とM2との間に割込セッションが確立されている。確立された割込セッションを用いてクライアント(GM)は新しくメンバとなるサーバと交渉し、交渉が終了した際に割込セッションを開放する。ここで、交渉が成立した場合はそのサーバとの間に管理セッションが確立されて、当該サーバが新しいメンバとして追加されるが、交渉が不成立の場合は、そのサーバとの間に管理セッションは確立されず、当該サーバは新しいメンバとして追加されない。交渉が成立する具体的条件は、後述するメンバ追加処理(図15)のステップS46に関連して説明する。
さらに、前述したGM画面3において「Workgroup」の欄3aあるいは「Outside」の欄3bにおけるいずれかの「Identify」欄の□がクリックされた際に、当該「Identify」欄の□に対応するDAWプロセスあるいはUIデバイスとの間で一時的に割込セッションが確立される。そして、割込セッションが確立されたDAWプロセスあるいはUIデバイスに割込セッションにより確認メッセージを送り、その確認メッセージを受信したDAWプロセスあるいはUIデバイスが、自身がそのDAWプロセスあるいはUIデバイスであることをユーザに通知する。通知方法としては、例えば、DAWプロセスの管理下にある少なくとも1のウィンドウをフラッシュさせたり、DAWプロセスのウィンドウ上や、UIデバイスのパネル上の少なくとも1のランプの明るさや色を変えたり、点滅させたりすることで通知することができる。
さらにまた、本発明にかかる音楽システム管理方法では、ワークグループ内のDAWプロセスと、このDAWプロセスをコントロールするUIデバイスとの間で通信を行うための制御セッションが常時確立されている。ワークグループにおける制御セッションの確立の態様を図4(b)に示す。図4(b)に示すように、GM1が管理している音楽システムとして動作するWG1においては、クライアントであるM1,F2,F3のUIデバイスは、サーバとなるDAW3,DAW5,DAW7のいずれか1つのDAWプロセスとの間に制御セッションが確立されており、各DAWプロセスは、任意の数のUIデバイスとの間に制御セッションが確立されている。具体的には、DAW3プロセスはM1およびF2との間に実線で示すように制御セッションが確立されて、ユーザがM1およびF2を操作することにより、該制御セッションを介して、DAW3プロセスの動作をリモートコントロールすることができる。また、DAW7プロセスはF3との間に実線で示すように制御セッションが確立されて、ユーザがF3を操作することにより、該制御セッションを介して、DAW7プロセスの動作をリモートコントロールすることができる。さらに、GM2が管理している音楽システムとして動作するWG2においては、クライアントであるF4,M3,F5のUIデバイスは、サーバとなるDAW2,DAW6のいずれか1つのDAWプロセスとの間に制御セッションが確立されており、各DAWプロセスは、任意の数のUIデバイスとの間に制御セッションが確立されている。具体的には、DAW2プロセスはF5との間に実線で示すように制御セッションが確立されて、ユーザがF5を操作することにより、該制御セッションを介して、DAW2プロセスの動作をリモートコントロールすることができる。また、DAW6プロセスはF4およびM3との間に実線で示すように制御セッションが確立されて、ユーザがF4およびM3を操作することにより、該制御セッションを介して、DAW6プロセスの動作をリモートコントロールすることができる。
なお、1つのPC内で複数のDAWプロセスが起動されている場合は、それぞれのDAWプロセスは、そのPC内でユニークなポート番号を使用している。これにより、当該PCでは、受信した制御パケットのポート番号に基づき、どのDAWプロセスへ渡す制御パケットかを判別できるようになる。制御セッションでは、クライアントであるUIデバイスにおいてパラメータを操作する操作子が操作された際に、そのUIデバイスと制御セッションが確立しているサーバであるDAWプロセスにおいて、その操作に応じたパラメータが操作されるようになる。
なお、DAW1,DAW4のDAWプロセスと、M2,F1のUIデバイスはいずれのワークグループにも登録されていないことから、管理セッション、割込セッションおよび制御セッションはいずれも確立されていない。ただし、上記DAWプロセスおよび上記UIデバイスは各セッションの待ち受け状態(Listen状態)となっており、セッションの接続指示を受けた時には指示を受けたセッションを確立することができる。
つぎに、図1に示すPC1〜PC7のパーソナルコンピュータ(PC)のハードウェア構成を図7に示す。
図7に示すように、PCは汎用のコンピュータであり、 Windows(登録商標)等のOSを実行するCPU(Central Processing Unit)40を有し、電源投入時に実行されるBIOS(Basic Input/Output System)等のソフトウェアが格納されている不揮発性のROM(Read Only Member)と、CPU40のワークエリアや各種データ等が記憶されるRAM(Random Access Memory)からなるROM・RAM41を備えている。また、不揮発Mem.42は、CPU40が実行する管理ソフトやDAWソフト等のソフトウェアが格納されているフラッシュメモリ等の書き換え可能な不揮発メモリである。さらに、PCには、キーボード、マウス等の操作Device46が接続される操作IO45と、1ないし数台のディスプレイ48が接続される表示IO47と、マイク、CDプレーヤ、レコーダ、ヘッドフォン、アンプ等のAudio Device44が接続されるAudio IO43とが備えられている。さらに、LANケーブルが接続されるイーサネットのネットワークアダプタであるNIO49が備えられている。各部はCPUバス50に接続されており、NIO49はネットワーク2に接続されている。また、CPU40で実行されているOS上では、Cubase(登録商標)、Nuendo(登録商標)、Protools、Sonar等のDAWプロセスを起動することができる。また、PCのOS上では、さらに、管理ソフトプロセス(GM)を起動することができる。
次に、PCで起動されているDAWプロセスの機能構成の一例を図8に示す。DAWプロセスはPCにおいてWindows等のOS上で起動されるプロセスであり、音響信号のレコーディング、ミキシング、ミックスダウン等を行う機能を有している。そして、PCのディスプレイ48にトラック画面を開き、該トラック画面のGUI(Graphical User Interface)により、複数の各トラックへの音響信号の録音、及び録音された各トラックの音響信号の再生を制御することができる。また、PCのディスプレイ48にミキサ画面を開き、該ミキサ画面のGUIにより、各入力ch、各トラックch、各バスch、各出力chを制御することができる。
図8に示す音響信号が入力される複数の入力(Inputs)の各1つのインプット(Input)は、Audio IO43の1の入力ポートを介して、外部から音響信号を受け取り、入力chにて音響信号の周波数特性、振幅特性等を制御して、1つのトラック又はバスに供給する。また、図8に示す音響信号を録音/再生する複数のトラック(Tracks)の各1つのトラック(Track)は、1つのインプット又はバスからの音響信号を受け取り、タイムコードに同期して録音する。この場合、録音される音響信号の特性の調整は、該インプット又はバスで行われる。そして、録音された音響信号を、タイムコードに同期して再生し、トラックchにて音響信号の周波数特性、振幅特性等を制御して、1つのバス又はアウトプットに供給する。なお、タイムコードは、各種 録音・再生機能の時間軸上における現在位置(現在時刻)を示しており、1つのプロジェクトの全トラックで共通の時刻である。
さらに、図8に示す音響信号を混合する複数のバス(Buses)の各1つのバス(Bus)は、1乃至複数のインプットあるいはトラックからの音響信号を受け取って混合する。この場合、混合される音響信号の特性の調整は、各インプット又はトラックで行う。そして、バスchにて混合結果の音響信号の周波数特性、振幅特性等を制御して、1つのトラック又はアウトプットに供給する。
さらにまた、図8に示す音響信号を出力する複数の出力(Outputs)の各1つのアウトプット(Output)は、1乃至複数のトラック乃至バスからの音響信号を受け取って混合する。そして、混合結果の音響信号を、出力chにて音響信号の周波数特性、振幅特性等を制御して、Audio IO43の1の出力ポートを介して外部に出力する。
次に、UIデバイス4のハードウェア構成を示すブロック図を図9に示す。UIデバイス4はフィジカルコントローラであるフェーダコントローラ10あるいはメインコントローラ11であり、両コントローラは同様のハードウェア構成とされている。
UIデバイス4は、図9に示すようにWindows(登録商標)等のOSを実行するCPU(Central Processing Unit)51を有し、電源投入時に実行されるBIOS(Basic Input/Output System)等のソフトウェアが格納されている不揮発性のROM(Read Only Member)と、CPU51のワークエリアや各種データ等が記憶されるRAM(Random Access Memory)からなるROM・RAM52を備えている。また、不揮発Mem.53は、CPU51が実行する後述する「HB生成送信処理」(図11参照)、「メイン処理」(図13参照)、「B押下時処理」および「当該UIデバイスの処理」(図17参照)、「P操作時処理」および「表示更新処理」(図18参照)のプログラムなどのコントローラ用のプログラム等が格納されているフラッシュメモリ等の書き換え可能な不揮発性メモリである。さらに、UIデバイス4には、ノブ、フェーダ、ボタン等の操作子54と、液晶等の表示器55と、LANケーブルが接続されるイーサネットのネットワークアダプターであるNIO56が備えられている。各部はCPUバス57に接続されており、NIO56はネットワーク2に接続されている。なお、ネットワーク2にはフェーダコントローラ(F1,F2,F3,・・・)10とメインコントローラ(M1,M2,・・・)11とを含む、複数種類のUIデバイスが接続されている。また、1つのワークグループで構成される1つの音楽システムには、最大1台のメインコントローラと、最大3台のフェーダコントローラとを含めることができる。
次に、管理セッションおよび割込セッション、制御セッションで伝送されるイーサネットフレームの構成を図10(a)(b)に示す。図10(a)はトランスポート層のプロトコルとしてTCP(Transmission Control Protocol)を利用する場合のイーサネットフレーム(TCP)の構成であり、図10(b)はトランスポート層のプロトコルとしてUDP(User Datagram Protoco)を利用する場合のイーサネットフレーム(UDP)の構成である。
図10(a)に示すイーサネットフレーム(TCP)は、14バイトのEN(イーサネット)ヘッダと、20バイトのIP(Internet Protocol)ヘッダと、20バイトのTCPヘッダと、データ本体とから構成されている。ENヘッダは、フレームの始まりを示すプリアンブル、送信先MACアドレス、送信元MACアドレス、イーサネット(データリンク層)の上位のネットワーク層のプロトコル情報(この場合はインターネットプロトコル(IP)を示している。)、サイズなどから構成されている。また、IPヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別子、IP(ネットワーク層)の上位のトランスポート層のプロトコル情報(この場合は、TCPまたはUDP)、当該ヘッダのデータエラーを検出するためチェックサム、送信元IPアドレス、送信先IPアドレスなどから構成されている。さらに、TCPヘッダは、送信元ポート番号、送信先ポート番号、シーケンス番号、ACK番号、ACK、SYN、FINなどの各種フラグ、ウィンドウサイズ、当該ヘッダのデータエラーを検出するためチェックサムなどから構成されている。TCPでは、送信するデータ全体をバイトデータ列と見なしたときの、現TCPパケットに載せる先頭のバイトデータのバイト位置を示している「シーケンス番号」が定義されており、シーケンス番号に基づいてデータの整列や、ウィンドウ制御が行われる。また、ACK番号は、既に受信した一連のTCPパケットによって、同バイトデータ列の中のどのバイト位置までデータが揃ったかを示す情報である。
イーサネットフレーム(TCP)で伝送されるデータ本体は、管理パケット、制御パケット、割込パケットのいずれかとされ、ヘッダ部とメッセージ部とにより構成される。管理パケットは、管理セッションにおいて伝送され、管理ヘッダと管理メッセージとエラー検出するCRCコード(Cyclic Redundancy Check)とから構成されており、制御パケットは、制御セッションにおいて伝送され、制御ヘッダと制御メッセージとCRCコードとから構成されており、割込パケットは、割込セッションにおいて伝送され、割込ヘッダと割込メッセージとCRCコードとから構成されている。データ本体のヘッダ部分のデータに基づいて、そのデータ本体が、管理/制御/割込の何れのパケットであるか判別される。
図10(b)に示すイーサネットフレーム(UDP)は、14バイトのEN(イーサネット)ヘッダと、20バイトのIP(Internet Protocol)ヘッダと、8バイトのUDPヘッダと、データ本体とから構成されている。ENヘッダおよびIPヘッダは、上記した通りであるのでその説明は省略する。UDPヘッダは、送信元ポート番号、送信先ポート番号、サイズ、当該ヘッダのデータエラーを検出するためチェックサムなどから構成されている。
イーサネットフレーム(UDP)で伝送されるデータ本体は、ハートビート(HB)パケットとされ、HBパケットは、HBヘッダとHBメッセージとCRCコードとから構成されている。データ本体のHBヘッダ部分のデータに基づいて、そのデータ本体が、HBパケットであることを判別できる。HBメッセージは、UIデバイスやDAWの種別及びバージョンを特定するモデルID、個々のUIデバイスあるいはDAWプロセスを特定するユニークID、システムID(ワークグループIDと同義)、管理、割込、制御の各セッションが確立されているか否かを示す状態フラグ、待ち受けポート番号などから構成されている。
なお、TCPは通信相手の応答があって初めて通信を開始するコネクション型プロトコルであり、データ転送を行う前にセッションの確立が行われる。また、TCPではより確実に相手にデータ(セグメント)を届けるために、スリーウェイハンドシェイク、確認応答、フロー制御、輻輳制御など様々な機能を備えている。このTCPに対してUDPはセッションを確立せずにデータ転送を行うプロトコルであり、上記したTCPが備える機能を備えていない。このため、UDPは信頼性が低いが転送速度が高く、マルチキャストやブロードキャストなどの1対多の通信に向いている。
ネットワーク2上の全てのUIデバイスおよびDAWプロセスから、ネットワーク2上の全ての管理ソフトプロセス(GM)に届くように所定周期毎に、HBパケットはマルチキャストされる。ここで、ネットワーク2上の全てのUIデバイスにおけるCPU51およびDAWプロセスを実行しているCPU40が、所定周期毎に実行するHB生成送信処理のフローチャートを図11に示し、HB生成送信処理を説明する。
ネットワーク2上のUIデバイスにおけるCPU51およびDAWプロセスを実行しているPCのCPU40のいずれかにおいて、HB生成送信処理を実行するタイミングに達したと判断されるとCPU51あるいはCPU40によりHB生成送信処理が実行開始されて、自身の情報からなる上記したHBメッセージが作成され、このHBメッセージにHBヘッダを付加したHBパケットがステップS10にて生成される。次いで、作成されたHBパケットがカプセル化されたイーサネットフレーム(UDP)がステップS11にて作成されてマルチキャストされ、HB生成送信処理は終了する。このマルチキャストする場合のイーサネットフレーム(UDP)におけるIPヘッダの送信先IPアドレスは、管理ソフトプロセス(GM)が動作している複数のPCにより構成されるマルチキャストグループのIPアドレスであり、UDPヘッダの送信先ポート番号は、全てのシステム、全てのUIデバイス、全てのDAWプロセスに共通の1つのポート番号である。
HBパケットがカプセル化されたイーサネットフレーム(UDP)を各管理ソフトプロセス(GM)が受信すると、各管理ソフトプロセス(GM)を実行しているPCのCPU40が、ROM・RAM41に記憶されているHBリストを、各UIデバイスあるいは各DAWプロセスから送信されたHBメッセージの情報と、その受信時刻とで更新する。これにより、HBリストには、受信できている全てのHBメッセージについて、最新の受信時刻、送信元のUIデバイスあるいはDAWプロセスのIPアドレス、当該HBメッセージに記載されたモデルID、ユニークID、システムID、状態フラグ、待ち受けポート番号等が記憶されるようになる。なお、各UIデバイスには、不要なHBパケットが送信されないので、その分だけ、各UIデバイスの処理負荷を下げることができる。ただし、マルチキャストの代わりにHBメッセージがカプセル化されたイーサネットフレーム(UDP)をブロードキャストするようにしてもよい。
ここで、管理ソフトプロセス(GM)がHBパケットがカプセル化されたイーサネットフレーム(UDP)を受信した際に、管理ソフトプロセス(GM)を実行しているCPU40で実行されるHB受信処理のフローチャートを図12に示し、HB受信処理を説明する。ネットワーク2上のいずれかのUIデバイスおよびDAWプロセスから送信されたHBパケットがカプセル化されたイーサネットフレーム(UDP)をPCが受信すると、該PCのCPU40は管理ソフトプロセス(GM)の一部としてHB受信処理を開始し、受信したイーサネットフレーム(UDP)におけるHBメッセージで特定されるUIデバイスあるいはDAWプロセスが、保存されているHBリストに既に存在するか否かがステップS20にて判断される。この判断は、HBメッセージとHBリストとでユニークIDの一致を検出することにより行われ、ステップS20にて保存されているHBリストに既に存在すると判断された場合は、ステップS21に進みHBリストの受信時刻を、今回イーサネットフレーム(UDP)を受信した時刻に更新したり、受信したHBメッセージでHBリストの既存データを最新のデータで更新する既存データ更新処理が行われ、HB受信処理は終了する。
また、ステップS20にて保存されているHBリストに存在しないと判断された場合は、ステップS22に分岐してHBリストに、受信したイーサネットフレーム(UDP)におけるHBメッセージで特定されるUIデバイスあるいはDAWプロセスの情報を新規データとして追加して記憶する。追加して記憶される情報は、HBパケットを受信した時刻、HBメッセージに記載されているモデルID(機種、バージョン)、ユニークID、管理セッションを確立する時に管理ソフトプロセス(GM)により書き込まれたシステムID(ワークグループID)、各セッションが確立されているか開放されているかを示す通信状態フラグ、待ち受けポート番号などの情報とされる。なお、管理ソフトプロセス(GM)を実行しているPCのROM・RAM41が記憶するHBリストでは、当該UIデバイスおよびDAWプロセスからHBパケットを周期的に受信している間は、そのHBパケットに関する情報が保持されている。ステップS22の処理が終了すると、受信したイーサネットフレーム(UDP)におけるHBメッセージに記載されているユニークIDがGリストに既に存在するか否かがステップS23にて判断される。管理ソフトプロセス(GM)を実行しているPCのROM・RAM41が記憶するGリストには、その管理ソフトプロセス(GM)が管理している音楽システム(ワークグループ)に登録されたUIデバイスおよびDAWのユニークIDが少なくとも記憶されており、ここで、Gリストに既に存在すると判断された場合は、その音楽システムのメンバであることが確認されてステップS24に進む。
ステップS24では、受信したイーサネットフレーム(UDP)におけるHBメッセージに記載されているシステムID(ワークグループID)が、管理ソフトプロセス(GM)が管理している音楽システム(ワークグループ)のシステムIDと一致しているか否かが判断される。ステップS24でシステムIDが一致すると判断された場合は、新たに発見されたUIデバイスあるいはDAWプロセスが、当該システムに参加しているUIデバイスあるいはDAWプロセスである場合であり、HBメッセージを送信したUIデバイスあるいはDAWプロセスが、その音楽システムのメンバであることを認識していることが確認されたことになる。そこで、ステップS25に進み(1)管理セッションを確立する処理、および、(2)制御セッションの初期設定処理が実行される。管理セッションを確立する処理では、HBリストにステップS22で追加された上記情報のうちの待ち受けポート番号のポートとの間で管理セッションが確立される。この場合、もし、HBリストに上記追加された情報のうちの通信状態フラグが、「管理セッション確立を示すフラグ」のときは、管理セッションを確立する処理の代わりに、エラー処理(ユーザへの警告等)を行う。このとき、GM画面3が表示されていれば、ステップS25で、制御セッションが確立されるUIデバイスあるいはDAWプロセスは、当該ワークグループに参加しているので、欄3aに表示される。
また、制御セッションの初期設定処理は、ネットワーク2上において新しいUIデバイスあるいはDAWプロセスが発見された場合にのみ実行され、(1)で確立された管理セッションを用いて、当該UIデバイスあるいはDAWプロセスとの間に制御セッションが確立される。この処理の詳細は後述するが、まず、DAWプロセスに「待受要求」を送信し、次に、UIデバイスに「確立要求」を送信する。ここでは、所定の制御セッションを設定してもよいし、直前の制御セッションの情報を記憶し、それを設定(再現)してもよい。ここで、「所定の制御セッション」とは、予め決められた相手DAWプロセスとの制御セッションを意味しており、この予め決められた相手DAWプロセスの例としては、複数のDAWプロセスのうちの1番目のDAWプロセスとか、当該UIデバイスの番号(同じUIデバイスが複数接続されたとき、各UIデバイスに付与される通し番号)に対応する順番のDAWプロセスとかとすることができる。この場合、管理ソフトプロセス(GM)のカレントメモリには、HBパケットに基づいて発見された各DAWプロセスの情報が、管理ソフトプロセス(GM)が付与した通し番号と共に記憶されている。この番号は、上記した管理ソフトプロセス(GM)のCPU処理で、そのDAWプロセスあるいはUIデバイスが、新たなメンバとして当該ワークグループに登録されたときに割り当てられた「役割り」である。また、「直前の制御セッション」は、直前に当該UIデバイスとの間で制御セッションが確立されていた(今は開放されている)相手DAWプロセスとの制御セッションを意味している。この場合、相手先のDAWプロセスを特定する情報は、管理ソフトプロセス(GM)が記憶しているGリストの中にある。
ステップS23においてGリストに存在しないと判断された場合、あるいは、ステップS24にてシステムIDが一致しないと判断された場合は、何れの音楽システム(ワークグループ)にも参加していないか、或いは、他の音楽システム(ワークグループ)に参加しているUIデバイスあるいはDAWプロセスである場合である。このため、HBメッセージを送信したUIデバイスあるいはDAWプロセスが、管理ソフトプロセス(GM)が管理している音楽システム(ワークグループ)のメンバと確認できないことから、HB受信処理は終了する。このとき、GM画面3が表示されていれば、メンバと確認できないUIデバイスあるいはDAWプロセスは、欄3bに表示される。また、ステップS25の処理が終了した場合は、HB受信処理は終了する。
なお、HB受信処理におけるステップS24において、システムIDが一致しない場合に、何もせずに処理を終了していたが、ユーザに対し、そのシステムIDが異なるUIデバイスあるいはDAWプロセスが発見された旨の警告を行ったり、さらに、ユーザから、そのUIデバイスあるいはDAWプロセスを当該システムに入れる指示を受け付け、その指示に応じて後述するメンバ追加処理(図15参照)と同様の処理を行うことにより、発見されたUIデバイスあるいはDAWプロセスを当該システムに再組み込みするようにしてもよい。
次に、UIデバイスが電源オンされたあるいはPCでDAWプロセスが起動されたときに開始されるメイン処理のフローチャートを図13に示し、メイン処理を説明する。
UIデバイスあるいはDAWプロセスが起動されると、起動されたUIデバイスにおけるCPU51およびDAWプロセスを実行しているPCのCPU40においてメイン処理が開始され、ステップS30にて初期化の処理が行われる。初期化の処理では、ワークメモリの初期化や前回の設定内容が読み出されて設定される。また、DAWプロセスが起動された場合はプロジェクトが読み込まれ、ディスプレイ48に図3に示すGM画面3が表示される。次いで、ステップS31にて1つの待ち受けポート番号が決定され、そのポート番号のポートで「管理セッション」及び「割込セッション」の待ち受けを行う状態(Listen状態)とされる。この場合、「管理セッション」と「割込セッション」は通信頻度が「制御セッション」より高くないので、同じ待受ポート番号のポートを使用するようになっているが、待受ポート番号を相互に異ならせても良い。その場合は、HBパケットに両待ち受けポート番号を記載すれば、何れの管理ソフトプロセス(GM)も、HBパケットに基づいて「管理セッション」と「割込セッション」とを、ポート番号が相互に異なる2ポートを用いて確立可能になる。
なお、PC1〜PC7では1台のPCにおいて、複数のDAWプロセスなどの複数のアプリケーションを同時に立ち上げることができ、それぞれのアプリケーションに異なるポート番号を設定することができる。そこで、PCで複数のDAWプロセスが起動された場合は、複数のDAWプロセス間で異なる待受ポート番号が決定されて、DAWプロセス毎の待ち受け通信路が準備される。他方、UIデバイスではコントローラソフトのみが立ち上げられることから、UIデバイスが決定する待受ポート番号には制約がなく、任意の待受ポート番号を決定することができる。例えば、全てのUIデバイスで共通の、所定のポート番号とすることができる。
ステップS31の処理が終了すると、ステップS32ないしステップS34の処理に進むが、ステップS32ないしステップS34の処理はイベントドリブンの処理とされ、ユーザが操作子の操作を行っていないときは待機状態となり、ユーザが操作子の操作を行ったときにイベントの処理が行われる。すなわち、ステップS32にてイベントの検出が行われ、ステップS33にてイベントがあるかないかが判断される。ステップS33においてイベントがないと判断された場合はステップS32に戻り、ステップS32とステップS33の処理が繰り返し行われることから待機状態となる。そして、ユーザがUIデバイスに備えられているいずれかの操作子あるいはDAWプロセスによりPCのディスプレイに表示されているいずれかの操作子の操作を行うと、ステップS33にて該操作子のイベントがあると検出されてステップS34に進み、検出されたイベント、すなわち、該操作子の操作内容に対応する処理がステップS34にて行われる。また、DAWの現在時刻の進行、タイマのタイムアップ、操作Device46としてPCに接続されているマウスの操作、他の機器からのデータ受信、同じ機器内の他のプロセスからのデータ受信等があった時も、ステップS33にてイベントがあると検出されて、検出されたイベントに対応する処理がステップS34にて行われる。
次に、図14を用いて、管理セッション、制御セッションおよび割込セッションに共通の、セッションの確立、データ転送、および開放の手順を説明する。この手順における論理的な経路の確立は、TCPにおける標準的なコネクションの確立、データ転送、および開放の手順に準ずる。
上記した各セッションを確立する場合は、クライアントとされるホストAが待ち受け状態(Listen)のサーバとされるホストBに、TCPパケットにおけるSYN(接続指示)フラグが「1」とされたイーサネットフレーム(TCP)が、ネットワーク2を介して送信される。このイーサネットフレーム(TCP)における宛先IPアドレスはホストBに割り当てられているIPアドレスとされ、ポート番号はホストBの待ち受けポート番号が設定される。確立するセッションが管理セッションあるいは割込セッションの場合は、ホストA(クライアント)は、管理ソフトプロセス(GM)を実行しているPCであり、ホストB(サーバ)は、UIデバイスあるいはDAWプロセスを実行しているPCである。ホストAは、HBリストに記憶されているホストBのIPアドレスと待ち受けポート番号を用いて、SYN(接続指示)を送信する。SYN(接続指示)の送信は、SYNフラグが「1」とされたイーサネットフレーム(TCP)を送信することにより行われる。
また、確立するセッションが制御セッションの場合は、ホストA(クライアント)は、UIデバイスであり、ホストB(サーバ)は、DAWプロセスを実行しているPCである。どのホストAとどのホストBを繋ぐかは、管理ソフトプロセス(GM)の管理下にあり、ホストAは、管理ソフトプロセス(GM)を実行しているCPU40から指示されたIPアドレスおよび待ち受けポート番号を用いて、SYN(接続指示)を送信する。
ホストAから送信されたSYNフラグが「1」とされたイーサネットフレーム(TCP)を受信したホストBは、ホストAからの接続指示に応えて接続確立を行うと共に、ホストBからのセッションの確立を要求するSYNフラグとACKフラグが「1」とされたイーサネットフレーム(TCP)を、ネットワーク2を介してホストAに送信する。ホストAはこれに応えて接続確立を行い、ACKフラグが「1」とされたイーサネットフレーム(TCP)を、ネットワーク2を介してホストBに送信する。これにより、セッションが確立される。このセッションの確立手法が3ウェイハンドシェイクと云われる。
セッションが確立される(ESTBLISHED)と、このセッションを利用してホストAからデータをホストBに送信できると共に、ホストBからデータをホストAに送信することができるようになる。なお、イーサネットフレーム(TCP)で送れるデータ量が所定量とされていることから、一般にデータは複数に分割されて送信される。このように分割したデータを送信する状態がシーケンス図において、ホストAからホストBへ向かう「DATA」シーケンスで示されている。図示するようにホストBが2回に分割したデータを正常に受信した場合は、ホストBはACKフラグが「1」とされたイーサネットフレーム(TCP)を、ホストAに送信する。また、シーケンス図において、ホストBからホストAへ向かう「DATA」シーケンスで示されている2回に分割されたデータを、ホストAが正常に受信した場合は、ホストAはACKフラグが「1」とされたイーサネットフレーム(TCP)を、ホストBに送信する。
そして、確立されたセッションを開放する場合は、FIN(切断指示)フラグが「1」とされたイーサネットフレーム(TCP)をネットワーク2を介して相手のホストに送信する。図示する場合は、ホストAがホストBにFIN(切断指示)フラグが「1」とされたイーサネットフレーム(TCP)をネットワーク2を介してホストBに送信する。ホストAから送信されたFINフラグが「1」とされたイーサネットフレーム(TCP)を受信したホストBは、ホストAからの切断指示に応えて接続開放を行うと共に、ホストBからのセッションの開放を要求するFINフラグとACKフラグとが「1」とされたイーサネットフレーム(TCP)を、ネットワーク2を介してホストAに送信する。ホストAはこれに応えて接続開放を行い、ACKフラグが「1」とされたイーサネットフレーム(TCP)を、ネットワーク2を介してホストBに送信する。これにより、セッションが開放される。これにより、ホストBにおけるセッションが確立状態(ESTBLISHED)から待ち受け状態(Listen)になる。
なお、セッションの確立シーケンスにおいて、所定時間内にACKが帰ってこなかった場合や、サーバから待ち受け状態にないことを示すACK(NACK:Negative ACKnowledgement)が送信された場合には、セッションを確立することができない。また、各セッションは、所定時間以上アクセスがない状態が継続した際に、タイマがタイムアップしてセッションは自動的に開放される。そこで、本発明にかかる音楽システム管理方法の実施例では、管理セッションおよび制御セッションについては、データの送信を行わない時間がタイムアップする直前に、そのセッションを継続するためのダミーデータ(KeepAliveパケット)を送信するようになっている。これにより、管理セッションおよび制御セッションは一度確立されると、音楽システムがシャットダウンされるまでは継続されるようになる。
管理ソフトプロセス(GM)は、HBリストのデータに基づいて、PCのディスプレイ48に図3に示すGM画面3を表示する。HBリストは、図12のHB受信処理が実行される毎に更新されることから、GM画面3には、ネットワーク2上に存在する最新のUIデバイス及びDAWプロセスが表示されている。GM画面3の「Outside」の欄3bで、ユーザが所望の1つのUIデバイスあるいはDAWプロセスを選択(以下、「対象D」と呼ぶ)して、左矢印ボタン3c(「←」)を操作したときに、対象Dの選択が受け付けられ、管理ソフトプロセスGMを実行しているPCのCPU40が図15に示すフローチャートのメンバ追加処理を実行する。このメンバ追加処理を、以下に説明する。なお、図3に示すGM画面3における「追加(←)」、「削除(→)」の操作は、システムの一般のユーザは行うことができず、システムの管理者のみに許された操作である。
GM画面3において、左矢印ボタン3c(「←」)が操作されると管理ソフトプロセスGMを実行しているPCのCPU40がメンバ追加処理を開始し、管理ソフトプロセス(GM)を実行しているPCのROM・RAM41に記憶されているHBリストがステップS40にて参照され、GM画面3の「Outside」の欄3bで選択された対象DのHBメッセージに記載されていた情報が読み出される。そして、対象DのHBメッセージに、メンバ追加処理を実行している管理ソフトプロセスが管理している音楽システム(ワークグループ)ではない他のシステムIDがあるか否かがステップS41にて判断される。
ステップS41にて他のシステムIDがないと判断された場合は、対象Dはいずれの音楽システム(ワークグループ)にも登録されていないことから、ステップS42に進み、対象Dとの間に管理セッションを確立して、管理ソフトプロセスが管理している音楽システムのシステムIDを管理セッションを通じて対象Dに書き込む。次いで、ステップS43にて制御セッションの初期設定処理が行われる。この初期設定処理が行われると、ステップS42で確立された管理セッションを用いて、対象DをコントロールするUIデバイスあるいは対象DがコントロールするDAWプロセスとの間に制御セッションが確立される。そして、ステップS44にてGM画面3において「Outside」の欄3bで選択された対象Dを消去して、「Workgroup」の欄3aに対象Dを表示させる。これにより、メンバ追加処理は終了する。
また、ステップS41にて他のシステムIDがあると判断された場合、すなわち、そのUIデバイスあるいはDAWプロセスが、他のシステムに参加している場合は、対象Dは他の管理ソフトプロセス(GM’)にメンバとして登録されており、その管理ソフトプロセスとの間に管理セッションが確立されていることから、ステップS45に分岐して、対象Dとの間に割込セッションを、読み出されたHBリストに書かれている待ち受けポート番号で確立する。この場合、対象Dが他の管理ソフトプロセス(GM’)と割込セッション中であれば、その終了を待って行う。ただし、待ち時間が長すぎ得る場合はユーザにその旨を警告する。そして、確立された割込セッションを利用して対象Dをメンバとする交渉をステップS46にて行う。そして交渉が成立した場合は、現在メンバとなっている音楽システム(ワークグループ)から対象Dを外すために、対象Dが、既存の管理セッションを利用して、前記他の管理ソフトプロセス(GM’)に管理セッションの開放を要求し、該他の管理ソフトプロセス(GM’)は、その開放要求に応じて、管理セッションを開放する。ここでの交渉は、例えば、当該管理ソフトプロセス(GM)にログオンしたユーザが、他の管理ソフトプロセス(GM’)に登録されている(権限を有している)場合に成立し、登録されていない場合に不成立となるようにすればよい。あるいは、対象Dに、「横取りを禁止する」設定が行われていなければ交渉が成立し、同設定が行われていれば不成立となるようにしてもよい。あるいは、先述したとおり、メンバ追加処理を実行できるユーザは、管理者に限られるため、ステップS46に関しては、無条件で(必ず)交渉成立するようにしてもよい。
次いで、ステップS45で確立した割込セッションをステップS47にて開放する。割込セッションを開放する処理が終了するとステップS48において、他の管理ソフトプロセス(GM’)に要求した管理セッションが開放されたか否かが判断される。ここで、対象Dの管理セッションの状態を示すフラグを参照して、当該管理セッションが開放されたと判断された場合は、上記したステップS42ないしステップS44の処理が行われて、メンバ追加処理を実行している管理ソフトプロセス(GM)が管理する音楽システムのメンバに対象Dが追加される。また、ステップS48にて管理セッションが開放されていないと判断された場合は、対象Dは依然として他の管理ソフトプロセス(GM’)が管理する音楽システムのメンバとなっており、対象Dをメンバとして追加できないことから、ステップS49に進み横取りできない旨をPCのディスプレイ48に表示するなどしてユーザに警告する。ステップS44あるいはステップS49の処理が終了すると、メンバ追加処理は終了する。
なお、GM画面3において、対象Dを同時に複数選択して追加できるようにしてもよい。この場合は、複数選択された対象D毎に上記した処理が行われるようになる。
管理ソフトプロセス(GM)は、記憶しているHBリストにおけるHBメッセージの受信時刻を監視しており、その受信時刻が更新されずに所定時間以上経過したとき、すなわち、HBリストにデータが有るUIデバイスあるいはDAWプロセス(以下、「対象D」と呼ぶ)からのHBパケットを、所定時間以上受信することができなかったときに管理ソフトプロセス(GM)を実行しているPCのCPU40が実行するHBエラー処理のフローチャートを図16に示し、HBエラー処理を説明する。
管理ソフトプロセス(GM)が記憶しているHBリストの対象Dのうちの何れかの対象Dについて、受信時刻からの経過時間が所定時間を越えたことが検出されると、管理ソフトプロセス(GM)を実行しているPCのCPU40がHBエラー処理を開始して、ステップS50にて管理セッションを用いて当該対象Dにアクセスする。このアクセスでは、例えば空のデータ本体のイーサネットフレーム(TCP)を対象Dに送信する。そして、当該対象DからACKフラグが「1」のイーサネットフレーム(TCP)が返信されるかを確認する。このイーサネットフレーム(TCP)が返信されてきたときは、その管理ソフトプロセス(GM)が管理する音楽システム(ワークグループ)に当該対象Dが存在していることになるから、ステップS51にて当該対象Dが存在すると判断されてステップS54に分岐する。ステップS54では、HBリストにおける当該対象Dからの受信時刻が現在の時刻に更新されて、HBエラー処理は終了する。
また、当該対象Dからの上記したイーサネットフレーム(TCP)の返信がないときは、その管理ソフトプロセス(GM)が管理する音楽システム(ワークグループ)に当該対象Dが存在していないことになる。この場合は、ステップS51にて当該対象Dが存在しないと判断されてステップS52に進み、その管理ソフトプロセス(GM)が記憶しているHBリストから当該対象Dを消去する。そして、ステップS53にてGM画面3において「Workgroup」の欄3aから当該対象Dが消去される。これにより、HBエラー処理は終了する。以上に説明したステップS23〜S25、および、ステップS53の処理により、欄3a、3bには、現在、HBメッセージの受信により存在が確認されているUIデバイスおよびDAWプロセスのみが表示され、HBメッセージが届いていないUIデバイスおよびDAWプロセスは表示されないよう制御される。
本発明にかかる音楽システム制御方法において、UIデバイスがコントロールするDAWプロセスを選択する選択ボタンがUIデバイスにおいて操作されると、UIデバイスおよび当該UIデバイスがメンバとなっている音楽システムを管理する管理ソフトプロセス(GM)において一連の処理が行われて、選択されたDAWプロセスをそのUIデバイスによりコントロールできるようになる。この際にUIデバイスにおけるCPU51で行われるB(ボタン)押下時処理および当該UIデバイスがメンバとなっている音楽システムを管理する管理ソフトプロセス(GM)を実行しているPCのCPU40で行われるB押下受信処理のフローチャートを図17に示し、これらの一連の処理を説明する。
UIデバイスであるフェーダコントローラ10において選択ボタン26のいずれかが操作されたとき、あるいは、メインコントローラ11において選択ボタン31のいずれかが操作されたときに、選択ボタンが操作されたUIデバイスにおけるCPU51がB押下時処理を開始し、選択ボタンが操作されたことによりどのDAWプロセスが選択されたかの情報が管理セッションを用いて、当該UIデバイスがメンバとなっている音楽システムを管理する管理ソフトプロセス(GM)にステップS60にて送信される。これにより、B押下時処理は終了し、上記した情報を、当該UIデバイスがメンバとなっている音楽システムを管理する管理ソフトプロセス(GM)が受信すると、DAWプロセスの選択が受け付けられ、当該管理ソフトプロセス(GM)を実行しているPCのCPU40がB押下受信処理を開始する。
B押下受信処理が開始されると、選択されたDAWプロセスが、当該UIデバイスで確立されている現制御セッションの相手先のDAWプロセスと同じか否かが判断される。ここで、同じと判断された場合は現設定を変更する必要がないことから、B押下受信処理は終了し、同じでないと判断された場合は、ステップS62に進む。ステップS62では、管理ソフトプロセス(GM)を実行中のPCは、当該UIデバイスに対して、管理セッションを用いて、現制御セッションの開放要求を送信する。現制御セッションの開放要求を受信した当該UIデバイスは、当該制御セッションを用いて、接続先のDAWプロセスを実行しているPCに対して切断指示(FIN)を送信し、これにより、図14に示す手順に従い、当該制御セッションが開放される。そして、該開放を確認した当該UIデバイスは、当該制御セッションの開放完了を通知する開放応答を、管理セッションを用いて、管理ソフトプロセス(GM)を実行しているPCに送信する(ステップS66)。これを受けて、管理ソフトプロセス(GM)を実行しているPCは、UIデバイスで選択されたDAWプロセスを実行しているPCに対して、管理セッションを用いて、新たな制御セッションのための待受要求を送信する(ステップS63)。ステップS67では、このポート番号を待ち受けポート番号として決定するだけでなく、そのポート番号を使用したサーバ動作を開始する。すなわち、当該DAWプロセスを実行しているPCは、その待受要求を受信し、当該PCで未使用のポート番号を待ち受けポート番号として決定し、サーバとしての、該待ち受けポート番号の示すポートでの制御セッションの待ち受け動作を開始するとともに、該待ち受けポート番号を記入した待受応答を、管理セッションを用いて、管理ソフトプロセス(GM)を実行しているPCに送信する。
この待受応答を受信したPC(管理ソフトプロセス(GM))は、当該UIデバイスに対して、当該DAWプロセスを実行しているPCのIPアドレス、および該待受応答に記載されていた待ち受けポート番号の情報が含まれる制御セッション確立要求を管理セッションを通じて送信する(ステップS64)。この確立要求を受信した当該UIデバイスは、そこに記載されているIPアドレスのPCの、同記載されているポート番号のポートに、制御セッションの接続指示(SYN)を送信し、これにより、図14に示す手順に従い、該PCの当該DAWプロセスとの間の制御セッションが確立される。そして、該確立を確認したUIデバイスは、当該制御セッションの確立完了を通知する確立応答を、管理セッションを用いて、管理ソフトプロセス(GM)を実行しているPCに送信する(ステップS68)。ここで、ステップS66〜S68の各処理が全て成功し、当該UIデバイスと選択されたDAWプロセスとの間の制御セッションが確立された場合には、管理ソフトプロセス(GM)が、当該UIデバイスの操作された選択ボタンの点灯要求を管理セッションを通じて送信する(ステップS65)。点灯要求を受信した当該UIデバイスは、選択前に点灯していた選択ボタンを消灯して、選択された選択ボタンを点灯させ、選択された選択ボタンが点灯された旨を管理ソフトプロセス(GM)に送信する(ステップS69)。管理ソフトプロセス(GM)では、選択ボタンが点灯された旨の応答があったことを確認してB押下受信処理を終了する。また、ステップS66〜S68の何れかの処理が失敗した場合は、管理ソフトプロセス(GM)を実行しているPCの表示デバイスに、エラーの発生を示すエラー表示を行う。
上記したように、UIデバイスはDAWプロセスの1つに制御セッションを介して接続されており、UIデバイスに設けられている操作子を操作することにより、一連の処理が行われてDAWプロセスのパラメータを操作することができる。この際にUIデバイスにおけるCPU51で行われるP(パラメータ)操作時処理および表示更新処理と、当該UIデバイスで制御されるDAWプロセスを実行しているPCのCPU40で行われるP操作受信処理のフローチャートを図18に示し、これらの一連の処理を説明する。
UIデバイスに設けられているいずれかの操作子を操作すると、当該UIデバイスにおけるCPU51がP操作時処理を開始し、ステップS70にて制御セッションを用いて操作された操作子のP(パラメータ)操作イベントを、当該UIデバイスがDAWプロセスに制御セッションを用いて送信する。これにより、P操作時処理は終了するが、P操作イベントを受信したDAWプロセスを実行しているPCのCPU40がP操作受信処理を開始し、ステップS71にて対応するパラメータ値をP操作イベントに応じて変更する。次いで、ステップS72にてパラメータ値の変更結果に応じた表示用データを当該UIデバイスに制御セッションを用いて送信する。これにより、P操作受信処理は終了するが、表示用データを受信した当該UIデバイスにおけるCPU51が表示更新処理を開始し、ステップS73にて表示用データに基づいて、パラメータの値が表示されたり、操作された操作子がボタンの場合はLEDが点灯されたり、あるいは、パラメータがフェーダレベルの場合はフェーダ21が駆動される。これにより、表示更新処理処理は終了する。
なお、UIデバイスにおいて操作することのできる対象パラメータとしては、DAWプロセスが起動されたPCのディスプレイ48に表示される各種画面のオープンまたはクローズ、トラックに関しては、音響データの時間軸上の位置の設定、録音の開始および停止、再生の開始および停止、などとされ、ミキサ画面に関しては、各入力ch、各トラックch、各バスch、各出力chのパラメータ設定とされ、各chに関しては、フェーダ値、オン/オフ、センドレベル値、イコライザ設定、コンプレッサ設定などとされる。さらに、各chにインサートされたプラグインエフェクトの設定の操作とされる。
以上説明した本発明にかかる音楽システム管理方法は、管理ソフトプロセスが、まず、ネットワーク上の選択した音楽ソフトプロセス及びコントローラとの間に管理コネクションを確立する。そして、その管理コネクションを介して、各コントローラと所望の音楽ソフトプロセスとの間に制御コネクションを確立する。そして、コントローラによる音楽ソフトプロセスのリモート制御は、該制御コネクションを介して行われる。このような本発明にかかる音楽システム管理方法において、図3に示すGM画面3には、他の音楽システムに属するUIデバイスやDAWプロセスについて、どの音楽システムに属するかを識別できるように表示してもよい。
また、上記説明した音楽システムは、DAWプロセスとUIデバイスとで構成されるシステムであったが、ミキサエンジンとUIデバイスによるシステムや、音源デバイスとUIデバイスによるシステムなどに本発明にかかる音楽システム管理方法を適用しても良い。その場合、管理ソフトプロセス(GM)は、別途用意されたPCで起動しても良いし、ミキサエンジンや音源デバイスのCPUで起動してもよい。また、ユーザは、UIデバイスで、ミキサエンジンや音源デバイスなどをリモート制御できる。
なお、本発明にかかる音楽システム管理方法において、各セッションの種類が管理セッションであるか制御セッションであるかは、管理ソフトプロセス、DAW(音楽ソフト)プロセス、及びUIデバイス(コントローラ)が、それぞれ、自身に確立された各セッション毎に区別しており、パケットをセッションを介して送信する際に、そのセッションの種類に応じたパケットを形成して送信するようになっている。本発明にかかる音楽システム管理方法では、セッションは何れも皆TCPコネクションであり、ここでの種類の違いは、流れるパケットの違いということになる。
また、本発明にかかる音楽システム管理方法において、ネットワーク技術規格はイーサネットに限るものではなく、他のネットワーク技術規格を採用することができる。この場合、採用されたネットワーク技術規格に応じたフレームやパケットのデータ構成とされる。さらに、コントローラのパネル構成は一例であり、操作子をロータリエンコーダ等としたり、任意の位置に所望の種類の操作子等を配置することができる。さらにまた、コントローラにおいて、物理的な操作子に替えてディスプレイに表示したUI画面の操作子としてもよく、例えば、コントローラソフトウェアをインストールしたタブレット端末をコントローラとすることができる。さらにまた、PCやUIデバイスのハードウェア構成は一例であって、図示した構成に限るものではない。
1 音楽システム、2 ネットワーク、3 GM画面、3a 「Workgroup」の欄、3b 「Outside」の欄、3c 左矢印ボタン、3d 右矢印ボタン、4 UIデバイス、10 フェーダコントローラ、11 メインコントローラ、20a ストリップ部、20b コントロール部、21 フェーダ、22 ch名表示部、23 ノブ、24 第1操作子、25 第2操作子、26 選択ボタン、26a〜26c ボタン、31 選択ボタン、31a〜31c ボタン、40 CPU、41 ROM・RAM、42 不揮発Mem.、43 Audio IO、44 Audio Device、45 操作IO、46 操作Device、47 表示IO、48 ディスプレイ、49 NIO、50 CPUバス、51 CPU、52 ROM・RAM、53 不揮発Mem.、54 操作子、55 表示器、56 NIO、57 バス、DAW 音楽ソフト、GM 管理ソフトプロセス、PC1〜PC7 パソコン、M1〜M3 メインコントローラ、F1〜F5 フェーダコントローラ

Claims (5)

  1. 1のコンピュータで起動された管理ソフトプロセスが、ネットワークを介して接続されている複数のコンピュータで起動された複数の音楽ソフトプロセスと、該ネットワークに接続された複数のコントローラとを制御して、1つの音楽システムとして動作させる音楽システム管理方法であって、
    前記管理ソフトプロセスは、
    ユーザから、前記複数の音楽ソフトプロセスと前記複数のコントローラの中から所望の音楽ソフトプロセスとコントローラの選択を受け付ける第1の過程と、
    前記ネットワークを介して、前記第1の過程で受け付けられた音楽ソフトプロセスおよびコントローラと通信を行い、該音楽ソフトプロセスおよびコントローラと前記管理ソフトプロセスの間で管理通信を行うための管理セッションを前記ネットワーク上に確立する第2の過程と、
    ユーザから、各コントローラに対して制御対象となる1の音楽ソフトプロセスの選択を受け付ける第3の過程と、
    前記管理セッションを介して、各コントローラおよび前記第3の過程で受け付けられた1の音楽ソフトプロセスと通信を行い、該コントローラの現在の制御セッションを開放するとともに、前記ネットワーク上に、該コントローラと該1の音楽ソフトプロセスの間で制御通信を行うための新たな制御セッションを確立する第4の過程と、
    を有し、
    ユーザによる各コントローラの操作に応じて、当該コントローラは、当該コントローラとの間に制御セッションが確立された音楽ソフトプロセスを、前記制御セッションを介してリモート制御することを特徴とする音楽システム管理方法。
  2. 前記ネットワーク上の複数のコンピュータで複数の管理ソフトプロセスが起動され、前記複数の音楽ソフトプロセスおよび前記複数のコントローラは、それぞれ、前記複数の管理ソフトプロセスのうちの何れか1つの管理ソフトプロセスのみとの間に前記管理セッションを確立することができ、
    前記複数の管理ソフトプロセスのうちの何れか1つの管理ソフトプロセスと、当該管理ソフトプロセスとの間に管理セッションが確立された音楽ソフトプロセスおよびコントローラにより1つの音楽システムが構築され、結果として、前記ネットワーク上には、複数の管理ソフトプロセスに対応する複数の音楽システムが構築されることを特徴とする請求項1に記載の音楽システム管理方法。
  3. 前記複数の管理ソフトプロセスのそれぞれは、
    さらに、当該管理ソフトプロセスとは異なる管理ソフトプロセスとの間において、既に管理セッションが確立されている音楽ソフトプロセス又はコントローラとの間で、割込通信を行うための割込セッションを一時的に確立する第5の過程と、
    前記割込セッションを介して、該割込セッションが確立された音楽ソフトプロセス又はコントローラと通信を行い、該割込セッションを開放させるとともに、前記ネットワーク上に、該音楽ソフトプロセスおよびコントローラと当該管理ソフトプロセスの間で管理通信を行うための管理セッションを確立する第6の過程と、
    を有していることを特徴とする請求項2に記載の音楽システム管理方法。
  4. 前記複数の管理ソフトプロセスのそれぞれは、
    さらに、当該管理ソフトプロセスとは異なる管理ソフトプロセスとの間において、既に管理セッションが確立されている音楽ソフトプロセス又はコントローラとの間で、割込通信を行うための割込セッションを一時的に確立する第7の過程と、
    前記割込セッションを介して、該割込セッションが確立された音楽ソフトプロセス又はコントローラに情報を送信、又は、同音楽ソフトプロセス又はコントローラから情報を入手する第8の過程と、
    を有していることを特徴とする請求項2に記載の音楽システム管理方法。
  5. あるコンピュータで起動された音楽ソフトプロセスに確立された各制御セッションは、同じコンピュータで確立されている前記管理セッションおよび他の制御セッションで使用されていないポート番号を使用して確立されることを特徴とする請求項1記載の音楽システム管理方法。
JP2012242376A 2012-11-02 2012-11-02 音楽システム管理方法 Expired - Fee Related JP5720656B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012242376A JP5720656B2 (ja) 2012-11-02 2012-11-02 音楽システム管理方法
EP13190768.5A EP2728834A1 (en) 2012-11-02 2013-10-30 Music system managing method
US14/070,230 US9703866B2 (en) 2012-11-02 2013-11-01 Music system managing method
CN201310538288.3A CN103812588B (zh) 2012-11-02 2013-11-04 音乐系统管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012242376A JP5720656B2 (ja) 2012-11-02 2012-11-02 音楽システム管理方法

Publications (2)

Publication Number Publication Date
JP2014093624A JP2014093624A (ja) 2014-05-19
JP5720656B2 true JP5720656B2 (ja) 2015-05-20

Family

ID=49518711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012242376A Expired - Fee Related JP5720656B2 (ja) 2012-11-02 2012-11-02 音楽システム管理方法

Country Status (4)

Country Link
US (1) US9703866B2 (ja)
EP (1) EP2728834A1 (ja)
JP (1) JP5720656B2 (ja)
CN (1) CN103812588B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010112069A1 (en) * 2009-04-01 2010-10-07 Nokia Siemens Networks Oy Optimized interface between two network elements operating under an authentication, authorization and accounting protocol
JP6924195B2 (ja) 2015-10-02 2021-08-25 ウィルソン、シドニィ、ジー.ジュニア 一体化された着脱式フェーダコンポーネントを備えるdj装置
KR102651249B1 (ko) * 2018-06-01 2024-03-27 애플 인크. 디지털 어시스턴트를 이용한 오디오 정보 제공
US11158014B2 (en) 2020-02-29 2021-10-26 Aurign, Inc. System and methods for tracking authorship attribution and creating music publishing agreements from metadata
US11500971B2 (en) 2020-02-29 2022-11-15 Aurign, Inc. System for creating music publishing agreements from metadata of a digital audio workstation
US11425522B1 (en) * 2021-04-30 2022-08-23 Little Dog Live, LLC Audio workstation control over computing networks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949012A (en) * 1995-12-27 1999-09-07 Kabushiki Kaisha Kawai Gakki Seisakusho Electronic musical instrument and music performance information inputting apparatus capable of inputting various music performance information with simple operation
US6332154B2 (en) * 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
EP1555772A3 (en) * 2004-01-15 2013-07-17 Yamaha Corporation Remote control method of external devices
US7592532B2 (en) * 2004-09-27 2009-09-22 Soundstreak, Inc. Method and apparatus for remote voice-over or music production and management
JP4432814B2 (ja) * 2005-03-25 2010-03-17 ヤマハ株式会社 演奏データ通信管理システム及び演奏データ通信管理装置
EP1708395A3 (en) * 2005-03-31 2011-11-23 Yamaha Corporation Control apparatus for music system comprising a plurality of equipments connected together via network, and integrated software for controlling the music system
JP4655722B2 (ja) * 2005-03-31 2011-03-23 ヤマハ株式会社 ネットワーク接続された複数の機器の動作及び接続設定のための統合プログラム
US7684356B2 (en) * 2005-04-22 2010-03-23 Alcatel Lucent System and method for providing hotline and preemption features in real-time communications using presence and preference information
US8806035B2 (en) * 2005-05-12 2014-08-12 Hewlett-Packard Development Company, L.P. Transfer of control in digital content access sessions
US7847174B2 (en) * 2005-10-19 2010-12-07 Yamaha Corporation Tone generation system controlling the music system
JP4904868B2 (ja) * 2006-03-20 2012-03-28 ヤマハ株式会社 遠隔制御装置、その制御対象となる音響装置、及び、遠隔制御用プログラム
EP1841108B1 (en) * 2006-03-28 2015-11-18 Yamaha Corporation Music processing apparatus and management method therefor
JP5434405B2 (ja) 2009-09-08 2014-03-05 ヤマハ株式会社 電子音楽システムを制御する制御方法を実現するためのプログラム
KR101262849B1 (ko) * 2009-11-30 2013-05-09 한국전자통신연구원 가상화 시스템 상에서 영상장치를 할당 및 해제하기 위한 장치 및 방법

Also Published As

Publication number Publication date
US9703866B2 (en) 2017-07-11
CN103812588A (zh) 2014-05-21
US20140129013A1 (en) 2014-05-08
CN103812588B (zh) 2017-06-16
JP2014093624A (ja) 2014-05-19
EP2728834A1 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
JP5720656B2 (ja) 音楽システム管理方法
US11909588B2 (en) Wireless device connection
JP5733289B2 (ja) 音楽システム制御方法
US11456928B2 (en) Playback device connection
US10228898B2 (en) Identification of playback device and stereo pair names
JP4235188B2 (ja) オーディオ関連システムの通信プロトコル
US20150063602A1 (en) Exchange of metadata between a live sound mixing console and a digital audio workstation
WO2011095056A1 (zh) 一种远程桌面体系的音频处理方法和设备
US20120191816A1 (en) Method and apparatus for collecting diagnostic information
WO2014180234A1 (zh) 虚拟桌面重现、推送的方法、装置及虚拟桌面系统
US11140206B2 (en) Architecture for a media system
WO2015118589A1 (ja) 情報処理装置、情報処理方法及びプログラム
US20140237047A1 (en) Automated command and discovery process for network communications
Turner et al. The Ethernet Speaker System.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150309

LAPS Cancellation because of no payment of annual fees