(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-21
(45)【発行日】2022-11-30
(54)【発明の名称】プログラム、情報処理装置、情報処理システム及び方法
(51)【国際特許分類】
A63F 13/814 20140101AFI20221122BHJP
A63F 13/30 20140101ALI20221122BHJP
A63F 13/44 20140101ALI20221122BHJP
G10H 1/00 20060101ALI20221122BHJP
【FI】
A63F13/814
A63F13/30
A63F13/44
G10H1/00 102Z
(21)【出願番号】P 2019167497
(22)【出願日】2019-09-13
【審査請求日】2020-04-21
(73)【特許権者】
【識別番号】308033283
【氏名又は名称】株式会社スクウェア・エニックス
(74)【代理人】
【識別番号】100145838
【氏名又は名称】畑添 隆人
(74)【代理人】
【識別番号】100103137
【氏名又は名称】稲葉 滋
(72)【発明者】
【氏名】赤座 清敬
(72)【発明者】
【氏名】林 洋介
(72)【発明者】
【氏名】小田切 慧
【審査官】安田 明央
(56)【参考文献】
【文献】特開2004-093975(JP,A)
【文献】特開2016-192987(JP,A)
【文献】特開2008-304821(JP,A)
【文献】特開2005-250148(JP,A)
【文献】特開2015-070460(JP,A)
【文献】特開2007-041320(JP,A)
【文献】特開2002-099274(JP,A)
【文献】特開2014-150938(JP,A)
【文献】特開2014-151027(JP,A)
【文献】特開2018-078975(JP,A)
【文献】特開2008-113766(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24
A63F 13/00-13/98
G10H 1/00
(57)【特許請求の範囲】
【請求項1】
コンピュータを、
ネットワークを介して接続された2以上の演奏ユーザ端末から、該演奏ユーザ端末の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する個別演奏データ受信手段と、
前記演奏ユーザ端末のうち合成対象であると判定された演奏ユーザ端末から受信された前記複数の個別演奏データのうち、同一のタイムスロットに係る前記個別演奏データを前記演奏中に合成することで、前記2以上の演奏ユーザ端末における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する合成演奏データ生成手段と、
前記合成演奏データを、前記ネットワークを介して接続された、少なくとも1の鑑賞ユーザ端末に対して前記演奏中に送信し、該演奏中に再生させる合成演奏データ送信手段と、
前記演奏ユーザ端末のうち前記合成対象でないと判定された演奏ユーザ端末から受信された前記複数の個別演奏データを、前記合成演奏データ生成手段による処理の対象とすることなく前記鑑賞ユーザ端末に対して前記演奏中に転送し、該演奏中に再生させる個別演奏データ転送手段と、
として機能させるプログラム。
【請求項2】
前記個別演奏データ受信手段は、第一の演奏ユーザ端末において動作するコンピュータゲームで第一のユーザによって操作される第一のプレイヤキャラクタの演奏内容としての第一の個別演奏データと、第二の演奏ユーザ端末において動作するコンピュータゲームで第二のユーザによって操作される第二のプレイヤキャラクタの演奏内容としての第二の個別演奏データとを受信し、
前記合成演奏データ生成手段は、前記第一の個別演奏データと前記第二の個別演奏データとを合成することで、前記合成演奏データを生成し、
前記合成演奏データ送信手段は、前記鑑賞ユーザ端末において動作するコンピュータゲームで前記第一のプレイヤキャラクタ及び前記第二のプレイヤキャラクタによる合奏として再生されるためのデータとして、前記合成演奏データを送信する、
請求項1に記載のプログラム。
【請求項3】
前記個別演奏データ受信手段は、前記演奏ユーザ端末の夫々において動作するメトロノームによってカウントされたタイミングを識別可能なタイミング情報を含む、前記個別演奏データを受信し、
前記合成演奏データ生成手段は、前記タイミング情報に基づいて、前記同一のタイムスロットに係る前記個別演奏データを合成し、前記合成演奏データを生成する、
請求項1又は2に記載のプログラム。
【請求項4】
前記合成演奏データ生成手段は、同一のタイムスロットにおいて受信された前記個別演奏データを合成することで、前記合成演奏データを生成する、
請求項1又は2に記載のプログラム。
【請求項5】
前記コンピュータを、
前記演奏ユーザ端末の夫々において動作する前記メトロノームを設定するための合奏環境情報を前記演奏ユーザ端末の夫々に通知する通知手段として更に機能させる、
請求項3に記載のプログラム。
【請求項6】
前記合成演奏データ生成手段は、予め作成されたパーティに含まれる2以上の演奏ユーザ端末から受信された複数の個別演奏データを合成する、
請求項1から5の何れか一項に記載のプログラム。
【請求項7】
ネットワークを介して接続された2以上の演奏ユーザ端末から、該演奏ユーザ端末の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する個別演奏データ受信手段と、
前記演奏ユーザ端末のうち合成対象であると判定された演奏ユーザ端末から受信された前記複数の個別演奏データのうち、同一のタイムスロットに係る前記個別演奏データを前記演奏中に合成することで、前記2以上の演奏ユーザ端末における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する合成演奏データ生成手段と、
前記合成演奏データを、前記ネットワークを介して接続された、少なくとも1の鑑賞ユーザ端末に対して前記演奏中に送信し、該演奏中に再生させる合成演奏データ送信手段と、
前記演奏ユーザ端末のうち前記合成対象でないと判定された演奏ユーザ端末から受信された前記複数の個別演奏データを、前記合成演奏データ生成手段による処理の対象とすることなく前記鑑賞ユーザ端末に対して前記演奏中に転送し、該演奏中に再生させる個別演奏データ転送手段と、
を備える情報処理装置。
【請求項8】
ネットワークを介して接続されたサーバ及び複数のユーザ端末を備える情報処理システムであって、
前記複数のユーザ端末の夫々は、
ユーザによる演奏操作に従って複数の個別演奏データを生成する個別演奏データ生成手段と、
前記個別演奏データを、前記サーバに対して演奏中に送信する個別演奏データ送信手段と、を備え、
前記サーバは、
前記複数のユーザ端末のうち、2以上の演奏ユーザ端末から、該演奏ユーザ端末の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する個別演奏データ受信手段と、
前記演奏ユーザ端末のうち合成対象であると判定された演奏ユーザ端末から受信された前記複数の個別演奏データのうち、同一のタイムスロットに係る前記個別演奏データを前記演奏中に合成することで、前記2以上の演奏ユーザ端末における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する合成演奏データ生成手段と、
前記合成演奏データを、前記複数のユーザ端末のうち、少なくとも1の鑑賞ユーザ端末に対して前記演奏中に送信し、該演奏中に再生させる合成演奏データ送信手段と、
前記演奏ユーザ端末のうち前記合成対象でないと判定された演奏ユーザ端末から受信された前記複数の個別演奏データを、前記合成演奏データ生成手段による処理の対象とすることなく前記鑑賞ユーザ端末に対して前記演奏中に転送し、該演奏中に再生させる個別演奏データ転送手段と、
を備える、
情報処理システム。
【請求項9】
コンピュータが、
ネットワークを介して接続された2以上の演奏ユーザ端末から、該演奏ユーザ端末の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する個別演奏データ受信ステップと、
前記演奏ユーザ端末のうち合成対象であると判定された演奏ユーザ端末から受信された前記複数の個別演奏データのうち、同一のタイムスロットに係る前記個別演奏データを前記演奏中に合成することで、前記2以上の演奏ユーザ端末における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する合成演奏データ生成ステップと、
前記合成演奏データを、前記ネットワークを介して接続された、少なくとも1の鑑賞ユーザ端末に対して前記演奏中に送信し、該演奏中に再生させる合成演奏データ送信ステップと、
前記演奏ユーザ端末のうち前記合成対象でないと判定された演奏ユーザ端末から受信された前記複数の個別演奏データを、前記合成演奏データ生成ステップにおける処理の対象とすることなく前記鑑賞ユーザ端末に対して前記演奏中に転送し、該演奏中に再生させる個別演奏データ転送ステップと、
を実行する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ネットワークを介して演奏データを送受信するための技術に関する。
【背景技術】
【0002】
従来、複数のユーザが参加するコンピュータゲームにおいて、複数のユーザによる演奏結果を合わせて再生するための技術が種々提案されている(特許文献1から3を参照)。
【0003】
また、参加者のアクションを双方向に制御するマルチユーザシステムであって、環境内における参加者のアクションを動的に制御するよう第1のユーザが操作可能な第1の装置と、環境を動的に変えるよう第2のユーザが同時に操作可能な第2の装置とを具備するマルチユーザシステムが提案されている(特許文献4を参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第6130041号
【文献】特許第5420833号
【文献】特許第5094091号
【文献】特許第4700351号
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、プレイヤがキャラクタを操作して音楽を演奏する機能が提供されているコンピュータゲーム等、ユーザによる演奏のデータがネットワークを介して伝送されるシステムが存在する。しかし、同時に複数のユーザが参加するシステムにおいて、演奏データの送受信が、合奏に支障が生じる程度の遅延が生じるネットワークを介して行われる場合、複数のユーザがタイミングの合った合奏をリアルタイムで行うことは困難であった。
【0006】
本発明の少なくとも1つの実施形態の目的は、上記課題を解決し、ネットワーク上のデータ伝送を要因とする合奏のズレを低減させることである。
【課題を解決するための手段】
【0007】
本開示の一側面は、コンピュータを、ネットワークを介して接続された2以上の演奏ユーザ端末から、該演奏ユーザ端末の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する個別演奏データ受信手段と、前記演奏ユーザ端末から受信された前記複数の個別演奏データのうち、同一のタイムスロットに係る前記個別演奏データを前記演奏中に合成することで、前記2以上の演奏ユーザ端末における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する合成演奏データ生成手段と、前記合成演奏データを、前記ネットワークを介して接続された、少なくとも1の鑑賞ユーザ端末に対して前記演奏中に送信する合成演奏データ送信手段と、として機能させるプログラムである。
【0008】
なお、本開示は、情報処理装置、情報処理システム、コンピュータによって実行される方法、又はコンピュータに実行させるプログラムとしても把握することが可能である。また、本開示は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【0009】
本願の各実施形態により1または2以上の不足が解決される。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態の少なくとも1つに対応する情報処理装置の機能構成の概略を示す図である。
【
図2】本発明の実施形態の少なくとも1つに対応する合奏管理処理の流れを示すフローチャートである。
【
図3】本発明の実施形態の少なくとも1つに対応する合奏管理処理の流れを示すフローチャートである。
【
図4】本発明の実施形態の少なくとも1つに対応する情報処理システムの構成の概略を示す図である。
【
図5】本発明の実施形態の少なくとも1つに対応する情報処理システムの機能構成の概略を示す図である。
【
図6】本発明の実施形態の少なくとも1つに対応する個別演奏処理の流れを示すフローチャートである。
【
図7】本発明の実施形態の少なくとも1つに対応する合奏管理処理の流れを示すフローチャートである。
【
図8】本発明の実施形態の少なくとも1つに対応する演奏データの流れを示す図である。
【発明を実施するための形態】
【0011】
以下、本開示の実施の形態を、図面に基づいて説明する。なお、以下に説明する実施の形態は、本開示を実施する場合の一例を示すものであって、本開示を以下に説明する具体的構成に限定するものではない。本開示の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【0012】
[第一の実施形態]
<装置の構成>
図1は、本実施形態に係る情報処理装置1の機能構成の概略を示す図である。本実施形態に係る情報処理装置1は、プロセッサが、各種メモリに展開された各種プログラムを解釈及び実行することで、個別演奏データ受信部21、合成演奏データ生成部22及び合成演奏データ送信部23を備える情報処理装置として機能する。本実施形態では、これらの機能がいずれも汎用のプロセッサによって実行される例について説明するが、これらの機能は、その一部又は全部が、1又は複数の専用のプロセッサによって実現されてもよい。また、情報処理装置1が備える各機能部は、例えば、クラウド上に実装されてよい。また、これらの機能部は、単一のソフトウェアモジュールではなく、複数のソフトウェアモジュールによって実現されていてもよい。
【0013】
個別演奏データ受信部21は、ネットワークを介して接続された2以上の演奏ユーザ端末3から、演奏ユーザ端末の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する。
【0014】
合成演奏データ生成部22は、演奏ユーザ端末から受信された複数の個別演奏データのうち、同一のタイムスロットに係る個別演奏データを演奏中に合成することで、2以上の演奏ユーザ端末における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する。
【0015】
合成演奏データ送信部23は、合成演奏データを、ネットワークを介して接続された、少なくとも1の鑑賞ユーザ端末に対して演奏中に送信する。
【0016】
<処理の流れ>
次に、本実施形態において実行される処理の流れを説明する。なお、実施形態に係るフローチャートに示された処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
【0017】
図2は、第一の実施形態に係る合奏管理処理の流れを示すフローチャートである。本フローチャートに示された処理は、情報処理装置1において、複数のユーザ端末による合奏が開始されたことを契機として、複数のユーザ端末が参加するゲームを管理する処理と並行して、繰り返し実行される。
【0018】
個別演奏データ受信部21は、ネットワークを介して接続された2以上の演奏ユーザ端末から、演奏ユーザ端末の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する(ステップS101)。この際、合成演奏データ生成部22は、少なくとも所定のタイムスロットぶん、演奏ユーザ端末からの個別演奏データの受信を待ち受けるためのバッファを有しており、所定タイムスロット分の個別演奏データを蓄積する(ステップS102)。なお、タイムスロットには、実施の形態に応じて適切な単位が適宜採用されてよい。例えば、タイムスロットの長さを1小節に相当する時間(即ち、設定されたBPM(Beats Per Minute。所謂テンポ)に応じて異なる長さ)としてもよいし、固定された所定時間(例えば、0.1秒)としてもよいし、サーバの負荷やネットワークの状況に応じて動的に変更される時間としてもよい。
【0019】
合成演奏データ生成部22は、演奏ユーザ端末から受信された複数の個別演奏データのうち、同一のタイムスロットに係る個別演奏データを演奏中に合成することで、2以上の演奏ユーザ端末における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する(ステップS103)。そして、合成演奏データ送信部23は、合成演奏データを、ネットワークを介して接続された、少なくとも1の鑑賞ユーザ端末に対して演奏中に送信する(ステップS104)。本実施形態に係る合奏管理処理では、上記ステップS101からステップS104までの処理が繰り返し実行される。
【0020】
本実施形態に係る情報処理装置1によれば、複数の演奏ユーザ端末によって生成された個別演奏データが合成されることで生成された合成演奏データが、鑑賞ユーザ端末に送信されることで、演奏データが鑑賞ユーザ端末に到着するタイミングのズレを抑制し、ネットワーク上のデータ伝送を要因とする合奏のズレを低減させることが可能となる。
【0021】
[第二の実施形態]
次に、第二の実施形態を説明する。第一の実施形態と共通する構成及び処理内容については、第一の実施形態を参照するものとし、説明を省略する。
【0022】
<装置の構成>
本実施形態に係る情報処理装置1が、個別演奏データ受信部21、合成演奏データ生成部22及び合成演奏データ送信部23を備える点については、
図1を参照して第一の実施形態で説明した情報処理装置1と同様である。但し、本実施形態では、個別演奏データ受信部21及び合成演奏データ生成部22による処理の内容が、第一の実施形態において説明した処理の内容と異なる。
【0023】
第二の実施形態において、個別演奏データ受信部21は、演奏ユーザ端末の夫々において動作するメトロノームによってカウントされたタイミングを識別可能なタイミング情報を含む、個別演奏データを受信する。
【0024】
また、第二の実施形態において、合成演奏データ生成部22は、タイミング情報に基づいて、同一のタイムスロットに係る個別演奏データを合成し、合成演奏データを生成する。
【0025】
<処理の流れ>
次に、本実施形態において実行される処理の流れを説明する。なお、実施形態に係るフローチャートに示された処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
【0026】
図3は、第二の実施形態に係る合奏管理処理の流れを示すフローチャートである。本フローチャートに示された処理は、情報処理装置1において、複数のユーザ端末による合奏が開始されたことを契機として、複数のユーザ端末が参加するゲームを管理する処理と並行して、繰り返し実行される。
【0027】
個別演奏データ受信部21は、ネットワークを介して接続された2以上の演奏ユーザ端末から、演奏ユーザ端末の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する(ステップS201)。ここで受信される個別演奏データは、演奏ユーザ端末の夫々において動作するメトロノームによってカウントされたタイミングを識別可能なタイミング情報を含む。また、合成演奏データ生成部22は、少なくとも所定のタイムスロット(第一の実施形態を参照)ぶん、演奏ユーザ端末からの個別演奏データの受信を待ち受けるためのバッファを有しており、所定タイムスロット分の個別演奏データを蓄積する(ステップS202)。
【0028】
合成演奏データ生成部22は、演奏ユーザ端末から受信された複数の個別演奏データのうち、同一のタイムスロットに係る個別演奏データを、タイミング情報に基づいて演奏中に合成することで、2以上の演奏ユーザ端末における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する(ステップS203)。そして、合成演奏データ送信部23は、合成演奏データを、ネットワークを介して接続された、少なくとも1の鑑賞ユーザ端末に対して演奏中に送信する(ステップS204)。本実施形態に係る合奏管理処理では、上記ステップS201からステップS204までの処理が繰り返し実行される。
【0029】
本実施形態に係る情報処理装置1によれば、演奏ユーザ端末の夫々において動作するメトロノームによってカウントされたタイミング情報に基づいて、合成演奏データが生成される。このため、第一の実施形態によって得られる効果に加えて、個別演奏データが情報処理装置1に到着するタイミングのズレも抑制し、ネットワーク上のデータ伝送を要因とする合奏のズレを更に低減させることが可能となる。
【0030】
[第三の実施形態]
<装置の構成>
図4は、本実施形態に係る情報処理システム9の構成の概略を示す図である。本実施形態における情報処理システム9は、インターネット等のネットワークに接続された情報処理装置1及び複数のユーザ端末3を有している。情報処理装置1は、複数のユーザ端末3が参加するゲームのためのサーバ1である。複数のユーザ端末3がサーバ1に接続して行われるゲームとしては、例えばMMORPG(Massively Multiplayer Online Role-Playing Game)等があるが、本開示に係る技術を適用可能なゲームは、ネットワークを介して2以上のユーザ端末3が接続されるゲームであればよく、本実施形態における例示に限定されない。また、ユーザ端末3は、ユーザによって使用されるゲーム装置等である。ゲーム装置としては、様々な種類の装置を用いることが可能であり、例えば、パーソナルコンピュータ、スマートフォン、携帯ゲーム装置、据え置きゲーム装置、ウェアラブルな電子機器(例えば、VR(Virtual Reality)ヘッドセットやスマートウォッチ等)等が挙げられるが、その種類は限定されない。ユーザは、ユーザ端末3及び情報処理装置1に、ゲーム処理プログラムに基づくゲーム処理を実行させることでゲームをプレイすることが出来る。
【0031】
情報処理装置1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、補助記憶装置14と、ネットワークを介した外部との通信を行うためのネットワークインターフェイス15と、が有線又は無線接続された情報処理装置である。なお、情報処理装置1の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が行われてよい。
【0032】
CPU11は、ROM12及びRAM13等に展開された命令及びデータを処理することで、RAM13、補助記憶装置14等の、情報処理装置1に備えられた各構成を制御する。また、RAM13は、主記憶装置であり、CPU11によって制御され、各種命令やデータが書き込まれ、読み出される。即ち、CPU11、ROM12及びRAM13は、情報処理装置1の制御部を構成する。
【0033】
補助記憶装置14は、不揮発性の記憶装置であり、主に情報処理装置1の電源を落としても保持したい情報、例えば、RAM13にロードされる情報処理装置1のOS(Operating System)や、後述する処理を実行するための各種プログラムの他、情報処理装置1によって使用される各種データが書き込まれ、読み出される。補助記憶装置14としては、例えば、EEPROM(Electrically Erasable Programmable ROM)やHDD(Hard Disk Drive)等を用いることが出来る。
【0034】
ユーザ端末3は、CPU31と、ROM32と、RAM33と、補助記憶装置34と、ネットワークインターフェイス35と、入力装置36と、出力装置37と、が有線又は無線接続された情報処理装置である。なお、ユーザ端末3の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が行われてよい。
【0035】
入力装置36には、ボタン、スティック、キーボード、マウス、トラックボール、タッチセンサ、加速度センサ、角速度センサ、カメラ、深度センサ、マイクロフォン等の様々な装置を採用することが出来る。出力装置37には、ディスプレイ、スピーカ、振動子、又はLED等の様々な装置を採用することが出来る。また、タッチパネル付ディスプレイを採用することで、入力装置36と画像を表示する出力装置37とが併せて提供されてもよい。
【0036】
また、ユーザ端末3の補助記憶装置34には、情報処理装置1の補助記憶装置14として例示されたものの他、着脱可能に装着される可搬媒体が用いられてもよい。可搬媒体の例としては、ROM等を含むカード/カートリッジ型媒体、CD(Compact Disc)、DVD(Digital Versatile Disc)及びBD(Blu-ray(登録商標) Disc)等が挙げられる。可搬媒体による補助記憶装置と、可搬型ではない補助記憶装置とは、組み合わせて用いることも可能である。
【0037】
図5は、本実施形態に係る情報処理システム9の機能構成の概略を示す図である。本実施形態に係る情報処理装置1は、CPU11が、ROM12及びRAM13等に展開された各種プログラムを解釈及び実行することで、個別演奏データ受信部21、合成演奏データ生成部22、合成演奏データ送信部23及び通知部24を備えるサーバ1として機能する。本実施形態では、これらの機能がいずれも汎用のCPU11によって実行される例について説明するが、これらの機能は、その一部又は全部が、1又は複数の専用のプロセッサによって実現されてもよい。また、情報処理装置1が備える各機能部は、例えば、クラウド上に実装されてよい。また、これらの機能部は、単一のソフトウェアモジュールではなく、複数のソフトウェアモジュールによって実現されていてもよい。
【0038】
また、本実施形態に係るユーザ端末3は、CPU31が、ROM32及びRAM33等に展開された各種プログラムを解釈及び実行することで、個別演奏データ生成部41及び個別演奏データ送信部42を備えるユーザ端末3として機能する。本実施形態では、これらの機能がいずれも汎用のCPU31によって実行される例について説明するが、これらの機能は、その一部又は全部が、1又は複数の専用のプロセッサによって実現されてもよい。また、ユーザ端末3が備える各機能部は、例えば、クラウド上に実装されてよい。また、これらの機能部は、単一のソフトウェアモジュールではなく、複数のソフトウェアモジュールによって実現されていてもよい。
【0039】
ユーザ端末3の個別演奏データ生成部41は、ユーザによる演奏操作に従って複数の個別演奏データを生成する。
【0040】
ユーザ端末3の個別演奏データ送信部42は、個別演奏データを、サーバ1に対して演奏中に送信する。
【0041】
サーバ1の通知部24は、演奏ユーザ端末3の夫々において動作するメトロノームを設定するための合奏環境情報を演奏ユーザ端末3の夫々に通知する。
【0042】
サーバ1の個別演奏データ受信部21は、ネットワークを介して接続された2以上の演奏ユーザ端末3から、演奏ユーザ端末3の夫々においてユーザによる演奏操作に従って生成されて演奏中に送信された複数の個別演奏データを受信する。この際、個別演奏データ受信部21は、演奏ユーザ端末3の夫々において動作するメトロノームによってカウントされたタイミングを識別可能なタイミング情報と併せて、個別演奏データを受信する。
【0043】
サーバ1の合成演奏データ生成部22は、予め作成されたパーティに含まれる2以上の演奏ユーザ端末3から受信された複数の個別演奏データのうち、同一のタイムスロットに係る個別演奏データを演奏中に合成することで、2以上の演奏ユーザ端末3における個別の演奏内容がミックスされた音響を再生可能な合成演奏データを生成する。
【0044】
サーバ1の合成演奏データ送信部23は、合成演奏データを、ネットワークを介して接続された、少なくとも1の鑑賞ユーザ端末3に対して演奏中に送信する。
【0045】
<処理の流れ>
次に、本実施形態において実行される処理の流れを説明する。なお、実施形態に係るフローチャートに示された処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
【0046】
図6は、第三の実施形態に係る個別演奏処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザ端末3において、ゲーム内で合奏設定が開始されたことを契機として、ゲーム処理と並行して、繰り返し実行される。
【0047】
予め作成されたゲーム内パーティに所属する何れかのユーザ端末3において、ゲーム内で楽器の演奏準備がされているプレイヤキャラクタを操作するユーザが、ゲーム画面に表示されている合奏設定用ボタンを操作(クリックやタップ等)したことを契機として、ユーザ端末3は、ゲーム画面に合奏設定用パネルを表示させる。
【0048】
ここで、ゲーム内パーティとは、ゲーム内で戦闘等を行うために組まれる、プレイヤキャラクタのグループである。パーティの編成方法については、従来と同様の方法が採用されてよいため、説明を省略する。また、ゲーム内で楽器の演奏準備がされているプレイヤキャラクタは、ゲームの仕様によって異なるが、例えば、楽器を演奏可能なスキルを有し、且つ楽器を現在構えているプレイヤキャラクタ等である。本実施形態に係るゲームでは、プレイヤが楽器を演奏可能なスキルを有するキャラクタを操作中に、楽器を構える操作を行うと、プレイヤキャラクタが所定の楽器(楽器の種類は選択可能)を構え、ゲーム画面に演奏用のインターフェイス(鍵盤等の、音程を指定可能なインターフェイス。以下、「演奏パネル」と称する)、及び合奏設定用ボタン(例えば、メトロノームを模したアイコン)が表示される。
【0049】
ステップS301及びステップS302では、合奏を行うための設定が行われる。合奏設定用パネルには、BPM及びBEAT(1小節あたりの拍数。所謂拍子)を設定可能なインターフェイスと、合成モードの有効/無効を設定可能なインターフェイスとが表示される。ユーザは、当該パネルにおいてBPM及びBEATを数値で入力し、合成モードの有効/無効を指定することが出来る(ステップS301)。
【0050】
ここで、合成モードとは、複数のプレイヤキャラクタが同時に演奏を行うにあたって、サーバ1において個別演奏データの合成処理(合成演奏データの生成処理)を行うためのモードである。合成モードを有効化しなくても、複数のプレイヤキャラクタは同時に演奏を行うことが出来るが、合成モードを有効化していない場合、鑑賞ユーザ端末3には、複数の演奏ユーザ端末3においてリアルタイムで生成された個別演奏パケットが個別に到着することとなり、パケット毎に伝送時間は一定でないため、鑑賞ユーザ端末3において再生される合奏のタイミングが合わない可能性がある。合成モードを有効化することで、サーバ1における個別演奏データの合成処理(合成演奏データの生成処理)が行われ、鑑賞ユーザ端末3において、複数のプレイヤキャラクタによる、よりタイミングの合った演奏を鑑賞することが可能となる。
【0051】
合奏設定用パネルにおいてBPM及びBEATが指定され、合成モードを有効にする旨の設定が行われると、ユーザ端末3は、合奏のためのメトロノームを含む各種環境設定を行うための情報(BPM、BEAT及び合成モード有効/無効等。以下、単に「合奏環境情報」と称する)をサーバ1に送信する(ステップS302)。その後、処理はステップS303へ進む。
【0052】
なお、ステップS301及びステップS302の処理は、合奏を行う複数の演奏ユーザ端末3のうち、合奏環境情報の設定を行う1の演奏ユーザ端末3(以下、「合奏リーダー」と称する)のみによって実行されればよく、合奏に参加するその他の1以上の演奏ユーザ端末3においては、ステップS301及びステップS302の処理はスキップされる。一方、以下に説明するステップS303以降の処理は、合奏リーダーであるか否かにかかわらず、ステップS303の通知がサーバ1から送信された時点で楽器の演奏準備がされている全てのパーティ内端末(演奏ユーザ端末3)において実行される。
【0053】
ステップS303からステップS306では、合奏のための環境設定が行われ、合奏が開始される。ユーザ端末3は、サーバ1から送信された合奏環境情報を受信し、その内容をゲーム画面に表示することで、合奏環境情報の内容をユーザに通知する(ステップS303)。通知を受けたユーザは、合奏環境情報として通知された内容(以下、「合奏レディチェック」と称する)を承認するか否かを決定する操作を行うことで、通知された合奏環境情報を承認するか否かを選択することが出来る。また、通知された合奏環境情報が、合成モードを有効にする旨の設定を含むものである場合、ユーザは、合奏レディチェックの承認/非承認によって、合成モードに参加するか否かを選択することが出来る。
【0054】
ユーザが、合奏レディチェックを承認しない操作を行った場合(ステップS304のNO)、本フローチャートに示された処理は終了し、当該ユーザ端末3において操作されているプレイヤキャラクタ及びプレイヤは、通知された合奏に参加しない。但し、当該ユーザ端末3において操作されているプレイヤキャラクタ及びプレイヤは、合奏に参加しなくても、演奏パネルを介して単独で楽器を演奏することは可能である。
【0055】
一方、ユーザが、合奏レディチェックを承認する操作を行った場合(ステップS304のYES)、当該操作が行われた演奏ユーザ端末3は、合奏環境情報に従って、合奏のためのメトロノームを含む各種環境設定を行い、合奏レディチェックを承認することをサーバ1に通知する(ステップS305)。その後、演奏ユーザ端末3は、予め設定された内容の合奏へのカウントダウン(例えば、2小節分のカウント)を行い、合奏のためのメトロノーム処理を開始する(ステップS306)。その後、処理はステップS307へ進む。
【0056】
合奏が開始されると、ユーザ端末3は、合奏が終了するまで、設定されたBPM及びBEATに従って動作するメトロノームを用いて、ユーザに対して演奏タイミングのガイドとなる通知を行う。通知される内容は、現在のBPM、現在のBEAT、拍のタイミング、小節の頭、小節数、等であり、何れも、画像及び/又は音声によって通知される。即ち、拍のタイミングは、メトロノームの画像のみによって通知されてもよいし、メトロノームのクリック音によって通知されてもよいし、画像及びクリック音の両方によって通知されてもよい。また、カウントダウン及びメトロノーム処理は、ゲーム内時刻等を用いて複数の演奏ユーザ端末3間で同期されることが好ましい。但し、このような同期は省略されてもよい。
【0057】
ステップS307からステップS309では、個別演奏データの生成及び送信が行われる。ユーザ端末3の個別演奏データ生成部41は、演奏パネルその他のインターフェイス(例えば、キーボード、MIDI等の演奏用信号を入力可能なデバイス)を介して、ユーザによる演奏操作を受け付け、受け付けられた演奏操作の内容(音程、音の大きさ、音の長さ、タイミング、音色等)を特定可能な個別演奏データをリアルタイム生成する(ステップS307)。そして、ユーザ端末3の個別演奏データ送信部42は、生成された個別演奏データを含む個別演奏パケットを、サーバ1宛に送信する(ステップS308)。
【0058】
ここで、タイミング情報は、合奏(メトロノーム処理)がスタートしてからの経過時間、即ち合奏において当該音響を発音すべきタイミングを特定可能な情報であり、例えば、小節番号と小節内の拍数との組み合わせで特定される。但し、タイミング情報の表現方法は、本実施形態における例示に限定されない。例えば、タイミングは、小節番号と小節内での経過時間との組み合わせで特定されてもよいし、合奏開始からの経過時間で特定されてもよい。
【0059】
本実施形態では、個別演奏パケットが、個別演奏データが生成される度(例えば、鍵盤が押下される度)にリアルタイムで送信される例について説明する。但し、個別演奏データは、一定時間(例えば、1小節分)蓄積されてからまとめて送信されてもよい。但し、本実施形態に係る情報処理システム9では、複数のプレイヤキャラクタがゲームフィールドに集合して合奏及び鑑賞を同時に(リアルタイムで)行うことを目的としているため、遅延時間は少ない方が好ましい。本実施形態に係る情報処理システム9では、演奏データは(遅延は存在するものの)基本的にリアルタイムで生成され、サーバ1に送信され、サーバ1から配信されるのであって、例えば、演奏終了後にまとめて演奏データを送信したり配信したりという処理は行われない。
【0060】
個別演奏データの生成及び送信中に、所定の終了条件(例えば、ユーザからの合奏からの離脱指示入力や、ユーザからの演奏操作の入力がない状態での一定時間経過等)が満たされた場合(ステップS309のYES)、合奏は終了し、本フローチャートに示された処理は終了する。一方、所定の終了条件が満たされていない場合(ステップS309のNO)、ステップS307及びステップS308の処理(演奏操作の受け付け及び個別演奏データ(個別演奏パケット)の送信)は、合奏が終了するまで繰り返し実行される。
【0061】
なお、ユーザが演奏操作を行った際の演奏操作に対するフィードバックは、演奏操作に対応する音響が発音されるという方法でローカルで行うことが可能だが、フィードバックとしての発音は、無効化されてもよい。また、発音によるフィードバックに代えて、画像でのフィードバックを行なってもよい。例えば、プレイヤキャラクタの頭上に、演奏操作に対応する音響の音量をその大きさで表す円を表示する方法や、演奏操作に対応する音響のイコライザを表示する方法で、画像でのフィードバックを行うことができる。画像でのフィードバックを行うことで、発音でのフィードバックが無効化された場合にも、ユーザは自身が演奏操作を行ったことのフィードバックを得ることが出来る。
【0062】
図7は、第三の実施形態に係る合奏管理処理の流れを示すフローチャートである。本フローチャートに示された処理は、サーバ1において、ゲーム処理と並行して、繰り返し実行される。
【0063】
ステップS401からステップS403では、合奏を行うための設定が行われる。サーバ1は、個別演奏処理のステップS302において合奏リーダーの演奏ユーザ端末3から送信された合奏環境情報を受信する(ステップS401)。そして、サーバ1の通知部24は、受信した合奏環境情報を、当該合奏環境情報の送信元演奏ユーザ端末3が所属するパーティ内の全ての演奏ユーザ端末3(楽器の演奏準備がされている全てのパーティ内端末)宛に送信する(ステップS402)。ここでサーバ1から送信された合奏環境情報は、パーティ内の全ての演奏ユーザ端末3によって、個別演奏処理のステップS303で受信され、合奏レディチェックによって承認/非承認される。サーバ1は、各ユーザ端末3から合奏レディチェックの結果を受け取り、合成モードを承認した演奏ユーザ端末3(合成モードを利用するユーザ端末3)を記録する(ステップS403)。その後、処理はステップS404へ進む。
【0064】
ステップS404及びステップS405では、個別演奏データが受信され、合成モードの適用可否が判定される。サーバ1の個別演奏データ受信部21は、複数の演奏ユーザ端末3の夫々から送信された個別演奏データ(個別演奏パケット)を受信する(ステップS404)。ここで受信される個別演奏データには、上述の通り、受け付けられたユーザによる演奏操作の内容(音程、音の大きさ、音の長さ、タイミング、音色等)を特定可能なデータが含まれている。
【0065】
個別演奏データ(個別演奏パケット)が受信されると、サーバ1は、受信された個別演奏データの送信元ユーザ端末3が、合奏レディチェックにおいて合成モードを承認したユーザ端末3であるか否かを判定する。送信元ユーザ端末3が合成モードを承認したユーザ端末3である場合(ステップS405のYES)、処理はステップS407へ進む。一方、送信元ユーザ端末3が合成モードを非承認したユーザ端末3である場合(ステップS405のNO)処理はステップS406へ進む。
【0066】
ステップS406では、個別演奏データの転送が行われる。サーバ1は、ステップS404で受信された個別演奏データ(個別演奏パケット)を、他の個別演奏データと合成することなく、鑑賞ユーザ端末3へ送信する。ここで、鑑賞ユーザ端末3は、ゲームフィールドにおいて、当該個別演奏データに係るプレイヤキャラクタの近辺(所定距離内)にいるプレイヤキャラクタを操作するユーザ端末3である。この場合、サーバ1から鑑賞ユーザ端末3に個別演奏データが到着するタイミングが伝送経路上の都合で前後し、鑑賞ユーザ端末3において合奏の精度が低減する可能性が生じる。なお、鑑賞ユーザ端末3には、演奏ユーザ端末3が含まれてもよい。その後、処理はステップS410へ進む。
【0067】
ステップS407からステップS409では、合成演奏データの生成及び送信が行われる。サーバ1の合成演奏データ生成部22は、複数の演奏ユーザ端末3の夫々から受信された個別演奏データを、所定のタイムスロット(例えば、1小節)分待機することで、蓄積する(ステップS407)。但し、ここで蓄積された個別演奏データは、後述するように演奏中に合成されて鑑賞ユーザ端末3に送信されるため、演奏ユーザ端末3からサーバ1への伝送が予定以上に遅延したために所定のタイムスロットに間に合わなかった個別演奏データ(個別演奏パケット)は、破棄されてもよい。
【0068】
所定のタイムスロット分の待機が完了すると、合成演奏データ生成部22は、当該タイムスロットにおいて受信された個別演奏データを、当該個別演奏データに含まれるタイミング情報に基づいて合成する(ステップS408)。即ち、合成演奏データ生成部22は、複数の演奏ユーザ端末3から受信された演奏操作の内容(音程、音の大きさ、音の長さ、タイミング、音色等)に従って、当該演奏操作に係る音が、合奏の正しいタイミング(合奏がスタートしてからの正しい経過時間)で発音されるように、複数の個別演奏データを合成し、合成演奏データを生成する。合成演奏データは、当該合成演奏データに係るタイムスロットにおいて当該合成演奏データに含まれる複数の音が正しい位置関係で発音され、且つ鑑賞ユーザ端末3に対するデータの送信負荷を軽減するために、所定の単位時間分の演奏データを含む。例えば、本実施形態における例示では、合成演奏データは、1小節分のデータとして生成され、当該小節内における演奏操作の内容(音程、音の大きさ、音の長さ、タイミング、音色等)を含む。
【0069】
また、本実施形態において、三次元仮想空間であるゲームフィールド内の音響は、音響の発生点から聴取ポイント(例えば、鑑賞ユーザ端末のプレイヤキャラクタの位置)までの距離及び/又は障害物等に応じて音量及び/又は音質等がシミュレーションされることで、リアルに再生される。このため、本実施形態において、各演奏データには、当該演奏データに係る音響がゲームフィールドにおいて再生される際の音源位置(音の発生点)を示す情報が含まれる。個別演奏データでは、演奏を行なっているプレイヤキャラクタの位置に音源位置が設定されるが、合成演奏データでは、当該データに係るプレイヤキャラクタが複数であるため、予め設定されたルールに基づいて音源位置が決定される。例えば、合成演奏データの音源位置は、演奏リーダーのプレイヤキャラクタの位置、合成モードに係る複数のプレイヤキャラクタの位置の重心、又は合成モードに係る1以上のプレイヤキャラクタの位置、等に設定されてよい。ここで、キャラクタの位置とは、例えば、キャラクタの胸の位置等である。
【0070】
合成演奏データが生成されると、サーバ1の合成演奏データ送信部23は、生成された合成演奏データを含む合成演奏パケットを、鑑賞ユーザ端末3へ送信する(ステップS409)。ここで、鑑賞ユーザ端末3は、ゲームフィールドにおいて、当該合成モードに参加しているパーティの近辺(所定距離内)にいるプレイヤキャラクタを操作するユーザ端末3である。鑑賞ユーザ端末3には、演奏ユーザ端末3が含まれてもよい。但し、自身の演奏が遅れて聴こえることで演奏がしづらくなることを避けるために、演奏ユーザ端末3では、合成演奏データ(合成演奏パケット)をサーバ1から受信しないように設定したり、合成演奏データ(合成演奏パケット)をサーバ1から受信しても再生しないように設定したりすることが可能である。その後、処理はステップS410へ進む。
【0071】
ステップS410では、合奏の継続要否が判定される。所定の終了条件(例えば、ユーザ端末3からの合奏からの離脱指示受信や、ユーザ端末3からの個別演奏データの受信がない状態での一定時間経過等)が満たされた場合(ステップS410のYES)、合奏は終了し、本フローチャートに示された処理は終了する。一方、所定の終了条件が満たされていない場合(ステップS410のNO)、ステップS404からステップS409の処理(個別演奏パケットの受信、合成及び合成演奏パケットの配信)は、合奏が終了するまで繰り返し実行される。
【0072】
鑑賞ユーザ端末3は、合成演奏パケットを受信すると、当該パケットに含まれる合成演奏データに従って、合奏を再生する。即ち、鑑賞ユーザ端末3では、複数の演奏ユーザ端末3の夫々における演奏内容を、所定のタイムスロット(本実施形態では、1小節)毎に1のパケットとして受け取って再生することで、複数の演奏ユーザ端末3によって生成された個別演奏データを個別に受信する場合に比べて、正確なタイミングで再生することが出来る。
【0073】
図8は、第三の実施形態に係る、演奏データの流れを示す図である。
図8では、BEATに「4」が設定され(即ち、4拍子)、合成演奏データの生成が1小節毎に行われる例について説明する。図中の太い縦破線は小節の頭を、細い縦破線は拍の頭を示しており、また、図中の個別演奏データの枠内に記載された文字は音階を表している。
【0074】
ゲーム内パーティに第一の演奏ユーザ端末3及び第二の演奏ユーザ端末3が含まれる場合、第一の演奏ユーザ端末3は、第一のユーザによって操作される第一のプレイヤキャラクタの演奏内容としての第一の個別演奏データを、第一のユーザによる演奏操作に伴ってリアルタイムで生成及び送信し、第二の演奏ユーザ端末3は、第二のユーザによって操作される第二のプレイヤキャラクタの演奏内容としての第二の個別演奏データを、第二ユーザによる演奏操作に伴ってリアルタイムで生成及び送信する。ここで、送信された個別演奏データがサーバ1に到着するタイミングは演奏のタイミングとずれる可能性がある。そこで、本実施形態に係る情報処理システム9では、第一の個別演奏データ及び第二の個別演奏データが、サーバ1によってメトロノームのタイミングに従って合成されることで、鑑賞ユーザ端末3において第一のプレイヤキャラクタ及び第二のプレイヤキャラクタによる合奏として再生されるための、合成演奏データが生成される。生成された合成演奏データは、生成直後に鑑賞ユーザ端末3に送信され、鑑賞ユーザ端末3において演奏時のメトロノームのタイミングで再生される。
【0075】
なお、合成演奏データの生成及び送信、鑑賞ユーザ端末3における再生は、演奏中に行われるため、ユーザが実際に演奏操作を行ってから鑑賞ユーザ端末3において再生されるまでの時間は、「サーバ側で合成演奏データ生成用に待機する所定タイムスロット分の時間+処理遅延時間」のみである。ここで、処理遅延時間とは、データ生成、伝送及び再生等に伴う遅延時間である。このため、例えば所定タイムスロットとして1小節分の時間が設定されている場合にも、鑑賞ユーザ端末3では、「1小節分の時間+処理遅延時間」のみで合奏を鑑賞することが出来る。
【0076】
[その他のバリエーション]
上記説明した実施の形態は、本開示を実施する場合の一例を示すものであって、本開示を上記説明した具体的構成に限定するものではない。本開示の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【0077】
上記説明した第三の実施形態では、各演奏ユーザ端末においてメトロノームが動作する例について説明したが、演奏ユーザ端末におけるメトロノームは省略されてもよい。また、サーバにおいて合成演奏データを生成する際に、各演奏ユーザ端末から送信されたタイミング情報を用いる例について説明したが、タイミング情報を用いることなく合成演奏データが生成されてもよい。例えば、サーバの合成演奏データ生成部22は、所定のタイムスロット内に受信された個別演奏データに基づいて合成演奏データを生成する際に、このタイムスロットを小さくすることで(例えば、0.1秒)、タイミング情報を用いることなく合成演奏データを生成することが出来る。この場合、各演奏ユーザ端末からサーバに個別演奏データが到着するタイミングが伝送経路上の都合で前後する可能性があるが、演奏データにタイミング情報を含める必要がないため、処理負荷がより軽減される。
【符号の説明】
【0078】
1 情報処理装置
3 ユーザ端末
9 情報処理システム