JP2019201939A - 譜面データ生成モデルの学習装置、譜面データ生成器、及びコンピュータプログラム - Google Patents

譜面データ生成モデルの学習装置、譜面データ生成器、及びコンピュータプログラム Download PDF

Info

Publication number
JP2019201939A
JP2019201939A JP2018099294A JP2018099294A JP2019201939A JP 2019201939 A JP2019201939 A JP 2019201939A JP 2018099294 A JP2018099294 A JP 2018099294A JP 2018099294 A JP2018099294 A JP 2018099294A JP 2019201939 A JP2019201939 A JP 2019201939A
Authority
JP
Japan
Prior art keywords
score data
data
musical score
type
learning
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.)
Granted
Application number
JP2018099294A
Other languages
English (en)
Other versions
JP7193831B2 (ja
Inventor
良典 山西
Yoshinori Yamanishi
良典 山西
雄大 辻野
Yudai Tsujino
雄大 辻野
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.)
Ritsumeikan Trust
Original Assignee
Ritsumeikan Trust
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 Ritsumeikan Trust filed Critical Ritsumeikan Trust
Priority to JP2018099294A priority Critical patent/JP7193831B2/ja
Publication of JP2019201939A publication Critical patent/JP2019201939A/ja
Application granted granted Critical
Publication of JP7193831B2 publication Critical patent/JP7193831B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)

Abstract

【課題】楽曲の譜面データを生成する。【解決手段】学習装置10は、譜面データ生成モデル300を構築するために、学習データ200に基づいて機械学習処理21を実行するよう構成されている。前記譜面データ生成モデル300は、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データ200は、前記第1タイプの第1学習用譜面データ201と、前記第2タイプの第2学習用譜面データ202と、を含む。前記第1学習用譜面データ201と前記第2学習用譜面データ202とは、同一の楽曲についての譜面データである。【選択図】図1

Description

本開示は、譜面データの生成に関する。
譜面データは、例えば、ダンスゲームなどの音楽ゲームに用いられる。音楽ゲームでは、再生される楽曲と画面に表示される指示符に沿って、プレイヤーが何らかの動作を行う。音楽ゲームにおいて、指示符が表示されるタイミングと表示される指示符の種類は、譜面データに基づいて決定される。
譜面データは、製作者が楽曲を聴取した上で、手作業で作成するのが一般的である。したがって、多くの譜面データを作成しようとすると作業負担が増大する。しかも、音楽ゲーム等では、初心者から上級者までの幅広いプレイヤーが同一の楽曲を楽しめるようにする必要があるため、同一の楽曲について難易度の異なる複数の譜面データが必要となる。この点からも、譜面データ作成の作業負担は非常に大きくなる。したがって、譜面データ作成の自動化が望まれる。
非特許文献1は、楽曲の音響データと譜面データとの関係を学習することで、入力された音響データから、譜面データを生成する手法(Dance Dance Convolution)を開示している。
Donahue, C., Lipton, Z. C. and McAuley, J,: Dance Dance Convolution, Proceedings of the 34th International Conference on Machine Learning(2017).
非特許文献1の手法は、難易度が高い譜面データの学習・生成において一定の性能を示すことができる。しかし、難易度が低い譜面データはうまく学習できず、難易度が低い譜面データの品質を十分に確保できないことがある。高難易度の譜面データは、楽曲中の目立つ発音全てに沿って指示符を配置することで製作可能である。しかしながら、低難易度の譜面データを製作するには、楽曲の特徴を捉えつつ容易にプレイ可能な、少数の発音タイミングを選出する必要がある。音楽ゲームにおいて、難易度の低い譜面データは、幅広いユーザのニーズに対応するため必要である。このように、非特許文献1の手法では、譜面データ作成に関して限界がある。
したがって、別のアプローチで、譜面データを生成する手法が望まれる。本開示における一つの手法においては、非特許文献1のように音響データと譜面データとの関係を学習するのではなく、同一の楽曲についての複数のタイプの譜面データ間の関係を学習する。学習に基づき、第1タイプの入力譜面データを含む入力データから、第2タイプの出力譜面データを含む出力データが生成される。更なる詳細は、後述の実施形態として説明される。
図1は、モデル学習と譜面データ生成モデルの説明図である。 図2は、学習装置と譜面データ生成器の構成図である。 図3は、譜面データの例を示す図である。 図4は、譜面データの説明図である。 図5は、譜面データ生成タスクの説明図である。 図6は、時刻決定のためのモデル構成図である。 図7は、向き選択のためのモデル構成図である。 図8は、譜面データの生成例を示す図である。 図9は、譜面データの生成例と譜面データ生成器を示す図である。 図10は、音楽ゲームシステムの構成図である。 図11は、音響データを有する学習データによるモデル学習と譜面データ生成モデルの説明図である。 図12Aは、Beginner譜面データの評価を示すグラフである。図12Bは、Medium譜面データの評価を示すグラフである。 図13は、学習装置の構成図である。 図14は、第1タイプのブレンドの説明図である。 図15は、第2タイプのブレンドの説明図である。
<1.譜面データ生成モデルの学習装置、譜面データ生成器、システム、譜面データの学習方法、譜面データの生成方法、及びコンピュータプログラム>
(1)実施形態に係る譜面データ生成モデルの学習装置は、譜面データ生成モデルを構築するために、学習データに基づいて機械学習処理を実行するよう構成される。前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含む。前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データである。
(2)前記入力譜面データ、前記出力譜面データ、前記第1学習用譜面データ、及び前記第2学習用譜面データは、それぞれ、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含むことができる。
前記タイミングは、前記機器がユーザに対してユーザ操作を要求するタイミングであってもよい。
前記機器は、前記出力譜面データに従ったユーザ操作が行われる音楽ゲーム機であってもよい。
(3)前記第1タイプと前記第2タイプとは、前記音楽ゲーム機の難易度において異なるのが好ましい。
前記第1タイプと前記第2タイプとは、前記タイミングが発生する頻度において異なるのが好ましい。
(4)前記第1タイプ及び第2タイプの少なくともいずれか一つは、複数のタイプがブレンドされたタイプであるのが好ましい。
(5)前記複数のタイプをブレンドする割合を調整する調整処理を更に実行するよう構成されていてもよい。
(6)前記入力データは、前記入力譜面データと同一の楽曲についての音響データを含むことができる。前記学習データは、前記第1学習用譜面データ及び前記第2学習用譜面データと同一の楽曲についての学習用音響データを含むことができる。
(7)実施形態に係る譜面データ生成器は、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行するよう構成されている。前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルである。
(8)譜面データ生成器は、音響データから前記第1タイプの前記入力譜面データを生成する予備処理を、前記処理に先立って実行するよう構成されていてもよい。
実施形態に係るシステムは、上記(7)又は(8)に記載の譜面データ生成器と、前記譜面データ生成器によって生成された前記譜面データを用いる機器と、を備えることができる。
実施形態に係る譜面データの学習方法は、プロセッサが、学習データに基づいて機械学習処理を実行することで、譜面データ生成モデルを構築することを含むことができる。前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含む。前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データである。
実施形態に係る譜面データの生成方法は、プロセッサが、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行することを含む。前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルである。
(9)実施形態に係るコンピュータプログラムは、プロセッサに、学習データに基づいて機械学習処理を実行させることで、譜面データ生成モデルを構築するコンピュータプログラムである。前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルである。前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含む。前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データである。
(10)実施形態に係るコンピュータプログラムは、プロセッサに、処理を実行させるコンピュータプログラムである。前記処理は、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成することを含む。前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルである。
<2.学習装置及び譜面データ生成器の例>
図1は、譜面データ生成モデルの学習装置10を示している。学習装置10は、モデル学習器100を備える。学習器100は、学習データ200に基づいて機械学習処理を実行することで、譜面データ生成モデル300を構築する。譜面データ生成モデル300は、入力譜面データから出力譜面データを生成するよう学習されている。
図2は、学習装置10及び譜面データ生成器50の構成を示している。学習装置10は、プロセッサ20及び記憶装置30を備えるコンピュータによって構成されている。プロセッサ20は、記憶装置30に記憶された学習処理コンピュータプログラム40を実行する。プロセッサ20は、学習処理コンピュータプログラム40により機械学習処理21を実行する。機械学習処理21を実行するプロセッサ20は、学習器100として機能する。プロセッサ20は、記憶装置30に記憶された学習データ200を読み込み、機械学習処理21によって、譜面データ生成モデル300を構築する。構築されたモデル300は、記憶装置30に保存される。
モデル300は、例えば、入力譜面データから出力譜面データを生成するニューラルネットワークモデルである。ニューラルネットワークモデルは、例えば、Long short-term memory(LSTM)である。LSTMは、時系列データに対するニューラルネットワークモデルである。
構築されたモデル300は、譜面データ生成器50において用いられる。譜面データ生成器50は、プロセッサ60及び記憶装置70を備えるコンピュータによって構成されている。プロセッサ60は、記憶装置70に格納された譜面データ生成プログラム80を実行する。プロセッサ60は、譜面データ生成プログラム80により譜面データ生成処理61を実行する。譜面データ生成処理において、プロセッサ60は、記憶装置70に保存されたモデル300を用いて、記憶装置70に保存された第1タイプの入力譜面データ71を含む入力データから、第2タイプの出力譜面データ72を生成する。
譜面データは、譜面データを用いる機器において、楽曲の音響データと同期して用いられる。譜面データを用いる機器は、例えば、楽曲の音響データを再生しつつ、楽曲の音響データに同期して譜面データを利用する。これにより、楽曲の再生中にその楽曲の曲調に合わせたユーザインタラクションを実現することができる。
譜面データは、例えば、譜面データを用いる機器におけるタイミングを示すタイミングデータを含む時系列データである。機器におけるタイミングとは、機器において何らかの処理又は動作をする契機となるタイミングである。譜面データを用いる機器では、タイミングデータが示す指示タイミングにおいて、ユーザと機器との間のインタラクションが生じる。インタラクションは、ユーザから機器へのアクションであってもよいし、機器からユーザへのアクションであってもよい。
譜面データを用いる機器では、例えば、譜面データのタイミングデータが示す指示タイミングにおいて何らかの入力が促される。譜面データを用いる機器は、譜面データのタイミングデータが示す指示タイミングにおいて、何らかの出力が生じるものであってもよい。
譜面データを用いる機器は、例えば、音楽ゲーム機である。機器が音楽ゲーム機である場合、指示符が、タイミングデータに従って、プレイ中の音楽ゲーム機の画面に表示される。指示符は、例えば、楽曲中の特徴的な発音が生じる指示タイミングに配置される。指示符は、機器がユーザに対してユーザ操作を要求するタイミングを示す。機器ユーザであるゲームプレイヤーは、画面に表示される指示符に従って、何らかの動作によりゲーム機に対するユーザ操作を行って、ゲーム機への入力を行う。ダンスゲームの場合、ユーザ操作は、例えば、ゲーム機への入力装置であるパネルを踏むステップである。音楽ゲームのための譜面データの詳細については後述する。
譜面データを用いる機器は、音楽ゲーム機に限定されず、例えば、健康器具であってもよい。健康器具は、ユーザの運動のための器具であってもよいし、人体に刺激などの影響を及ぼすことに健康の増進・維持を図る器具であってもよい。機器が、健康器具である場合、例えば、タイミングデータに従って、健康器具がユーザに提示する動作を行うことができる。
譜面データ生成モデル300によって生成される出力譜面データ72は、入力譜面データ71と同一の楽曲についての譜面データであるが、入力譜面データ71とは異なる譜面データである。実施形態の譜面データ生成モデル300は、第1タイプの入力譜面データ71を含む入力データから、第1タイプとは異なる第2タイプの出力譜面データ72を含む出力データを生成する。
譜面データが、タイミングデータを含む場合、入力譜面データ71と出力譜面データ72とは、例えば、タイミングデータが示す指示タイミングが異なる。例えば、入力譜面データ71と出力譜面データ72とは、指示タイミングの頻度が異なる。より具体的には、例えば、入力譜面データ71は、指示タイミングの頻度がより大きく、出力譜面データ72は、指示タイミングの頻度がより小さい。逆に、入力譜面データ71は、指示タイミングの頻度がより小さく、出力譜面データ72は、指示タイミングの頻度がより大きくてもよい。
譜面データが音楽ゲーム用である場合、タイミングの頻度によって、ゲームの難易度が変化する。一般に、指示符が発生するタイミングの頻度が大きければ、難易度が高く、タイミングの頻度が小さければ難易度が低い。したがって、第1タイプと第2タイプとは、ゲームの難易度において異なることができる。例えば、第1レベルは、上級者向けの難レベルであり、第2レベルは、初級者向けの易レベルである。
タイプの違いは、タイミングの違い又は難易度の違いだけでなく、譜面データが用いられる機器の違いであってもよい。例えば、第1タイプは、ダンスゲーム用であり、第2タイプは、演奏ゲーム用であってもよい。また、第1タイプは、音楽ゲーム用であり、第2タイプは、健康器具用であってもよい。
図1に示すように、実施形態の譜面データ生成モデル300は、難レベルである第1タイプの入力譜面データを含む入力データから、易レベルである第2タイプの出力譜面データを含む出力データを生成することができる。なお、モデル300は、易レベルの譜面データから難レベルの譜面データを生成するものであってもよい。
図1に示すように、モデル300の構築に用いられる学習データ200は、複数の楽曲A,Bについての学習データ210,220を含む。各学習データ210,220は、それぞれ、第1タイプの第1学習用譜面データ201と第2タイプの第2学習用譜面データ202とを備える。ここでの第1タイプは、例えば、難レベルであり、第2タイプは、易レベルである。第1学習用譜面データ201と第2学習用譜面データ202とは、同一の楽曲についての難易度の異なる譜面データのペアである。
図3は、音楽ゲームの一種であるダンスゲームにおいて、同一の楽曲Aに関し、第1学習用譜面データ201と第2学習用譜面データ202に従って画面表示される指示符を示している。図3においては、指示符は、上下左右の矢印である。矢印は、「ステップ」とよばれる。ステップは、そのステップが配置されたタイミングにおけるプレイヤーの動作を要求する。プレイヤーは、画面表示された矢印に対応するパネルを足で踏むことで操作する。
難レベルである第1学習用譜面データ201では、ステップの数が多く、単位時間内においてプレイヤーに要求される動作が多い。一方、易レベルである第2学習用譜面データ202は、ステップの数が少なく、単位時間内においてプレイヤーに要求される動作が少ない。
同一の楽曲についての難易度の異なる譜面データ間には、一定の関係性が存在する。例えば、図3において、易レベルの譜面データ202において、あるステップS1が存在するとき、同じタイミングにおいて、難レベルの譜面データ201にも、ステップS2が存在することが多い。また、難レベルの譜面データ201のタイミングS11において、ステップが存在しない場合には、易レベルの譜面データ202において、タイミングS11に対応するタイミングS12には、ステップが存在しないことが多い。さらに、易レベルの譜面データ202では、4分の表打ちにステップが多く、しかも、小節頭にステップが多い傾向がある。
図4は、譜面データの例を示している。実施形態において、譜面データは、対象時刻tにおけるベクトルvの集合である時系列データを有している。ベクトルvは、矢印存在数NA、拍階層BC、小節内位置BPの3要素を有している。矢印存在数NAは、対象時刻tにおいて存在する矢印(ステップ)の数である。矢印存在数NAは、非負整数の1次元で表される。矢印存在数NAを含むベクトルvは、各時刻における矢印の存在の有無を示すタイミングデータを構成している。すなわち、矢印存在数NAが0である時刻tにおいては、矢印は存在せず、時刻tは指示タイミングではないことを示し、矢印存在数NAが非ゼロである時刻tにおいては、矢印が存在し、時刻tは指示タイミングであることを示す。
拍階層BCは、対象時刻tが存在する拍階層L(L:4,8,12,16,32,other)の7次元で構成され、対応する要素のみが1となるone-hotベクトルで表される。拍階層Lについては後述する。小節内位置BPは、対象時刻tが属する小節の先頭を0、終端を1としたときにおける、対象時刻tが対応する数値である。小節内位置BPは、0以上1未満の連続値をとる1次元で表される。
ベクトルvtは、矢印存在数NA、拍階層BC、小節内位置BPの3要素を結合して構成され、以下のように9次元ベクトルとして表現される。
=(NA,BC,BC,BC12,BC16,BC24,BC32,BCother,BP)
図4には、拍階層表現も示されている。本明細書においては、小節をn等分(ただしn≧4)することで表現できる時刻集合を「n分層」と定義する。図4における拍階層表現において、実際の楽器の楽譜と拍階層の概念との対応付けを示す。あるステップが存在する時刻が属する層のうち、最下層(すなわちnが少々)のものがL分層であるとき、そのステップは拍階層Lに存在するものとする。
以下、図4の時刻t=758におけるベクトルv758を例として、ベクトルvtを具体的に説明する。時刻t=758においては、右向きの矢印が1つだけ存在するため、NA=1である。時刻t=758を表すためには、小節を16等分する必要があるため、BC16=1となり、BC=(0,0,0,1,0,0,0)である。対象時刻t=758は、3小節内の3/16=0.1875の位置に存在するためBP=0.188である。したがって、時刻t=758におけるベクトルv758=(1,0,0,0,1,0,0,0,0.188)である。
また、図4において、時刻t=728,758,848は、NA=1又は2であり、矢印が存在する指示タイミングであり、時刻t=729,868は、NA=0であり、矢印が存在しない非指示タイミングである。
実施形態においては、同一の楽曲についての難易度の異なる譜面それぞれが、以上のように譜面の特徴を表現する学習用譜面データ201,202として用意される。一般に、音楽ゲームでは、一つの楽曲について、難易度の異なる複数の譜面が作成されている。したがって、既に作成されている難易度の異なる複数の譜面についての譜面データを、学習用譜面データ201,202として活用できる。
難易度の異なる譜面データ間の関係を、LSTMモデルなどのニューラルネットワークモデルによって時系列深層学習することで、ある楽曲についての譜面データから、その楽曲についての難易度の異なる別の譜面データを生成することができる。機械学習の際には、ある楽曲についての第1学習用譜面データ201を、モデル300への入力に与え、同一の楽曲についての第2学習用譜面データ202を、入力データから生成されるべき出力データの正解データとしてモデル300に与えればよい。
図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”の図に準じて描かれている。
非特許文献1では、ダンスゲームの譜面データ(ダンス譜面)の生成のタスクを、「時刻決定」と「向き選択」というサブタスクへ切り分けている。時刻決定サブタスクは、ステップ(矢印)が配置される時刻tを決定する。向き選択サブタスクは、矢印の向きを選択する。
図5に示すように、”Dance Dance Convolution”では、楽曲の音響データが、入力データとして、時刻決定のためのC−LSTMモデルに入力される(S101)。C−LSTMモデル(S102)は、ステップ存在確率の時系列データを出力する(S103)。ステップ存在確率は、時刻tにステップ(矢印)が存在する確率である。ステップ存在確率が極大値を示す時刻tに、ステップが配置される。これによりステップ時刻集合が生成される(S104)。ステップ時刻集合は、向き選択のためのLSTMモデル(S105)に与えられる。向き選択のためのLSTMモデルは、ステップ(矢印)の向きを選択する。これにより、ステップの時刻集合及び各ステップ(矢印)の向きを示す譜面データが生成される(S106)。
一方、”Dance Dance Adaptation”では、例えば、高難易度譜面データが、入力譜面データ71として、時刻決定のためのLSTMモデル300に入力される(S201)。LSTMモデル(S202)は、ステップ存在確率の時系列データを出力する(S203)。ステップ存在確率が極大値を示す時刻tに、ステップが配置される。これによりステップ時刻集合が生成される(S204)。ステップ時刻集合は、向き選択のためのLSTMモデル(S205)に与えられる。向き選択のためのLSTMモデル(S205)は、”Dance Dance Convolution”における向き選択のためのLSTMモデル(S105)と同様である。向き選択のためのLSTMモデルは、ステップ(矢印)の向きを選択する。これにより、これにより、高難易度譜面データ(入力譜面データ)から、低難易度譜面データ(出力譜面データ)が生成される。
図6は、”Dance Dance Convolution”及び”Dance Dance Adaptation”それぞれの、時刻決定のためのモデルを示している。”Dance Dance Convolution”の時刻決定モデルでは、入力された音響データを、時刻単位(例えば、10ms単位)で切り分け、CNN層に通すことで得られた音響特徴を、LSTM層の入力としている。LSTM層には、生成される譜面データの難易度も入力される。モデルの出力層は、シグモイド関数であり、0から1までの連続値をとる。出力層は、ステップ存在確率を出力する。
一方、”Dance Dance Adaptation”の時刻決定モデルでは、各時刻tのベクトルvからなる譜面データが、LSTM層の入力となる。”Dance Dance Adaptation”の時刻決定モデルにおいて、他の点については、”Dance Dance Convolution”の時刻決定モデルと同様である。
図7は、”Dance Dance Convolution”における向き選択のためのLSTMモデルを示している。向き選択のためのLSTMモデルには、前のステップ(時刻t−1)におけるステップの向きと、前のステップからの経過拍数とが、入力として与えられ、次のステップ(時刻t)におけるステップの向きが出力される。
図8は、”Dance Dance Convolution”によって生成された譜面データによって表示されるステップと、”Dance Dance Adaptation”によって生成された譜面データによって表示されるステップと、を示している。
”Dance Dance Convolution”では、低難易度(Beginnerレベル)として生成された譜面においても、ステップ数が多く、実際には難易度が高いものとなっている。このように、”Dance Dance Convolution”では、低難易度の譜面データの生成が困難である。なお、”Dance Dance Convolution”では、高難易度(Challengeレベル)の譜面データは適切に生成できる。
一方、高難易度譜面データから低難易度譜面データを生成するよう構築されたモデル300を用いる”Dance Dance Adaptation”では、高難易度(Challengeレベル)の譜面データから、低難易度(Beginnerレベル)を生成できる。
図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と同様である。
”Dance Dance Convolution”だけでは、低難易度譜面データの生成に問題があるが、”Dance Dance Adaptation”では、異なる難易度の譜面データを生成できる。したがって、”Dance Dance Adaptation”を用いると、ある難易度の譜面データを他の難易度の譜面データにする難易度調整が実現できる。したがって、”Dance Dance Convolution”と”Dance Dance Adaptation”とを組み合わせると、音響データから譜面データを生成し、譜面データの難易度を調整して任意の難易度の譜面データにすることができる。なお、任意の難易度の譜面データを生成するには、出力される譜面データの難易度に応じて学習されたモデルを用いればよい。例えば、低難易度の譜面データを生成したい場合には、譜面データ生成器50は、低難易度譜面データを生成するように学習されたモデルを用いるようにモデル選択をし、中程度の難易度の譜面データを生成したい場合には、中難易度譜面データを生成するように学習されたモデルを用いるようにモデル選択をすればよい。
図10は、図9の譜面データ生成器50を備える音楽ゲームシステム90を示している。音楽ゲームのプレイヤーは、好みの楽曲の音響データ73を、音楽ゲームシステム90に与える。図9の譜面データ生成器50は、音響データ73から、任意の難易度の譜面データを生成することができる。すなわち、譜面データ生成器50は、プレイヤーから提供された楽曲データから、プレイヤーの希望する難易度の譜面データ(第2タイプ譜面データ72)を生成できる。音楽ゲームシステム90は、音楽ゲーム機95において、音響データ73と、譜面データ生成器50によって生成された譜面データ72と、を用いて、音楽ゲーム処理を実行する。これにより、プレイヤーは、ゲーム機95が好みの楽曲の譜面データを予め有していなくても、好みの楽曲でプレイすることができる。
図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に与える。
音響データ203を含む学習データ200を用いることで、構築されるが学習済みモデル300は、タイプの異なる譜面データ間の関係だけでなく、譜面データと音響データとの関係をも学習したものとなる。そして、モデル300への入力データは、入力譜面データだけでなく、入力譜面データと同一の楽曲についての音響データを含む。この結果、モデル300から生成される譜面データは、楽曲の音響特徴がより反映され、好ましものとなる。特に、より高い難易度からより低い難易度の譜面データを生成する場合、生成される譜面データにおける指示タイミングが単調になることを防止できる。また、より低い難易度の譜面データからより高い難易度の譜面データを生成する場合にも、楽曲の音響的特徴が十分に反映される。
図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”は、手作業で作成した譜面データを示しており、評価のベンチマークとして用いた。
図12A及び図12Bにおいて、横軸は、拍位置(beat ID)を示している。拍位置は、1小節内において、ステップが存在する位置を示している。ステップの位置は、1小節を16分割したときの位置で示される。beat IDが1であれば、ステップは、1小節の先頭に位置し、beat IDが16であれば、ステップは、1小節の終わりに位置していることを示す。図12A及び図12Bにおいて、縦軸は、各beat IDの位置にステップが存在している割合を示している。
図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よりも面白みのあるものとなっている。
図12Bに示すMediumレベル譜面データについては、beat ID=3,5,7,9,11,13,15の各位置において、DDA−AS256のほうが、DDS−Aよりも、“original”へステップの存在割合が近付いており、音響データ203を含む学習データ200のほうが、手作業で作成した譜面データに近くなり、面白みが大きくなる。
図13、図14及び図15は、譜面データのタイプをブレンドされたタイプにする例を示している。図13に示す学習装置10は、複数のタイプをブレンドする割合を調整する調整処理22を実行する。調整処理22は、機械学習処理21及び調整処理22を実現するためのコンピュータプログラム40Aをプロセッサ20が実行することにより行われる。
図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以下の値である。
図14の例では、第1タイプは、難易度レベルがNであり、第1レベルと第10レベルとがブレンドされたものとなっている。Nの値は、調整器400によってウェイトW11,W12の値を調整することによって、任意に調整できる。なお、調整器400は、例えば、調整処理22を実行するプロセッサ20によって構成される。
図14の例では、難易度レベルNの学習用譜面データがなくても、難易度レベルNの譜面データから出力譜面データを生成するモデル300を構築することができる。
図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以下の値である。
図15の例では、第2タイプは、難易度レベルがMであり、第1レベルと第10レベルとがブレンドされたものとなっている。Mの値は、調整器400によってウェイトW21,W22の値を調整することによって、任意に調整できる。
図15の例では、難易度レベルMの学習用譜面データがなくても、任意の難易度レベルMの譜面データを生成するモデル300を構築することができる。したがって、そのようなモデル300を用いる譜面データ生成器50では、任意の難易度レベルMの譜面データを生成することができる。
<3.付記>
本発明は、上記実施形態に限定されるものではなく、様々な変形が可能である。
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 調整器

Claims (10)

  1. 譜面データ生成モデルを構築するために、学習データに基づいて機械学習処理を実行するよう構成され、
    前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルであり、
    前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含み、
    前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データである
    譜面データ生成モデルの学習装置。
  2. 前記入力譜面データ、前記出力譜面データ、前記第1学習用譜面データ、及び前記第2学習用譜面データは、それぞれ、前記譜面データを用いる機器におけるタイミングを示すタイミングデータを含む
    請求項1に記載の学習装置。
  3. 前記機器は、前記出力譜面データに従ったユーザ操作が行われる音楽ゲーム機であり、
    前記第1タイプと前記第2タイプとは、前記音楽ゲーム機の難易度において異なる
    請求項2に記載の学習装置。
  4. 前記第1タイプ及び第2タイプの少なくともいずれか一つは、複数のタイプがブレンドされたタイプである
    請求項1から3のいずれか1項に記載の学習装置。
  5. 前記複数のタイプをブレンドする割合を調整する調整処理を更に実行するよう構成されている
    請求項4に記載の学習装置。
  6. 前記入力データは、前記入力譜面データと同一の楽曲についての音響データを含み、
    前記学習データは、前記第1学習用譜面データ及び前記第2学習用譜面データと同一の楽曲についての学習用音響データを含む
    請求項1から5のいずれか1項に記載の学習装置。
  7. 第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成する処理を実行するよう構成され、
    前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルである
    譜面データ生成器。
  8. 音響データから前記第1タイプの前記入力譜面データを生成する予備処理を、前記処理に先立って実行するよう構成されている
    請求項7に記載の譜面データ生成器。
  9. プロセッサに、学習データに基づいて機械学習処理を実行させることで、譜面データ生成モデルを構築するコンピュータプログラムであって、
    前記譜面データ生成モデルは、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを生成するためのモデルであり、
    前記学習データは、前記第1タイプの第1学習用譜面データと、前記第2タイプの第2学習用譜面データと、を含み、
    前記第1学習用譜面データと前記第2学習用譜面データとは、同一の楽曲についての譜面データである
    コンピュータプログラム。
  10. プロセッサに、処理を実行させるコンピュータプログラムであって、
    前記処理は、第1タイプの入力譜面データを含む入力データから、前記第1タイプとは異なる第2タイプの出力譜面データを含む出力データを、譜面データ生成モデルを用いて生成することを含み、
    前記譜面データ生成モデルは、楽曲についての前記第1タイプの譜面データから、前記楽曲と同一の楽曲についての前記第2タイプの譜面データを生成するよう構成された機械学習済モデルである
    コンピュータプログラム。
JP2018099294A 2018-05-24 2018-05-24 譜面データ生成モデルの構築方法、譜面データ生成器、譜面データ生成方法及びコンピュータプログラム Active JP7193831B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018099294A JP7193831B2 (ja) 2018-05-24 2018-05-24 譜面データ生成モデルの構築方法、譜面データ生成器、譜面データ生成方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018099294A JP7193831B2 (ja) 2018-05-24 2018-05-24 譜面データ生成モデルの構築方法、譜面データ生成器、譜面データ生成方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019201939A true JP2019201939A (ja) 2019-11-28
JP7193831B2 JP7193831B2 (ja) 2022-12-21

Family

ID=68725464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018099294A Active JP7193831B2 (ja) 2018-05-24 2018-05-24 譜面データ生成モデルの構築方法、譜面データ生成器、譜面データ生成方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7193831B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102560394B1 (ko) * 2022-09-15 2023-07-28 (주)더바통 악보 코드 ai판별 알고리즘 기반 코드 생성 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509729A (ja) * 1999-09-16 2003-03-11 ハンスルソフト コーポレーション リミテッド ディジタル音楽ファイルに基づいて楽器を演奏するための方法及び装置
JP2008524656A (ja) * 2004-12-15 2008-07-10 ミューズアミ,インコーポレイティド 同期化されたプレゼンテーションを伴う楽譜捕捉および同期化されたオーディオパフォーマンス用のシステムおよび方法
JP2016136251A (ja) * 2015-01-20 2016-07-28 ハーマン インターナショナル インダストリーズ インコーポレイテッド 音楽コンテンツ及びリアルタイム音楽伴奏の自動採譜

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509729A (ja) * 1999-09-16 2003-03-11 ハンスルソフト コーポレーション リミテッド ディジタル音楽ファイルに基づいて楽器を演奏するための方法及び装置
JP2008524656A (ja) * 2004-12-15 2008-07-10 ミューズアミ,インコーポレイティド 同期化されたプレゼンテーションを伴う楽譜捕捉および同期化されたオーディオパフォーマンス用のシステムおよび方法
JP2016136251A (ja) * 2015-01-20 2016-07-28 ハーマン インターナショナル インダストリーズ インコーポレイテッド 音楽コンテンツ及びリアルタイム音楽伴奏の自動採譜

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C.DONAHUE Z.C.LIPTON J.MCAULEY: "Dance Dance Convolution", [ONLINE], JPN6022012879, 21 June 2017 (2017-06-21), ISSN: 0004741972 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102560394B1 (ko) * 2022-09-15 2023-07-28 (주)더바통 악보 코드 ai판별 알고리즘 기반 코드 생성 시스템
WO2024058484A1 (ko) * 2022-09-15 2024-03-21 (주)더바통 악보 코드 ai판별 알고리즘 기반 코드 생성 시스템

Also Published As

Publication number Publication date
JP7193831B2 (ja) 2022-12-21

Similar Documents

Publication Publication Date Title
Soon et al. A comparison on the performance of crossover techniques in video game
JP6216120B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、および、ゲーム処理方法
Shaker et al. A progressive approach to content generation
JP6797986B1 (ja) ゲーム支援装置および動画配信装置
JP2015123110A (ja) プログラム及びサーバ
JP2020174971A5 (ja)
JP2019201939A (ja) 譜面データ生成モデルの学習装置、譜面データ生成器、及びコンピュータプログラム
JP7144931B2 (ja) プログラム及びゲームシステム
JP2022177022A (ja) プログラム、ゲームシステム及びゲーム実行方法
JP2017176206A (ja) プログラム及びゲームシステム
US11341865B2 (en) Video practice systems and methods
JP2010224372A (ja) カラオケシステムで用いられるアバターデータ作成装置
JP7393701B2 (ja) 学習装置、推定装置、学習方法、及び学習プログラム
Sporka et al. Design and implementation of a non-linear symphonic soundtrack of a video game
JP2007044396A (ja) ゲーム装置、および、プログラム
Banar et al. Generating music with extreme passages using GPT-2
Spelchan A deep learning based mixed initiative editor for game level generation
JP5246232B2 (ja) 運動支援装置、運動支援方法およびプログラム
Alp et al. Playing flappy bird via asynchronous advantage actor critic algorithm
Alexandrovsky et al. Jump ‘n’rhythm: a video game for training timing skills
Hamilton Perceptually coherent mapping schemata for virtual space and musical method
Ferguson Machine learning arena
JP2019103729A (ja) プログラム及びゲームシステム
WO2022244135A1 (ja) 学習装置、推定装置、学習モデルデータ生成方法、推定方法及びプログラム
JP2018008023A (ja) 情報処理装置、ゲームプログラム、及び、情報処理方法

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20180608

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200602

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221202

R150 Certificate of patent or registration of utility model

Ref document number: 7193831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150