(57)【要約】  複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームを提供する。音楽連動制御マスター３のマスター制御部３５は、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤ３１及びマスター音楽連動演出器３２を制御する機能を有している。複数の音楽連動制御スレーブ５のスレーブ制御部５５は、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ５１及びスレーブ音楽連動演出器５２を制御する機能を有している。
2019022256.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームにおいて、
マスター音楽再生プレーヤと、個別時刻を発生する個別時刻発生器、通信手段及び前記マスター音楽再生プレーヤのマスター制御部を構成するマスタープロセッサを備えて、複数の音楽コンテンツの中から選択した音楽コンテンツを再生するように前記マスター音楽再生プレーヤを制御する１以上の音楽連動制御マスターと、
スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つと、個別時刻を発生する個別時刻発生器、通信手段並びに前記スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部を構成するスレーブプロセッサを備えて、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する複数の音楽連動制御スレーブと、
基準時刻を発生する基準時刻発生器と通信ネットワークを介して前記１以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブと接続される通信手段を有するサーバプロセッサを備え、
前記サーバプロセッサにより、
前記１以上の音楽連動制御マスターからステージ作成コマンドが入力されるとステージを作成するとともに仮想音楽再生プレーヤを作成し、
前記１以上の音楽連動制御マスターからステージ削除コマンドが入力されると前記仮想音楽再生プレーヤを削除するとともに前記ステージを削除し、
前記１以上の音楽連動制御マスターから前記音楽コンテンツの再生に関する操作コマンドが入力されると前記仮想音楽再生プレーヤの状態を更新し、
前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、前記仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると前記仮想音楽再生プレーヤの状態を、前記確認コマンドを送信してきた前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに返信し、
前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、基準時刻と前記個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの前記基準時刻を、前記同期要求コマンドを送信してきた前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに送信する音楽連動制御サーバとを具備し、
前記仮想音楽再生プレーヤの状態は、少なくとも前記１以上の音楽連動制御マスターで再生する前記音楽コンテンツを特定する音楽コンテンツを識別する識別子、最新の前記操作コマンドで指令された最新の操作内容、前記操作コマンドが操作対象とするコンテンツ内再生時刻、前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を含んでおり、
前記１以上の音楽連動制御マスターの前記マスター制御部は、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記マスター音楽再生プレーヤを制御する機能を有しており、
前記複数の音楽連動制御スレーブの前記スレーブ制御部は、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する機能を有していることを特徴とする音楽連動制御プラットフォーム。
【請求項２】
前記１以上の音楽連動制御マスターの前記マスター制御部は、前記個別時刻におけるコンテンツ内再生時刻に基づいて前記マスター音楽再生プレーヤを制御する際に、前記マスター音楽再生プレーヤが前記音楽コンテンツを実際に再生している実際のコンテンツ内再生時刻を取得し、前記実際のコンテンツ内再生時刻と、本来再生しているべき前記個別時刻における本来のコンテンツ内再生時刻とのずれを計算し、前記ずれが一定時間以上の場合には、前記ずれがなくなって前記個別時刻における本来のコンテンツ内再生時刻で再生するように前記マスター音楽再生プレーヤの再生を制御する機能を有している請求項１に記載の音楽連動制御プラットフォーム。
【請求項３】
前記複数の音楽連動制御スレーブの前記スレーブ制御部は、前記スレーブ音楽再生プレーヤを有しており、前記個別時刻におけるコンテンツ内再生時刻に基づいて前記スレーブ音楽再生プレーヤを制御する際に、前記スレーブ音楽再生プレーヤが前記音楽コンテンツを実際に再生している実際のコンテンツ内再生時刻を取得し、前記実際のコンテンツ内再生時刻と、本来再生しているべき前記個別時刻における本来のコンテンツ内再生時刻とのずれを計算し、前記ずれが一定時間以上の場合には、前記ずれがなくなって前記個別時刻における本来のコンテンツ内再生時刻で再生するように前記スレーブ音楽再生プレーヤの再生を制御する機能を有している請求項１に記載の音楽連動制御プラットフォーム。
【請求項４】
前記ステージは、前記音楽連動制御マスターにシークレットキーとアクセスキーを発行する機能を有しており、前記１以上の音楽連動制御マスターが前記音楽連動制御サーバの前記ステージと通信する際にはシークレットキーとアクセスキーを用いてアクセスし、前記複数の音楽連動制御スレーブが前記音楽連動制御サーバの前記ステージと通信する際には前記１以上の音楽連動制御マスターに対して発行された前記アクセスキーを用いてアクセスする請求項１に記載の音楽連動制御プラットフォーム。
【請求項５】
前記音楽連動制御サーバは、前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブからアクセスがあると、前記アクセスキーに基づいて前記ステージと前記仮想音楽再生プレーヤを特定する機能を有している請求項１に記載の音楽連動制御プラットフォーム。
【請求項６】
前記ステージは、初めてアクセスしてきた前記１以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブに、それぞれ識別ＩＤを付与する機能を有し、
前記ステージは、前記識別ＩＤとアクセス時刻に基づいて、前記１以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブの接続状況を管理する機能を更に備えている請求項１に記載の音楽連動制御プラットフォーム。
【請求項７】
前記仮想音楽再生プレーヤの状態として、
前記操作コマンドが再生コマンドの場合には、前記最新の操作内容としては再生状態が記録され、再生開始時刻として前記コンテンツ内再生時刻が記録されており、
前記操作コマンドが停止コマンドの場合には、前記操作内容としては停止状態が記録されて、再生停止時刻として前記コンテンツ内再生時刻が指定されている請求項１に記載の音楽連動制御プラットフォーム。
【請求項８】
前記操作コマンドがシークコマンドの場合には、前記操作内容としては再生中のシーク状態または停止中のシーク状態が記録されて、シーク先時刻として前記コンテンツ内再生時刻が記録されている請求項１または７に記載の音楽連動制御プラットフォーム。
【請求項９】
前記１以上の音楽連動制御マスターは、表示画面を有する表示部を備えた通信端末機であり、
前記表示画面に前記マスター音楽再生プレーヤの入力インターフェイスを表示するように構成されている請求項１に記載の音楽連動制御プラットフォーム。
【請求項１０】
前記１以上の音楽連動制御マスターの前記マスター制御部及び前記複数の音楽連動制御スレーブの前記スレーブ制御部は、定期的に前記音楽連動制御サーバに前記仮想音楽再生プレーヤの状態を確認する前記確認コマンドを送信し、前記音楽連動制御サーバから送信されてきた前記仮想音楽再生プレーヤの状態の変化を検出すると、前記仮想音楽再生プレーヤの状態の変化に応じて前記マスター音楽再生プレーヤ及び前記スレーブ音楽再生プレーヤまたは前記スレーブ音楽連動演出器を制御する機能を有する請求項１に記載の音楽連動制御プラットフォーム。
【請求項１１】
前記１以上の音楽連動制御マスターのマスター制御部及び前記複数の音楽連動制御スレーブのスレーブ制御部は、前記音楽コンテンツに対応する楽曲解析結果を取得すると、前記楽曲解析結果には１以上のイベントが含まれており、前記マスター音楽再生プレーヤ及び前記スレーブ音楽再生プレーヤが再生動作をしているときに、前記マスター音楽再生プレーヤ及び前記スレーブ音楽再生プレーヤにおける前記コンテンツ内再生時刻が前記イベントの時刻に一致したか否かを判定し、一致した前記イベントに対する処理内容を実行する機能を有している請求項１乃至１０のいずれか１項に記載の音楽連動制御プラットフォーム。
【請求項１２】
前記複数の音楽連動制御スレーブの前記スレーブ音楽連動演出器は、前記イベントに対する処理内容を実行することによって、前記音楽の楽曲解析結果に連動して制御される請求項１１に記載の音楽連動制御プラットフォーム。
【請求項１３】
前記１以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブは、前記音楽コンテンツに含まれる前記楽曲解析結果に応じて前記１以上のイベントに対応する前記処理内容を設定する機能を有している請求項１１に記載の音楽連動制御プラットフォーム。
【請求項１４】
前記イベントは、前記楽曲解析結果に含まれるビート、小節、サビ区間、繰り返し区間、またはコードに基づいて定められている請求項１１乃至１３のいずれか１項に記載の音楽連動制御プラットフォーム。
【請求項１５】
前記１以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブは、前記個別時刻と、前記同期要求コマンドを要求して得た前記音楽連動制御サーバの前記基準時刻とのずれをオフセット時間として記録しており、前記オフセット時間が予め定めた値より大きく変動していたら、前記マスター音楽再生プレーヤ及び前記スレーブ音楽再生プレーヤにおける前記本来のコンテンツ内再生時刻を補正する機能を有する請求項１に記載の音楽連動制御プラットフォーム。
【請求項１６】
前記１以上の音楽連動制御マスターが、前記スレーブ音楽連動演出器と同様のマスター音楽連動演出器を備えている請求項１に記載の音楽連動制御プラットフォーム。
【請求項１７】
複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームにおいて、
マスター音楽再生プレーヤと、個別時刻を発生する個別時刻発生器、通信手段及び前記マスター音楽再生プレーヤのマスター制御部を構成するマスタープロセッサを備えて、複数の音楽コンテンツの中から選択した音楽コンテンツを再生するように前記マスター音楽再生プレーヤで制御する音楽連動制御マスターと、
スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つと、個別時刻を発生する個別時刻発生器、通信手段並びに前記スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部を構成するスレーブプロセッサを備えて、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する複数の音楽連動制御スレーブと、
基準時刻を発生する基準時刻発生器と通信ネットワークを介して前記音楽連動制御マスター及び前記複数の音楽連動制御スレーブと接続される通信手段を有するサーバプロセッサを備え、
前記サーバプロセッサにより、
前記音楽連動制御マスターからステージ作成コマンドが入力されるとステージを作成するとともに仮想音楽再生プレーヤを作成し、
前記音楽連動制御マスターからステージ削除コマンドが入力されると前記仮想音楽再生プレーヤを削除するとともに前記ステージを削除し、
前記音楽連動制御マスターから前記音楽コンテンツの再生に関する操作コマンドが入力されると前記仮想音楽再生プレーヤの状態を更新し、
前記音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、前記仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると前記仮想音楽再生プレーヤの状態を、前記確認コマンドを送信してきた前記音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに返信し、
前記音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、基準時刻と前記個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの前記基準時刻を、前記同期要求コマンドを送信してきた前記音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに送信する音楽連動制御サーバとを具備し、
前記仮想音楽再生プレーヤの状態は、少なくとも前記音楽連動制御マスターで再生する前記音楽コンテンツを特定する音楽コンテンツを識別する識別子が得られるＵＲＬ、最新の前記操作コマンドで指令された最新の操作内容、前記操作コマンドが操作対象とするコンテンツ内再生時刻、前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を含んでおり、
前記複数の音楽連動制御スレーブの前記スレーブ制御部は、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する機能を有していることを特徴とする音楽連動制御プラットフォーム。
【請求項１８】
複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームの制御方法であって、
前記音楽連動制御プラットフォームは、
マスター音楽再生プレーヤと、個別時刻を発生する個別時刻発生器、通信手段及び前記マスター音楽再生プレーヤのマスター制御部を構成するマスタープロセッサを備えて、複数の音楽コンテンツの中から選択した音楽コンテンツを再生するように前記マスター音楽再生プレーヤを制御する１以上の音楽連動制御マスターと、
スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つと、個別時刻を発生する個別時刻発生器、通信手段並びに前記スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部を構成するスレーブプロセッサを備えて、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する複数の音楽連動制御スレーブと、
基準時刻を発生する基準時刻発生器と通信ネットワークを介して前記１以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブと接続される通信手段を有するサーバプロセッサを備え、
前記サーバプロセッサにより、
前記１以上の音楽連動制御マスターからステージ作成コマンドが入力されるとステージを作成するとともに仮想音楽再生プレーヤを作成し、
前記１以上の音楽連動制御マスターからステージ削除コマンドが入力されると前記仮想音楽再生プレーヤを削除するとともに前記ステージを削除し、
前記１以上の音楽連動制御マスターから前記音楽コンテンツの再生に関する操作コマンドが入力されると前記仮想音楽再生プレーヤの状態を更新し、
前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、前記仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると前記仮想音楽再生プレーヤの状態を、前記確認コマンドを送信してきた前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに返信し、
前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、基準時刻と前記個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの前記基準時刻を、前記同期要求コマンドを送信してきた前記１以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに送信する音楽連動制御サーバとを具備し、
前記仮想音楽再生プレーヤの状態は、少なくとも前記１以上の音楽連動制御マスターで再生する前記音楽コンテンツを特定する音楽コンテンツを識別する識別子、最新の前記操作コマンドで指令された最新の操作内容、前記操作コマンドが操作対象とするコンテンツ内再生時刻、前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を含んでおり、
前記１以上の音楽連動制御マスターの前記マスター制御部が、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記マスター音楽再生プレーヤを制御し、
前記複数の音楽連動制御スレーブの前記スレーブ制御部が、前記前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御することを特徴とする音楽連動制御プラットフォームの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法に関するものである。
【背景技術】
【０００２】
音楽は、音だけでも楽しまれるが、ミュージックビデオで音楽と映像が連動するように、音楽の再生に連動した多様な演出と共に楽しまれることも多い。近年では音楽再生に合わせて、パソコンの画面上の表示内容を変えたり、ロボットを踊らせたりすることも可能になっている。ライブコンサートでは、多数のペンライトの光を一斉に変更する専用システムも用いられている。スマートフォン上の専用アプリケーションが単色発光するシステムもある。しかし、演出手段が固定された専用システムが個別に開発されていたために、拡張性が乏しかった。【０００３】
また特開２０１７−１０３５４７号公報（特許文献１）には、複数の再生装置がマスター及びスレーブのどちらとして機能しているかを判定した上で、外部からの命令に基づいて複数の再生装置がコンテンツを再生する際の再生タイミングの差を抑制する技術が開示されている。【０００４】
また特開２０１１−２２８７８４号公報（特許文献２）には、マスター端末とスレーブ端末とに分けられた複数端末間で同一映像を同期して視聴する発明が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１０３５４７号公報
【特許文献２】特開２０１１−２２８７８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし従来、人々が既に所有する多種多様な携帯端末（スマートフォン、タブレット）・パソコン・Internet of Things (IoT)デバイス（インターネットに接続されたロボット、照明機器等の機器）を自由自在に組み合わせながら、さまざまな楽曲に合わせて同時に制御して演出を楽しむことはできなかった。専用機器ではない既存の多数の多種多様な汎用機器を用いて音楽再生・演出を同期制御しようとしても、断続的で個別の非同期通信を繰り返す通信環境と多様な実行環境においては、連続的な再生が必要な音楽とそれに合わせた演出が機器ごとにずれやすく、技術的に困難だったからである。ユーザーが異なる演出を手軽に組み合わせたり、演出を変更したりすることも従来は実現されておらず、大規模な音楽連動制御に基づく新たな演出を、プログラマー（プログラミング技術を持つ開発者）が容易に開発できるようにするための開発キットもなかった。【０００７】
本発明の目的は、複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームは、１以上の音楽連動制御マスターと、複数の音楽連動制御スレーブと、音楽連動制御サーバとを備えている。【０００９】
１以上の音楽連動制御マスターは、マスター音楽再生プレーヤと、個別時刻を発生する個別時刻発生器、通信手段及びマスター音楽再生プレーヤのマスター制御部を構成するマスタープロセッサを備えていて、複数の音楽コンテンツの中から選択した音楽コンテンツを再生するようにマスター音楽再生プレーヤを制御する。【００１０】
複数の音楽連動制御スレーブは、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つと、個別時刻を発生する個別時刻発生器、通信手段並びにスレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部を構成するスレーブプロセッサを備えて、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つを制御する。【００１１】
音楽連動制御サーバは、基準時刻を発生する基準時刻発生器と通信ネットワークを介して１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブと接続される通信手段を有するサーバプロセッサを備えている。このサーバプロセッサは、以下のことを実施する。まず１以上の音楽連動制御マスターからステージ作成コマンドが入力されるとステージを作成するとともに仮想音楽再生プレーヤを作成する。１以上の音楽連動制御マスターからステージ削除コマンドが入力されると仮想音楽再生プレーヤを削除するとともに前記ステージを削除する。１以上の音楽連動制御マスターから音楽コンテンツの再生に関する操作コマンドが入力されると仮想音楽再生プレーヤの状態を更新する。１以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブから、仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると、仮想音楽再生プレーヤの状態を、確認コマンドを送信してきた１以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブに返信する。１以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブから、基準時刻と個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの基準時刻を、同期要求コマンドを送信してきた１以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブに送信する。【００１２】
仮想音楽再生プレーヤの状態は、１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブで再生する音楽コンテンツを特定する音楽コンテンツを識別する識別子（例えば、ＵＲＬ等）、最新の操作コマンドで指令された最新の操作内容、操作コマンドが操作対象とするコンテンツ内再生時刻（音楽コンテンツ内での再生位置で、コンテンツの先頭時刻を０秒としたときのコンテンツの先頭からの経過時刻）、コンテンツ内再生時刻に対応する基準時刻上の時刻を含んでいる。代表的な音楽コンテンツを識別する識別子はＵＲＬであり、代表的なＵＲＬは、Ｙｏｕ  Ｔｕｂｅ（登録商標）等の映像を含んだコンテンツのＵＲＬ、ＭＰ３のような音楽コンテンツのＵＲＬがある。【００１３】
１以上の音楽連動制御マスターのマスター制御部は、基準時刻において動作する仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤを制御する機能を有している。複数の音楽連動制御スレーブのスレーブ制御部は、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つを制御する機能を有している。【００１４】
本発明においては、音楽連動制御サーバが、１以上の音楽連動制御マスターから音楽コンテンツに基づく操作コマンドが入力されると、操作コマンドに基づいて仮想音楽再生プレーヤの状態を更新し、１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブに最新の仮想音楽再生プレーヤの状態を入手可能にする。そして音楽連動制御サーバは、１以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブから、仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると、音楽連動制御サーバは最新の仮想音楽再生プレーヤの状態を、確認コマンドを送信してきた１以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブに返信する。最新の仮想音楽再生プレーヤの状態を受け取った１以上の音楽連動制御マスターのマスター制御部は、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤを制御して前記識別子から得た音楽コンテンツを再生する。また最新の仮想音楽再生プレーヤの状態を受け取った複数の音楽連動制御スレーブのスレーブ制御部は、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つを制御して、前記識別子から得た音楽コンテンツを再生するかこの音楽コンテンツの再生に連動する演出を実行する。【００１５】
本発明によれば、上記のように音楽連動サーバ内の仮想音楽再生プレーヤの状態を基準とすることにより、１以上の音楽連動制御マスターにおける個別時刻及び複数の音楽連動制御スレーブにおける個別時刻と音楽連動サーバにおける基準時刻とが一致していない場合でも、１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブにおいて、同じ音楽コンテンツを実質的に同期して再生することができ、また複数の音楽連動制御スレーブにおいては音楽コンテンツの再生に同期してスレーブ音楽連動演出器を動作させことができる。なお１以上の音楽連動制御マスターにもマスター音楽連動演出器が設けられていてもよい。これらの場合において、識別子に基づいて音楽コンテンツと音楽コンテンツの楽曲解析結果を入手し、音楽コンテンツは再生せずに、楽曲解析結果に基づいて、音楽連動演出器だけを動作させてもよいのは勿論である。【００１６】
１以上の音楽連動制御マスターのマスター制御部は、個別時刻におけるコンテンツ内再生時刻（音楽コンテンツ内での再生位置で、コンテンツの先頭時刻を０秒としたときのコンテンツの先頭からの経過時刻）に基づいてマスター音楽再生プレーヤを制御する際に、マスター音楽再生プレーヤが音楽コンテンツを実際に再生している実際のコンテンツ内再生時刻を取得し、実際のコンテンツ内再生時刻と、本来再生しているべき個別時刻における本来のコンテンツ内再生時刻とのずれを計算し、ずれが一定時間以上の場合には、ずれがなくなって個別時刻における本来のコンテンツ内再生時刻で再生するようにマスター音楽再生プレーヤの再生を制御する機能を有しているのが好ましい。このようにすると何らかの理由で、ゆれや遅延が発生して、ずれが生じている場合でも、そのずれを修復することができる。【００１７】
複数の音楽連動制御スレーブのスレーブ制御部が、スレーブ音楽再生プレーヤを有しており、個別時刻におけるコンテンツ内再生時刻（音楽コンテンツ内での再生位置で、コンテンツの先頭時刻を０秒としたときのコンテンツの先頭からの経過時刻）に基づいてスレーブ音楽再生プレーヤを制御する際には、スレーブ音楽再生プレーヤが音楽コンテンツを実際に再生している実際のコンテンツ内再生時刻を取得し、実際のコンテンツ内再生時刻と、本来再生しているべき個別時刻における本来のコンテンツ内再生時刻とのずれを計算し、ずれが一定時間以上の場合には、ずれがなくなって個別時刻における本来のコンテンツ内再生時刻で再生するようにスレーブ音楽再生プレーヤの再生を制御する機能を有しているのが好ましい。このようにすると何らかの理由で、ゆれや遅延が発生して、ずれが生じている場合でも、そのずれを修復することができる。【００１８】
音楽連動制御サーバ内のステージは、音楽連動制御マスターにシークレットキーとアクセスキーを発行する機能を有しており、１以上の音楽連動制御マスターが音楽連動制御サーバのステージと通信する際にはシークレットキーとアクセスキーを用いてアクセスし、複数の音楽連動制御スレーブが音楽連動制御サーバのステージと通信する際には１以上の音楽連動制御マスターに対して発行されたアクセスキーを用いてアクセスするようにするのが好ましい。シークレットキーは、１以上の音楽連動制御マスターだけに仮想音楽再生プレーヤの状態を変化させる権限を与えている。そして音楽連動制御マスターを利用しているユーザーは、音楽連動制御スレーブを利用しているユーザーに、ソーシャルメディア、電子メール等を利用してアクセスキーを教えることができる。また音楽連動制御スレーブには、アクセスキーをＱＲコード（登録商標）やＵＲＬなどの方法で伝えることができる。【００１９】
また音楽連動制御サーバは、１以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブからアクセスがあると、アクセスキーに基づいてステージと仮想音楽再生プレーヤを特定する。したがって異なる音楽コンテンツを再生する複数の音楽連動制御マスターが音楽連動制御サーバに接続されていても、正しいステージと仮想音楽再生プレーヤに１以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブを接続することができる。【００２０】
またステージは、初めてアクセスしてきた１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブに、それぞれ識別ＩＤを付与する機能を有している。そしてステージは、識別ＩＤとアクセス時刻に基づいて、１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブの接続状況を管理する機能を更に備えている。識別ＩＤを発行して管理をすると、設定台数以上の音楽連動制御マスター及び設定台数以上の音楽連動制御スレーブが、音楽連動制御サーバに接続されることを防止できる上、すでに接続が切られている音楽連動制御マスター及び音楽連動制御スレーブを管理外の者とすることができる。【００２１】
なお仮想音楽再生プレーヤの状態として記録されている操作内容には、少なくとも音楽コンテンツの再生及び停止が含まれている。具体的な、仮想音楽再生プレーヤの状態として、操作コマンドが再生コマンドの場合には、最新の操作内容としては再生状態が記録され、再生開始時刻としてコンテンツ内再生時刻が記録されており、操作コマンドが停止コマンドの場合には、操作内容としては停止状態が記録されて、再生停止時刻としてコンテンツ内再生時刻が指定されている。また仮想音楽再生プレーヤの状態として記録されている操作内容には、再生中のシーク及び停止中のシークが含まれていてもよい。この場合、仮想音楽再生プレーヤの状態として記録されている操作内容には、再生中のシーク及び停止中のシークが含まれる。操作コマンドがシークコマンドの場合には、操作内容としては再生中のシーク状態または停止中のシーク状態が記録されて、シーク先時刻としてコンテンツ内再生時刻が記録されている。【００２２】
１以上の音楽連動制御マスターは、表示画面を有する表示部を備えた通信端末機であり、表示画面に音楽再生プレーヤの入力インターフェイスを表示するように構成されている。したがって１以上の音楽連動制御マスターのユーザーは、入力インターフェイスを用いて、操作内容を変更することができる。この変更は、仮想音楽再生プレーヤの状態を更新することになり、複数の音楽連動制御スレーブもこの変更に応じた再生を行うようになる。【００２３】
１以上の音楽連動制御マスター及び複数の音楽連動制御マスターのマスター制御部及び複数の音楽連動制御スレーブのスレーブ制御部は、定期的に音楽連動制御サーバに仮想音楽再生プレーヤの状態を確認する確認コマンド送信し、音楽連動制御サーバから送信されてきた仮想音楽再生プレーヤの状態の変化を検出すると、仮想音楽再生プレーヤの状態の変化に応じてマスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤを制御する機能を有している。その結果、常に仮想音楽再生プレーヤの状態と同じ状態で、マスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤで再生動作を行うこと、また音楽連動演出器で同期動作を行うことができる。また音楽連動制御スレーブが、途中からステージに接続することも可能になる。その結果、音楽連動制御スレーブの接続台数を簡単に増やすことができる。【００２４】
１以上の音楽連動制御マスターのマスター制御部及び複数の音楽連動制御スレーブのスレーブ制御部は、音楽コンテンツに対応する楽曲解析結果を取得すると、楽曲解析結果には１以上のイベントが含まれており、マスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤが再生動作をしているときに、マスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤにおけるコンテンツ内再生時刻がイベントの時刻に一致したか否かを判定し、一致したイベントに対する処理内容を実行する機能を有しているのが好ましい。このようにすると、音楽と連動してイベントの処理内容を実行することができる。その結果、イベントの処理内容の実行が、音楽連動制御マスター及び音楽連動制御スレーブで個々に自律的に行われるので、イベントの処理内容の実行に関して、音楽連動制御サーバの負荷が増加することはないという利点がある。また通信が断続的にあってもイベントの処理内容を連続して実行することができる。【００２５】
複数の音楽連動制御スレーブのスレーブ音楽連動演出器は、イベントに対する処理内容を実行することによって、音楽の楽曲解析結果に連動して制御される。これによって、演出の音楽連動が実現できる。【００２６】
１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブは、音楽コンテンツに含まれる楽曲解析結果に応じて１以上のイベントに対応する処理内容を設定する機能を有しているのが好ましい。このようにすると、ユーザーまたはプログラマーがイベントに対応する処理内容を自在に設定することが可能になる。また多種多様な演出を音楽に連動させたり、多種多様な機器を制御することが可能になる。【００２７】
イベントは、楽曲解析結果に含まれるビート、小節、サビ区間、繰り返し区間、またはコードに基づいて定められている。【００２８】
１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブは、個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバの基準時刻とのずれをオフセット時間として記録しており、オフセット時間が予め定めた値より大きく変動していたら、マスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤにおける本来のコンテンツ内再生時刻を補正する機能を有しているのが好ましい。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバの基準時刻とのずれ著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。【００２９】
音楽連動制御マスターは１台であってもよいのは勿論である。音楽連動制御マスターが１台だけの場合には、「１台の音楽連動制御マスターの状態」が「仮想音楽連動プレーヤの状態」と常に一致している状態で動作させることも可能となる。その場合には、１台の音楽連動制御マスターを仮想音楽連動プレーヤと同期させる必要がなくなる。したがってこのような場合には、１台の音楽連動制御マスターにおいて、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤを制御することをせずに、動作させてもよい。【００３０】
本発明は、音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームの制御方法としても特定することができる。使用するプラットフォームの構成は、上記と同じである。音楽連動制御プラットフォームの制御方法では、１以上の音楽連動制御マスターのマスター制御部が、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記マスター音楽再生プレーヤを制御する。また複数の音楽連動制御スレーブのスレーブ制御部が、前記仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つを制御する。
【図面の簡単な説明】
【００３１】
【図１】本発明の音楽連動制御プラットフォームの実施の形態の構成を示すブロック図である。
【図２】実施の形態で用いる音楽連動制御マスターの構成を示すブロック図である。
【図３】実施の形態で用いる音楽連動制御スレーブの構成を示すブロック図である。
【図４】実施の形態で用いる音楽連動制御サーバの構成を示すブロック図である。
【図５】音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。
【図６】音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。
【図７】音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。
【図８】音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。
【図９】音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。
【図１０】音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。
【図１１】音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。
【図１２】音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。
【図１３】音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。
【図１４】音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。
【図１５】音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。
【図１６】音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。
【図１７】音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。
【図１８】音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。
【図１９】音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。
【図２０】音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。
【図２１】本実施の形態の音楽連動制御プラットフォーム上で動作する音楽連動制御アプリケーションで用いるアルゴリズムを示すフローチャートである。
【図２２】本実施の形態の利用シーンを示す図である。
【発明を実施するための形態】
【００３２】
以下図面を参照して本発明の音楽連動制御プラットフォームの実施の形態の一例を詳細に説明する。図１は、本発明の複数の機器を音楽に同期させて制御する音楽連動制御プラットフォームの実施の形態の構成を示すブロック図である。音楽連動制御プラットフォーム１は、１以上の音楽連動制御マスター３と、複数の音楽連動制御スレーブ５と、音楽連動制御サーバ７とを備えている。
【００３３】
［音楽連動制御マスター３の構成］
１以上の音楽連動制御マスター３は、図２に示すように、マスター音楽再生プレーヤ３１と、マスター音楽連動演出器３２と、個別時刻を発生する個別時刻発生器３３、通信手段３４及びマスター音楽再生プレーヤ３１のマスター制御部３５を構成するマスタープロセッサ３６と、液晶表示装置のような表示部３７と、入力インターフェイス３８を備えている。１以上の音楽連動制御マスター３は、ウェブ上の複数の音楽コンテンツの中から選択した音楽コンテンツを再生するようにマスター音楽再生プレーヤ３１を制御し、液晶表示デバイスや、ＬＥＤ等の発光デバイスや、動くオブジェなどの可動装置からなるマスター音楽連動演出器３２を音楽コンテンツに連動して制御する。なお本願明細書において、「音楽コンテンツに連動とは」、楽曲解析部９の解析結果と連動する場合を含むものである。なお本実施の形態においては、音楽連動制御マスター３は、少なくとも１台あればよく、またマスター音楽連動演出器３２はなくてもよい。またマスタープロセッサ３６は、コンピュータを用いて実現することができる。
【００３４】
［音楽連動制御スレーブ５の構成］
複数の音楽連動制御スレーブ５は、図３に示すように、スレーブ音楽再生プレーヤ５１及びスレーブ音楽連動演出器５２と、個別時刻を発生する個別時刻発生器５３、通信手段５４並びにスレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部５５を構成するスレーブプロセッサ５６、液晶表示装置のような表示部５７と、入力インターフェイス５８を備えている。各音楽連動制御スレーブ５は、スレーブ音楽再生プレーヤ５１及びスレーブ音楽連動演出器５２を制御する。なお音楽連動制御スレーブ５には、スレーブ音楽再生プレーヤ５１及びスレーブ音楽連動演出器５２の両方が揃っている必要はなく、スレーブ音楽再生プレーヤ５１及びスレーブ音楽連動演出器５２の少なくとも一方が設けられていればよい。またスレーブプロセッサ５６は、コンピュータを用いて構成することができる。なお図１においては、代表的に１つの音楽連動制御スレーブ５だけにウェブ上の音楽コンテンツと楽曲解析結果が入力されている表示をしてあるが、図示を簡略化するために、その他の音楽連動制御スレーブ５へのウェブ上の音楽コンテンツと楽曲解析結果の入力は省略してある。
【００３５】
［音楽連動制御サーバ７の構成と動作］
音楽連動制御サーバ７は、図４に示すように、基準時刻を発生する基準時刻発生器７１と通信ネットワークを介して１以上の音楽連動制御マスター３及び複数の音楽連動制御スレーブ５と接続される通信手段７２を有するサーバプロセッサ７３を備えている。このサーバプロセッサ７３は、音楽連動制御マスター３からの要求に応じて、再生する音楽コンテンツ毎に、ステージ７４と仮想音楽再生プレーヤ７５を構成して、以下のことを実施する。サーバプロセッサ７３はコンピュータを用いて構成することができる。なお以下の説明では、図５乃至図９に示したアルゴリズムを併用して説明をする。
【００３６】
まず１以上の音楽連動制御マスター３からステージ作成コマンドが入力されるとステージ７４を作成するとともに仮想音楽再生プレーヤ７５を作成する。音楽連動制御サーバ７内のステージ７４は、１以上の音楽連動制御マスター３にシークレットキーとアクセスキーを発行する機能を有している。１以上の音楽連動制御マスター３が音楽連動制御サーバのステージと通信する際にはシークレットキーとアクセスキーを用いてアクセスし、複数の音楽連動制御スレーブ５が音楽連動制御サーバ７のステージ７４と通信する際には１以上の音楽連動制御マスター３に対して発行されたアクセスキーを用いてアクセスする。シークレットキーは、１以上の音楽連動制御マスター３だけに仮想音楽再生プレーヤ７５の状態を変化させる権限を与えている。音楽連動制御マスター３を利用しているユーザーは、音楽連動制御スレーブ５を利用しているユーザーに、対面でアクセスキーを教えたり、ソーシャルメディア、電子メール等を利用してアクセスキーを教えたりすることになる。例えば、音楽連動制御スレーブ５には、アクセスキーをＱＲコードやＵＲＬなどの方法で伝えてもよい。この動作を図５のアルゴリズムに示す。ステップＳＴ５１では、音楽連動制御マスター３からステージ作成コマンドが入力されたことを「ステージ作成ボタンが押された」か否かにより、判定する。Ｙｅｓであれば、ステップＳＴ５２へ進み、ステージを作成し、アクセスキーとシークレットキーを発行する。その後ステップＳＴ５３で、仮想音楽再生プレーヤ７５を作成する。
【００３７】
図６のアルゴリズムに示すように、１以上の音楽連動制御マスター３からステージ削除コマンドが入力されると（ステップＳＴ６１で「ステージ削除ボタンを押されたか？」がＹｅｓになると）、仮想音楽再生プレーヤ７５を削除するとともにステージ７４を削除する（ステップＳＴ６２，ＳＴ６３）。
【００３８】
図７のアルゴリズムに示すように、ステージ７４は、１以上の音楽連動制御マスター３から音楽コンテンツの再生に関する操作コマンドが入力されると仮想音楽再生プレーヤ７５の状態を更新する（ステップＳＴ７１，ＳＴ７２）。この「操作コマンド」には即座に状態を変えるコマンドと未来の状態を変えるコマンドが含まれる。そしてステージ７４は、１以上の音楽連動制御マスター３または複数の音楽連動制御スレーブ５から、仮想音楽再生プレーヤ７５の状態を確認する確認コマンドが入力されると、仮想音楽再生プレーヤ７５の状態を、確認コマンドを送信してきた１以上の音楽連動制御マスター３または複数の音楽連動制御スレーブ５に返信する（ステップＳＴ７３及び７４）。さらにステージ７４は、１以上の音楽連動制御マスター３または複数の音楽連動制御スレーブ５から、基準時刻と個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの基準時刻を、同期要求コマンドを送信してきた１以上の音楽連動制御マスター３または複数の音楽連動制御スレーブ５に送信する（ステップＳＴ７５，ＳＴ７６）。後に詳しく説明するように、基準時刻を受け取った１以上の音楽連動制御マスター３または複数の音楽連動制御スレーブ５では、オフセット時刻を推定して同期動作を行う。
【００３９】
ここで仮想音楽再生プレーヤ７５における「仮想音楽再生プレーヤの状態」は、１以上の音楽連動制御マスター３及び複数の音楽連動制御スレーブ５で再生する音楽コンテンツを特定する音楽コンテンツを識別する識別子（例えば、ＵＲＬ等）、最新の操作コマンドで指令された最新の操作内容、操作コマンドが操作対象とするコンテンツ内再生時刻、コンテンツ内再生時刻に対応する基準時刻上の時刻を含んでいる。代表的な音楽コンテンツを識別する識別子はＵＲＬであり、代表的なＵＲＬは、Ｙｏｕ  Ｔｕｂｅ（登録商標）等の映像を含んだコンテンツのＵＲＬ、ＭＰ３のような音楽コンテンツのＵＲＬがある。本実施の形態の音楽連動制御プラットフォーム１には音楽配信機能や楽曲アップロード機能はなく、楽曲は元のウェブサイト上から直接ストリーミング再生される。ただし、音楽連動制御プラットフォーム１が一般的に用いられているような音楽配信機能や楽曲アップロード機能を有していてもよいのは勿論である。
【００４０】
なお本実施の形態では、仮想音楽再生プレーヤ７５に「仮想音楽再生プレーヤの状態」として記録されている操作内容には、音楽コンテンツの再生、停止、再生中のシーク及び停止中のシークが含まれている。具体的な「仮想音楽再生プレーヤの状態」として、操作コマンドが再生コマンドの場合には、最新の操作内容としては再生状態が記録され、再生開始時刻としてコンテンツ内再生時刻が記録されている。操作コマンドが停止コマンドの場合には、操作内容としては停止状態が記録されて、再生停止時刻としてコンテンツ内再生時刻が指定されている。そして操作コマンドがシークコマンドの場合には、操作内容としては再生中のシーク状態または停止中のシーク状態が記録されて、シーク先時刻としてコンテンツ内再生時刻が記録されている。なお操作コマンドにシークコマンドが含まれていなくてもよいのは勿論である。
【００４１】
また図８のアルゴリズムの一例に示すように、ステージ７４は、ステップＳＴ８１でアクセスしてきた１以上の音楽連動制御マスター３及び複数の音楽連動制御スレーブ５がアクセスキーを持っている場合だけ、アクセスキーに基づいて仮想音楽再生プレーヤを特定するとともに、特定した仮想音楽再生プレーヤへのアクセスを許容し、シークレットキーを持ってアクセスした場合だけ、音楽連動制御マスター３からのアクセスであると判定する。なお該当する仮想音楽再生プレーヤがない場合には、すべてのアクセスを拒否する（ステップＳＴ８２）。そしてステージ７４は、ステップＳＴ８３で、アクセス時に識別番号が付いていたか否かの判定を実行する。ステージ７４は、初めてアクセスしてきた１以上の音楽連動制御マスター３及び複数の音楽連動制御スレーブ５に、マスター上限数あるいはスレーブ上限数以下であれば、それぞれ識別ＩＤを付与する機能を有している（ステップＳＴ８４）。マスター上限数あるいはスレーブ上限数を超えていた場合には識別ＩＤが発行されずに接続が拒否される。ステージ７４は、識別ＩＤとアクセス時刻に基づいて、１以上の音楽連動制御マスター３及び複数の音楽連動制御スレーブ５の接続状況を管理する機能を更に備えている。そして特定した仮想音楽再生プレーヤに接続中の１以上の音楽連動制御マスター３及び複数の音楽連動制御スレーブ５を管理するマスター一覧表またはスレーブ一覧表に新たな識別ＩＤを追加して、その識別ＩＤのアクセス時刻（タイムスタンプ）を一覧表に記録する（ステップＳＴ８５）。またステージ７４は、すでに識別ＩＤを持っているアクセスがあった場合には、ステップＳＴ８７で識別ＩＤの有効性を判別し、有効でなければステップＳＴ８４で再度の識別ＩＤの発行を行う。識別ＩＤが有効であれば、ステップＳＴ８８に進んで、マスター一覧表またはスレーブ一覧表に、その識別ＩＤのアクセス時刻（タイムスタンプ）を記録する。最後に、仮想音楽再生プレーヤ７５は、アクセス内容に応じて動作する（ステップＳＴ８６）。
【００４２】
音楽連動制御サーバ７のステージ７４では、図９のアルゴリズムに示すように、ステップＳＴ９１で、マスター一覧表またはスレーブ一覧表に最終アクセス時刻から一定時間（例えば１分）以上経過した古い識別ＩＤがあるか否かの判定を行う。該当する識別ＩＤがあった場合には、マスター一覧表またはスレーブ一覧表からその識別ＩＤを削除する。これによってアクセスしていない１以上の音楽連動制御マスター３及び複数の音楽連動制御スレーブ５との接続関係を解消して、音楽連動制御サーバ７の負荷を軽減するとともに、接続できる音楽連動制御マスター３の数が制限されている場合に、より多くの音楽連動制御マスター３に対して接続の機会を与え、接続できる音楽連動制御スレーブ５の数が制限されている場合に、より多くの音楽連動制御スレーブ５に対して接続の機会を与えることができる。このように識別ＩＤを発行して管理をすると、マスター上限数あるいはスレーブ上限数として設定台数以上の音楽連動制御マスター３及び設定台数以上の音楽連動制御スレーブ５が、音楽連動制御サーバ７に接続されることを防止できる上、すでに接続が切られている（最後のアクセスから一定時間以上経過していて接続されてくる見込みが低い）音楽連動制御マスター３及び音楽連動制御スレーブ５を管理外のものとすることができる。
【００４３】
［音楽連動制御マスターの機能］
以下の説明では、音楽連動制御マスター３の機能と動作を説明する。
【００４４】
１以上の音楽連動制御マスター３のマスター制御部３５は、「仮想音楽再生プレーヤの状態」から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤ３１及びマスター音楽連動演出器３２を制御する機能を有している。
【００４５】
具体的には図１０のアルゴリズム（音楽連動制御マスターの動作１）に示すように、１以上の音楽連動制御マスター３のマスター制御部３５が音楽連動制御サーバ７にアクセスする（ステップＳＴ１０１）。音楽連動制御マスター３は、仮想音楽再生プレーヤ７５との時刻同期を要求して基準時刻と「仮想音楽再生プレーヤの状態」を受け取る。そして「仮想音楽再生プレーヤの状態」を受け取った１以上の音楽連動制御マスター３のマスター制御部３５は、仮想音楽再生プレーヤ７５の状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換する。図１１は、この変換のアルゴリズムを示している。図１１に示すように、マスター制御部３５は、ＳＴ１０２ａで、時刻同期（オフセット時刻推定）によって音楽連動制御マスター３の個別時刻から音楽連動制御サーバの基準時刻を引いた時刻差（オフセット時刻）を算出する。またマスター制御部３５は、音楽連動制御サーバ７の仮想音楽再生プレーヤ７５の状態を取得する（ステップＳＴ１０２ｂ）。次にコンテンツ内再生時刻に対応する基準時刻上の時刻を取得する（ステップＳＴ１０２ｃ）。そして最後にコンテンツ内再生時刻に対応する基準時刻上の時刻に、オフセット時刻を加算することによって、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換する（ステップＳＴ１０２ｄ）。
【００４６】
その後図１０のステップＳＴ１０３において、音楽コンテンツの再生が必要だと音楽連動制御マスター３を利用しているユーザーによって指定されているかを判断する。音楽の再生が必要であれば、ステップＳＴ１０４で音楽コンテンツをストリーミング再生する準備をする。そしてステップＳＴ１０５では、マスター音楽再生プレーヤのインターフェイスを表示部３７に表示する（音楽動画を音楽連動演出として再生する場合には、表示部３７に映像表示用ウインドも表示する）。その後、音楽連動制御マスター３は、後述する動作２，３及び４のアルゴリズムを並列に実行する（ステップＳＴ１０６）。
【００４７】
図１２は、音楽連動制御マスター３から音楽連動制御サーバ７の仮想音楽再生プレーヤに状態変更の操作コマンドを送信する場合の動作２のアルゴリズムの一例を示している。この動作２では、ステップＳＴ１２１で音楽連動制御マスター３のマスター音楽再生プレーヤ上の入力インターフェイス３８が操作されたか、あるいはプログラム上で再生・停止・シークが指定されたかの判断が行なわれる。そしてＹｅｓの場合には、ステップＳＴ１２３へ進み、音楽連動制御マスター３から音楽連動制御サーバ７の仮想音楽再生プレーヤ７５へ操作コマンド（再生・停止・シーク）を送信する。ステップ１２１で操作コマンドによる指定がない場合には、ステップＳＴ１２２へと進み、仮想音楽再生プレーヤの状態を前回のサーバへ問い合わせてから一定時間以上のランダムな間隔が既に空いていたら、仮想音楽再生プレーヤの状態を問い合わせる。一定間隔でも実施することはできるが、ここでランダムな間隔を採用すると、音楽連動制御サーバ７のアクセス負荷を下げることができる。そしてステップＳＴ１２４で、仮想音楽再生プレーヤの状態の変化を検出したら、ステップＳＴ１２５へと進み、変化がなければステップ１２１へと戻る。ステップＳＴ１２５では、本実施の形態の場合、仮想音楽再生プレーヤの状態に応じて、マスター音楽再生プレーヤ３１を制御する（再生、停止、シーク後に再生、シーク後に停止、に応じた制御をする）。なお仮想音楽再生プレーヤの状態に、シーク後に再生、シーク後に停止、が含まれていない場合には、マスター音楽再生プレーヤ３１の制御において、シーク後に再生、シーク後に停止、に応じた制御を含める必要はない。
【００４８】
図１３はイベントに対する処理内容を実施する際の動作３のアルゴリズムを示している。この動作３で、ステップＳＴ１３１でマスター音楽再生プレーヤ３１が再生動作をしているか否かの判断し、Ｙｅｓの場合にはステップＳＴ１３２へと進む。ステップＳＴ１３２では、マスター音楽再生プレーヤ３１の現時点でのコンテンツ内再生時刻（音楽コンテンツ内での再生位置）を取得する。図１４は、ステップＳＴ１３２の詳細なアルゴリズムを示している。最初にステップＳＴ１３２ａで、音楽コンテンツの再生が必要であると指定されているか否かの判断がなされる。音楽コンテンツの再生が必要ない場合には、ステップ１３２ｆでマスター音楽再生プレーヤ３１のコンテンツ内再生時刻を「仮想音楽再生プレーヤの状態」から計算する。再生が指定されている場合には、ステップ１３２ｂで、マスター音楽再生プレーヤ３１が現時点で再生している音楽コンテンツの実際のコンテンツ内再生時刻（ネットワークの負荷等により読み込みが遅れて遅延の可能性がある）を取得する。そしてステップ１３２ｃでマスター音楽再生プレーヤ３１の本来のコンテンツ内再生時刻を仮想音楽再生プレーヤの状態から計算して記憶する。そしてステップ１３２ｄで、実際のコンテンツ内再生時刻と本来のコンテンツ内再生時刻が一定時間以上ずれているかを判断し、Ｙｅｓであれば、ステップＳＴ１３２ｅへと進む。ステップ１３２ｅでは、マスター音楽再生プレーヤ３１の状態を更新する（シーク等によって、本来のコンテンツ内再生時刻を再生している状態に近づけ操作をする）。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバの基準時刻とのずれが著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
【００４９】
ステップＳＴ１３２を実行した後、ステップＳＴ１３３では、コンテンツ内再生時刻にイベントがあるか否か判断され、Ｙｅｓの場合には、ステップＳＴ１３４でイベントに登録された処理を呼び出して実行する。ここでイベントは、ビート、小節、サビ区間、繰り返し区間、またはコード等に基づいて定められている。音楽連動制御マスター３は、音楽コンテンツに含まれる楽曲解析結果に応じて１以上のイベントに対応する処理内容を設定する機能を有している。より具体的には、音楽連動制御マスター３のマスター制御部３５は、音楽コンテンツに対応する楽曲解析結果を取得すると、楽曲解析結果に１以上のイベントが含まれており、マスター音楽再生プレーヤが再生動作をしているときに、マスター音楽再生プレーヤにおけるコンテンツ内再生時刻がイベントの時刻に一致したか否かを判定し、一致したイベントに対する処理内容を実行する機能を有している。このようにすると、音楽と連動してイベントの処理内容を実行することができる。その結果、イベントの処理内容の実行が、音楽連動制御マスターによって自律的に行われるので、イベントの処理内容の実行に関して、音楽連動制御サーバ７の負荷が増加することはないという利点がある。また通信が断続的にあってもイベントの処理内容を連続して実行することができる。
【００５０】
本実施の形態では、マスター音楽連動演出器３２を備えているので、マスター音楽連動演出器３２は、イベントに対する処理内容を実行することによって、音楽の楽曲解析結果に連動して制御される。これによって、演出の音楽連動が実現できる。また１以上の音楽連動制御マスター３が、音楽コンテンツに含まれる楽曲解析結果に応じて１以上のイベントに対応する処理内容を設定する機能を有していると、ユーザーまたはプログラマーがイベントに対応する処理内容を自在に設定することが可能になる。また多種多様な演出を音楽に連動させたり、多種多様な機器を制御したりすることが可能になる。
【００５１】
図１５は、音楽連動制御マスターの動作４のアルゴリズムを示している。動作４のアルゴリズムでは、ステップＳＴ１５１において、前回の時刻同期から一定時間が経過したかが判断され、一定時間が経過した場合には、ステップＳＴ１５２へと進む。ステップＳＴ１５２では、音楽連動制御マスター３は、同期要求コマンドを仮想音楽再生プレーヤ７５に送信して音楽連動制御マスター３との時刻同期（オフセット時刻推定）を要求し、音楽連動制御サーバ７の基準時刻を取得する。音楽連動制御マスター３のマスター制御部３５は、音楽連動制御サーバ７の基準時刻とのずれをオフセット時間として記録する。音楽連動制御サーバ７の基準時刻とのずれは、例えば、音楽連動制御マスター３が時刻同期の要求を音楽連動制御サーバ７に送信したときの個別時刻Ａと、その時刻同期の要求を音楽連動制御サーバ７が受信したときの基準時刻Ｂと、その時刻同期の要求に対する返答として音楽連動制御サーバ７から音楽連動制御マスター３に送られてくる基準時刻Ｂの情報を音楽連動制御マスター３が受信したときの個別時刻Ｃの三つの時刻から計算することができ、個別時刻Ａと個別時刻Ｃを加算して２で割った中間の時刻から、基準時刻Ｂを減算した結果を音楽連動制御マスター３と音楽連動制御サーバ７との時刻のずれ、すなわち、オフセット時刻と推定できる。オフセット時刻の推定精度を上げたり安定に推定させたりするためには、このオフセット時刻の推定の動作（音楽連動制御マスター３側からの音楽連動制御サーバ７への時刻同期の要求の送信と、その音楽連動制御サーバ７による基準時刻の返答の音楽連動制御マスター３側での受信）を複数回（例えば３回）繰り返し、その各回のオフセット時刻の推定結果の中央値や平均値を、最終的なオフセット時刻としてもよい。そして、オフセット時間が予め定めた値（例えば１００ｍｓ以上）より大きく変動していたら、音楽連動制御マスター３のマスター制御部３５は、マスター音楽再生プレーヤ３１における本来のコンテンツ内再生時刻を補正する（ＳＴ１５３）。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバ７の基準時刻とのずれが著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
【００５２】
［音楽連動制御スレーブの機能］
以下の説明では、音楽連動制御スレーブ５の機能と動作を説明する。
【００５３】
複数の音楽連動制御スレーブ５のスレーブ制御部５５は、「仮想音楽再生プレーヤの状態」から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ５１及びスレーブ音楽連動演出器５２を制御する機能を有している。
【００５４】
仮想音楽再生プレーヤ７５の状態を受け取った複数の音楽連動制御スレーブ５のスレーブ制御部５５も、仮想音楽再生プレーヤ７５の状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ５１及びスレーブ音楽連動演出器５２を制御して、ＵＲＬ等の識別子から得た音楽コンテンツを再生するかこの音楽コンテンツの再生に連動する演出を実行する。
【００５５】
具体的には図１６のアルゴリズム（音楽連動制御スレーブの動作１）に示すように、１以上の音楽連動制御スレーブ５のスレーブ制御部５５が音楽連動制御サーバ７にアクセスする（ステップＳＴ１６１）。音楽連動制御スレーブ５は、仮想音楽再生プレーヤ７５との時刻同期を要求して基準時刻と「仮想音楽再生プレーヤの状態」を受け取る。そして「仮想音楽再生プレーヤの状態」を受け取った１以上の音楽連動制御スレーブ５のスレーブ制御部５５は、仮想音楽再生プレーヤ７５の状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換する。図１７は、この変換のアルゴリズムを示している。図１７に示すように、スレーブ制御部５５は、ＳＴ１６２ａで、時刻同期（オフセット時刻推定）によって音楽連動制御スレーブ５の個別時刻から音楽連動制御サーバの基準時刻を引いた時刻差（オフセット時刻）を算出する。またスレーブ制御部５５は、音楽連動制御サーバ７の仮想音楽再生プレーヤ７５の状態を取得する（ステップＳＴ１６２ｂ）。次にコンテンツ内再生時刻に対応する基準時刻上の時刻を取得する（ステップＳＴ１６２ｃ）。そして最後にコンテンツ内再生時刻に対応する基準時刻上の時刻に、オフセット時刻を加算することによって、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換する（ステップＳＴ１６２ｄ）。
【００５６】
その後図１６のステップＳＴ１６３において、音楽コンテンツの再生が必要だと音楽連動制御スレーブ５を利用しているユーザーによって指定されているかを判断する。音楽の再生が必要であれば、ステップＳＴ１６４で音楽コンテンツをストリーミング再生する準備をする。そしてステップＳＴ１６５では、スレーブ音楽再生プレーヤのインターフェイスを表示部５７に表示する（音楽動画を音楽連動演出として再生する場合には、表示部５７に映像表示用ウインドも表示する）。その後、音楽連動制御スレーブ５は、後述する動作２，３及び４のアルゴリズムを並列に実行する（ステップＳＴ１６６）。
【００５７】
図１８は、音楽連動制御スレーブの動作２のアルゴリズムを示している。このアルゴリズムでは、ステップＳＴ１８１で、「仮想音楽再生プレーヤの状態」を前回のサーバへ問い合わせてから一定時間以上のランダムな間隔が既に空いていたら、仮想音楽再生プレーヤの状態を問い合わせる。一定間隔でも実施することはできるが、ここでランダムな間隔を採用すると、音楽連動制御サーバ７のアクセス負荷を下げることができる。そしてステップＳＴ１８２で、仮想音楽再生プレーヤの状態の変化を検出したら、ステップＳＴ１８３へと進み、変化がなければステップ１８１へと戻る。ステップＳＴ１８３では、仮想音楽再生プレーヤの状態に応じて、スレーブ音楽再生プレーヤ５１を制御する（再生、停止、シーク後に再生、シーク後に停止、に応じた制御をする）。なお仮想音楽再生プレーヤの状態に、シーク後に再生、シーク後に停止、が含まれていない場合には、マスター音楽再生プレーヤ５１の制御において、シーク後に再生、シーク後に停止、に応じた制御を含める必要はない。
【００５８】
図１９は、イベントに対する処理内容を実施する際の動作３のアルゴリズムを示している。この動作３で、ステップＳＴ１９１でスレーブ音楽再生プレーヤ５１が再生動作をしているか否かの判断し、Ｙｅｓの場合にはステップＳＴ１９２へと進む。ステップＳＴ１９２では、スレーブ音楽再生プレーヤ５１の現時点でのコンテンツ内再生時刻（音楽コンテンツ内での再生位置）を取得する。ステップＳＴ１９２の詳細なアルゴリズムは、図１４のアルゴリズムと実質的に同じである。最初に、音楽コンテンツの再生が必要であると指定されているか否かの判断がなされる。音楽コンテンツの再生が必要ない場合には、スレーブ音楽再生プレーヤ５１のコンテンツ内再生時刻を「仮想音楽再生プレーヤの状態」から計算する。再生が指定されている場合には、スレーブ音楽再生プレーヤ５１が現時点で再生している音楽コンテンツの実際のコンテンツ内再生時刻（ネットワークの負荷等により読み込みが遅れて遅延の可能性がある）を取得する。そしてスレーブ音楽再生プレーヤ５１の本来のコンテンツ内再生時刻を仮想音楽再生プレーヤの状態から計算して記憶する。そして実際のコンテンツ内再生時刻と本来のコンテンツ内再生時刻が一定時間以上ずれているかを判断する。判断の結果、Ｙｅｓであれば、スレーブ音楽再生プレーヤ５１の状態を更新する（シーク等によって、本来のコンテンツ内再生時刻を再生している状態に近づけ操作をする）。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバの基準時刻とのずれが著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
【００５９】
ステップＳＴ１９２を実行した後、ステップＳＴ１９３では、コンテンツ内再生時刻にイベントがあるか否か判断され、Ｙｅｓの場合には、ステップＳＴ１９４でイベントに登録された処理を呼び出して実行する。音楽連動制御スレーブ５は、音楽コンテンツに含まれる楽曲解析結果に応じて１以上のイベントに対応する処理内容を設定する機能を有している。より具体的には、音楽連動制御スレーブ５のスレーブ制御部５５は、音楽コンテンツに対応する楽曲解析結果を取得すると、楽曲解析結果に１以上のイベントが含まれており、スレーブ音楽再生プレーヤが再生動作をしているときに、スレーブ音楽再生プレーヤにおけるコンテンツ内再生時刻がイベントの時刻に一致したか否かを判定し、一致したイベントに対する処理内容を実行する機能を有している。このようにすると、音楽と連動してイベントの処理内容を実行することができる。その結果、イベントの処理内容の実行が、音楽連動制御スレーブによって自律的に行われるので、イベントの処理内容の実行に関して、音楽連動制御サーバ７の負荷が増加することはないという利点がある。また通信が断続的にあってもイベントの処理内容を連続して実行することができる。
【００６０】
また本実施の形態では、スレーブ音楽連動演出器５２を備えているので、スレーブ音楽連動演出器５２は、イベントに対する処理内容を実行することによって、音楽の楽曲解析結果に連動して制御される。これによって、演出の音楽連動が実現できる。また１以上の音楽連動制御スレーブ５も、音楽コンテンツに含まれる楽曲解析結果に応じて１以上のイベントに対応する処理内容を設定する機能を有している。
【００６１】
図２０は、音楽連動制御スレーブの動作４のアルゴリズムを示している。動作４のアルゴリズムでは、ステップＳＴ２０１において、前回の時刻同期から一定時間が経過したかが判断され、一定時間が経過した場合には、ステップＳＴ２０２へと進む。ステップＳＴ２０２では、音楽連動制御スレーブ５は、同期要求コマンドを仮想音楽再生プレーヤ７５に送信して音楽連動制御スレーブ５との時刻同期（オフセット時刻推定）を要求し、音楽連動制御サーバ７の基準時刻を取得する。音楽連動制御スレーブ５のスレーブ制御部５５は、音楽連動制御サーバ７の基準時刻とのずれをオフセット時間として記録する。音楽連動制御サーバ７の基準時刻とのずれは、例えば、音楽連動制御スレーブ５が時刻同期の要求を音楽連動制御サーバ７に送信したときの個別時刻Ａと、その時刻同期の要求を音楽連動制御サーバ７が受信したときの基準時刻Ｂと、その時刻同期の要求に対する返答として音楽連動制御サーバ７から音楽連動制御スレーブ５に送られてくる基準時刻Ｂの情報を音楽連動制御スレーブ５が受信したときの個別時刻Ｃの三つの時刻から計算することができ、個別時刻Ａと個別時刻Ｃを加算して２で割った中間の時刻から、基準時刻Ｂを減算した結果を音楽連動制御スレーブ５と音楽連動制御サーバ７との時刻のずれ、すなわち、オフセット時刻と推定できる。オフセット時刻の推定精度を上げたり安定に推定させたりするためには、このオフセット時刻の推定の動作（音楽連動制御スレーブ５側からの音楽連動制御サーバ７への時刻同期の要求の送信と、その音楽連動制御サーバ７による基準時刻の返答の音楽連動制御スレーブ５側での受信）を複数回（例えば３回）繰り返し、その各回のオフセット時刻の推定結果の中央値や平均値を、最終的なオフセット時刻としてもよい。そして、オフセット時間が予め定めた値（例えば１００ｍｓ以上）より大きく変動していたら、音楽連動制御スレーブ５のスレーブ制御部５５は、スレーブ音楽再生プレーヤ５１における本来のコンテンツ内再生時刻を補正する（ＳＴ２０３）。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバ７の基準時刻とのずれが著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
【００６２】
［音楽連動制御プラットフォーム上で動作する音楽連動制御アプリケーションの機能］
図２１は、本実施の形態の音楽連動制御プラットフォーム上で動作する音楽連動制御アプリケーションの一事例で用いる動作アルゴリズムを示している。この動作アルゴリズムを用いて、本実施の形態の音楽連動制御マスター３及び音楽連動制御スレーブ５上の音楽連動制御アプリケーションの動作を説明する。最初に、音楽連動制御アプリケーションは、ユーザーが音楽連動制御マスター３のために選択した楽曲を、音楽連動制御マスター３から音楽連動制御サーバ７の仮想音楽再生プレーヤ７５に設定する（ステップＳＴ２１１）。次に音楽連動制御マスター３及び／または音楽連動制御スレーブ５のユーザーが選択した演出スタイルを、音楽連動制御マスター３及び／または音楽連動制御スレーブ５のそれぞれに設定し、その演出スタイルに応じて各イベントに対する処理内容を音楽連動制御マスター３及び／または音楽連動制御スレーブ５のマスター制御部３５及び／またはスレーブ制御部５５に登録する（ステップＳＴ２１２及びＳＴ２１３）。そして音楽連動制御アプリケーションの動作は、音楽連動制御マスター３または音楽連動制御スレーブ５のどちらであるかによって異なるので、その後の実行内容を決定する（ステップＳＴ２１４）。音楽連動制御マスター３として実行する場合には、音楽連動制御サーバ７の仮想音楽再生プレーヤ７５に常にシークレットキー、アクセスキー及び識別ＩＤでアクセスする（ステップＳＴ２１５）。音楽連動制御マスター３では、動作１乃至４のアルゴリズムに基づいて音楽コンテンツの再生に併せた音楽連動制御が自動的に実行される（ステップＳＴ２１６）。音楽連動制御スレーブ５として実行する場合には、音楽連動制御サーバ７の仮想音楽再生プレーヤ７５に常にアクセスキー及び識別ＩＤでアクセスする（ステップＳＴ２１７）。音楽連動制御スレーブ５では、動作１乃至４のアルゴリズムに基づいて音楽コンテンツの再生に併せた音楽連動制御が自動的に実行される（ステップＳＴ２１８）。
【００６３】
［実施の形態の実用化のための開発の経緯］
出願人は、音楽理解技術に基づいて人々の音楽体験をより豊かにすることで、学術・産業・社会・文化的に貢献することを目指した研究開発に取り組んできた。これまでに、ウェブ上の楽曲の中身を音楽理解技術で可視化する能動的音楽鑑賞サービス「Songle（ソングル）」（http://songle.jp）や、膨大な音楽コンテンツを俯瞰的に鑑賞できる音楽視聴支援サービス「Songrium（ソングリウム）」（http://songrium.jp）、楽曲に合わせて歌詞をアニメーション化できる歌詞アニメーション制作支援サービス「TextAlive（テキストアライブ）」（http://textalive.jp）を開発し、一般に公開してきた（2012年8月29日、2013年8月27日、2015年9月8日 産総研・JST共同プレス発表）。
【００６４】
これらの研究開発を通じ、音楽に連動した表現・制御が価値を持ち、人々の関心も高いことが分かってきた。そこで、楽曲の中身（ビートや小節、サビ等）を楽曲解析した結果を一台のパソコンのウェブブラウザ上で利用して音楽に連動した演出ができる「Songle Widget（ソングルウィジェット）」（http://widget.songle.jp）の仕組みを開発し、2014年8月に試験公開した。
【００６５】
そこで本出願のために新たな研究開発に取り組み、従来の技術では実現できていなかった複数台の多種多様な機器の同期制御に発展させて、インターネットに接続できる環境であれば、場所や人数を問わず、人々が同時刻に同一楽曲の音楽連動制御を楽しめる新たな仕組みを開発し、この開発に基づく技術について本発明を出願することとした。
【００６６】
［開発内容］
ウェブ上の楽曲の再生に合わせて、百人を超えるような多人数の人々が既に所有する多種多様な携帯端末（スマートフォン、タブレット）・パソコン・Internet of Things (IoT)デバイスを連携させて制御することができる仕組みを本発明の基礎技術として開発した。本発明のために開発した基礎技術による本実施の形態のプラットフォームでは、多数の汎用機器を自由自在に組み合わせた多様な実行環境で、通信が断続的であっても問題なく動作するように、各機器が自律的に音楽を再生しながら、それに連動してさまざまな演出をすることができる。人々はこの仕組みにより、異なる演出を手軽に組み合わせたり、演出を変更したりすることができる。
【００６７】
本実施の形態のプラットフォームによって既に実現した音楽連動制御アプリケーション（アプリ）の一例は、以下の手順で利用できる。
【００６８】
（１）楽曲と演出スタイルの選択
ユーザーはスマートフォンやパソコン上のウェブブラウザを使って、ウェブサイト上で公開されている楽曲（MP3形式の音響信号ファイルや楽曲・動画共有サービス上の楽曲・動画）と、楽曲全体にわたる演出の仕方を決める数種類の「演出スタイル」を好みに応じて選択する。すると、音楽再生プレーヤが表示され、ウェブサイト上にある楽曲がストリーミング再生されるとともに、その楽曲のビートやサビなどに応じて多様に変化するCGアニメーション（CG映像）が、選択した演出スタイルに応じて描画され、楽曲を目と耳の両方で楽しむことができる。
【００６９】
（２）アクセスキーの発行
本実施の形態のプラットフォームでは、仮想音楽再生プレーヤにさまざまな人々が接続するためのアクセスキー（文字列、URL、QRコード）を発行する。ユーザーは、一緒に音楽と演出を楽しみたい他の人々に、このアクセスキーを通知する。
【００７０】
（３）複数の汎用機器がインターネットを介して音楽に連動
他の人々が自分のスマートフォンやパソコン上のウェブブラウザに、通知されたアクセスキーを入力すると、同じ楽曲の音楽再生プレーヤがインターフェイス上に表示され、場所を問わず全員が同じ瞬間に同期して楽曲とアニメーションを楽しむことができる。楽曲の途中で接続しても同期するだけでなく、アクセスキーを通知したユーザーが楽曲を変更したり再生・停止したりすれば、それに連動して、他の人々の楽曲やアニメーションも変更・再生・停止する。楽曲とアニメーションのどちらか一方だけを選択することもでき、例えばアクセスキーを配ったユーザーがスピーカーで鳴らしている音楽を一緒に聞きながら、その場にいる他の人々のスマートフォンの画面に同じアニメーションを音楽は再生せずに表示する使い方ができる。
【００７１】
本実施の形態のプラットフォームを用いると、楽曲コンテンツを再生し演出を描画する音楽連動制御アプリそのものを、開発キットを用いて、演出スタイルのサンプルプログラムを変更するだけで、プログラマーが自由かつ容易に開発できる。その際、多数の機器制御を意識する必要がなく、一台の機器を制御するつもりでプログラミングをすれば、プラットフォームが他の機器との時刻同期を自動的に実現する。
【００７２】
［本実施の形態の特徴］
（１）ウェブ上の楽曲を再生しながら多種多様な携帯端末・パソコン・IoTデバイスの連動制御を実現
本実施の形態のプラットフォームでは、ウェブサイト上で公開されている100万曲以上の楽曲を音楽サービスSongleが自動解析した結果を即座に利用して、楽曲毎に異なる中身に連動した演出を楽しむことが可能である。再生したい楽曲が自動解析されていなければ、SongleにそのURLを登録すると自動解析され、その楽曲も再生できる。Songleや本実施の形態のプラットフォームには音楽配信機能や楽曲アップロード機能はなく、楽曲は元のウェブサイト上から直接ストリーミング再生される仕組みとなっている。本実施の形態のプラットフォームの演出スタイルは、JavaScript（登録商標）が実行できる一般的なウェブブラウザから利用できて汎用性が高いため、異なるOS［Windows（登録商標）、MacOS（登録商標）］を搭載したパソコンや、異なるOS［iOS（登録商標）、Android（登録商標）］を搭載したスマートフォン・タブレットのような多種多様な機器を連動制御することが可能である。さらに、サーバ上で動作するJavaScript環境Node.jsを用いれば、小型軽量端末Raspberry Piや、IoTデバイス（ロボットや照明機器、衣装のLED等）を活用した演出もできる。
【００７３】
楽曲を選んで再生すれば音楽連動制御ができる本実施の形態のプラットフォームの利用事例を実際に開発し、多種多様な機器によるさまざまな演出スタイルを容易に開発できることを確認している。
【００７４】
（ａ）画面表示
パソコン、iPhone（登録商標）、iPad（登録商標）、iPod touch（登録商標）、Android（登録商標）フォン、Raspberry Pi（登録商標）等を用いて、画面上で音楽に連動したアニメーションを表示できた。
【００７５】
（ｂ）空間演出制御
照明機器やLEDを内蔵した光る生活雑貨（花瓶、キャンドル）等を用いて、部屋・環境の照明・光を音楽に連動して変化させられた。
【００７６】
（ｃ）ファッション制御
LED（発光ダイオード）を装着・内蔵した光る衣装や光る腕輪を用いて、音楽に連動した発光制御ができた。
【００７７】
（ｄ）メカ制御
小型ロボットや電動カーテンを用いて、音楽に連動してロボットを動かし、カーテンを開閉できた。
【００７８】
（２）大規模な音楽連動制御に基づく音楽体験が今後さまざまな利用シーンで新たな価値を創出
本実施の形態のプラットフォームを人々が利用すれば、楽曲の再生を開始すると、既に所有している携帯端末・パソコン等のスピーカーから同時に同じ楽曲が鳴り、しかもそれらの画面に、その音楽に合わせて動く多様で変化に富むアニメーションが表示可能になる。こうした音楽体験は従来なく、今後、例えば、図２２に示すような利用シーンで新たな価値を創出できる可能性がある。
【００７９】
（ａ）ライブ・イベント会場
会場スピーカーから流れる音楽の再生に合わせて、来場者のスマートフォンの画面に変化に富んだアニメーションを表示するような新たな演出が可能になる。さらに、会場の複数の大型スクリーンにも同じアニメーションを出したり、ステージ登壇者の衣装や腕輪を発光させたりするような応用もできる。着席後のライブ開始前やイベントの入場待機列等の場面で来場者に一体感を持って楽しんでもらう演出として、音楽連動制御を活用しても効果的である。
【００８０】
（ｂ）ショッピングモール・店舗
背景音楽（BGM）に連動して通路や店舗の壁面や床等のさまざまな箇所に演出が可能となる。大型照明機器、プロジェクター投影映像等が連動した演出で、モールや店舗全体に一体感が出すことができる。さらに来店者のスマートフォンと連動させても効果的である。
【００８１】
（ｃ）カフェ・飲食店
飲食時の背景音楽（BGM）に、間接照明やディスプレイ・照明機器を連動させることで、ムードを変えたり、店舗毎に異なる印象を与えたりする演出が可能になる。
【００８２】
（ｄ）街中・屋外イベント
街中全体を使った屋外イベントのような機会に、既に設置されているさまざまなディスプレイや照明、プロジェクションマッピング等を組み合わせて、音楽連動制御を実施することも考えられる。主催者が事前に用意した特別な演出を体験可能なQRコードを配布すれば、その街を訪れている人々が同時に音楽に連動した演出を楽しむことができる。
【００８３】
（３）プログラマーが大規模音楽連動制御の利用事例を容易に開発できるプラットフォームを提供
本実施の形態のプラットフォームは、ユーザーにとって自分の機器が容易に他の機器と連動する新たな音楽体験を可能にするだけでなく、以下のように、プログラマーにとっても大規模な音楽連動制御を容易に演出できる新たなプログラミング体験を可能にできる。そのための開発キットAPI（Application Programming Interface）、サンプルプログラム、チュートリアル）も提供している。
【００８４】
（ａ）プログラマーは音楽に同期させるための時間管理を意識する必要がない。
楽曲の小節の先頭ではこういう演出、サビに入ったらこういう演出、という風にイベント駆動なプログラムを記述するだけで、楽曲中の再生時刻が各イベントの時刻に達すると自動的にそうした演出が実行される。しかも楽曲毎に手作業でイベントを設定する必要がなく、楽曲解析結果（ビート、小節、サビ、繰り返し区間、コード等）をイベントとして利用できる。
【００８５】
（ｂ）プログラマーは他の機器との連動制御を意識する必要がない。
一台の機器を念頭においてアプリをプログラミングするだけで、他の多数の機器と自動的に連動できる。しかも、スマートフォンやパソコンのウェブブラウザで動作するアプリ、ロボットを制御するアプリ、照明を制御するアプリのように、個別に開発されたさまざまな種類のアプリを、ある楽曲の再生に一緒に連動させることができる。このようにプログラマーは、通信や他の機器との連動制御を全く意識せずに、大規模な音楽連動制御を実現できる。
【００８６】
本実施の形態のプラットフォームは、多様な演出を実現する音楽連動制御アプリをさまざまなプログラマーが開発できる汎用のプラットフォームであり、拡張性が高く演出が固定されていない点が優れている。サーバとの通信によって、各機器が楽曲の再生に連動して自律的に動作すれば、機器同士が直接通信をしなくても全体が同期して動作しているように見える。これに着目して、機器が多種多様かつ多数で、通信が断続的であっても問題ないように、各機器が接続時に楽曲解析結果を取得して時刻同期をした後は、楽曲の再生時刻に応じて自律的にイベント駆動で演出を呼び出している。各機器上での音楽再生プレーヤの再生時刻もずれないように自律的に調整する。これによってサーバへの接続台数が増えても各機器の動作に影響が少なく、各機器が音楽の途中からでも演出に参加可能になっている。また、音楽連動制御の仕組みが機種依存になって相互接続が困難になる問題が起きないように、ウェブ標準技術に基づいて実装した。これによってプログラマーはJavaScriptで記述したアプリを幅広い実行環境（JavaScriptが実行できる一般的なウェブブラウザ、JavaScript環境Node.jsなど）で動作させることができ、ユーザーはQRコード等で手軽にアプリを利用できるようになっている。
【産業上の利用可能性】
【００８７】
本発明によれば、音楽連動サーバ内の仮想音楽再生プレーヤの状態を基準とすることにより、１以上の音楽連動制御マスターにおける個別時刻及び複数の音楽連動制御スレーブにおける個別時刻と音楽連動サーバにおける基準時刻とが一致していない場合でも、１以上の音楽連動制御マスター及び複数の音楽連動制御スレーブにおいて、同じ音楽コンテンツを実質的に同期して再生することができ、また複数の音楽連動制御スレーブにおいては音楽コンテンツの再生に同期してスレーブ音楽連動演出器を動作させることができる。
【符号の説明】
【００８８】
１  音楽連動制御プラットフォーム
３  音楽連動制御マスター
３１  マスター音楽再生プレーヤ
３２  マスター音楽連動演出器
３３  個別時刻発生器
３４  通信手段
３５  マスター制御部
３６  マスタープロセッサ
３７  表示部
３８  入力インターフェイス
５  音楽連動制御スレーブ
５１  スレーブ音楽再生プレーヤ
５２  スレーブ音楽連動演出器
５３  個別時刻発生器
５４  通信手段
５５  スレーブ制御部
５６  スレーブプロセッサ
５７  表示部
５８  入力インターフェイス
７  音楽連動制御サーバ
７１  基準時刻発生器
７２  通信手段
７３  サーバプロセッサ
７４  ステージ
７５  仮想音楽再生プレーヤ
９  楽曲解析部
【図１】
2019022256.tif 000003
【図２】
2019022256.tif 000004
【図３】
2019022256.tif 000005
【図４】
2019022256.tif 000006
【図５】
2019022256.tif 000007
【図６】
2019022256.tif 000008
【図７】
2019022256.tif 000009
【図８】
2019022256.tif 000010
【図９】
2019022256.tif 000011
【図１０】
2019022256.tif 000012
【図１１】
2019022256.tif 000013
【図１２】
2019022256.tif 000014
【図１３】
2019022256.tif 000015
【図１４】
2019022256.tif 000016
【図１５】
2019022256.tif 000017
【図１６】
2019022256.tif 000018
【図１７】
2019022256.tif 000019
【図１８】
2019022256.tif 000020
【図１９】
2019022256.tif 000021
【図２０】
2019022256.tif 000022
【図２１】
2019022256.tif 000023
【図２２】
2019022256.tif 000024
【国際調査報告】
2019022256.tif 000025
2019022256.tif 000026