JP6784977B2 - 音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法 - Google Patents

音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法 Download PDF

Info

Publication number
JP6784977B2
JP6784977B2 JP2019532894A JP2019532894A JP6784977B2 JP 6784977 B2 JP6784977 B2 JP 6784977B2 JP 2019532894 A JP2019532894 A JP 2019532894A JP 2019532894 A JP2019532894 A JP 2019532894A JP 6784977 B2 JP6784977 B2 JP 6784977B2
Authority
JP
Japan
Prior art keywords
music
time
playback
interlocking control
content
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.)
Active
Application number
JP2019532894A
Other languages
English (en)
Other versions
JPWO2019022256A1 (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Publication of JPWO2019022256A1 publication Critical patent/JPWO2019022256A1/ja
Application granted granted Critical
Publication of JP6784977B2 publication Critical patent/JP6784977B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • H04N21/8113Monomedia components thereof involving special audio data, e.g. different tracks for different languages comprising music, e.g. song in MP3 format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/04Sound-producing devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Description

本発明は、音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法に関するものである。
音楽は、音だけでも楽しまれるが、ミュージックビデオで音楽と映像が連動するように、音楽の再生に連動した多様な演出と共に楽しまれることも多い。近年では音楽再生に合わせて、パソコンの画面上の表示内容を変えたり、ロボットを踊らせたりすることも可能になっている。ライブコンサートでは、多数のペンライトの光を一斉に変更する専用システムも用いられている。スマートフォン上の専用アプリケーションが単色発光するシステムもある。しかし、演出手段が固定された専用システムが個別に開発されていたために、拡張性が乏しかった。
また特開2017−103547号公報(特許文献1)には、複数の再生装置がマスター及びスレーブのどちらとして機能しているかを判定した上で、外部からの命令に基づいて複数の再生装置がコンテンツを再生する際の再生タイミングの差を抑制する技術が開示されている。
また特開2011−228784号公報(特許文献2)には、マスター端末とスレーブ端末とに分けられた複数端末間で同一映像を同期して視聴する発明が開示されている。
特開2017−103547号公報 特開2011−228784号公報
しかし従来、人々が既に所有する多種多様な携帯端末(スマートフォン、タブレット)・パソコン・Internet of Things (IoT)デバイス(インターネットに接続されたロボット、照明機器等の機器)を自由自在に組み合わせながら、さまざまな楽曲に合わせて同時に制御して演出を楽しむことはできなかった。専用機器ではない既存の多数の多種多様な汎用機器を用いて音楽再生・演出を同期制御しようとしても、断続的で個別の非同期通信を繰り返す通信環境と多様な実行環境においては、連続的な再生が必要な音楽とそれに合わせた演出が機器ごとにずれやすく、技術的に困難だったからである。ユーザーが異なる演出を手軽に組み合わせたり、演出を変更したりすることも従来は実現されておらず、大規模な音楽連動制御に基づく新たな演出を、プログラマー(プログラミング技術を持つ開発者)が容易に開発できるようにするための開発キットもなかった。
本発明の目的は、複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法を提供することにある。
本発明の複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームは、1以上の音楽連動制御マスターと、複数の音楽連動制御スレーブと、音楽連動制御サーバとを備えている。
1以上の音楽連動制御マスターは、マスター音楽再生プレーヤと、個別時刻を発生する個別時刻発生器、通信手段及びマスター音楽再生プレーヤのマスター制御部を構成するマスタープロセッサを備えていて、複数の音楽コンテンツの中から選択した音楽コンテンツを再生するようにマスター音楽再生プレーヤを制御する。
複数の音楽連動制御スレーブは、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つと、個別時刻を発生する個別時刻発生器、通信手段並びにスレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部を構成するスレーブプロセッサを備えて、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つを制御する。
音楽連動制御サーバは、基準時刻を発生する基準時刻発生器と通信ネットワークを介して1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブと接続される通信手段を有するサーバプロセッサを備えている。このサーバプロセッサは、以下のことを実施する。まず1以上の音楽連動制御マスターからステージ作成コマンドが入力されるとステージを作成するとともに仮想音楽再生プレーヤを作成する。1以上の音楽連動制御マスターからステージ削除コマンドが入力されると仮想音楽再生プレーヤを削除するとともに前記ステージを削除する。1以上の音楽連動制御マスターから音楽コンテンツの再生に関する操作コマンドが入力されると仮想音楽再生プレーヤの状態を更新する。1以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブから、仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると、仮想音楽再生プレーヤの状態を、確認コマンドを送信してきた1以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブに返信する。1以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブから、基準時刻と個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの基準時刻を、同期要求コマンドを送信してきた1以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブに送信する。
仮想音楽再生プレーヤの状態は、1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブで再生する音楽コンテンツを特定する音楽コンテンツを識別する識別子(例えば、URL等)、最新の操作コマンドで指令された最新の操作内容、操作コマンドが操作対象とするコンテンツ内再生時刻(音楽コンテンツ内での再生位置で、コンテンツの先頭時刻を0秒としたときのコンテンツの先頭からの経過時刻)、コンテンツ内再生時刻に対応する基準時刻上の時刻を含んでいる。代表的な音楽コンテンツを識別する識別子はURLであり、代表的なURLは、You Tube(登録商標)等の映像を含んだコンテンツのURL、MP3のような音楽コンテンツのURLがある。
1以上の音楽連動制御マスターのマスター制御部は、基準時刻において動作する仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤを制御する機能を有している。複数の音楽連動制御スレーブのスレーブ制御部は、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つを制御する機能を有している。
本発明においては、音楽連動制御サーバが、1以上の音楽連動制御マスターから音楽コンテンツに基づく操作コマンドが入力されると、操作コマンドに基づいて仮想音楽再生プレーヤの状態を更新し、1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブに最新の仮想音楽再生プレーヤの状態を入手可能にする。そして音楽連動制御サーバは、1以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブから、仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると、音楽連動制御サーバは最新の仮想音楽再生プレーヤの状態を、確認コマンドを送信してきた1以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブに返信する。最新の仮想音楽再生プレーヤの状態を受け取った1以上の音楽連動制御マスターのマスター制御部は、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤを制御して前記識別子から得た音楽コンテンツを再生する。また最新の仮想音楽再生プレーヤの状態を受け取った複数の音楽連動制御スレーブのスレーブ制御部は、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つを制御して、前記識別子から得た音楽コンテンツを再生するかこの音楽コンテンツの再生に連動する演出を実行する。
本発明によれば、上記のように音楽連動サーバ内の仮想音楽再生プレーヤの状態を基準とすることにより、1以上の音楽連動制御マスターにおける個別時刻及び複数の音楽連動制御スレーブにおける個別時刻と音楽連動サーバにおける基準時刻とが一致していない場合でも、1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブにおいて、同じ音楽コンテンツを実質的に同期して再生することができ、また複数の音楽連動制御スレーブにおいては音楽コンテンツの再生に同期してスレーブ音楽連動演出器を動作させことができる。なお1以上の音楽連動制御マスターにもマスター音楽連動演出器が設けられていてもよい。これらの場合において、識別子に基づいて音楽コンテンツと音楽コンテンツの楽曲解析結果を入手し、音楽コンテンツは再生せずに、楽曲解析結果に基づいて、音楽連動演出器だけを動作させてもよいのは勿論である。
1以上の音楽連動制御マスターのマスター制御部は、個別時刻におけるコンテンツ内再生時刻(音楽コンテンツ内での再生位置で、コンテンツの先頭時刻を0秒としたときのコンテンツの先頭からの経過時刻)に基づいてマスター音楽再生プレーヤを制御する際に、マスター音楽再生プレーヤが音楽コンテンツを実際に再生している実際のコンテンツ内再生時刻を取得し、実際のコンテンツ内再生時刻と、本来再生しているべき個別時刻における本来のコンテンツ内再生時刻とのずれを計算し、ずれが一定時間以上の場合には、ずれがなくなって個別時刻における本来のコンテンツ内再生時刻で再生するようにマスター音楽再生プレーヤの再生を制御する機能を有しているのが好ましい。このようにすると何らかの理由で、ゆれや遅延が発生して、ずれが生じている場合でも、そのずれを修復することができる。
複数の音楽連動制御スレーブのスレーブ制御部が、スレーブ音楽再生プレーヤを有しており、個別時刻におけるコンテンツ内再生時刻(音楽コンテンツ内での再生位置で、コンテンツの先頭時刻を0秒としたときのコンテンツの先頭からの経過時刻)に基づいてスレーブ音楽再生プレーヤを制御する際には、スレーブ音楽再生プレーヤが音楽コンテンツを実際に再生している実際のコンテンツ内再生時刻を取得し、実際のコンテンツ内再生時刻と、本来再生しているべき個別時刻における本来のコンテンツ内再生時刻とのずれを計算し、ずれが一定時間以上の場合には、ずれがなくなって個別時刻における本来のコンテンツ内再生時刻で再生するようにスレーブ音楽再生プレーヤの再生を制御する機能を有しているのが好ましい。このようにすると何らかの理由で、ゆれや遅延が発生して、ずれが生じている場合でも、そのずれを修復することができる。
音楽連動制御サーバ内のステージは、音楽連動制御マスターにシークレットキーとアクセスキーを発行する機能を有しており、1以上の音楽連動制御マスターが音楽連動制御サーバのステージと通信する際にはシークレットキーとアクセスキーを用いてアクセスし、複数の音楽連動制御スレーブが音楽連動制御サーバのステージと通信する際には1以上の音楽連動制御マスターに対して発行されたアクセスキーを用いてアクセスするようにするのが好ましい。シークレットキーは、1以上の音楽連動制御マスターだけに仮想音楽再生プレーヤの状態を変化させる権限を与えている。そして音楽連動制御マスターを利用しているユーザーは、音楽連動制御スレーブを利用しているユーザーに、ソーシャルメディア、電子メール等を利用してアクセスキーを教えることができる。また音楽連動制御スレーブには、アクセスキーをQRコード(登録商標)やURLなどの方法で伝えることができる。
また音楽連動制御サーバは、1以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブからアクセスがあると、アクセスキーに基づいてステージと仮想音楽再生プレーヤを特定する。したがって異なる音楽コンテンツを再生する複数の音楽連動制御マスターが音楽連動制御サーバに接続されていても、正しいステージと仮想音楽再生プレーヤに1以上の音楽連動制御マスターまたは複数の音楽連動制御スレーブを接続することができる。
またステージは、初めてアクセスしてきた1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブに、それぞれ識別IDを付与する機能を有している。そしてステージは、識別IDとアクセス時刻に基づいて、1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブの接続状況を管理する機能を更に備えている。識別IDを発行して管理をすると、設定台数以上の音楽連動制御マスター及び設定台数以上の音楽連動制御スレーブが、音楽連動制御サーバに接続されることを防止できる上、すでに接続が切られている音楽連動制御マスター及び音楽連動制御スレーブを管理外の者とすることができる。
なお仮想音楽再生プレーヤの状態として記録されている操作内容には、少なくとも音楽コンテンツの再生及び停止が含まれている。具体的な、仮想音楽再生プレーヤの状態として、操作コマンドが再生コマンドの場合には、最新の操作内容としては再生状態が記録され、再生開始時刻としてコンテンツ内再生時刻が記録されており、操作コマンドが停止コマンドの場合には、操作内容としては停止状態が記録されて、再生停止時刻としてコンテンツ内再生時刻が指定されている。また仮想音楽再生プレーヤの状態として記録されている操作内容には、再生中のシーク及び停止中のシークが含まれていてもよい。この場合、仮想音楽再生プレーヤの状態として記録されている操作内容には、再生中のシーク及び停止中のシークが含まれる。操作コマンドがシークコマンドの場合には、操作内容としては再生中のシーク状態または停止中のシーク状態が記録されて、シーク先時刻としてコンテンツ内再生時刻が記録されている。
1以上の音楽連動制御マスターは、表示画面を有する表示部を備えた通信端末機であり、表示画面に音楽再生プレーヤの入力インターフェイスを表示するように構成されている。したがって1以上の音楽連動制御マスターのユーザーは、入力インターフェイスを用いて、操作内容を変更することができる。この変更は、仮想音楽再生プレーヤの状態を更新することになり、複数の音楽連動制御スレーブもこの変更に応じた再生を行うようになる。
1以上の音楽連動制御マスター及び複数の音楽連動制御マスターのマスター制御部及び複数の音楽連動制御スレーブのスレーブ制御部は、定期的に音楽連動制御サーバに仮想音楽再生プレーヤの状態を確認する確認コマンド送信し、音楽連動制御サーバから送信されてきた仮想音楽再生プレーヤの状態の変化を検出すると、仮想音楽再生プレーヤの状態の変化に応じてマスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤを制御する機能を有している。その結果、常に仮想音楽再生プレーヤの状態と同じ状態で、マスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤで再生動作を行うこと、また音楽連動演出器で同期動作を行うことができる。また音楽連動制御スレーブが、途中からステージに接続することも可能になる。その結果、音楽連動制御スレーブの接続台数を簡単に増やすことができる。
1以上の音楽連動制御マスターのマスター制御部及び複数の音楽連動制御スレーブのスレーブ制御部は、音楽コンテンツに対応する楽曲解析結果を取得すると、楽曲解析結果には1以上のイベントが含まれており、マスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤが再生動作をしているときに、マスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤにおけるコンテンツ内再生時刻がイベントの時刻に一致したか否かを判定し、一致したイベントに対する処理内容を実行する機能を有しているのが好ましい。このようにすると、音楽と連動してイベントの処理内容を実行することができる。その結果、イベントの処理内容の実行が、音楽連動制御マスター及び音楽連動制御スレーブで個々に自律的に行われるので、イベントの処理内容の実行に関して、音楽連動制御サーバの負荷が増加することはないという利点がある。また通信が断続的にあってもイベントの処理内容を連続して実行することができる。
複数の音楽連動制御スレーブのスレーブ音楽連動演出器は、イベントに対する処理内容を実行することによって、音楽の楽曲解析結果に連動して制御される。これによって、演出の音楽連動が実現できる。
1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブは、音楽コンテンツに含まれる楽曲解析結果に応じて1以上のイベントに対応する処理内容を設定する機能を有しているのが好ましい。このようにすると、ユーザーまたはプログラマーがイベントに対応する処理内容を自在に設定することが可能になる。また多種多様な演出を音楽に連動させたり、多種多様な機器を制御することが可能になる。
イベントは、楽曲解析結果に含まれるビート、小節、サビ区間、繰り返し区間、またはコードに基づいて定められている。
1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブは、個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバの基準時刻とのずれをオフセット時間として記録しており、オフセット時間が予め定めた値より大きく変動していたら、マスター音楽再生プレーヤ及びスレーブ音楽再生プレーヤにおける本来のコンテンツ内再生時刻を補正する機能を有しているのが好ましい。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバの基準時刻とのずれ著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
音楽連動制御マスターは1台であってもよいのは勿論である。音楽連動制御マスターが1台だけの場合には、「1台の音楽連動制御マスターの状態」が「仮想音楽連動プレーヤの状態」と常に一致している状態で動作させることも可能となる。その場合には、1台の音楽連動制御マスターを仮想音楽連動プレーヤと同期させる必要がなくなる。したがってこのような場合には、1台の音楽連動制御マスターにおいて、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤを制御することをせずに、動作させてもよい。
本発明は、音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームの制御方法としても特定することができる。使用するプラットフォームの構成は、上記と同じである。音楽連動制御プラットフォームの制御方法では、1以上の音楽連動制御マスターのマスター制御部が、仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記マスター音楽再生プレーヤを制御する。また複数の音楽連動制御スレーブのスレーブ制御部が、前記仮想音楽再生プレーヤの状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つを制御する。
本発明の音楽連動制御プラットフォームの実施の形態の構成を示すブロック図である。 実施の形態で用いる音楽連動制御マスターの構成を示すブロック図である。 実施の形態で用いる音楽連動制御スレーブの構成を示すブロック図である。 実施の形態で用いる音楽連動制御サーバの構成を示すブロック図である。 音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。 音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。 音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。 音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。 音楽連動制御サーバで用いるアルゴリズムを示すフローチャートである。 音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。 音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。 音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。 音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。 音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。 音楽連動制御マスターで用いるアルゴリズムを示すフローチャートである。 音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。 音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。 音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。 音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。 音楽連動制御スレーブで用いるアルゴリズムを示すフローチャートである。 本実施の形態の音楽連動制御プラットフォーム上で動作する音楽連動制御アプリケーションで用いるアルゴリズムを示すフローチャートである。 本実施の形態の利用シーンを示す図である。
以下図面を参照して本発明の音楽連動制御プラットフォームの実施の形態の一例を詳細に説明する。図1は、本発明の複数の機器を音楽に同期させて制御する音楽連動制御プラットフォームの実施の形態の構成を示すブロック図である。音楽連動制御プラットフォーム1は、1以上の音楽連動制御マスター3と、複数の音楽連動制御スレーブ5と、音楽連動制御サーバ7とを備えている。
[音楽連動制御マスター3の構成]
1以上の音楽連動制御マスター3は、図2に示すように、マスター音楽再生プレーヤ31と、マスター音楽連動演出器32と、個別時刻を発生する個別時刻発生器33、通信手段34及びマスター音楽再生プレーヤ31のマスター制御部35を構成するマスタープロセッサ36と、液晶表示装置のような表示部37と、入力インターフェイス38を備えている。1以上の音楽連動制御マスター3は、ウェブ上の複数の音楽コンテンツの中から選択した音楽コンテンツを再生するようにマスター音楽再生プレーヤ31を制御し、液晶表示デバイスや、LED等の発光デバイスや、動くオブジェなどの可動装置からなるマスター音楽連動演出器32を音楽コンテンツに連動して制御する。なお本願明細書において、「音楽コンテンツに連動とは」、楽曲解析部9の解析結果と連動する場合を含むものである。なお本実施の形態においては、音楽連動制御マスター3は、少なくとも1台あればよく、またマスター音楽連動演出器32はなくてもよい。またマスタープロセッサ36は、コンピュータを用いて実現することができる。
[音楽連動制御スレーブ5の構成]
複数の音楽連動制御スレーブ5は、図3に示すように、スレーブ音楽再生プレーヤ51及びスレーブ音楽連動演出器52と、個別時刻を発生する個別時刻発生器53、通信手段54並びにスレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部55を構成するスレーブプロセッサ56、液晶表示装置のような表示部57と、入力インターフェイス58を備えている。各音楽連動制御スレーブ5は、スレーブ音楽再生プレーヤ51及びスレーブ音楽連動演出器52を制御する。なお音楽連動制御スレーブ5には、スレーブ音楽再生プレーヤ51及びスレーブ音楽連動演出器52の両方が揃っている必要はなく、スレーブ音楽再生プレーヤ51及びスレーブ音楽連動演出器52の少なくとも一方が設けられていればよい。またスレーブプロセッサ56は、コンピュータを用いて構成することができる。なお図1においては、代表的に1つの音楽連動制御スレーブ5だけにウェブ上の音楽コンテンツと楽曲解析結果が入力されている表示をしてあるが、図示を簡略化するために、その他の音楽連動制御スレーブ5へのウェブ上の音楽コンテンツと楽曲解析結果の入力は省略してある。
[音楽連動制御サーバ7の構成と動作]
音楽連動制御サーバ7は、図4に示すように、基準時刻を発生する基準時刻発生器71と通信ネットワークを介して1以上の音楽連動制御マスター3及び複数の音楽連動制御スレーブ5と接続される通信手段72を有するサーバプロセッサ73を備えている。このサーバプロセッサ73は、音楽連動制御マスター3からの要求に応じて、再生する音楽コンテンツ毎に、ステージ74と仮想音楽再生プレーヤ75を構成して、以下のことを実施する。サーバプロセッサ73はコンピュータを用いて構成することができる。なお以下の説明では、図5乃至図9に示したアルゴリズムを併用して説明をする。
まず1以上の音楽連動制御マスター3からステージ作成コマンドが入力されるとステージ74を作成するとともに仮想音楽再生プレーヤ75を作成する。音楽連動制御サーバ7内のステージ74は、1以上の音楽連動制御マスター3にシークレットキーとアクセスキーを発行する機能を有している。1以上の音楽連動制御マスター3が音楽連動制御サーバのステージと通信する際にはシークレットキーとアクセスキーを用いてアクセスし、複数の音楽連動制御スレーブ5が音楽連動制御サーバ7のステージ74と通信する際には1以上の音楽連動制御マスター3に対して発行されたアクセスキーを用いてアクセスする。シークレットキーは、1以上の音楽連動制御マスター3だけに仮想音楽再生プレーヤ75の状態を変化させる権限を与えている。音楽連動制御マスター3を利用しているユーザーは、音楽連動制御スレーブ5を利用しているユーザーに、対面でアクセスキーを教えたり、ソーシャルメディア、電子メール等を利用してアクセスキーを教えたりすることになる。例えば、音楽連動制御スレーブ5には、アクセスキーをQRコードやURLなどの方法で伝えてもよい。この動作を図5のアルゴリズムに示す。ステップST51では、音楽連動制御マスター3からステージ作成コマンドが入力されたことを「ステージ作成ボタンが押された」か否かにより、判定する。Yesであれば、ステップST52へ進み、ステージを作成し、アクセスキーとシークレットキーを発行する。その後ステップST53で、仮想音楽再生プレーヤ75を作成する。
図6のアルゴリズムに示すように、1以上の音楽連動制御マスター3からステージ削除コマンドが入力されると(ステップST61で「ステージ削除ボタンを押されたか?」がYesになると)、仮想音楽再生プレーヤ75を削除するとともにステージ74を削除する(ステップST62,ST63)。
図7のアルゴリズムに示すように、ステージ74は、1以上の音楽連動制御マスター3から音楽コンテンツの再生に関する操作コマンドが入力されると仮想音楽再生プレーヤ75の状態を更新する(ステップST71,ST72)。この「操作コマンド」には即座に状態を変えるコマンドと未来の状態を変えるコマンドが含まれる。そしてステージ74は、1以上の音楽連動制御マスター3または複数の音楽連動制御スレーブ5から、仮想音楽再生プレーヤ75の状態を確認する確認コマンドが入力されると、仮想音楽再生プレーヤ75の状態を、確認コマンドを送信してきた1以上の音楽連動制御マスター3または複数の音楽連動制御スレーブ5に返信する(ステップST73及び74)。さらにステージ74は、1以上の音楽連動制御マスター3または複数の音楽連動制御スレーブ5から、基準時刻と個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの基準時刻を、同期要求コマンドを送信してきた1以上の音楽連動制御マスター3または複数の音楽連動制御スレーブ5に送信する(ステップST75,ST76)。後に詳しく説明するように、基準時刻を受け取った1以上の音楽連動制御マスター3または複数の音楽連動制御スレーブ5では、オフセット時刻を推定して同期動作を行う。
ここで仮想音楽再生プレーヤ75における「仮想音楽再生プレーヤの状態」は、1以上の音楽連動制御マスター3及び複数の音楽連動制御スレーブ5で再生する音楽コンテンツを特定する音楽コンテンツを識別する識別子(例えば、URL等)、最新の操作コマンドで指令された最新の操作内容、操作コマンドが操作対象とするコンテンツ内再生時刻、コンテンツ内再生時刻に対応する基準時刻上の時刻を含んでいる。代表的な音楽コンテンツを識別する識別子はURLであり、代表的なURLは、You Tube(登録商標)等の映像を含んだコンテンツのURL、MP3のような音楽コンテンツのURLがある。本実施の形態の音楽連動制御プラットフォーム1には音楽配信機能や楽曲アップロード機能はなく、楽曲は元のウェブサイト上から直接ストリーミング再生される。ただし、音楽連動制御プラットフォーム1が一般的に用いられているような音楽配信機能や楽曲アップロード機能を有していてもよいのは勿論である。
なお本実施の形態では、仮想音楽再生プレーヤ75に「仮想音楽再生プレーヤの状態」として記録されている操作内容には、音楽コンテンツの再生、停止、再生中のシーク及び停止中のシークが含まれている。具体的な「仮想音楽再生プレーヤの状態」として、操作コマンドが再生コマンドの場合には、最新の操作内容としては再生状態が記録され、再生開始時刻としてコンテンツ内再生時刻が記録されている。操作コマンドが停止コマンドの場合には、操作内容としては停止状態が記録されて、再生停止時刻としてコンテンツ内再生時刻が指定されている。そして操作コマンドがシークコマンドの場合には、操作内容としては再生中のシーク状態または停止中のシーク状態が記録されて、シーク先時刻としてコンテンツ内再生時刻が記録されている。なお操作コマンドにシークコマンドが含まれていなくてもよいのは勿論である。
また図8のアルゴリズムの一例に示すように、ステージ74は、ステップST81でアクセスしてきた1以上の音楽連動制御マスター3及び複数の音楽連動制御スレーブ5がアクセスキーを持っている場合だけ、アクセスキーに基づいて仮想音楽再生プレーヤを特定するとともに、特定した仮想音楽再生プレーヤへのアクセスを許容し、シークレットキーを持ってアクセスした場合だけ、音楽連動制御マスター3からのアクセスであると判定する。なお該当する仮想音楽再生プレーヤがない場合には、すべてのアクセスを拒否する(ステップST82)。そしてステージ74は、ステップST83で、アクセス時に識別番号が付いていたか否かの判定を実行する。ステージ74は、初めてアクセスしてきた1以上の音楽連動制御マスター3及び複数の音楽連動制御スレーブ5に、マスター上限数あるいはスレーブ上限数以下であれば、それぞれ識別IDを付与する機能を有している(ステップST84)。マスター上限数あるいはスレーブ上限数を超えていた場合には識別IDが発行されずに接続が拒否される。ステージ74は、識別IDとアクセス時刻に基づいて、1以上の音楽連動制御マスター3及び複数の音楽連動制御スレーブ5の接続状況を管理する機能を更に備えている。そして特定した仮想音楽再生プレーヤに接続中の1以上の音楽連動制御マスター3及び複数の音楽連動制御スレーブ5を管理するマスター一覧表またはスレーブ一覧表に新たな識別IDを追加して、その識別IDのアクセス時刻(タイムスタンプ)を一覧表に記録する(ステップST85)。またステージ74は、すでに識別IDを持っているアクセスがあった場合には、ステップST87で識別IDの有効性を判別し、有効でなければステップST84で再度の識別IDの発行を行う。識別IDが有効であれば、ステップST88に進んで、マスター一覧表またはスレーブ一覧表に、その識別IDのアクセス時刻(タイムスタンプ)を記録する。最後に、仮想音楽再生プレーヤ75は、アクセス内容に応じて動作する(ステップST86)。
音楽連動制御サーバ7のステージ74では、図9のアルゴリズムに示すように、ステップST91で、マスター一覧表またはスレーブ一覧表に最終アクセス時刻から一定時間(例えば1分)以上経過した古い識別IDがあるか否かの判定を行う。該当する識別IDがあった場合には、マスター一覧表またはスレーブ一覧表からその識別IDを削除する。これによってアクセスしていない1以上の音楽連動制御マスター3及び複数の音楽連動制御スレーブ5との接続関係を解消して、音楽連動制御サーバ7の負荷を軽減するとともに、接続できる音楽連動制御マスター3の数が制限されている場合に、より多くの音楽連動制御マスター3に対して接続の機会を与え、接続できる音楽連動制御スレーブ5の数が制限されている場合に、より多くの音楽連動制御スレーブ5に対して接続の機会を与えることができる。このように識別IDを発行して管理をすると、マスター上限数あるいはスレーブ上限数として設定台数以上の音楽連動制御マスター3及び設定台数以上の音楽連動制御スレーブ5が、音楽連動制御サーバ7に接続されることを防止できる上、すでに接続が切られている(最後のアクセスから一定時間以上経過していて接続されてくる見込みが低い)音楽連動制御マスター3及び音楽連動制御スレーブ5を管理外のものとすることができる。
[音楽連動制御マスターの機能]
以下の説明では、音楽連動制御マスター3の機能と動作を説明する。
1以上の音楽連動制御マスター3のマスター制御部35は、「仮想音楽再生プレーヤの状態」から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、マスター音楽再生プレーヤ31及びマスター音楽連動演出器32を制御する機能を有している。
具体的には図10のアルゴリズム(音楽連動制御マスターの動作1)に示すように、1以上の音楽連動制御マスター3のマスター制御部35が音楽連動制御サーバ7にアクセスする(ステップST101)。音楽連動制御マスター3は、仮想音楽再生プレーヤ75との時刻同期を要求して基準時刻と「仮想音楽再生プレーヤの状態」を受け取る。そして「仮想音楽再生プレーヤの状態」を受け取った1以上の音楽連動制御マスター3のマスター制御部35は、仮想音楽再生プレーヤ75の状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換する。図11は、この変換のアルゴリズムを示している。図11に示すように、マスター制御部35は、ST102aで、時刻同期(オフセット時刻推定)によって音楽連動制御マスター3の個別時刻から音楽連動制御サーバの基準時刻を引いた時刻差(オフセット時刻)を算出する。またマスター制御部35は、音楽連動制御サーバ7の仮想音楽再生プレーヤ75の状態を取得する(ステップST102b)。次にコンテンツ内再生時刻に対応する基準時刻上の時刻を取得する(ステップST102c)。そして最後にコンテンツ内再生時刻に対応する基準時刻上の時刻に、オフセット時刻を加算することによって、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換する(ステップST102d)。
その後図10のステップST103において、音楽コンテンツの再生が必要だと音楽連動制御マスター3を利用しているユーザーによって指定されているかを判断する。音楽の再生が必要であれば、ステップST104で音楽コンテンツをストリーミング再生する準備をする。そしてステップST105では、マスター音楽再生プレーヤのインターフェイスを表示部37に表示する(音楽動画を音楽連動演出として再生する場合には、表示部37に映像表示用ウインドも表示する)。その後、音楽連動制御マスター3は、後述する動作2,3及び4のアルゴリズムを並列に実行する(ステップST106)。
図12は、音楽連動制御マスター3から音楽連動制御サーバ7の仮想音楽再生プレーヤに状態変更の操作コマンドを送信する場合の動作2のアルゴリズムの一例を示している。この動作2では、ステップST121で音楽連動制御マスター3のマスター音楽再生プレーヤ上の入力インターフェイス38が操作されたか、あるいはプログラム上で再生・停止・シークが指定されたかの判断が行なわれる。そしてYesの場合には、ステップST123へ進み、音楽連動制御マスター3から音楽連動制御サーバ7の仮想音楽再生プレーヤ75へ操作コマンド(再生・停止・シーク)を送信する。ステップ121で操作コマンドによる指定がない場合には、ステップST122へと進み、仮想音楽再生プレーヤの状態を前回のサーバへ問い合わせてから一定時間以上のランダムな間隔が既に空いていたら、仮想音楽再生プレーヤの状態を問い合わせる。一定間隔でも実施することはできるが、ここでランダムな間隔を採用すると、音楽連動制御サーバ7のアクセス負荷を下げることができる。そしてステップST124で、仮想音楽再生プレーヤの状態の変化を検出したら、ステップST125へと進み、変化がなければステップ121へと戻る。ステップST125では、本実施の形態の場合、仮想音楽再生プレーヤの状態に応じて、マスター音楽再生プレーヤ31を制御する(再生、停止、シーク後に再生、シーク後に停止、に応じた制御をする)。なお仮想音楽再生プレーヤの状態に、シーク後に再生、シーク後に停止、が含まれていない場合には、マスター音楽再生プレーヤ31の制御において、シーク後に再生、シーク後に停止、に応じた制御を含める必要はない。
図13はイベントに対する処理内容を実施する際の動作3のアルゴリズムを示している。この動作3で、ステップST131でマスター音楽再生プレーヤ31が再生動作をしているか否かの判断し、Yesの場合にはステップST132へと進む。ステップST132では、マスター音楽再生プレーヤ31の現時点でのコンテンツ内再生時刻(音楽コンテンツ内での再生位置)を取得する。図14は、ステップST132の詳細なアルゴリズムを示している。最初にステップST132aで、音楽コンテンツの再生が必要であると指定されているか否かの判断がなされる。音楽コンテンツの再生が必要ない場合には、ステップ132fでマスター音楽再生プレーヤ31のコンテンツ内再生時刻を「仮想音楽再生プレーヤの状態」から計算する。再生が指定されている場合には、ステップ132bで、マスター音楽再生プレーヤ31が現時点で再生している音楽コンテンツの実際のコンテンツ内再生時刻(ネットワークの負荷等により読み込みが遅れて遅延の可能性がある)を取得する。そしてステップ132cでマスター音楽再生プレーヤ31の本来のコンテンツ内再生時刻を仮想音楽再生プレーヤの状態から計算して記憶する。そしてステップ132dで、実際のコンテンツ内再生時刻と本来のコンテンツ内再生時刻が一定時間以上ずれているかを判断し、Yesであれば、ステップST132eへと進む。ステップ132eでは、マスター音楽再生プレーヤ31の状態を更新する(シーク等によって、本来のコンテンツ内再生時刻を再生している状態に近づけ操作をする)。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバの基準時刻とのずれが著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
ステップST132を実行した後、ステップST133では、コンテンツ内再生時刻にイベントがあるか否か判断され、Yesの場合には、ステップST134でイベントに登録された処理を呼び出して実行する。ここでイベントは、ビート、小節、サビ区間、繰り返し区間、またはコード等に基づいて定められている。音楽連動制御マスター3は、音楽コンテンツに含まれる楽曲解析結果に応じて1以上のイベントに対応する処理内容を設定する機能を有している。より具体的には、音楽連動制御マスター3のマスター制御部35は、音楽コンテンツに対応する楽曲解析結果を取得すると、楽曲解析結果に1以上のイベントが含まれており、マスター音楽再生プレーヤが再生動作をしているときに、マスター音楽再生プレーヤにおけるコンテンツ内再生時刻がイベントの時刻に一致したか否かを判定し、一致したイベントに対する処理内容を実行する機能を有している。このようにすると、音楽と連動してイベントの処理内容を実行することができる。その結果、イベントの処理内容の実行が、音楽連動制御マスターによって自律的に行われるので、イベントの処理内容の実行に関して、音楽連動制御サーバ7の負荷が増加することはないという利点がある。また通信が断続的にあってもイベントの処理内容を連続して実行することができる。
本実施の形態では、マスター音楽連動演出器32を備えているので、マスター音楽連動演出器32は、イベントに対する処理内容を実行することによって、音楽の楽曲解析結果に連動して制御される。これによって、演出の音楽連動が実現できる。また1以上の音楽連動制御マスター3が、音楽コンテンツに含まれる楽曲解析結果に応じて1以上のイベントに対応する処理内容を設定する機能を有していると、ユーザーまたはプログラマーがイベントに対応する処理内容を自在に設定することが可能になる。また多種多様な演出を音楽に連動させたり、多種多様な機器を制御したりすることが可能になる。
図15は、音楽連動制御マスターの動作4のアルゴリズムを示している。動作4のアルゴリズムでは、ステップST151において、前回の時刻同期から一定時間が経過したかが判断され、一定時間が経過した場合には、ステップST152へと進む。ステップST152では、音楽連動制御マスター3は、同期要求コマンドを仮想音楽再生プレーヤ75に送信して音楽連動制御マスター3との時刻同期(オフセット時刻推定)を要求し、音楽連動制御サーバ7の基準時刻を取得する。音楽連動制御マスター3のマスター制御部35は、音楽連動制御サーバ7の基準時刻とのずれをオフセット時間として記録する。音楽連動制御サーバ7の基準時刻とのずれは、例えば、音楽連動制御マスター3が時刻同期の要求を音楽連動制御サーバ7に送信したときの個別時刻Aと、その時刻同期の要求を音楽連動制御サーバ7が受信したときの基準時刻Bと、その時刻同期の要求に対する返答として音楽連動制御サーバ7から音楽連動制御マスター3に送られてくる基準時刻Bの情報を音楽連動制御マスター3が受信したときの個別時刻Cの三つの時刻から計算することができ、個別時刻Aと個別時刻Cを加算して2で割った中間の時刻から、基準時刻Bを減算した結果を音楽連動制御マスター3と音楽連動制御サーバ7との時刻のずれ、すなわち、オフセット時刻と推定できる。オフセット時刻の推定精度を上げたり安定に推定させたりするためには、このオフセット時刻の推定の動作(音楽連動制御マスター3側からの音楽連動制御サーバ7への時刻同期の要求の送信と、その音楽連動制御サーバ7による基準時刻の返答の音楽連動制御マスター3側での受信)を複数回(例えば3回)繰り返し、その各回のオフセット時刻の推定結果の中央値や平均値を、最終的なオフセット時刻としてもよい。そして、オフセット時間が予め定めた値(例えば100ms以上)より大きく変動していたら、音楽連動制御マスター3のマスター制御部35は、マスター音楽再生プレーヤ31における本来のコンテンツ内再生時刻を補正する(ST153)。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバ7の基準時刻とのずれが著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
[音楽連動制御スレーブの機能]
以下の説明では、音楽連動制御スレーブ5の機能と動作を説明する。
複数の音楽連動制御スレーブ5のスレーブ制御部55は、「仮想音楽再生プレーヤの状態」から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ51及びスレーブ音楽連動演出器52を制御する機能を有している。
仮想音楽再生プレーヤ75の状態を受け取った複数の音楽連動制御スレーブ5のスレーブ制御部55も、仮想音楽再生プレーヤ75の状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換して、スレーブ音楽再生プレーヤ51及びスレーブ音楽連動演出器52を制御して、URL等の識別子から得た音楽コンテンツを再生するかこの音楽コンテンツの再生に連動する演出を実行する。
具体的には図16のアルゴリズム(音楽連動制御スレーブの動作1)に示すように、1以上の音楽連動制御スレーブ5のスレーブ制御部55が音楽連動制御サーバ7にアクセスする(ステップST161)。音楽連動制御スレーブ5は、仮想音楽再生プレーヤ75との時刻同期を要求して基準時刻と「仮想音楽再生プレーヤの状態」を受け取る。そして「仮想音楽再生プレーヤの状態」を受け取った1以上の音楽連動制御スレーブ5のスレーブ制御部55は、仮想音楽再生プレーヤ75の状態から求まるコンテンツ内再生時刻に対応する基準時刻上の時刻を、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換する。図17は、この変換のアルゴリズムを示している。図17に示すように、スレーブ制御部55は、ST162aで、時刻同期(オフセット時刻推定)によって音楽連動制御スレーブ5の個別時刻から音楽連動制御サーバの基準時刻を引いた時刻差(オフセット時刻)を算出する。またスレーブ制御部55は、音楽連動制御サーバ7の仮想音楽再生プレーヤ75の状態を取得する(ステップST162b)。次にコンテンツ内再生時刻に対応する基準時刻上の時刻を取得する(ステップST162c)。そして最後にコンテンツ内再生時刻に対応する基準時刻上の時刻に、オフセット時刻を加算することによって、コンテンツ内再生時刻に対応する個別時刻上の時刻に変換する(ステップST162d)。
その後図16のステップST163において、音楽コンテンツの再生が必要だと音楽連動制御スレーブ5を利用しているユーザーによって指定されているかを判断する。音楽の再生が必要であれば、ステップST164で音楽コンテンツをストリーミング再生する準備をする。そしてステップST165では、スレーブ音楽再生プレーヤのインターフェイスを表示部57に表示する(音楽動画を音楽連動演出として再生する場合には、表示部57に映像表示用ウインドも表示する)。その後、音楽連動制御スレーブ5は、後述する動作2,3及び4のアルゴリズムを並列に実行する(ステップST166)。
図18は、音楽連動制御スレーブの動作2のアルゴリズムを示している。このアルゴリズムでは、ステップST181で、「仮想音楽再生プレーヤの状態」を前回のサーバへ問い合わせてから一定時間以上のランダムな間隔が既に空いていたら、仮想音楽再生プレーヤの状態を問い合わせる。一定間隔でも実施することはできるが、ここでランダムな間隔を採用すると、音楽連動制御サーバ7のアクセス負荷を下げることができる。そしてステップST182で、仮想音楽再生プレーヤの状態の変化を検出したら、ステップST183へと進み、変化がなければステップ181へと戻る。ステップST183では、仮想音楽再生プレーヤの状態に応じて、スレーブ音楽再生プレーヤ51を制御する(再生、停止、シーク後に再生、シーク後に停止、に応じた制御をする)。なお仮想音楽再生プレーヤの状態に、シーク後に再生、シーク後に停止、が含まれていない場合には、マスター音楽再生プレーヤ51の制御において、シーク後に再生、シーク後に停止、に応じた制御を含める必要はない。
図19は、イベントに対する処理内容を実施する際の動作3のアルゴリズムを示している。この動作3で、ステップST191でスレーブ音楽再生プレーヤ51が再生動作をしているか否かの判断し、Yesの場合にはステップST192へと進む。ステップST192では、スレーブ音楽再生プレーヤ51の現時点でのコンテンツ内再生時刻(音楽コンテンツ内での再生位置)を取得する。ステップST192の詳細なアルゴリズムは、図14のアルゴリズムと実質的に同じである。最初に、音楽コンテンツの再生が必要であると指定されているか否かの判断がなされる。音楽コンテンツの再生が必要ない場合には、スレーブ音楽再生プレーヤ51のコンテンツ内再生時刻を「仮想音楽再生プレーヤの状態」から計算する。再生が指定されている場合には、スレーブ音楽再生プレーヤ51が現時点で再生している音楽コンテンツの実際のコンテンツ内再生時刻(ネットワークの負荷等により読み込みが遅れて遅延の可能性がある)を取得する。そしてスレーブ音楽再生プレーヤ51の本来のコンテンツ内再生時刻を仮想音楽再生プレーヤの状態から計算して記憶する。そして実際のコンテンツ内再生時刻と本来のコンテンツ内再生時刻が一定時間以上ずれているかを判断する。判断の結果、Yesであれば、スレーブ音楽再生プレーヤ51の状態を更新する(シーク等によって、本来のコンテンツ内再生時刻を再生している状態に近づけ操作をする)。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバの基準時刻とのずれが著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
ステップST192を実行した後、ステップST193では、コンテンツ内再生時刻にイベントがあるか否か判断され、Yesの場合には、ステップST194でイベントに登録された処理を呼び出して実行する。音楽連動制御スレーブ5は、音楽コンテンツに含まれる楽曲解析結果に応じて1以上のイベントに対応する処理内容を設定する機能を有している。より具体的には、音楽連動制御スレーブ5のスレーブ制御部55は、音楽コンテンツに対応する楽曲解析結果を取得すると、楽曲解析結果に1以上のイベントが含まれており、スレーブ音楽再生プレーヤが再生動作をしているときに、スレーブ音楽再生プレーヤにおけるコンテンツ内再生時刻がイベントの時刻に一致したか否かを判定し、一致したイベントに対する処理内容を実行する機能を有している。このようにすると、音楽と連動してイベントの処理内容を実行することができる。その結果、イベントの処理内容の実行が、音楽連動制御スレーブによって自律的に行われるので、イベントの処理内容の実行に関して、音楽連動制御サーバ7の負荷が増加することはないという利点がある。また通信が断続的にあってもイベントの処理内容を連続して実行することができる。
また本実施の形態では、スレーブ音楽連動演出器52を備えているので、スレーブ音楽連動演出器52は、イベントに対する処理内容を実行することによって、音楽の楽曲解析結果に連動して制御される。これによって、演出の音楽連動が実現できる。また1以上の音楽連動制御スレーブ5も、音楽コンテンツに含まれる楽曲解析結果に応じて1以上のイベントに対応する処理内容を設定する機能を有している。
図20は、音楽連動制御スレーブの動作4のアルゴリズムを示している。動作4のアルゴリズムでは、ステップST201において、前回の時刻同期から一定時間が経過したかが判断され、一定時間が経過した場合には、ステップST202へと進む。ステップST202では、音楽連動制御スレーブ5は、同期要求コマンドを仮想音楽再生プレーヤ75に送信して音楽連動制御スレーブ5との時刻同期(オフセット時刻推定)を要求し、音楽連動制御サーバ7の基準時刻を取得する。音楽連動制御スレーブ5のスレーブ制御部55は、音楽連動制御サーバ7の基準時刻とのずれをオフセット時間として記録する。音楽連動制御サーバ7の基準時刻とのずれは、例えば、音楽連動制御スレーブ5が時刻同期の要求を音楽連動制御サーバ7に送信したときの個別時刻Aと、その時刻同期の要求を音楽連動制御サーバ7が受信したときの基準時刻Bと、その時刻同期の要求に対する返答として音楽連動制御サーバ7から音楽連動制御スレーブ5に送られてくる基準時刻Bの情報を音楽連動制御スレーブ5が受信したときの個別時刻Cの三つの時刻から計算することができ、個別時刻Aと個別時刻Cを加算して2で割った中間の時刻から、基準時刻Bを減算した結果を音楽連動制御スレーブ5と音楽連動制御サーバ7との時刻のずれ、すなわち、オフセット時刻と推定できる。オフセット時刻の推定精度を上げたり安定に推定させたりするためには、このオフセット時刻の推定の動作(音楽連動制御スレーブ5側からの音楽連動制御サーバ7への時刻同期の要求の送信と、その音楽連動制御サーバ7による基準時刻の返答の音楽連動制御スレーブ5側での受信)を複数回(例えば3回)繰り返し、その各回のオフセット時刻の推定結果の中央値や平均値を、最終的なオフセット時刻としてもよい。そして、オフセット時間が予め定めた値(例えば100ms以上)より大きく変動していたら、音楽連動制御スレーブ5のスレーブ制御部55は、スレーブ音楽再生プレーヤ51における本来のコンテンツ内再生時刻を補正する(ST203)。このようにすると何らかの原因で個別時刻と、同期要求コマンドを要求して得た音楽連動制御サーバ7の基準時刻とのずれが著しく大きくなったときに、実質的に同期動作を再び完全に同期した状態にすることが可能になる。
[音楽連動制御プラットフォーム上で動作する音楽連動制御アプリケーションの機能]
図21は、本実施の形態の音楽連動制御プラットフォーム上で動作する音楽連動制御アプリケーションの一事例で用いる動作アルゴリズムを示している。この動作アルゴリズムを用いて、本実施の形態の音楽連動制御マスター3及び音楽連動制御スレーブ5上の音楽連動制御アプリケーションの動作を説明する。最初に、音楽連動制御アプリケーションは、ユーザーが音楽連動制御マスター3のために選択した楽曲を、音楽連動制御マスター3から音楽連動制御サーバ7の仮想音楽再生プレーヤ75に設定する(ステップST211)。次に音楽連動制御マスター3及び/または音楽連動制御スレーブ5のユーザーが選択した演出スタイルを、音楽連動制御マスター3及び/または音楽連動制御スレーブ5のそれぞれに設定し、その演出スタイルに応じて各イベントに対する処理内容を音楽連動制御マスター3及び/または音楽連動制御スレーブ5のマスター制御部35及び/またはスレーブ制御部55に登録する(ステップST212及びST213)。そして音楽連動制御アプリケーションの動作は、音楽連動制御マスター3または音楽連動制御スレーブ5のどちらであるかによって異なるので、その後の実行内容を決定する(ステップST214)。音楽連動制御マスター3として実行する場合には、音楽連動制御サーバ7の仮想音楽再生プレーヤ75に常にシークレットキー、アクセスキー及び識別IDでアクセスする(ステップST215)。音楽連動制御マスター3では、動作1乃至4のアルゴリズムに基づいて音楽コンテンツの再生に併せた音楽連動制御が自動的に実行される(ステップST216)。音楽連動制御スレーブ5として実行する場合には、音楽連動制御サーバ7の仮想音楽再生プレーヤ75に常にアクセスキー及び識別IDでアクセスする(ステップST217)。音楽連動制御スレーブ5では、動作1乃至4のアルゴリズムに基づいて音楽コンテンツの再生に併せた音楽連動制御が自動的に実行される(ステップST218)。
[実施の形態の実用化のための開発の経緯]
出願人は、音楽理解技術に基づいて人々の音楽体験をより豊かにすることで、学術・産業・社会・文化的に貢献することを目指した研究開発に取り組んできた。これまでに、ウェブ上の楽曲の中身を音楽理解技術で可視化する能動的音楽鑑賞サービス「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)デバイスを連携させて制御することができる仕組みを本発明の基礎技術として開発した。本発明のために開発した基礎技術による本実施の形態のプラットフォームでは、多数の汎用機器を自由自在に組み合わせた多様な実行環境で、通信が断続的であっても問題なく動作するように、各機器が自律的に音楽を再生しながら、それに連動してさまざまな演出をすることができる。人々はこの仕組みにより、異なる演出を手軽に組み合わせたり、演出を変更したりすることができる。
本実施の形態のプラットフォームによって既に実現した音楽連動制御アプリケーション(アプリ)の一例は、以下の手順で利用できる。
(1)楽曲と演出スタイルの選択
ユーザーはスマートフォンやパソコン上のウェブブラウザを使って、ウェブサイト上で公開されている楽曲(MP3形式の音響信号ファイルや楽曲・動画共有サービス上の楽曲・動画)と、楽曲全体にわたる演出の仕方を決める数種類の「演出スタイル」を好みに応じて選択する。すると、音楽再生プレーヤが表示され、ウェブサイト上にある楽曲がストリーミング再生されるとともに、その楽曲のビートやサビなどに応じて多様に変化するCGアニメーション(CG映像)が、選択した演出スタイルに応じて描画され、楽曲を目と耳の両方で楽しむことができる。
(2)アクセスキーの発行
本実施の形態のプラットフォームでは、仮想音楽再生プレーヤにさまざまな人々が接続するためのアクセスキー(文字列、URL、QRコード)を発行する。ユーザーは、一緒に音楽と演出を楽しみたい他の人々に、このアクセスキーを通知する。
(3)複数の汎用機器がインターネットを介して音楽に連動
他の人々が自分のスマートフォンやパソコン上のウェブブラウザに、通知されたアクセスキーを入力すると、同じ楽曲の音楽再生プレーヤがインターフェイス上に表示され、場所を問わず全員が同じ瞬間に同期して楽曲とアニメーションを楽しむことができる。楽曲の途中で接続しても同期するだけでなく、アクセスキーを通知したユーザーが楽曲を変更したり再生・停止したりすれば、それに連動して、他の人々の楽曲やアニメーションも変更・再生・停止する。楽曲とアニメーションのどちらか一方だけを選択することもでき、例えばアクセスキーを配ったユーザーがスピーカーで鳴らしている音楽を一緒に聞きながら、その場にいる他の人々のスマートフォンの画面に同じアニメーションを音楽は再生せずに表示する使い方ができる。
本実施の形態のプラットフォームを用いると、楽曲コンテンツを再生し演出を描画する音楽連動制御アプリそのものを、開発キットを用いて、演出スタイルのサンプルプログラムを変更するだけで、プログラマーが自由かつ容易に開発できる。その際、多数の機器制御を意識する必要がなく、一台の機器を制御するつもりでプログラミングをすれば、プラットフォームが他の機器との時刻同期を自動的に実現する。
[本実施の形態の特徴]
(1)ウェブ上の楽曲を再生しながら多種多様な携帯端末・パソコン・IoTデバイスの連動制御を実現
本実施の形態のプラットフォームでは、ウェブサイト上で公開されている100万曲以上の楽曲を音楽サービスSongleが自動解析した結果を即座に利用して、楽曲毎に異なる中身に連動した演出を楽しむことが可能である。再生したい楽曲が自動解析されていなければ、SongleにそのURLを登録すると自動解析され、その楽曲も再生できる。Songleや本実施の形態のプラットフォームには音楽配信機能や楽曲アップロード機能はなく、楽曲は元のウェブサイト上から直接ストリーミング再生される仕組みとなっている。本実施の形態のプラットフォームの演出スタイルは、JavaScript(登録商標)が実行できる一般的なウェブブラウザから利用できて汎用性が高いため、異なるOS[Windows(登録商標)、MacOS(登録商標)]を搭載したパソコンや、異なるOS[iOS(登録商標)、Android(登録商標)]を搭載したスマートフォン・タブレットのような多種多様な機器を連動制御することが可能である。さらに、サーバ上で動作するJavaScript環境Node.jsを用いれば、小型軽量端末Raspberry Piや、IoTデバイス(ロボットや照明機器、衣装のLED等)を活用した演出もできる。
楽曲を選んで再生すれば音楽連動制御ができる本実施の形態のプラットフォームの利用事例を実際に開発し、多種多様な機器によるさまざまな演出スタイルを容易に開発できることを確認している。
(a)画面表示
パソコン、iPhone(登録商標)、iPad(登録商標)、iPod touch(登録商標)、Android(登録商標)フォン、Raspberry Pi(登録商標)等を用いて、画面上で音楽に連動したアニメーションを表示できた。
(b)空間演出制御
照明機器やLEDを内蔵した光る生活雑貨(花瓶、キャンドル)等を用いて、部屋・環境の照明・光を音楽に連動して変化させられた。
(c)ファッション制御
LED(発光ダイオード)を装着・内蔵した光る衣装や光る腕輪を用いて、音楽に連動した発光制御ができた。
(d)メカ制御
小型ロボットや電動カーテンを用いて、音楽に連動してロボットを動かし、カーテンを開閉できた。
(2)大規模な音楽連動制御に基づく音楽体験が今後さまざまな利用シーンで新たな価値を創出
本実施の形態のプラットフォームを人々が利用すれば、楽曲の再生を開始すると、既に所有している携帯端末・パソコン等のスピーカーから同時に同じ楽曲が鳴り、しかもそれらの画面に、その音楽に合わせて動く多様で変化に富むアニメーションが表示可能になる。こうした音楽体験は従来なく、今後、例えば、図22に示すような利用シーンで新たな価値を創出できる可能性がある。
(a)ライブ・イベント会場
会場スピーカーから流れる音楽の再生に合わせて、来場者のスマートフォンの画面に変化に富んだアニメーションを表示するような新たな演出が可能になる。さらに、会場の複数の大型スクリーンにも同じアニメーションを出したり、ステージ登壇者の衣装や腕輪を発光させたりするような応用もできる。着席後のライブ開始前やイベントの入場待機列等の場面で来場者に一体感を持って楽しんでもらう演出として、音楽連動制御を活用しても効果的である。
(b)ショッピングモール・店舗
背景音楽(BGM)に連動して通路や店舗の壁面や床等のさまざまな箇所に演出が可能となる。大型照明機器、プロジェクター投影映像等が連動した演出で、モールや店舗全体に一体感が出すことができる。さらに来店者のスマートフォンと連動させても効果的である。
(c)カフェ・飲食店
飲食時の背景音楽(BGM)に、間接照明やディスプレイ・照明機器を連動させることで、ムードを変えたり、店舗毎に異なる印象を与えたりする演出が可能になる。
(d)街中・屋外イベント
街中全体を使った屋外イベントのような機会に、既に設置されているさまざまなディスプレイや照明、プロジェクションマッピング等を組み合わせて、音楽連動制御を実施することも考えられる。主催者が事前に用意した特別な演出を体験可能なQRコードを配布すれば、その街を訪れている人々が同時に音楽に連動した演出を楽しむことができる。
(3)プログラマーが大規模音楽連動制御の利用事例を容易に開発できるプラットフォームを提供
本実施の形態のプラットフォームは、ユーザーにとって自分の機器が容易に他の機器と連動する新たな音楽体験を可能にするだけでなく、以下のように、プログラマーにとっても大規模な音楽連動制御を容易に演出できる新たなプログラミング体験を可能にできる。そのための開発キットAPI(Application Programming Interface)、サンプルプログラム、チュートリアル)も提供している。
(a)プログラマーは音楽に同期させるための時間管理を意識する必要がない。
楽曲の小節の先頭ではこういう演出、サビに入ったらこういう演出、という風にイベント駆動なプログラムを記述するだけで、楽曲中の再生時刻が各イベントの時刻に達すると自動的にそうした演出が実行される。しかも楽曲毎に手作業でイベントを設定する必要がなく、楽曲解析結果(ビート、小節、サビ、繰り返し区間、コード等)をイベントとして利用できる。
(b)プログラマーは他の機器との連動制御を意識する必要がない。
一台の機器を念頭においてアプリをプログラミングするだけで、他の多数の機器と自動的に連動できる。しかも、スマートフォンやパソコンのウェブブラウザで動作するアプリ、ロボットを制御するアプリ、照明を制御するアプリのように、個別に開発されたさまざまな種類のアプリを、ある楽曲の再生に一緒に連動させることができる。このようにプログラマーは、通信や他の機器との連動制御を全く意識せずに、大規模な音楽連動制御を実現できる。
本実施の形態のプラットフォームは、多様な演出を実現する音楽連動制御アプリをさまざまなプログラマーが開発できる汎用のプラットフォームであり、拡張性が高く演出が固定されていない点が優れている。サーバとの通信によって、各機器が楽曲の再生に連動して自律的に動作すれば、機器同士が直接通信をしなくても全体が同期して動作しているように見える。これに着目して、機器が多種多様かつ多数で、通信が断続的であっても問題ないように、各機器が接続時に楽曲解析結果を取得して時刻同期をした後は、楽曲の再生時刻に応じて自律的にイベント駆動で演出を呼び出している。各機器上での音楽再生プレーヤの再生時刻もずれないように自律的に調整する。これによってサーバへの接続台数が増えても各機器の動作に影響が少なく、各機器が音楽の途中からでも演出に参加可能になっている。また、音楽連動制御の仕組みが機種依存になって相互接続が困難になる問題が起きないように、ウェブ標準技術に基づいて実装した。これによってプログラマーはJavaScriptで記述したアプリを幅広い実行環境(JavaScriptが実行できる一般的なウェブブラウザ、JavaScript環境Node.jsなど)で動作させることができ、ユーザーはQRコード等で手軽にアプリを利用できるようになっている。
本発明によれば、音楽連動サーバ内の仮想音楽再生プレーヤの状態を基準とすることにより、1以上の音楽連動制御マスターにおける個別時刻及び複数の音楽連動制御スレーブにおける個別時刻と音楽連動サーバにおける基準時刻とが一致していない場合でも、1以上の音楽連動制御マスター及び複数の音楽連動制御スレーブにおいて、同じ音楽コンテンツを実質的に同期して再生することができ、また複数の音楽連動制御スレーブにおいては音楽コンテンツの再生に同期してスレーブ音楽連動演出器を動作させることができる。
1 音楽連動制御プラットフォーム
3 音楽連動制御マスター
31 マスター音楽再生プレーヤ
32 マスター音楽連動演出器
33 個別時刻発生器
34 通信手段
35 マスター制御部
36 マスタープロセッサ
37 表示部
38 入力インターフェイス
5 音楽連動制御スレーブ
51 スレーブ音楽再生プレーヤ
52 スレーブ音楽連動演出器
53 個別時刻発生器
54 通信手段
55 スレーブ制御部
56 スレーブプロセッサ
57 表示部
58 入力インターフェイス
7 音楽連動制御サーバ
71 基準時刻発生器
72 通信手段
73 サーバプロセッサ
74 ステージ
75 仮想音楽再生プレーヤ
9 楽曲解析部

Claims (18)

  1. 複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームにおいて、
    マスター音楽再生プレーヤと、個別時刻を発生する個別時刻発生器、通信手段及び前記マスター音楽再生プレーヤのマスター制御部を構成するマスタープロセッサを備えて、複数の音楽コンテンツの中から選択した音楽コンテンツを再生するように前記マスター音楽再生プレーヤを制御する1以上の音楽連動制御マスターと、
    スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つと、個別時刻を発生する個別時刻発生器、通信手段並びに前記スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部を構成するスレーブプロセッサを備えて、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する複数の音楽連動制御スレーブと、
    基準時刻を発生する基準時刻発生器と通信ネットワークを介して前記1以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブと接続される通信手段を有するサーバプロセッサを備え、
    前記サーバプロセッサにより、
    前記1以上の音楽連動制御マスターからステージ作成コマンドが入力されるとステージを作成するとともに仮想音楽再生プレーヤを作成し、
    前記1以上の音楽連動制御マスターからステージ削除コマンドが入力されると前記仮想音楽再生プレーヤを削除するとともに前記ステージを削除し、
    前記1以上の音楽連動制御マスターから前記音楽コンテンツの再生に関する操作コマンドが入力されると前記仮想音楽再生プレーヤの状態を更新し、
    前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、前記仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると前記仮想音楽再生プレーヤの状態を、前記確認コマンドを送信してきた前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに返信し、
    前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、基準時刻と前記個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの前記基準時刻を、前記同期要求コマンドを送信してきた前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに送信する音楽連動制御サーバとを具備し、
    前記仮想音楽再生プレーヤの状態は、少なくとも前記1以上の音楽連動制御マスターで再生する前記音楽コンテンツを特定する音楽コンテンツを識別する識別子、最新の前記操作コマンドで指令された最新の操作内容、前記操作コマンドが操作対象とするコンテンツ内再生時刻、前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を含んでおり、
    前記1以上の音楽連動制御マスターの前記マスター制御部は、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記マスター音楽再生プレーヤを制御する機能を有しており、
    前記複数の音楽連動制御スレーブの前記スレーブ制御部は、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する機能を有していることを特徴とする音楽連動制御プラットフォーム。
  2. 前記1以上の音楽連動制御マスターの前記マスター制御部は、前記個別時刻におけるコンテンツ内再生時刻に基づいて前記マスター音楽再生プレーヤを制御する際に、前記マスター音楽再生プレーヤが前記音楽コンテンツを実際に再生している実際のコンテンツ内再生時刻を取得し、前記実際のコンテンツ内再生時刻と、本来再生しているべき前記個別時刻における本来のコンテンツ内再生時刻とのずれを計算し、前記ずれが一定時間以上の場合には、前記ずれがなくなって前記個別時刻における本来のコンテンツ内再生時刻で再生するように前記マスター音楽再生プレーヤの再生を制御する機能を有している請求項1に記載の音楽連動制御プラットフォーム。
  3. 前記複数の音楽連動制御スレーブの前記スレーブ制御部は、前記スレーブ音楽再生プレーヤを有しており、前記個別時刻におけるコンテンツ内再生時刻に基づいて前記スレーブ音楽再生プレーヤを制御する際に、前記スレーブ音楽再生プレーヤが前記音楽コンテンツを実際に再生している実際のコンテンツ内再生時刻を取得し、前記実際のコンテンツ内再生時刻と、本来再生しているべき前記個別時刻における本来のコンテンツ内再生時刻とのずれを計算し、前記ずれが一定時間以上の場合には、前記ずれがなくなって前記個別時刻における本来のコンテンツ内再生時刻で再生するように前記スレーブ音楽再生プレーヤの再生を制御する機能を有している請求項1に記載の音楽連動制御プラットフォーム。
  4. 前記ステージは、前記音楽連動制御マスターにシークレットキーとアクセスキーを発行する機能を有しており、前記1以上の音楽連動制御マスターが前記音楽連動制御サーバの前記ステージと通信する際にはシークレットキーとアクセスキーを用いてアクセスし、前記複数の音楽連動制御スレーブが前記音楽連動制御サーバの前記ステージと通信する際には前記1以上の音楽連動制御マスターに対して発行された前記アクセスキーを用いてアクセスする請求項1に記載の音楽連動制御プラットフォーム。
  5. 前記音楽連動制御サーバは、前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブからアクセスがあると、前記アクセスキーに基づいて前記ステージと前記仮想音楽再生プレーヤを特定する機能を有している請求項に記載の音楽連動制御プラットフォーム。
  6. 前記ステージは、初めてアクセスしてきた前記1以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブに、それぞれ識別IDを付与する機能を有し、
    前記ステージは、前記識別IDとアクセス時刻に基づいて、前記1以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブの接続状況を管理する機能を更に備えている請求項1に記載の音楽連動制御プラットフォーム。
  7. 前記仮想音楽再生プレーヤの状態として、
    前記操作コマンドが再生コマンドの場合には、前記最新の操作内容としては再生状態が記録され、再生開始時刻として前記コンテンツ内再生時刻が記録されており、
    前記操作コマンドが停止コマンドの場合には、前記操作内容としては停止状態が記録されて、再生停止時刻として前記コンテンツ内再生時刻が指定されている請求項1に記載の音楽連動制御プラットフォーム。
  8. 前記操作コマンドがシークコマンドの場合には、前記操作内容としては再生中のシーク状態または停止中のシーク状態が記録されて、シーク先時刻として前記コンテンツ内再生時刻が記録されている請求項1または7に記載の音楽連動制御プラットフォーム。
  9. 前記1以上の音楽連動制御マスターは、表示画面を有する表示部を備えた通信端末機であり、
    前記表示画面に前記マスター音楽再生プレーヤの入力インターフェイスを表示するように構成されている請求項1に記載の音楽連動制御プラットフォーム。
  10. 前記1以上の音楽連動制御マスターの前記マスター制御部及び前記複数の音楽連動制御スレーブの前記スレーブ制御部は、定期的に前記音楽連動制御サーバに前記仮想音楽再生プレーヤの状態を確認する前記確認コマンドを送信し、前記音楽連動制御サーバから送信されてきた前記仮想音楽再生プレーヤの状態の変化を検出すると、前記仮想音楽再生プレーヤの状態の変化に応じて前記マスター音楽再生プレーヤ及び前記スレーブ音楽再生プレーヤまたは前記スレーブ音楽連動演出器を制御する機能を有する請求項1に記載の音楽連動制御プラットフォーム。
  11. 前記1以上の音楽連動制御マスターのマスター制御部及び前記複数の音楽連動制御スレーブのスレーブ制御部は、前記音楽コンテンツに対応する楽曲解析結果を取得すると、前記楽曲解析結果には1以上のイベントが含まれており、前記マスター音楽再生プレーヤ及び前記スレーブ音楽再生プレーヤが再生動作をしているときに、前記マスター音楽再生プレーヤ及び前記スレーブ音楽再生プレーヤにおける前記コンテンツ内再生時刻が前記イベントの時刻に一致したか否かを判定し、一致した前記イベントに対する処理内容を実行する機能を有している請求項1乃至10のいずれか1項に記載の音楽連動制御プラットフォーム。
  12. 前記複数の音楽連動制御スレーブの前記スレーブ音楽連動演出器は、前記イベントに対する処理内容を実行することによって、前記音楽の楽曲解析結果に連動して制御される請求項11に記載の音楽連動制御プラットフォーム。
  13. 前記1以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブは、前記音楽コンテンツに含まれる前記楽曲解析結果に応じて前記1以上のイベントに対応する前記処理内容を設定する機能を有している請求項11に記載の音楽連動制御プラットフォーム。
  14. 前記イベントは、前記楽曲解析結果に含まれるビート、小節、サビ区間、繰り返し区間、またはコードに基づいて定められている請求項11乃至13のいずれか1項に記載の音楽連動制御プラットフォーム。
  15. 前記1以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブは、前記個別時刻と、前記同期要求コマンドを要求して得た前記音楽連動制御サーバの前記基準時刻とのずれをオフセット時間として記録しており、前記オフセット時間が予め定めた値より大きく変動していたら、前記マスター音楽再生プレーヤ及び前記スレーブ音楽再生プレーヤにおける前記本来のコンテンツ内再生時刻を補正する機能を有する請求項2または3に記載の音楽連動制御プラットフォーム。
  16. 前記1以上の音楽連動制御マスターが、前記スレーブ音楽連動演出器と同様のマスター音楽連動演出器を備えている請求項1に記載の音楽連動制御プラットフォーム。
  17. 複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームにおいて、
    マスター音楽再生プレーヤと、個別時刻を発生する個別時刻発生器、通信手段及び前記マスター音楽再生プレーヤのマスター制御部を構成するマスタープロセッサを備えて、複数の音楽コンテンツの中から選択した音楽コンテンツを再生するように前記マスター音楽再生プレーヤで制御する音楽連動制御マスターと、
    スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つと、個別時刻を発生する個別時刻発生器、通信手段並びに前記スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部を構成するスレーブプロセッサを備えて、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する複数の音楽連動制御スレーブと、
    基準時刻を発生する基準時刻発生器と通信ネットワークを介して前記音楽連動制御マスター及び前記複数の音楽連動制御スレーブと接続される通信手段を有するサーバプロセッサを備え、
    前記サーバプロセッサにより、
    前記音楽連動制御マスターからステージ作成コマンドが入力されるとステージを作成するとともに仮想音楽再生プレーヤを作成し、
    前記音楽連動制御マスターからステージ削除コマンドが入力されると前記仮想音楽再生プレーヤを削除するとともに前記ステージを削除し、
    前記音楽連動制御マスターから前記音楽コンテンツの再生に関する操作コマンドが入力されると前記仮想音楽再生プレーヤの状態を更新し、
    前記音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、前記仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると前記仮想音楽再生プレーヤの状態を、前記確認コマンドを送信してきた前記音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに返信し、
    前記音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、基準時刻と前記個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの前記基準時刻を、前記同期要求コマンドを送信してきた前記音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに送信する音楽連動制御サーバとを具備し、
    前記仮想音楽再生プレーヤの状態は、少なくとも前記音楽連動制御マスターで再生する前記音楽コンテンツを特定する音楽コンテンツを識別する識別子が得られるURL、最新の前記操作コマンドで指令された最新の操作内容、前記操作コマンドが操作対象とするコンテンツ内再生時刻、前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を含んでおり、
    前記複数の音楽連動制御スレーブの前記スレーブ制御部は、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する機能を有していることを特徴とする音楽連動制御プラットフォーム。
  18. 複数の機器で音楽再生及び音楽連動演出の少なくとも一つを音楽に同期させる音楽連動制御プラットフォームの制御方法であって、
    前記音楽連動制御プラットフォームは、
    マスター音楽再生プレーヤと、個別時刻を発生する個別時刻発生器、通信手段及び前記マスター音楽再生プレーヤのマスター制御部を構成するマスタープロセッサを備えて、複数の音楽コンテンツの中から選択した音楽コンテンツを再生するように前記マスター音楽再生プレーヤを制御する1以上の音楽連動制御マスターと、
    スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つと、個別時刻を発生する個別時刻発生器、通信手段並びに前記スレーブ音楽再生プレーヤ及びスレーブ音楽連動演出器の少なくとも一つのスレーブ制御部を構成するスレーブプロセッサを備えて、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御する複数の音楽連動制御スレーブと、
    基準時刻を発生する基準時刻発生器と通信ネットワークを介して前記1以上の音楽連動制御マスター及び前記複数の音楽連動制御スレーブと接続される通信手段を有するサーバプロセッサを備え、
    前記サーバプロセッサにより、
    前記1以上の音楽連動制御マスターからステージ作成コマンドが入力されるとステージを作成するとともに仮想音楽再生プレーヤを作成し、
    前記1以上の音楽連動制御マスターからステージ削除コマンドが入力されると前記仮想音楽再生プレーヤを削除するとともに前記ステージを削除し、
    前記1以上の音楽連動制御マスターから前記音楽コンテンツの再生に関する操作コマンドが入力されると前記仮想音楽再生プレーヤの状態を更新し、
    前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、前記仮想音楽再生プレーヤの状態を確認する確認コマンドが入力されると前記仮想音楽再生プレーヤの状態を、前記確認コマンドを送信してきた前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに返信し、
    前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブから、基準時刻と前記個別時刻との同期を要求する同期要求コマンドが入力されると、そのときの前記基準時刻を、前記同期要求コマンドを送信してきた前記1以上の音楽連動制御マスターまたは前記複数の音楽連動制御スレーブに送信する音楽連動制御サーバとを具備し、
    前記仮想音楽再生プレーヤの状態は、少なくとも前記1以上の音楽連動制御マスターで再生する前記音楽コンテンツを特定する音楽コンテンツを識別する識別子、最新の前記操作コマンドで指令された最新の操作内容、前記操作コマンドが操作対象とするコンテンツ内再生時刻、前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を含んでおり、
    前記1以上の音楽連動制御マスターの前記マスター制御部が、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記マスター音楽再生プレーヤを制御し、
    前記複数の音楽連動制御スレーブの前記スレーブ制御部が、前記仮想音楽再生プレーヤの状態から求まる前記コンテンツ内再生時刻に対応する前記基準時刻上の時刻を、前記コンテンツ内再生時刻に対応する前記個別時刻上の時刻に変換して、前記スレーブ音楽再生プレーヤ及び前記スレーブ音楽連動演出器の少なくとも一つを制御することを特徴とする音楽連動制御プラットフォームの制御方法。
JP2019532894A 2017-07-28 2018-07-30 音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法 Active JP6784977B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017147233 2017-07-28
JP2017147233 2017-07-28
PCT/JP2018/028398 WO2019022256A1 (ja) 2017-07-28 2018-07-30 音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法

Publications (2)

Publication Number Publication Date
JPWO2019022256A1 JPWO2019022256A1 (ja) 2020-02-27
JP6784977B2 true JP6784977B2 (ja) 2020-11-18

Family

ID=65039600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019532894A Active JP6784977B2 (ja) 2017-07-28 2018-07-30 音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法

Country Status (4)

Country Link
US (1) US11288032B2 (ja)
JP (1) JP6784977B2 (ja)
GB (1) GB2579488B (ja)
WO (1) WO2019022256A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017438989B2 (en) * 2017-11-10 2023-11-02 Ses-Imagotag Gmbh System for synchronized video playback on a number of playback devices
CN114495363B (zh) * 2022-01-07 2023-08-11 珠海格力电器股份有限公司 一种目标设备锁机方法、装置、电子设备及存储介质
WO2024052964A1 (ja) * 2022-09-05 2024-03-14 日本電信電話株式会社 映像同期装置、映像同期方法及び映像同期プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417827B2 (en) 2001-12-12 2013-04-09 Nokia Corporation Synchronous media playback and messaging system
US7747338B2 (en) * 2006-08-18 2010-06-29 Xerox Corporation Audio system employing multiple mobile devices in concert
US7518051B2 (en) * 2005-08-19 2009-04-14 William Gibbens Redmann Method and apparatus for remote real time collaborative music performance and recording thereof
US8779265B1 (en) * 2009-04-24 2014-07-15 Shindig, Inc. Networks of portable electronic devices that collectively generate sound
JP5394307B2 (ja) 2010-04-15 2014-01-22 日本電信電話株式会社 同期再生システム、同期再生方法及び同期再生プログラム
US20130103770A1 (en) * 2011-10-25 2013-04-25 Microsoft Corporation Distributed semi-synchronized event driven playback of multimedia
KR20160048960A (ko) * 2013-08-30 2016-05-04 후아웨이 테크놀러지 컴퍼니 리미티드 복수 단말의 멀티미디어 파일 협동 플레이 방법, 및 관련 장치 및 시스템
US9313591B2 (en) * 2014-01-27 2016-04-12 Sonos, Inc. Audio synchronization among playback devices using offset information
CN107925783A (zh) * 2015-09-30 2018-04-17 苹果公司 对媒体的同步回放和控制
JP6432067B2 (ja) 2015-11-30 2018-12-05 サイレックス・テクノロジー株式会社 再生システム、及び、再生方法

Also Published As

Publication number Publication date
GB2579488B (en) 2022-01-12
GB202001694D0 (en) 2020-03-25
JPWO2019022256A1 (ja) 2020-02-27
US11288032B2 (en) 2022-03-29
GB2579488A (en) 2020-06-24
WO2019022256A1 (ja) 2019-01-31
US20210064331A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
US11889160B2 (en) Multiple household management
JP6784977B2 (ja) 音楽連動制御プラットフォーム及び音楽連動制御プラットフォームの制御方法
JP6213181B2 (ja) 同期再生システム及び同期再生方法
KR101643482B1 (ko) 가라오케 및/또는 포토 부스 특징들을 갖는 디지털 주크박스 디바이스, 및 연관된 방법들
CN106537838B (zh) 媒体回放设备、方法和系统
JP2021052403A (ja) スマートメディア環境においてスマート制御される媒体再生
CN105308902A (zh) 媒体回放系统中的回放队列传送
CN105453179A (zh) 提供播放/暂停内容的系统和方法
US20210185474A1 (en) System and method for use of crowdsourced microphone or other information with a digital media content environment
JP5429495B2 (ja) 録画装置及び録画プログラム
JP2015069050A (ja) 携帯端末による照明の遠隔操作が可能な通信カラオケシステム
Kato et al. Songle Sync: A large-scale web-based platform for controlling various devices in synchronization with music
JP7095597B2 (ja) 再生装置、再生方法、プログラム、及び再生システム
JP6246532B2 (ja) 通信カラオケシステム
KR20110107428A (ko) 컨텐츠 제작을 위한 그래픽 유저 인터페이스를 제공하는 디지털 기기 및 그의 그래픽 유저 인터페이스 제공 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록 매체
JP2014186177A (ja) 再生装置
Park ARLooper: a mobile AR application for collaborative sound recording and performance
JP6210220B2 (ja) カラオケ装置
CN105409161A (zh) 移动设备上经由播放列表的回放队列控制
JP2014153515A (ja) 演奏録音システム
JP6110731B2 (ja) ジェスチャーによるコマンド入力識別システム
KR101250701B1 (ko) 이동통신단말기를 이용한 노래 동영상 제작 시스템
JP6648464B2 (ja) カラオケシステム及び複合投稿情報作成方法
WO2023074255A1 (ja) 照明制御方法
WO2023068014A1 (ja) コントローラ及び照明制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200729

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201015

R150 Certificate of patent or registration of utility model

Ref document number: 6784977

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250