(57)【要約】【課題】楽曲の譜面データを生成する。【解決手段】学習装置１０は、譜面データ生成モデル３００を構築するために、学習データ２００に基づいて機械学習処理２１を実行するよう構成されている。前記譜面データ生成モデル３００は、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データ２００は、前記第１タイプの第１学習用譜面データ２０１と、前記第２タイプの第２学習用譜面データ２０２と、を含む。前記第１学習用譜面データ２０１と前記第２学習用譜面データ２０２とは、同一の楽曲についての譜面データである。【選択図】図１
2019201939.tif 000002
【特許請求の範囲】
【請求項１】
譜面データ生成モデルを構築するために、学習データに基づいて機械学習処理を実行するよう構成され、
前記譜面データ生成モデルは、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを生成するためのモデルであり、
前記学習データは、前記第１タイプの第１学習用譜面データと、前記第２タイプの第２学習用譜面データと、を含み、
前記第１学習用譜面データと前記第２学習用譜面データとは、同一の楽曲についての譜面データである
譜面データ生成モデルの学習装置。
【請求項２】
前記入力譜面データ、前記出力譜面データ、前記第１学習用譜面データ、及び前記第２学習用譜面データは、それぞれ、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含む
請求項１に記載の学習装置。
【請求項３】
前記機器は、前記出力譜面データに従ったユーザ操作が行われる音楽ゲーム機であり、
前記第１タイプと前記第２タイプとは、前記音楽ゲーム機の難易度において異なる
請求項２に記載の学習装置。
【請求項４】
前記第１タイプ及び第２タイプの少なくともいずれか一つは、複数のタイプがブレンドされたタイプである
請求項１から３のいずれか１項に記載の学習装置。
【請求項５】
前記複数のタイプをブレンドする割合を調整する調整処理を更に実行するよう構成されている
請求項４に記載の学習装置。
【請求項６】
前記入力データは、前記入力譜面データと同一の楽曲についての音響データを含み、
前記学習データは、前記第１学習用譜面データ及び前記第２学習用譜面データと同一の楽曲についての学習用音響データを含む
請求項１から５のいずれか１項に記載の学習装置。
【請求項７】
第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行するよう構成され、
前記譜面データ生成モデルは、楽曲についての前記第１タイプの譜面データから、前記楽曲と同一の楽曲についての前記第２タイプの譜面データを生成するよう構成された機械学習済モデルである
譜面データ生成器。
【請求項８】
音響データから前記第１タイプの前記入力譜面データを生成する予備処理を、前記処理に先立って実行するよう構成されている
請求項７に記載の譜面データ生成器。
【請求項９】
プロセッサに、学習データに基づいて機械学習処理を実行させることで、譜面データ生成モデルを構築するコンピュータプログラムであって、
前記譜面データ生成モデルは、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを生成するためのモデルであり、
前記学習データは、前記第１タイプの第１学習用譜面データと、前記第２タイプの第２学習用譜面データと、を含み、
前記第１学習用譜面データと前記第２学習用譜面データとは、同一の楽曲についての譜面データである
コンピュータプログラム。
【請求項１０】
プロセッサに、処理を実行させるコンピュータプログラムであって、
前記処理は、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成することを含み、
前記譜面データ生成モデルは、楽曲についての前記第１タイプの譜面データから、前記楽曲と同一の楽曲についての前記第２タイプの譜面データを生成するよう構成された機械学習済モデルである
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、譜面データの生成に関する。
【背景技術】
【０００２】
譜面データは、例えば、ダンスゲームなどの音楽ゲームに用いられる。音楽ゲームでは、再生される楽曲と画面に表示される指示符に沿って、プレイヤーが何らかの動作を行う。音楽ゲームにおいて、指示符が表示されるタイミングと表示される指示符の種類は、譜面データに基づいて決定される。
【０００３】
譜面データは、製作者が楽曲を聴取した上で、手作業で作成するのが一般的である。したがって、多くの譜面データを作成しようとすると作業負担が増大する。しかも、音楽ゲーム等では、初心者から上級者までの幅広いプレイヤーが同一の楽曲を楽しめるようにする必要があるため、同一の楽曲について難易度の異なる複数の譜面データが必要となる。この点からも、譜面データ作成の作業負担は非常に大きくなる。したがって、譜面データ作成の自動化が望まれる。
【０００４】
非特許文献１は、楽曲の音響データと譜面データとの関係を学習することで、入力された音響データから、譜面データを生成する手法（Dance Dance Convolution）を開示している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Donahue, C., Lipton, Z. C. and McAuley, J,: Dance Dance Convolution, Proceedings of the 34th International Conference on Machine Learning(2017).
【発明の概要】
【０００６】
非特許文献１の手法は、難易度が高い譜面データの学習・生成において一定の性能を示すことができる。しかし、難易度が低い譜面データはうまく学習できず、難易度が低い譜面データの品質を十分に確保できないことがある。高難易度の譜面データは、楽曲中の目立つ発音全てに沿って指示符を配置することで製作可能である。しかしながら、低難易度の譜面データを製作するには、楽曲の特徴を捉えつつ容易にプレイ可能な、少数の発音タイミングを選出する必要がある。音楽ゲームにおいて、難易度の低い譜面データは、幅広いユーザのニーズに対応するため必要である。このように、非特許文献１の手法では、譜面データ作成に関して限界がある。
【０００７】
したがって、別のアプローチで、譜面データを生成する手法が望まれる。本開示における一つの手法においては、非特許文献１のように音響データと譜面データとの関係を学習するのではなく、同一の楽曲についての複数のタイプの譜面データ間の関係を学習する。学習に基づき、第１タイプの入力譜面データを含む入力データから、第２タイプの出力譜面データを含む出力データが生成される。更なる詳細は、後述の実施形態として説明される。
【図面の簡単な説明】
【０００８】
【図１】図１は、モデル学習と譜面データ生成モデルの説明図である。
【図２】図２は、学習装置と譜面データ生成器の構成図である。
【図３】図３は、譜面データの例を示す図である。
【図４】図４は、譜面データの説明図である。
【図５】図５は、譜面データ生成タスクの説明図である。
【図６】図６は、時刻決定のためのモデル構成図である。
【図７】図７は、向き選択のためのモデル構成図である。
【図８】図８は、譜面データの生成例を示す図である。
【図９】図９は、譜面データの生成例と譜面データ生成器を示す図である。
【図１０】図１０は、音楽ゲームシステムの構成図である。
【図１１】図１１は、音響データを有する学習データによるモデル学習と譜面データ生成モデルの説明図である。
【図１２】図１２Ａは、Beginner譜面データの評価を示すグラフである。図１２Ｂは、Medium譜面データの評価を示すグラフである。
【図１３】図１３は、学習装置の構成図である。
【図１４】図１４は、第１タイプのブレンドの説明図である。
【図１５】図１５は、第２タイプのブレンドの説明図である。
【発明を実施するための形態】
【０００９】
＜１．譜面データ生成モデルの学習装置、譜面データ生成器、システム、譜面データの学習方法、譜面データの生成方法、及びコンピュータプログラム＞
【００１０】
（１）実施形態に係る譜面データ生成モデルの学習装置は、譜面データ生成モデルを構築するために、学習データに基づいて機械学習処理を実行するよう構成される。前記譜面データ生成モデルは、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第１タイプの第１学習用譜面データと、前記第２タイプの第２学習用譜面データと、を含む。前記第１学習用譜面データと前記第２学習用譜面データとは、同一の楽曲についての譜面データである。
【００１１】
（２）前記入力譜面データ、前記出力譜面データ、前記第１学習用譜面データ、及び前記第２学習用譜面データは、それぞれ、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含むことができる。
【００１２】
前記タイミングは、前記機器がユーザに対してユーザ操作を要求するタイミングであってもよい。
【００１３】
前記機器は、前記出力譜面データに従ったユーザ操作が行われる音楽ゲーム機であってもよい。
【００１４】
（３）前記第１タイプと前記第２タイプとは、前記音楽ゲーム機の難易度において異なるのが好ましい。
【００１５】
前記第１タイプと前記第２タイプとは、前記タイミングが発生する頻度において異なるのが好ましい。
【００１６】
（４）前記第１タイプ及び第２タイプの少なくともいずれか一つは、複数のタイプがブレンドされたタイプであるのが好ましい。
【００１７】
（５）前記複数のタイプをブレンドする割合を調整する調整処理を更に実行するよう構成されていてもよい。
【００１８】
（６）前記入力データは、前記入力譜面データと同一の楽曲についての音響データを含むことができる。前記学習データは、前記第１学習用譜面データ及び前記第２学習用譜面データと同一の楽曲についての学習用音響データを含むことができる。
【００１９】
（７）実施形態に係る譜面データ生成器は、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行するよう構成されている。前記譜面データ生成モデルは、楽曲についての前記第１タイプの譜面データから、前記楽曲と同一の楽曲についての前記第２タイプの譜面データを生成するよう構成された機械学習済モデルである。
【００２０】
（８）譜面データ生成器は、音響データから前記第１タイプの前記入力譜面データを生成する予備処理を、前記処理に先立って実行するよう構成されていてもよい。
【００２１】
実施形態に係るシステムは、上記（７）又は（８）に記載の譜面データ生成器と、前記譜面データ生成器によって生成された前記譜面データを用いる機器と、を備えることができる。
【００２２】
実施形態に係る譜面データの学習方法は、プロセッサが、学習データに基づいて機械学習処理を実行することで、譜面データ生成モデルを構築することを含むことができる。前記譜面データ生成モデルは、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第１タイプの第１学習用譜面データと、前記第２タイプの第２学習用譜面データと、を含む。前記第１学習用譜面データと前記第２学習用譜面データとは、同一の楽曲についての譜面データである。
【００２３】
実施形態に係る譜面データの生成方法は、プロセッサが、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行することを含む。前記譜面データ生成モデルは、楽曲についての前記第１タイプの譜面データから、前記楽曲と同一の楽曲についての前記第２タイプの譜面データを生成するよう構成された機械学習済モデルである。
【００２４】
（９）実施形態に係るコンピュータプログラムは、プロセッサに、学習データに基づいて機械学習処理を実行させることで、譜面データ生成モデルを構築するコンピュータプログラムである。前記譜面データ生成モデルは、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第１タイプの第１学習用譜面データと、前記第２タイプの第２学習用譜面データと、を含む。前記第１学習用譜面データと前記第２学習用譜面データとは、同一の楽曲についての譜面データである。
【００２５】
（１０）実施形態に係るコンピュータプログラムは、プロセッサに、処理を実行させるコンピュータプログラムである。前記処理は、第１タイプの入力譜面データを含む入力データから、前記第１タイプとは異なる第２タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成することを含む。前記譜面データ生成モデルは、楽曲についての前記第１タイプの譜面データから、前記楽曲と同一の楽曲についての前記第２タイプの譜面データを生成するよう構成された機械学習済モデルである。
【００２６】
＜２．学習装置及び譜面データ生成器の例＞
【００２７】
図１は、譜面データ生成モデルの学習装置１０を示している。学習装置１０は、モデル学習器１００を備える。学習器１００は、学習データ２００に基づいて機械学習処理を実行することで、譜面データ生成モデル３００を構築する。譜面データ生成モデル３００は、入力譜面データから出力譜面データを生成するよう学習されている。
【００２８】
図２は、学習装置１０及び譜面データ生成器５０の構成を示している。学習装置１０は、プロセッサ２０及び記憶装置３０を備えるコンピュータによって構成されている。プロセッサ２０は、記憶装置３０に記憶された学習処理コンピュータプログラム４０を実行する。プロセッサ２０は、学習処理コンピュータプログラム４０により機械学習処理２１を実行する。機械学習処理２１を実行するプロセッサ２０は、学習器１００として機能する。プロセッサ２０は、記憶装置３０に記憶された学習データ２００を読み込み、機械学習処理２１によって、譜面データ生成モデル３００を構築する。構築されたモデル３００は、記憶装置３０に保存される。
【００２９】
モデル３００は、例えば、入力譜面データから出力譜面データを生成するニューラルネットワークモデルである。ニューラルネットワークモデルは、例えば、Long short-term memory（LSTM）である。LSTMは、時系列データに対するニューラルネットワークモデルである。
【００３０】
構築されたモデル３００は、譜面データ生成器５０において用いられる。譜面データ生成器５０は、プロセッサ６０及び記憶装置７０を備えるコンピュータによって構成されている。プロセッサ６０は、記憶装置７０に格納された譜面データ生成プログラム８０を実行する。プロセッサ６０は、譜面データ生成プログラム８０により譜面データ生成処理６１を実行する。譜面データ生成処理において、プロセッサ６０は、記憶装置７０に保存されたモデル３００を用いて、記憶装置７０に保存された第１タイプの入力譜面データ７１を含む入力データから、第２タイプの出力譜面データ７２を生成する。
【００３１】
譜面データは、譜面データを用いる機器において、楽曲の音響データと同期して用いられる。譜面データを用いる機器は、例えば、楽曲の音響データを再生しつつ、楽曲の音響データに同期して譜面データを利用する。これにより、楽曲の再生中にその楽曲の曲調に合わせたユーザインタラクションを実現することができる。
【００３２】
譜面データは、例えば、譜面データを用いる機器におけるタイミングを示すタイミングデータを含む時系列データである。機器におけるタイミングとは、機器において何らかの処理又は動作をする契機となるタイミングである。譜面データを用いる機器では、タイミングデータが示す指示タイミングにおいて、ユーザと機器との間のインタラクションが生じる。インタラクションは、ユーザから機器へのアクションであってもよいし、機器からユーザへのアクションであってもよい。
【００３３】
譜面データを用いる機器では、例えば、譜面データのタイミングデータが示す指示タイミングにおいて何らかの入力が促される。譜面データを用いる機器は、譜面データのタイミングデータが示す指示タイミングにおいて、何らかの出力が生じるものであってもよい。
【００３４】
譜面データを用いる機器は、例えば、音楽ゲーム機である。機器が音楽ゲーム機である場合、指示符が、タイミングデータに従って、プレイ中の音楽ゲーム機の画面に表示される。指示符は、例えば、楽曲中の特徴的な発音が生じる指示タイミングに配置される。指示符は、機器がユーザに対してユーザ操作を要求するタイミングを示す。機器ユーザであるゲームプレイヤーは、画面に表示される指示符に従って、何らかの動作によりゲーム機に対するユーザ操作を行って、ゲーム機への入力を行う。ダンスゲームの場合、ユーザ操作は、例えば、ゲーム機への入力装置であるパネルを踏むステップである。音楽ゲームのための譜面データの詳細については後述する。
【００３５】
譜面データを用いる機器は、音楽ゲーム機に限定されず、例えば、健康器具であってもよい。健康器具は、ユーザの運動のための器具であってもよいし、人体に刺激などの影響を及ぼすことに健康の増進・維持を図る器具であってもよい。機器が、健康器具である場合、例えば、タイミングデータに従って、健康器具がユーザに提示する動作を行うことができる。
【００３６】
譜面データ生成モデル３００によって生成される出力譜面データ７２は、入力譜面データ７１と同一の楽曲についての譜面データであるが、入力譜面データ７１とは異なる譜面データである。実施形態の譜面データ生成モデル３００は、第１タイプの入力譜面データ７１を含む入力データから、第１タイプとは異なる第２タイプの出力譜面データ７２を含む出力データを生成する。
【００３７】
譜面データが、タイミングデータを含む場合、入力譜面データ７１と出力譜面データ７２とは、例えば、タイミングデータが示す指示タイミングが異なる。例えば、入力譜面データ７１と出力譜面データ７２とは、指示タイミングの頻度が異なる。より具体的には、例えば、入力譜面データ７１は、指示タイミングの頻度がより大きく、出力譜面データ７２は、指示タイミングの頻度がより小さい。逆に、入力譜面データ７１は、指示タイミングの頻度がより小さく、出力譜面データ７２は、指示タイミングの頻度がより大きくてもよい。
【００３８】
譜面データが音楽ゲーム用である場合、タイミングの頻度によって、ゲームの難易度が変化する。一般に、指示符が発生するタイミングの頻度が大きければ、難易度が高く、タイミングの頻度が小さければ難易度が低い。したがって、第１タイプと第２タイプとは、ゲームの難易度において異なることができる。例えば、第１レベルは、上級者向けの難レベルであり、第２レベルは、初級者向けの易レベルである。
【００３９】
タイプの違いは、タイミングの違い又は難易度の違いだけでなく、譜面データが用いられる機器の違いであってもよい。例えば、第１タイプは、ダンスゲーム用であり、第２タイプは、演奏ゲーム用であってもよい。また、第１タイプは、音楽ゲーム用であり、第２タイプは、健康器具用であってもよい。
【００４０】
図１に示すように、実施形態の譜面データ生成モデル３００は、難レベルである第１タイプの入力譜面データを含む入力データから、易レベルである第２タイプの出力譜面データを含む出力データを生成することができる。なお、モデル３００は、易レベルの譜面データから難レベルの譜面データを生成するものであってもよい。
【００４１】
図１に示すように、モデル３００の構築に用いられる学習データ２００は、複数の楽曲Ａ，Ｂについての学習データ２１０，２２０を含む。各学習データ２１０，２２０は、それぞれ、第１タイプの第１学習用譜面データ２０１と第２タイプの第２学習用譜面データ２０２とを備える。ここでの第１タイプは、例えば、難レベルであり、第２タイプは、易レベルである。第１学習用譜面データ２０１と第２学習用譜面データ２０２とは、同一の楽曲についての難易度の異なる譜面データのペアである。
【００４２】
図３は、音楽ゲームの一種であるダンスゲームにおいて、同一の楽曲Ａに関し、第１学習用譜面データ２０１と第２学習用譜面データ２０２に従って画面表示される指示符を示している。図３においては、指示符は、上下左右の矢印である。矢印は、「ステップ」とよばれる。ステップは、そのステップが配置されたタイミングにおけるプレイヤーの動作を要求する。プレイヤーは、画面表示された矢印に対応するパネルを足で踏むことで操作する。
【００４３】
難レベルである第１学習用譜面データ２０１では、ステップの数が多く、単位時間内においてプレイヤーに要求される動作が多い。一方、易レベルである第２学習用譜面データ２０２は、ステップの数が少なく、単位時間内においてプレイヤーに要求される動作が少ない。
【００４４】
同一の楽曲についての難易度の異なる譜面データ間には、一定の関係性が存在する。例えば、図３において、易レベルの譜面データ２０２において、あるステップＳ１が存在するとき、同じタイミングにおいて、難レベルの譜面データ２０１にも、ステップＳ２が存在することが多い。また、難レベルの譜面データ２０１のタイミングＳ１１において、ステップが存在しない場合には、易レベルの譜面データ２０２において、タイミングＳ１１に対応するタイミングＳ１２には、ステップが存在しないことが多い。さらに、易レベルの譜面データ２０２では、４分の表打ちにステップが多く、しかも、小節頭にステップが多い傾向がある。
【００４５】
図４は、譜面データの例を示している。実施形態において、譜面データは、対象時刻ｔにおけるベクトルｖｔの集合である時系列データを有している。ベクトルｖｔは、矢印存在数ＮＡ、拍階層ＢＣＬ、小節内位置ＢＰの３要素を有している。矢印存在数ＮＡは、対象時刻ｔにおいて存在する矢印（ステップ）の数である。矢印存在数ＮＡは、非負整数の１次元で表される。矢印存在数ＮＡを含むベクトルｖｔは、各時刻における矢印の存在の有無を示すタイミングデータを構成している。すなわち、矢印存在数ＮＡが０である時刻ｔにおいては、矢印は存在せず、時刻ｔは指示タイミングではないことを示し、矢印存在数ＮＡが非ゼロである時刻ｔにおいては、矢印が存在し、時刻ｔは指示タイミングであることを示す。
【００４６】
拍階層ＢＣＬは、対象時刻ｔが存在する拍階層Ｌ（Ｌ：４，８，１２，１６，３２，other）の７次元で構成され、対応する要素のみが１となるone-hotベクトルで表される。拍階層Ｌについては後述する。小節内位置ＢＰは、対象時刻ｔが属する小節の先頭を０、終端を１としたときにおける、対象時刻ｔが対応する数値である。小節内位置ＢＰは、０以上１未満の連続値をとる１次元で表される。
【００４７】
ベクトルｖｔは、矢印存在数ＮＡ、拍階層ＢＣＬ、小節内位置ＢＰの３要素を結合して構成され、以下のように９次元ベクトルとして表現される。
ｖｔ＝（ＮＡ，ＢＣ４，ＢＣ８，ＢＣ１２，ＢＣ１６，ＢＣ２４，ＢＣ３２，ＢＣother,ＢＰ）
【００４８】
図４には、拍階層表現も示されている。本明細書においては、小節をｎ等分（ただしｎ≧４）することで表現できる時刻集合を「ｎ分層」と定義する。図４における拍階層表現において、実際の楽器の楽譜と拍階層の概念との対応付けを示す。あるステップが存在する時刻が属する層のうち、最下層（すなわちｎが少々）のものがＬ分層であるとき、そのステップは拍階層Ｌに存在するものとする。
【００４９】
以下、図４の時刻ｔ＝７５８におけるベクトルｖ７５８を例として、ベクトルｖｔを具体的に説明する。時刻ｔ＝７５８においては、右向きの矢印が１つだけ存在するため、ＮＡ＝１である。時刻ｔ＝７５８を表すためには、小節を１６等分する必要があるため、ＢＣ１６＝１となり、ＢＣＬ＝（０，０，０，１，０，０，０）である。対象時刻ｔ＝７５８は、３小節内の3/16＝０．１８７５の位置に存在するためＢＰ＝０．１８８である。したがって、時刻ｔ＝７５８におけるベクトルｖ７５８＝（１，０，０，０，１，０，０，０，０．１８８）である。
【００５０】
また、図４において、時刻ｔ＝７２８，７５８，８４８は、ＮＡ＝１又は２であり、矢印が存在する指示タイミングであり、時刻ｔ＝７２９，８６８は、ＮＡ＝０であり、矢印が存在しない非指示タイミングである。
【００５１】
実施形態においては、同一の楽曲についての難易度の異なる譜面それぞれが、以上のように譜面の特徴を表現する学習用譜面データ２０１，２０２として用意される。一般に、音楽ゲームでは、一つの楽曲について、難易度の異なる複数の譜面が作成されている。したがって、既に作成されている難易度の異なる複数の譜面についての譜面データを、学習用譜面データ２０１，２０２として活用できる。
【００５２】
難易度の異なる譜面データ間の関係を、ＬＳＴＭモデルなどのニューラルネットワークモデルによって時系列深層学習することで、ある楽曲についての譜面データから、その楽曲についての難易度の異なる別の譜面データを生成することができる。機械学習の際には、ある楽曲についての第１学習用譜面データ２０１を、モデル３００への入力に与え、同一の楽曲についての第２学習用譜面データ２０２を、入力データから生成されるべき出力データの正解データとしてモデル３００に与えればよい。
【００５３】
図５、図６、及び図７は、非特許文献１記載のモデルに準じたモデル３００の実装例を図示している。図５及び図６において、”Dance Dance Convolution”は、非特許文献１記載の手法を示し、”Dance Dance Adaptation”は、本実施形態に係る手法を示している。なお、”Dance Dance Convolution”についての図は、非特許文献１を参考に作成した。”Dance Dance Adaptation”についての図は、”Dance Dance Convolution”との一致点及び相違点が明らかになるように、”Dance Dance Convolution”の図に準じて描かれている。
【００５４】
非特許文献１では、ダンスゲームの譜面データ（ダンス譜面）の生成のタスクを、「時刻決定」と「向き選択」というサブタスクへ切り分けている。時刻決定サブタスクは、ステップ（矢印）が配置される時刻ｔを決定する。向き選択サブタスクは、矢印の向きを選択する。
【００５５】
図５に示すように、”Dance Dance Convolution”では、楽曲の音響データが、入力データとして、時刻決定のためのＣ−ＬＳＴＭモデルに入力される（Ｓ１０１）。Ｃ−ＬＳＴＭモデル（Ｓ１０２）は、ステップ存在確率の時系列データを出力する（Ｓ１０３）。ステップ存在確率は、時刻ｔにステップ（矢印）が存在する確率である。ステップ存在確率が極大値を示す時刻ｔに、ステップが配置される。これによりステップ時刻集合が生成される（Ｓ１０４）。ステップ時刻集合は、向き選択のためのＬＳＴＭモデル（Ｓ１０５）に与えられる。向き選択のためのＬＳＴＭモデルは、ステップ（矢印）の向きを選択する。これにより、ステップの時刻集合及び各ステップ（矢印）の向きを示す譜面データが生成される（Ｓ１０６）。
【００５６】
一方、”Dance Dance Adaptation”では、例えば、高難易度譜面データが、入力譜面データ７１として、時刻決定のためのＬＳＴＭモデル３００に入力される（Ｓ２０１）。ＬＳＴＭモデル（Ｓ２０２）は、ステップ存在確率の時系列データを出力する（Ｓ２０３）。ステップ存在確率が極大値を示す時刻ｔに、ステップが配置される。これによりステップ時刻集合が生成される（Ｓ２０４）。ステップ時刻集合は、向き選択のためのＬＳＴＭモデル（Ｓ２０５）に与えられる。向き選択のためのＬＳＴＭモデル（Ｓ２０５）は、”Dance Dance Convolution”における向き選択のためのＬＳＴＭモデル（Ｓ１０５）と同様である。向き選択のためのＬＳＴＭモデルは、ステップ（矢印）の向きを選択する。これにより、これにより、高難易度譜面データ（入力譜面データ）から、低難易度譜面データ（出力譜面データ）が生成される。
【００５７】
図６は、”Dance Dance Convolution”及び”Dance Dance Adaptation”それぞれの、時刻決定のためのモデルを示している。”Dance Dance Convolution”の時刻決定モデルでは、入力された音響データを、時刻単位（例えば、１０ｍｓ単位）で切り分け、ＣＮＮ層に通すことで得られた音響特徴を、ＬＳＴＭ層の入力としている。ＬＳＴＭ層には、生成される譜面データの難易度も入力される。モデルの出力層は、シグモイド関数であり、０から１までの連続値をとる。出力層は、ステップ存在確率を出力する。
【００５８】
一方、”Dance Dance Adaptation”の時刻決定モデルでは、各時刻ｔのベクトルｖｔからなる譜面データが、ＬＳＴＭ層の入力となる。”Dance Dance Adaptation”の時刻決定モデルにおいて、他の点については、”Dance Dance Convolution”の時刻決定モデルと同様である。
【００５９】
図７は、”Dance Dance Convolution”における向き選択のためのＬＳＴＭモデルを示している。向き選択のためのＬＳＴＭモデルには、前のステップ（時刻ｔ−１）におけるステップの向きと、前のステップからの経過拍数とが、入力として与えられ、次のステップ（時刻ｔ）におけるステップの向きが出力される。
【００６０】
図８は、”Dance Dance Convolution”によって生成された譜面データによって表示されるステップと、”Dance Dance Adaptation”によって生成された譜面データによって表示されるステップと、を示している。
【００６１】
”Dance Dance Convolution”では、低難易度（Beginnerレベル）として生成された譜面においても、ステップ数が多く、実際には難易度が高いものとなっている。このように、”Dance Dance Convolution”では、低難易度の譜面データの生成が困難である。なお、”Dance Dance Convolution”では、高難易度（Challengeレベル）の譜面データは適切に生成できる。
【００６２】
一方、高難易度譜面データから低難易度譜面データを生成するよう構築されたモデル３００を用いる”Dance Dance Adaptation”では、高難易度（Challengeレベル）の譜面データから、低難易度（Beginnerレベル）を生成できる。
【００６３】
図９は、”Dance Dance Convolution”と”Dance Dance Adaptation”とを組み合わせた譜面データ生成器５０を示している。図９の譜面データ生成器５０は、楽曲の音響データから、その楽曲についての複数の異なる譜面データを出力する。譜面データ生成器５０のプロセッサ６０は、記憶装置７０に格納された譜面データ生成プログラム８０Ａを実行する。プロセッサ６０は、譜面データ生成プログラム８０Ａにより、予備処理６２及び譜面データ生成処理６１を実行する。予備処理６２において、プロセッサ６０は、記憶装置７０に保存された第１譜面データ生成モデル３００Ａを用いて、楽曲Ｘの音響データ７３から、楽曲Ｘについての第１タイプ譜面データ７１を生成する。第１タイプ譜面データ７１は、例えば、難レベル譜面データである。第１譜面データ生成モデル３００Ａは、“Dance Dance Convolution”において譜面データ生成に用いられるモデルと同様である。譜面データ生成処理６１において、プロセッサ６０は、第２譜面モデル３００Ｂを用いて、楽曲Ｘについての第１タイプの譜面データ７１から、楽曲Ｘについての第２タイプの譜面データ７２を生成する。第２タイプ譜面データ７２は、例えば、易レベル譜面データである。第２譜面データ生成モデル３００Ｂは、”Dance Dance Adaptation”において譜面データ生成に用いられるモデル３００と同様である。
【００６４】
”Dance Dance Convolution”だけでは、低難易度譜面データの生成に問題があるが、”Dance Dance Adaptation”では、異なる難易度の譜面データを生成できる。したがって、”Dance Dance Adaptation”を用いると、ある難易度の譜面データを他の難易度の譜面データにする難易度調整が実現できる。したがって、”Dance Dance Convolution”と”Dance Dance Adaptation”とを組み合わせると、音響データから譜面データを生成し、譜面データの難易度を調整して任意の難易度の譜面データにすることができる。なお、任意の難易度の譜面データを生成するには、出力される譜面データの難易度に応じて学習されたモデルを用いればよい。例えば、低難易度の譜面データを生成したい場合には、譜面データ生成器５０は、低難易度譜面データを生成するように学習されたモデルを用いるようにモデル選択をし、中程度の難易度の譜面データを生成したい場合には、中難易度譜面データを生成するように学習されたモデルを用いるようにモデル選択をすればよい。
【００６５】
図１０は、図９の譜面データ生成器５０を備える音楽ゲームシステム９０を示している。音楽ゲームのプレイヤーは、好みの楽曲の音響データ７３を、音楽ゲームシステム９０に与える。図９の譜面データ生成器５０は、音響データ７３から、任意の難易度の譜面データを生成することができる。すなわち、譜面データ生成器５０は、プレイヤーから提供された楽曲データから、プレイヤーの希望する難易度の譜面データ（第２タイプ譜面データ７２）を生成できる。音楽ゲームシステム９０は、音楽ゲーム機９５において、音響データ７３と、譜面データ生成器５０によって生成された譜面データ７２と、を用いて、音楽ゲーム処理を実行する。これにより、プレイヤーは、ゲーム機９５が好みの楽曲の譜面データを予め有していなくても、好みの楽曲でプレイすることができる。
【００６６】
図１１は、学習データ２００が音響データ２０３を有する例を示している。例えば、楽曲Ａの学習データ２１０は、楽曲Ａの音響データ２０３と、第１学習用譜面データ２０１と、第２学習用譜面データ２０２と、を含む。同様に、楽曲Ｂの学習データ２２０は、楽曲Ｂの音響データ２０３と、第１学習用譜面データ２０１と、第２学習用譜面データ２０２と、を含む。学習器１００による機械学習の際には、ある楽曲についての学習用音響データ２０３及び第１学習用譜面データ２０１を、モデル３００への入力に与え、同一の楽曲についての第２学習用譜面データ２０２を、入力データから生成されるべき出力データの正解データとしてモデル３００に与える。
【００６７】
音響データ２０３を含む学習データ２００を用いることで、構築されるが学習済みモデル３００は、タイプの異なる譜面データ間の関係だけでなく、譜面データと音響データとの関係をも学習したものとなる。そして、モデル３００への入力データは、入力譜面データだけでなく、入力譜面データと同一の楽曲についての音響データを含む。この結果、モデル３００から生成される譜面データは、楽曲の音響特徴がより反映され、好ましものとなる。特に、より高い難易度からより低い難易度の譜面データを生成する場合、生成される譜面データにおける指示タイミングが単調になることを防止できる。また、より低い難易度の譜面データからより高い難易度の譜面データを生成する場合にも、楽曲の音響的特徴が十分に反映される。
【００６８】
図１２Ａは、難レベル譜面データから生成された易レベル（Beginnerレベル）譜面データについて、音響データ２０３を含む学習データ２００を用いた場合（ＤＤＡ−ＡＳ２５６）と、音響データ２０３を含まず譜面データ２０１，２０２だけの学習データ２００を用いた場合（ＤＤＡ−Ｓ）のそれぞれについての評価結果を示している。図１２Ｂは、難レベル譜面データから生成された中レベル（Mediumレベル）譜面データについて、音響データ２０３を含む学習データ２００を用いた場合（ＤＤＡ−ＡＳ２５６）と、音響データ２０３を含まず譜面データ２０１，２０２だけの学習データ２００を用いた場合（ＤＤＡ−Ｓ）のそれぞれについての評価結果を示している。なお、図１２Ａ及び図１２Ｂ中に示す“original”は、手作業で作成した譜面データを示しており、評価のベンチマークとして用いた。
【００６９】
図１２Ａ及び図１２Ｂにおいて、横軸は、拍位置（beat ID）を示している。拍位置は、１小節内において、ステップが存在する位置を示している。ステップの位置は、１小節を１６分割したときの位置で示される。beat IDが１であれば、ステップは、１小節の先頭に位置し、beat IDが１６であれば、ステップは、１小節の終わりに位置していることを示す。図１２Ａ及び図１２Ｂにおいて、縦軸は、各beat IDの位置にステップが存在している割合を示している。
【００７０】
図１２Ａに示すように、手作業で作成したBeginnerレベル譜面データでは、多くのステップが、beat ID=1に位置しているが、beat ID=5,9,13の位置にも位置している。これに対して、音響データ２０３を含まず譜面データ２０１，２０２だけの学習データ２００を用いて生成されたBeginnerレベル譜面データ（ＤＤＡ−Ｓ）では、すべてのステップが、beat ID=1に位置している。したがって、やや単調すぎる譜面データとなっている。これに対して、音響データ２０３を含む学習データ２００を用いて生成された譜面データ（ＤＤＡ−ＡＳ２５６）では、beat ID=1だけでなく、他の位置にもステップが配置されている。したがって、ＤＤＡ−ＡＳ２５６は、ＤＤＡ−Ｓよりも面白みのあるものとなっている。
【００７１】
図１２Ｂに示すMediumレベル譜面データについては、beat ID=3,5,7,9,11,13,15の各位置において、ＤＤＡ−ＡＳ２５６のほうが、ＤＤＳ−Ａよりも、“original”へステップの存在割合が近付いており、音響データ２０３を含む学習データ２００のほうが、手作業で作成した譜面データに近くなり、面白みが大きくなる。
【００７２】
図１３、図１４及び図１５は、譜面データのタイプをブレンドされたタイプにする例を示している。図１３に示す学習装置１０は、複数のタイプをブレンドする割合を調整する調整処理２２を実行する。調整処理２２は、機械学習処理２１及び調整処理２２を実現するためのコンピュータプログラム４０Ａをプロセッサ２０が実行することにより行われる。
【００７３】
図１４は、学習データ２００に含まれる第１学習用譜面データ２０１のタイプである第１タイプが、複数のタイプのブレンドである例を示している。図１４の例では、第１学習用譜面データ２０１は、第１レベル学習用譜面データ２０１Ａと第１０レベル学習用譜面データ２０１Ｂとによって構成されている。ここで、第１レベル及び第１０レベルは、譜面データの難易度レベルを示しており、第１レベルが最も難易度が低く、第１０レベルが最も難易度が高いものとする。第１レベル学習用譜面データ２０１Ａは、ウェイトＷ１１が掛けられてモデル学習器１００に与えられ、第１０レベル学習用譜面データ２０１Ｂは、ウェイトＷ１２が掛けられて、モデル学習器１００に与えられる。したがって、第１学習用譜面データ２０１全体での難易度レベルは、Ｎ＝１×Ｗ１１＋１０×Ｗ１２となる。なお、Ｎは、１以上１０以下の値である。
【００７４】
図１４の例では、第１タイプは、難易度レベルがＮであり、第１レベルと第１０レベルとがブレンドされたものとなっている。Ｎの値は、調整器４００によってウェイトＷ１１，Ｗ１２の値を調整することによって、任意に調整できる。なお、調整器４００は、例えば、調整処理２２を実行するプロセッサ２０によって構成される。
【００７５】
図１４の例では、難易度レベルＮの学習用譜面データがなくても、難易度レベルＮの譜面データから出力譜面データを生成するモデル３００を構築することができる。
【００７６】
図１５は、学習データ２００に含まれる第２学習用譜面データ２０２のタイプである第２タイプが、複数のタイプのブレンドである例を示している。図１５の例では、第１学習用譜面データ２０１は、第１レベル学習用譜面データ２０２Ａと第１０レベル学習用譜面データ２０２Ｂとによって構成されている。第１レベル学習用譜面データ２０２Ａは、ウェイトＷ２１が掛けられてモデル学習器１００に与えられ、第１０レベル学習用譜面データ２０２Ｂは、ウェイトＷ２２が掛けられて、モデル学習器１００に与えられる。したがって、第２学習用譜面データ２０２全体での難易度レベルは、Ｍ＝１×Ｗ２１＋１０×Ｗ２２となる。なお、Ｍは、１以上１０以下の値である。
【００７７】
図１５の例では、第２タイプは、難易度レベルがＭであり、第１レベルと第１０レベルとがブレンドされたものとなっている。Ｍの値は、調整器４００によってウェイトＷ２１，Ｗ２２の値を調整することによって、任意に調整できる。
【００７８】
図１５の例では、難易度レベルＭの学習用譜面データがなくても、任意の難易度レベルＭの譜面データを生成するモデル３００を構築することができる。したがって、そのようなモデル３００を用いる譜面データ生成器５０では、任意の難易度レベルＭの譜面データを生成することができる。
【００７９】
＜３．付記＞
本発明は、上記実施形態に限定されるものではなく、様々な変形が可能である。
【符号の説明】
【００８０】
１０  学習装置
２０  プロセッサ
２１  機械学習処理
２２  調整処理
３０  記憶装置
４０  学習処理コンピュータプログラム
４０Ａ  学習処理コンピュータプログラム
５０  譜面データ生成器
６０  プロセッサ
６１  譜面データ生成処理
６２  予備処理
７０  記憶装置
７１  第１タイプの入力譜面データ
７２  第２タイプの出力譜面データ
７３  音響データ
８０  譜面データ生成コンピュータプログラム
８０Ａ  譜面データ生成コンピュータプログラム
９０  音楽ゲームシステム
９５  音楽ゲーム機
１００  モデル学習器
２００  学習データ
２０１  第１学習用譜面データ（第１タイプ）
２０１Ａ  第１レベル学習用譜面データ
２０１Ｂ  第１０レベル学習用譜面データ
２０２  第２学習用譜面データ（第２タイプ）
２０２Ａ  第１レベル学習用譜面データ
２０２Ｂ  第１０レベル学習用譜面データ
２１０  楽曲Aの学習データ
２２０  楽曲Bの学習データ
３００  譜面データ生成モデル
３００Ａ  第１譜面データ生成モデル
３００Ｂ  第２譜面データ生成モデル
４００  調整器
【図１】
2019201939.tif 000003
【図２】
2019201939.tif 000004
【図３】
2019201939.tif 000005
【図４】
2019201939.tif 000006
【図５】
2019201939.tif 000007
【図６】
2019201939.tif 000008
【図７】
2019201939.tif 000009
【図８】
2019201939.tif 000010
【図９】
2019201939.tif 000011
【図１０】
2019201939.tif 000012
【図１１】
2019201939.tif 000013
【図１２】
2019201939.tif 000014
【図１３】
2019201939.tif 000015
【図１４】
2019201939.tif 000016
【図１５】
2019201939.tif 000017