(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-13
(45)【発行日】2022-12-21
(54)【発明の名称】譜面データ生成モデルの構築方法、譜面データ生成器、譜面データ生成方法及びコンピュータプログラム
(51)【国際特許分類】
A63F 13/814 20140101AFI20221214BHJP
G10G 1/00 20060101ALI20221214BHJP
【FI】
A63F13/814
G10G1/00
(21)【出願番号】P 2018099294
(22)【出願日】2018-05-24
【審査請求日】2021-03-17
【新規性喪失の例外の表示】特許法第30条第2項適用 平成29年12月15日,研究報告エンタテインメントコンピューティング(EC)”,2017-EC-46,第10号,第1頁~第8頁,情報処理学会(情報処理学会電子図書館:https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=8&item_id=185081&item_no=1) 平成29年12月23日,第46回 情報処理学会 エンタテインメントコンピューティング研究会
(73)【特許権者】
【識別番号】399030060
【氏名又は名称】学校法人 関西大学
(74)【代理人】
【識別番号】100111567
【氏名又は名称】坂本 寛
(72)【発明者】
【氏名】山西 良典
(72)【発明者】
【氏名】辻野 雄大
【審査官】赤坂 祐樹
(56)【参考文献】
【文献】特表2003-509729(JP,A)
【文献】特表2008-524656(JP,A)
【文献】特開2016-136251(JP,A)
【文献】C.Donahue Z.C.Lipton J.McAuley,Dance Dance Convolution,[online],2017年06月21日,https://arxiv.org/pdf/1703.06891.pdf,「2.Data」参照 [検索日:2022.3.25]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98、9/24
G10G 1/00- 1/04
(57)【特許請求の範囲】
【請求項1】
譜面データ生成モデルを構築する
方法であって、
前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルであり、
前記譜面データ生成モデルを構築するために、コンピュータに、学習データに基づいて機械学習処理を実行させることを備え、
前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含み、
前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データであ
り、前記譜面データは、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含む
譜面データ生成モデルの
構築方法。
【請求項2】
前記機器は、前記出力譜面データに従ったユーザ操作が行われる音楽ゲーム機であり、
前記第1タイプと前記第2タイプとは、前記音楽ゲーム機の難易度において異なる
請求項
1に記載の
構築方法。
【請求項3】
前記第1タイプ及び第2タイプの少なくともいずれか一つは、複数のタイプがブレンドされたタイプである
請求項1
又は2に記載の
構築方法。
【請求項4】
前記コンピュータに、前記複数のタイプをブレンドする割合を調整する調整処理を
実行させることを更に備える
請求項
3に記載の
構築方法。
【請求項5】
前記入力データは、前記入力譜面データと同一の楽曲についての音響データを含み、
前記学習データは、前記第1学習用譜面データ及び前記第2学習用譜面データと同一の楽曲についての学習用音響データを含む
請求項1から
4のいずれか1項に記載の
構築方法。
【請求項6】
第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行するよう構成され、
前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルであ
り、
前記第1タイプ及び前記第2タイプの前記譜面データは、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含む
譜面データ生成器。
【請求項7】
音響データから前記第1タイプの前記入力譜面データを生成する予備処理を、前記処理に先立って実行するよう構成されている
請求項
6に記載の譜面データ生成器。
【請求項8】
第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を、コンピュータによって実行することを備え、
前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルであり、
前記第1タイプ及び前記第2タイプの前記譜面データは、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含む
譜面データ生成方法。
【請求項9】
プロセッサに、処理を実行させるコンピュータプログラムであって、
前記処理は、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成することを含み、
前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルであ
り、
前記第1タイプ及び前記第2タイプの前記譜面データは、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含む
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、譜面データの生成に関する。
【背景技術】
【0002】
譜面データは、例えば、ダンスゲームなどの音楽ゲームに用いられる。音楽ゲームでは、再生される楽曲と画面に表示される指示符に沿って、プレイヤーが何らかの動作を行う。音楽ゲームにおいて、指示符が表示されるタイミングと表示される指示符の種類は、譜面データに基づいて決定される。
【0003】
譜面データは、製作者が楽曲を聴取した上で、手作業で作成するのが一般的である。したがって、多くの譜面データを作成しようとすると作業負担が増大する。しかも、音楽ゲーム等では、初心者から上級者までの幅広いプレイヤーが同一の楽曲を楽しめるようにする必要があるため、同一の楽曲について難易度の異なる複数の譜面データが必要となる。この点からも、譜面データ作成の作業負担は非常に大きくなる。したがって、譜面データ作成の自動化が望まれる。
【0004】
非特許文献1は、楽曲の音響データと譜面データとの関係を学習することで、入力された音響データから、譜面データを生成する手法(Dance Dance Convolution)を開示している。
【先行技術文献】
【非特許文献】
【0005】
【文献】Donahue, C., Lipton, Z. C. and McAuley, J,: Dance Dance Convolution, Proceedings of the 34th International Conference on Machine Learning(2017).
【発明の概要】
【0006】
非特許文献1の手法は、難易度が高い譜面データの学習・生成において一定の性能を示すことができる。しかし、難易度が低い譜面データはうまく学習できず、難易度が低い譜面データの品質を十分に確保できないことがある。高難易度の譜面データは、楽曲中の目立つ発音全てに沿って指示符を配置することで製作可能である。しかしながら、低難易度の譜面データを製作するには、楽曲の特徴を捉えつつ容易にプレイ可能な、少数の発音タイミングを選出する必要がある。音楽ゲームにおいて、難易度の低い譜面データは、幅広いユーザのニーズに対応するため必要である。このように、非特許文献1の手法では、譜面データ作成に関して限界がある。
【0007】
したがって、別のアプローチで、譜面データを生成する手法が望まれる。本開示における一つの手法においては、非特許文献1のように音響データと譜面データとの関係を学習するのではなく、同一の楽曲についての複数のタイプの譜面データ間の関係を学習する。学習に基づき、第1タイプの入力譜面データを含む入力データから、第2タイプの出力譜面データを含む出力データが生成される。更なる詳細は、後述の実施形態として説明される。
【図面の簡単な説明】
【0008】
【
図1】
図1は、モデル学習と譜面データ生成モデルの説明図である。
【
図2】
図2は、学習装置と譜面データ生成器の構成図である。
【
図5】
図5は、譜面データ生成タスクの説明図である。
【
図6】
図6は、時刻決定のためのモデル構成図である。
【
図7】
図7は、向き選択のためのモデル構成図である。
【
図8】
図8は、譜面データの生成例を示す図である。
【
図9】
図9は、譜面データの生成例と譜面データ生成器を示す図である。
【
図11】
図11は、音響データを有する学習データによるモデル学習と譜面データ生成モデルの説明図である。
【
図12】
図12Aは、Beginner譜面データの評価を示すグラフである。
図12Bは、Medium譜面データの評価を示すグラフである。
【発明を実施するための形態】
【0009】
<1.譜面データ生成モデルの学習装置、譜面データ生成器、システム、譜面データの学習方法、譜面データの生成方法、及びコンピュータプログラム>
【0010】
(1)実施形態に係る譜面データ生成モデルの学習装置は、譜面データ生成モデルを構築するために、学習データに基づいて機械学習処理を実行するよう構成される。前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含む。前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データである。
【0011】
(2)前記入力譜面データ、前記出力譜面データ、前記第1学習用譜面データ、及び前記第2学習用譜面データは、それぞれ、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含むことができる。
【0012】
前記タイミングは、前記機器がユーザに対してユーザ操作を要求するタイミングであってもよい。
【0013】
前記機器は、前記出力譜面データに従ったユーザ操作が行われる音楽ゲーム機であってもよい。
【0014】
(3)前記第1タイプと前記第2タイプとは、前記音楽ゲーム機の難易度において異なるのが好ましい。
【0015】
前記第1タイプと前記第2タイプとは、前記タイミングが発生する頻度において異なるのが好ましい。
【0016】
(4)前記第1タイプ及び第2タイプの少なくともいずれか一つは、複数のタイプがブレンドされたタイプであるのが好ましい。
【0017】
(5)前記複数のタイプをブレンドする割合を調整する調整処理を更に実行するよう構成されていてもよい。
【0018】
(6)前記入力データは、前記入力譜面データと同一の楽曲についての音響データを含むことができる。前記学習データは、前記第1学習用譜面データ及び前記第2学習用譜面データと同一の楽曲についての学習用音響データを含むことができる。
【0019】
(7)実施形態に係る譜面データ生成器は、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行するよう構成されている。前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルである。
【0020】
(8)譜面データ生成器は、音響データから前記第1タイプの前記入力譜面データを生成する予備処理を、前記処理に先立って実行するよう構成されていてもよい。
【0021】
実施形態に係るシステムは、上記(7)又は(8)に記載の譜面データ生成器と、前記譜面データ生成器によって生成された前記譜面データを用いる機器と、を備えることができる。
【0022】
実施形態に係る譜面データの学習方法は、プロセッサが、学習データに基づいて機械学習処理を実行することで、譜面データ生成モデルを構築することを含むことができる。前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含む。前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データである。
【0023】
実施形態に係る譜面データの生成方法は、プロセッサが、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行することを含む。前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルである。
【0024】
(9)実施形態に係るコンピュータプログラムは、プロセッサに、学習データに基づいて機械学習処理を実行させることで、譜面データ生成モデルを構築するコンピュータプログラムである。前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含む。前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データである。
【0025】
(10)実施形態に係るコンピュータプログラムは、プロセッサに、処理を実行させるコンピュータプログラムである。前記処理は、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成することを含む。前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルである。
【0026】
<2.学習装置及び譜面データ生成器の例>
【0027】
図1は、譜面データ生成モデルの学習装置10を示している。学習装置10は、モデル学習器100を備える。学習器100は、学習データ200に基づいて機械学習処理を実行することで、譜面データ生成モデル300を構築する。譜面データ生成モデル300は、入力譜面データから出力譜面データを生成するよう学習されている。
【0028】
図2は、学習装置10及び譜面データ生成器50の構成を示している。学習装置10は、プロセッサ20及び記憶装置30を備えるコンピュータによって構成されている。プロセッサ20は、記憶装置30に記憶された学習処理コンピュータプログラム40を実行する。プロセッサ20は、学習処理コンピュータプログラム40により機械学習処理21を実行する。機械学習処理21を実行するプロセッサ20は、学習器100として機能する。プロセッサ20は、記憶装置30に記憶された学習データ200を読み込み、機械学習処理21によって、譜面データ生成モデル300を構築する。構築されたモデル300は、記憶装置30に保存される。
【0029】
モデル300は、例えば、入力譜面データから出力譜面データを生成するニューラルネットワークモデルである。ニューラルネットワークモデルは、例えば、Long short-term memory(LSTM)である。LSTMは、時系列データに対するニューラルネットワークモデルである。
【0030】
構築されたモデル300は、譜面データ生成器50において用いられる。譜面データ生成器50は、プロセッサ60及び記憶装置70を備えるコンピュータによって構成されている。プロセッサ60は、記憶装置70に格納された譜面データ生成プログラム80を実行する。プロセッサ60は、譜面データ生成プログラム80により譜面データ生成処理61を実行する。譜面データ生成処理において、プロセッサ60は、記憶装置70に保存されたモデル300を用いて、記憶装置70に保存された第1タイプの入力譜面データ71を含む入力データから、第2タイプの出力譜面データ72を生成する。
【0031】
譜面データは、譜面データを用いる機器において、楽曲の音響データと同期して用いられる。譜面データを用いる機器は、例えば、楽曲の音響データを再生しつつ、楽曲の音響データに同期して譜面データを利用する。これにより、楽曲の再生中にその楽曲の曲調に合わせたユーザインタラクションを実現することができる。
【0032】
譜面データは、例えば、譜面データを用いる機器におけるタイミングを示すタイミングデータを含む時系列データである。機器におけるタイミングとは、機器において何らかの処理又は動作をする契機となるタイミングである。譜面データを用いる機器では、タイミングデータが示す指示タイミングにおいて、ユーザと機器との間のインタラクションが生じる。インタラクションは、ユーザから機器へのアクションであってもよいし、機器からユーザへのアクションであってもよい。
【0033】
譜面データを用いる機器では、例えば、譜面データのタイミングデータが示す指示タイミングにおいて何らかの入力が促される。譜面データを用いる機器は、譜面データのタイミングデータが示す指示タイミングにおいて、何らかの出力が生じるものであってもよい。
【0034】
譜面データを用いる機器は、例えば、音楽ゲーム機である。機器が音楽ゲーム機である場合、指示符が、タイミングデータに従って、プレイ中の音楽ゲーム機の画面に表示される。指示符は、例えば、楽曲中の特徴的な発音が生じる指示タイミングに配置される。指示符は、機器がユーザに対してユーザ操作を要求するタイミングを示す。機器ユーザであるゲームプレイヤーは、画面に表示される指示符に従って、何らかの動作によりゲーム機に対するユーザ操作を行って、ゲーム機への入力を行う。ダンスゲームの場合、ユーザ操作は、例えば、ゲーム機への入力装置であるパネルを踏むステップである。音楽ゲームのための譜面データの詳細については後述する。
【0035】
譜面データを用いる機器は、音楽ゲーム機に限定されず、例えば、健康器具であってもよい。健康器具は、ユーザの運動のための器具であってもよいし、人体に刺激などの影響を及ぼすことに健康の増進・維持を図る器具であってもよい。機器が、健康器具である場合、例えば、タイミングデータに従って、健康器具がユーザに提示する動作を行うことができる。
【0036】
譜面データ生成モデル300によって生成される出力譜面データ72は、入力譜面データ71と同一の楽曲についての譜面データであるが、入力譜面データ71とは異なる譜面データである。実施形態の譜面データ生成モデル300は、第1タイプの入力譜面データ71を含む入力データから、第1タイプとは異なる第2タイプの出力譜面データ72を含む出力データを生成する。
【0037】
譜面データが、タイミングデータを含む場合、入力譜面データ71と出力譜面データ72とは、例えば、タイミングデータが示す指示タイミングが異なる。例えば、入力譜面データ71と出力譜面データ72とは、指示タイミングの頻度が異なる。より具体的には、例えば、入力譜面データ71は、指示タイミングの頻度がより大きく、出力譜面データ72は、指示タイミングの頻度がより小さい。逆に、入力譜面データ71は、指示タイミングの頻度がより小さく、出力譜面データ72は、指示タイミングの頻度がより大きくてもよい。
【0038】
譜面データが音楽ゲーム用である場合、タイミングの頻度によって、ゲームの難易度が変化する。一般に、指示符が発生するタイミングの頻度が大きければ、難易度が高く、タイミングの頻度が小さければ難易度が低い。したがって、第1タイプと第2タイプとは、ゲームの難易度において異なることができる。例えば、第1レベルは、上級者向けの難レベルであり、第2レベルは、初級者向けの易レベルである。
【0039】
タイプの違いは、タイミングの違い又は難易度の違いだけでなく、譜面データが用いられる機器の違いであってもよい。例えば、第1タイプは、ダンスゲーム用であり、第2タイプは、演奏ゲーム用であってもよい。また、第1タイプは、音楽ゲーム用であり、第2タイプは、健康器具用であってもよい。
【0040】
図1に示すように、実施形態の譜面データ生成モデル300は、難レベルである第1タイプの入力譜面データを含む入力データから、易レベルである第2タイプの出力譜面データを含む出力データを生成することができる。なお、モデル300は、易レベルの譜面データから難レベルの譜面データを生成するものであってもよい。
【0041】
図1に示すように、モデル300の構築に用いられる学習データ200は、複数の楽曲A,Bについての学習データ210,220を含む。各学習データ210,220は、それぞれ、第1タイプの第1学習用譜面データ201と第2タイプの第2学習用譜面データ202とを備える。ここでの第1タイプは、例えば、難レベルであり、第2タイプは、易レベルである。第1学習用譜面データ201と第2学習用譜面データ202とは、同一の楽曲についての難易度の異なる譜面データのペアである。
【0042】
図3は、音楽ゲームの一種であるダンスゲームにおいて、同一の楽曲Aに関し、第1学習用譜面データ201と第2学習用譜面データ202に従って画面表示される指示符を示している。
図3においては、指示符は、上下左右の矢印である。矢印は、「ステップ」とよばれる。ステップは、そのステップが配置されたタイミングにおけるプレイヤーの動作を要求する。プレイヤーは、画面表示された矢印に対応するパネルを足で踏むことで操作する。
【0043】
難レベルである第1学習用譜面データ201では、ステップの数が多く、単位時間内においてプレイヤーに要求される動作が多い。一方、易レベルである第2学習用譜面データ202は、ステップの数が少なく、単位時間内においてプレイヤーに要求される動作が少ない。
【0044】
同一の楽曲についての難易度の異なる譜面データ間には、一定の関係性が存在する。例えば、
図3において、易レベルの譜面データ202において、あるステップS1が存在するとき、同じタイミングにおいて、難レベルの譜面データ201にも、ステップS2が存在することが多い。また、難レベルの譜面データ201のタイミングS11において、ステップが存在しない場合には、易レベルの譜面データ202において、タイミングS11に対応するタイミングS12には、ステップが存在しないことが多い。さらに、易レベルの譜面データ202では、4分の表打ちにステップが多く、しかも、小節頭にステップが多い傾向がある。
【0045】
図4は、譜面データの例を示している。実施形態において、譜面データは、対象時刻tにおけるベクトルv
tの集合である時系列データを有している。ベクトルv
tは、矢印存在数NA、拍階層BC
L、小節内位置BPの3要素を有している。矢印存在数NAは、対象時刻tにおいて存在する矢印(ステップ)の数である。矢印存在数NAは、非負整数の1次元で表される。矢印存在数NAを含むベクトルv
tは、各時刻における矢印の存在の有無を示すタイミングデータを構成している。すなわち、矢印存在数NAが0である時刻tにおいては、矢印は存在せず、時刻tは指示タイミングではないことを示し、矢印存在数NAが非ゼロである時刻tにおいては、矢印が存在し、時刻tは指示タイミングであることを示す。
【0046】
拍階層BCLは、対象時刻tが存在する拍階層L(L:4,8,12,16,32,other)の7次元で構成され、対応する要素のみが1となるone-hotベクトルで表される。拍階層Lについては後述する。小節内位置BPは、対象時刻tが属する小節の先頭を0、終端を1としたときにおける、対象時刻tが対応する数値である。小節内位置BPは、0以上1未満の連続値をとる1次元で表される。
【0047】
ベクトルvtは、矢印存在数NA、拍階層BCL、小節内位置BPの3要素を結合して構成され、以下のように9次元ベクトルとして表現される。
vt=(NA,BC4,BC8,BC12,BC16,BC24,BC32,BCother,BP)
【0048】
図4には、拍階層表現も示されている。本明細書においては、小節をn等分(ただしn≧4)することで表現できる時刻集合を「n分層」と定義する。
図4における拍階層表現において、実際の楽器の楽譜と拍階層の概念との対応付けを示す。あるステップが存在する時刻が属する層のうち、最下層(すなわちnが少々)のものがL分層であるとき、そのステップは拍階層Lに存在するものとする。
【0049】
以下、
図4の時刻t=758におけるベクトルv
758を例として、ベクトルvtを具体的に説明する。時刻t=758においては、右向きの矢印が1つだけ存在するため、NA=1である。時刻t=758を表すためには、小節を16等分する必要があるため、BC
16=1となり、BC
L=(0,0,0,1,0,0,0)である。対象時刻t=758は、3小節内の3/16=0.1875の位置に存在するためBP=0.188である。したがって、時刻t=758におけるベクトルv
758=(1,0,0,0,1,0,0,0,0.188)である。
【0050】
また、
図4において、時刻t=728,758,848は、NA=1又は2であり、矢印が存在する指示タイミングであり、時刻t=729,868は、NA=0であり、矢印が存在しない非指示タイミングである。
【0051】
実施形態においては、同一の楽曲についての難易度の異なる譜面それぞれが、以上のように譜面の特徴を表現する学習用譜面データ201,202として用意される。一般に、音楽ゲームでは、一つの楽曲について、難易度の異なる複数の譜面が作成されている。したがって、既に作成されている難易度の異なる複数の譜面についての譜面データを、学習用譜面データ201,202として活用できる。
【0052】
難易度の異なる譜面データ間の関係を、LSTMモデルなどのニューラルネットワークモデルによって時系列深層学習することで、ある楽曲についての譜面データから、その楽曲についての難易度の異なる別の譜面データを生成することができる。機械学習の際には、ある楽曲についての第1学習用譜面データ201を、モデル300への入力に与え、同一の楽曲についての第2学習用譜面データ202を、入力データから生成されるべき出力データの正解データとしてモデル300に与えればよい。
【0053】
図5、
図6、及び
図7は、非特許文献1記載のモデルに準じたモデル300の実装例を図示している。
図5及び
図6において、”Dance Dance Convolution”は、非特許文献1記載の手法を示し、”Dance Dance Adaptation”は、本実施形態に係る手法を示している。なお、”Dance Dance Convolution”についての図は、非特許文献1を参考に作成した。”Dance Dance Adaptation”についての図は、”Dance Dance Convolution”との一致点及び相違点が明らかになるように、”Dance Dance Convolution”の図に準じて描かれている。
【0054】
非特許文献1では、ダンスゲームの譜面データ(ダンス譜面)の生成のタスクを、「時刻決定」と「向き選択」というサブタスクへ切り分けている。時刻決定サブタスクは、ステップ(矢印)が配置される時刻tを決定する。向き選択サブタスクは、矢印の向きを選択する。
【0055】
図5に示すように、”Dance Dance Convolution”では、楽曲の音響データが、入力データとして、時刻決定のためのC-LSTMモデルに入力される(S101)。C-LSTMモデル(S102)は、ステップ存在確率の時系列データを出力する(S103)。ステップ存在確率は、時刻tにステップ(矢印)が存在する確率である。ステップ存在確率が極大値を示す時刻tに、ステップが配置される。これによりステップ時刻集合が生成される(S104)。ステップ時刻集合は、向き選択のためのLSTMモデル(S105)に与えられる。向き選択のためのLSTMモデルは、ステップ(矢印)の向きを選択する。これにより、ステップの時刻集合及び各ステップ(矢印)の向きを示す譜面データが生成される(S106)。
【0056】
一方、”Dance Dance Adaptation”では、例えば、高難易度譜面データが、入力譜面データ71として、時刻決定のためのLSTMモデル300に入力される(S201)。LSTMモデル(S202)は、ステップ存在確率の時系列データを出力する(S203)。ステップ存在確率が極大値を示す時刻tに、ステップが配置される。これによりステップ時刻集合が生成される(S204)。ステップ時刻集合は、向き選択のためのLSTMモデル(S205)に与えられる。向き選択のためのLSTMモデル(S205)は、”Dance Dance Convolution”における向き選択のためのLSTMモデル(S105)と同様である。向き選択のためのLSTMモデルは、ステップ(矢印)の向きを選択する。これにより、これにより、高難易度譜面データ(入力譜面データ)から、低難易度譜面データ(出力譜面データ)が生成される。
【0057】
図6は、”Dance Dance Convolution”及び”Dance Dance Adaptation”それぞれの、時刻決定のためのモデルを示している。”Dance Dance Convolution”の時刻決定モデルでは、入力された音響データを、時刻単位(例えば、10ms単位)で切り分け、CNN層に通すことで得られた音響特徴を、LSTM層の入力としている。LSTM層には、生成される譜面データの難易度も入力される。モデルの出力層は、シグモイド関数であり、0から1までの連続値をとる。出力層は、ステップ存在確率を出力する。
【0058】
一方、”Dance Dance Adaptation”の時刻決定モデルでは、各時刻tのベクトルvtからなる譜面データが、LSTM層の入力となる。”Dance Dance Adaptation”の時刻決定モデルにおいて、他の点については、”Dance Dance Convolution”の時刻決定モデルと同様である。
【0059】
図7は、”Dance Dance Convolution”における向き選択のためのLSTMモデルを示している。向き選択のためのLSTMモデルには、前のステップ(時刻t-1)におけるステップの向きと、前のステップからの経過拍数とが、入力として与えられ、次のステップ(時刻t)におけるステップの向きが出力される。
【0060】
図8は、”Dance Dance Convolution”によって生成された譜面データによって表示されるステップと、”Dance Dance Adaptation”によって生成された譜面データによって表示されるステップと、を示している。
【0061】
”Dance Dance Convolution”では、低難易度(Beginnerレベル)として生成された譜面においても、ステップ数が多く、実際には難易度が高いものとなっている。このように、”Dance Dance Convolution”では、低難易度の譜面データの生成が困難である。なお、”Dance Dance Convolution”では、高難易度(Challengeレベル)の譜面データは適切に生成できる。
【0062】
一方、高難易度譜面データから低難易度譜面データを生成するよう構築されたモデル300を用いる”Dance Dance Adaptation”では、高難易度(Challengeレベル)の譜面データから、低難易度(Beginnerレベル)を生成できる。
【0063】
図9は、”Dance Dance Convolution”と”Dance Dance Adaptation”とを組み合わせた譜面データ生成器50を示している。
図9の譜面データ生成器50は、楽曲の音響データから、その楽曲についての複数の異なる譜面データを出力する。譜面データ生成器50のプロセッサ60は、記憶装置70に格納された譜面データ生成プログラム80Aを実行する。プロセッサ60は、譜面データ生成プログラム80Aにより、予備処理62及び譜面データ生成処理61を実行する。予備処理62において、プロセッサ60は、記憶装置70に保存された第1譜面データ生成モデル300Aを用いて、楽曲Xの音響データ73から、楽曲Xについての第1タイプ譜面データ71を生成する。第1タイプ譜面データ71は、例えば、難レベル譜面データである。第1譜面データ生成モデル300Aは、“Dance Dance Convolution”において譜面データ生成に用いられるモデルと同様である。譜面データ生成処理61において、プロセッサ60は、第2譜面モデル300Bを用いて、楽曲Xについての第1タイプの譜面データ71から、楽曲Xについての第2タイプの譜面データ72を生成する。第2タイプ譜面データ72は、例えば、易レベル譜面データである。第2譜面データ生成モデル300Bは、”Dance Dance Adaptation”において譜面データ生成に用いられるモデル300と同様である。
【0064】
”Dance Dance Convolution”だけでは、低難易度譜面データの生成に問題があるが、”Dance Dance Adaptation”では、異なる難易度の譜面データを生成できる。したがって、”Dance Dance Adaptation”を用いると、ある難易度の譜面データを他の難易度の譜面データにする難易度調整が実現できる。したがって、”Dance Dance Convolution”と”Dance Dance Adaptation”とを組み合わせると、音響データから譜面データを生成し、譜面データの難易度を調整して任意の難易度の譜面データにすることができる。なお、任意の難易度の譜面データを生成するには、出力される譜面データの難易度に応じて学習されたモデルを用いればよい。例えば、低難易度の譜面データを生成したい場合には、譜面データ生成器50は、低難易度譜面データを生成するように学習されたモデルを用いるようにモデル選択をし、中程度の難易度の譜面データを生成したい場合には、中難易度譜面データを生成するように学習されたモデルを用いるようにモデル選択をすればよい。
【0065】
図10は、
図9の譜面データ生成器50を備える音楽ゲームシステム90を示している。音楽ゲームのプレイヤーは、好みの楽曲の音響データ73を、音楽ゲームシステム90に与える。
図9の譜面データ生成器50は、音響データ73から、任意の難易度の譜面データを生成することができる。すなわち、譜面データ生成器50は、プレイヤーから提供された楽曲データから、プレイヤーの希望する難易度の譜面データ(第2タイプ譜面データ72)を生成できる。音楽ゲームシステム90は、音楽ゲーム機95において、音響データ73と、譜面データ生成器50によって生成された譜面データ72と、を用いて、音楽ゲーム処理を実行する。これにより、プレイヤーは、ゲーム機95が好みの楽曲の譜面データを予め有していなくても、好みの楽曲でプレイすることができる。
【0066】
図11は、学習データ200が音響データ203を有する例を示している。例えば、楽曲Aの学習データ210は、楽曲Aの音響データ203と、第1学習用譜面データ201と、第2学習用譜面データ202と、を含む。同様に、楽曲Bの学習データ220は、楽曲Bの音響データ203と、第1学習用譜面データ201と、第2学習用譜面データ202と、を含む。学習器100による機械学習の際には、ある楽曲についての学習用音響データ203及び第1学習用譜面データ201を、モデル300への入力に与え、同一の楽曲についての第2学習用譜面データ202を、入力データから生成されるべき出力データの正解データとしてモデル300に与える。
【0067】
音響データ203を含む学習データ200を用いることで、構築されるが学習済みモデル300は、タイプの異なる譜面データ間の関係だけでなく、譜面データと音響データとの関係をも学習したものとなる。そして、モデル300への入力データは、入力譜面データだけでなく、入力譜面データと同一の楽曲についての音響データを含む。この結果、モデル300から生成される譜面データは、楽曲の音響特徴がより反映され、好ましものとなる。特に、より高い難易度からより低い難易度の譜面データを生成する場合、生成される譜面データにおける指示タイミングが単調になることを防止できる。また、より低い難易度の譜面データからより高い難易度の譜面データを生成する場合にも、楽曲の音響的特徴が十分に反映される。
【0068】
図12Aは、難レベル譜面データから生成された易レベル(Beginnerレベル)譜面データについて、音響データ203を含む学習データ200を用いた場合(DDA-AS256)と、音響データ203を含まず譜面データ201,202だけの学習データ200を用いた場合(DDA-S)のそれぞれについての評価結果を示している。
図12Bは、難レベル譜面データから生成された中レベル(Mediumレベル)譜面データについて、音響データ203を含む学習データ200を用いた場合(DDA-AS256)と、音響データ203を含まず譜面データ201,202だけの学習データ200を用いた場合(DDA-S)のそれぞれについての評価結果を示している。なお、
図12A及び
図12B中に示す“original”は、手作業で作成した譜面データを示しており、評価のベンチマークとして用いた。
【0069】
図12A及び
図12Bにおいて、横軸は、拍位置(beat ID)を示している。拍位置は、1小節内において、ステップが存在する位置を示している。ステップの位置は、1小節を16分割したときの位置で示される。beat IDが1であれば、ステップは、1小節の先頭に位置し、beat IDが16であれば、ステップは、1小節の終わりに位置していることを示す。
図12A及び
図12Bにおいて、縦軸は、各beat IDの位置にステップが存在している割合を示している。
【0070】
図12Aに示すように、手作業で作成したBeginnerレベル譜面データでは、多くのステップが、beat ID=1に位置しているが、beat ID=5,9,13の位置にも位置している。これに対して、音響データ203を含まず譜面データ201,202だけの学習データ200を用いて生成されたBeginnerレベル譜面データ(DDA-S)では、すべてのステップが、beat ID=1に位置している。したがって、やや単調すぎる譜面データとなっている。これに対して、音響データ203を含む学習データ200を用いて生成された譜面データ(DDA-AS256)では、beat ID=1だけでなく、他の位置にもステップが配置されている。したがって、DDA-AS256は、DDA-Sよりも面白みのあるものとなっている。
【0071】
図12Bに示すMediumレベル譜面データについては、beat ID=3,5,7,9,11,13,15の各位置において、DDA-AS256のほうが、DDS-Aよりも、“original”へステップの存在割合が近付いており、音響データ203を含む学習データ200のほうが、手作業で作成した譜面データに近くなり、面白みが大きくなる。
【0072】
図13、
図14及び
図15は、譜面データのタイプをブレンドされたタイプにする例を示している。
図13に示す学習装置10は、複数のタイプをブレンドする割合を調整する調整処理22を実行する。調整処理22は、機械学習処理21及び調整処理22を実現するためのコンピュータプログラム40Aをプロセッサ20が実行することにより行われる。
【0073】
図14は、学習データ200に含まれる第1学習用譜面データ201のタイプである第1タイプが、複数のタイプのブレンドである例を示している。
図14の例では、第1学習用譜面データ201は、第1レベル学習用譜面データ201Aと第10レベル学習用譜面データ201Bとによって構成されている。ここで、第1レベル及び第10レベルは、譜面データの難易度レベルを示しており、第1レベルが最も難易度が低く、第10レベルが最も難易度が高いものとする。第1レベル学習用譜面データ201Aは、ウェイトW11が掛けられてモデル学習器100に与えられ、第10レベル学習用譜面データ201Bは、ウェイトW12が掛けられて、モデル学習器100に与えられる。したがって、第1学習用譜面データ201全体での難易度レベルは、N=1×W11+10×W12となる。なお、Nは、1以上10以下の値である。
【0074】
図14の例では、第1タイプは、難易度レベルがNであり、第1レベルと第10レベルとがブレンドされたものとなっている。Nの値は、調整器400によってウェイトW11,W12の値を調整することによって、任意に調整できる。なお、調整器400は、例えば、調整処理22を実行するプロセッサ20によって構成される。
【0075】
図14の例では、難易度レベルNの学習用譜面データがなくても、難易度レベルNの譜面データから出力譜面データを生成するモデル300を構築することができる。
【0076】
図15は、学習データ200に含まれる第2学習用譜面データ202のタイプである第2タイプが、複数のタイプのブレンドである例を示している。
図15の例では、第1学習用譜面データ201は、第1レベル学習用譜面データ202Aと第10レベル学習用譜面データ202Bとによって構成されている。第1レベル学習用譜面データ202Aは、ウェイトW21が掛けられてモデル学習器100に与えられ、第10レベル学習用譜面データ202Bは、ウェイトW22が掛けられて、モデル学習器100に与えられる。したがって、第2学習用譜面データ202全体での難易度レベルは、M=1×W21+10×W22となる。なお、Mは、1以上10以下の値である。
【0077】
図15の例では、第2タイプは、難易度レベルがMであり、第1レベルと第10レベルとがブレンドされたものとなっている。Mの値は、調整器400によってウェイトW21,W22の値を調整することによって、任意に調整できる。
【0078】
図15の例では、難易度レベルMの学習用譜面データがなくても、任意の難易度レベルMの譜面データを生成するモデル300を構築することができる。したがって、そのようなモデル300を用いる譜面データ生成器50では、任意の難易度レベルMの譜面データを生成することができる。
【0079】
<3.付記>
本発明は、上記実施形態に限定されるものではなく、様々な変形が可能である。
【符号の説明】
【0080】
10 学習装置
20 プロセッサ
21 機械学習処理
22 調整処理
30 記憶装置
40 学習処理コンピュータプログラム
40A 学習処理コンピュータプログラム
50 譜面データ生成器
60 プロセッサ
61 譜面データ生成処理
62 予備処理
70 記憶装置
71 第1タイプの入力譜面データ
72 第2タイプの出力譜面データ
73 音響データ
80 譜面データ生成コンピュータプログラム
80A 譜面データ生成コンピュータプログラム
90 音楽ゲームシステム
95 音楽ゲーム機
100 モデル学習器
200 学習データ
201 第1学習用譜面データ(第1タイプ)
201A 第1レベル学習用譜面データ
201B 第10レベル学習用譜面データ
202 第2学習用譜面データ(第2タイプ)
202A 第1レベル学習用譜面データ
202B 第10レベル学習用譜面データ
210 楽曲Aの学習データ
220 楽曲Bの学習データ
300 譜面データ生成モデル
300A 第1譜面データ生成モデル
300B 第2譜面データ生成モデル
400 調整器