(57)【要約】  音楽表現が付加された多様な演奏を表す演奏データを生成するための情報処理方法が提供される。前記情報処理方法は、楽曲の楽譜を表す楽譜データの楽譜データと、演奏を変動させる要因を表す変動データとを、学習済モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す演奏データを生成することを含む。
2020031544.tif 000002
【特許請求の範囲】
【請求項１】
楽曲の楽譜を表す楽譜データと、演奏を変動させる要因を表す変動データとを、学習済モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す演奏データを生成すること
を含む、コンピュータにより実現される情報処理方法。
【請求項２】
前記楽譜データは、前記楽曲の相異なる音符の各々に対応する音符データを含み、
前記楽曲内の第１音符に対応する音符データは、
前記楽曲の拍子と、前記楽曲の調号と、前記第１音符の音高と、前記第１音符の音価と、小節内における前記第１音符の位置と、直前の音符に対する前記第１音符の発音点の時間差と、前記第１音符の演奏強度と、前記第１音符の演奏記号と、前記第１音符の演奏速度と、前記楽曲内で前記第１音符を含む区間の特徴を表す特徴ベクトルと、のうちの少なくともひとつを含む
請求項１の情報処理方法。
【請求項３】
前記演奏データは、前記楽曲の相異なる音符の各々に対応する単位データを含み、
前記楽曲内の第２音符に対応する単位データは、
前記第２音符の演奏強度と、前記楽譜により前記第２音符に指定される発音点と演奏による前記第２音符の発音点との時間差と、前記楽譜により前記第２音符に指定される継続長と演奏による前記第２音符の継続長との差分と、前記楽譜により前記第２音符に指定される演奏速度と演奏による前記第２音符の演奏速度との差分と、のうちの少なくともひとつを含む
請求項１または請求項２の情報処理方法。
【請求項４】
楽曲の演奏を表す演奏データを含む第１学習データを第１暫定モデルに入力することで、演奏を変動させる要因を表す変動変数であって特定の確率分布に従う変動データを生成することと、
前記楽曲の楽譜を表す楽譜データと、前記第１暫定モデルが生成した変動データと、を含む第２学習データを第２暫定モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す推定データを生成することと、
前記第１学習データの前記演奏データと前記第２暫定モデルが生成する前記推定データとが近付き、かつ、前記第１暫定モデルが生成する変動データの確率分布が特定の目標分布に近付くように、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とを更新することと
を含む、コンピュータにより実現される情報処理方法。
【請求項５】
前記第１学習データは、前記楽譜データをさらに含む、
請求項４に記載のコンピュータにより実現される情報処理方法。
【請求項６】
前記特定の確率分布を決定付ける前記第１暫定モデルの状態変数を事前分布に入力することで、前記特定の目標分布を生成すること
をさらに含み、
前記事前分布を規定する係数は、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とともに更新される、
請求項４に記載のコンピュータにより実現される情報処理方法。
【請求項７】
楽曲の楽譜を表す楽譜データと、演奏を変動させる要因を表す変動データとを、学習済モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す演奏データを生成する制御部
を具備する、情報処理装置。
【請求項８】
制御部を具備する情報処理装置であって、
前記制御部は、
楽曲の演奏を表す演奏データを含む第１学習データを第１暫定モデルに入力することで、演奏を変動させる要因を表す変動変数であって特定の確率分布に従う変動データを生成することと、
前記楽曲の楽譜を表す楽譜データと、前記第１暫定モデルが生成した変動データと、を含む第２学習データを第２暫定モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す推定データを生成することと、
前記第１学習データの前記演奏データと前記第２暫定モデルが生成する前記推定データとが近付き、かつ、前記第１暫定モデルが生成する変動データの確率分布が特定の目標分布に近付くように、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とを更新することと
を実行する、情報処理装置。
【請求項９】
楽曲の楽譜を表す楽譜データと、演奏を変動させる要因を表す変動データとを、学習済モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す演奏データを生成すること
をコンピュータに実行させるプログラム。
【請求項１０】
楽曲の演奏を表す演奏データを含む第１学習データを第１暫定モデルに入力することで、演奏を変動させる要因を表す変動変数であって特定の確率分布に従う変動データを生成することと、
前記楽曲の楽譜を表す楽譜データと、前記第１暫定モデルが生成した変動データと、を含む第２学習データを第２暫定モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す推定データを生成することと、
前記第１学習データの前記演奏データと前記第２暫定モデルが生成する前記推定データとが近付き、かつ、前記第１暫定モデルが生成する変動データの確率分布が特定の目標分布に近付くように、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とを更新することと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲の楽譜を表す楽譜データを処理する技術に関する。
【背景技術】
【０００２】
楽曲の楽譜を表す楽譜データから音楽的な表現（以下「音楽表現」という）が付加された演奏を表す演奏データを生成するための各種の技術が従来から提案されている。例えば非特許文献１には、特定の演奏者による演奏の傾向を反映したベイズモデルを利用して、当該傾向が付加された演奏データを生成する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Gerhard Widmer, Sebastian Flossmann, and Maarten Grachten, "YQX Plays Chopin," AI Magazine, Vol 30, No 3, p.35-48, 2009
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、非特許文献１の構成では、１種類の楽譜データから１種類の演奏データしか生成できないという問題がある。すなわち、特定の演奏者が相異なる音楽表現で演奏した多様な演奏データを生成することができない。以上の事情を考慮して、本発明は、音楽表現が付加された多様な演奏を表す演奏データを生成することを目的とする。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、本発明の好適な態様に係る情報処理方法は、以下のことを含む。また、以下のことを実行する情報処理装置、および、以下のことをコンピュータに実行させる情報処理プログラムを提供することができる。
・楽曲の楽譜を表す楽譜データと、演奏を変動させる要因を表す変動データとを、学習済モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す演奏データを生成すること【０００６】
本発明の他の態様に係る情報処理方法は、以下のことを含む。また、以下のことを実行する情報処理装置、および、以下のことをコンピュータに実行させる情報処理プログラムを提供することができる。
・楽曲の演奏を表す演奏データを含む第１学習データを第１暫定モデルに入力することで、演奏を変動させる要因を表す変動変数であって特定の確率分布に従う変動データを生成すること
・前記楽曲の楽譜を表す楽譜データと、前記第１暫定モデルが生成した変動データと、を含む第２学習データを第２暫定モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す推定データを生成すること
・前記第１学習データの前記演奏データと前記第２暫定モデルが生成する前記推定データとが近付き、かつ、前記第１暫定モデルが生成する変動データの確率分布が特定の目標分布に近付くように、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とを更新すること
【図面の簡単な説明】
【０００７】
【図１】本発明の第１実施形態に係る情報処理装置の構成を例示するブロック図である。
【図２】第１実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。
【図３】操作画面の模式図である。
【図４】第１実施形態に係る情報処理装置の動作を例示するフローチャートである。
【図５】第２実施形態に係る情報処理装置の構成を例示するブロック図である。
【図６】第２実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。
【図７】第２実施形態に係る情報処理装置の動作を例示するフローチャートである。
【図８】第３および第４実施形態に係る情報処理装置の構成を例示するブロック図である。
【図９】第３実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。
【図１０】第３実施形態に係る情報処理装置の動作を例示するフローチャートである。
【図１１】第４実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。
【図１２】第４実施形態に係る目標分布を生成するモデルを例示する図である。
【図１３】第４実施形態に係る状態変数を定義するモデルを例示する図である。
【図１４】第４実施形態に係る情報処理装置の動作を例示するフローチャートである。
【図１５】第３実施形態の変形例に係る情報処理装置の機能的な構成を例示するブロック図である。
【図１６】第１および第２実施形態、並びに第３および第４実施形態の変形例に係る前処理部による楽譜データの変換を行うためのネットワークのモデル図である。
【発明を実施するための形態】
【０００８】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る情報処理装置１００Aの構成を例示するブロック図である。図１に例示される通り、第１実施形態の情報処理装置１００Aは、制御装置１１と記憶装置１２と入力装置１３と表示装置１４と音源装置１５と放音装置１６とを具備するコンピュータシステムである。例えば携帯電話機、スマートフォンまたはパーソナルコンピュータ等の情報端末が、情報処理装置１００Aとして好適に利用される。
【０００９】
表示装置１４は、制御装置１１による制御のもとで各種の画像を表示する。例えば液晶表示パネルが表示装置１４として好適に利用される。入力装置１３は、利用者による操作を受付ける。例えば、利用者が操作する操作子、または表示装置１４と一体に構成されたタッチパネルが入力装置１３として利用される。また、音声入力が可能な収音装置を入力装置１３として利用してもよい。
【００１０】
制御装置１１は、例えばCPU（Central Processing Unit）等の処理回路であり、情報処理装置１００Aの各要素を統括的に制御する。記憶装置１２は、例えば磁気記録媒体または半導体記録媒体等の公知の記録媒体で構成されたメモリであり、制御装置１１が実行するプログラムと制御装置１１が使用する各種のデータとを記憶する。なお、複数種の記録媒体の組合せにより記憶装置１２を構成してもよい。また、情報処理装置１００Aに対して着脱可能な可搬型の記録媒体、または情報処理装置１００Aが通信網を介して通信可能な外部記録媒体（例えばオンラインストレージ）を、記憶装置１２として利用してもよい。
【００１１】
第１実施形態の記憶装置１２は、楽曲の楽譜を表す楽譜データＳ1を記憶する。楽譜データＳ1は、楽曲を構成する複数の音符の時系列と、当該楽曲の演奏に関する音楽記号（例えば音部記号、拍子記号，変化記号または演奏記号）とを指定する。例えば、MIDI（Musical Instrument Digital Interface）形式またはMusicXML（eXtensible Markup Language）形式のファイルが楽譜データＳ1として好適である。
【００１２】
第１実施形態の情報処理装置１００Aは、記憶装置１２に記憶された楽譜データＳ1から演奏データＱ2を生成する。演奏データＱ2は、楽譜データＳ1が表す楽曲の演奏を表すデータである。演奏データＱ2が表す演奏は、楽譜データＳ1が表す楽譜に対して音楽表現を付加した演奏である。音楽表現は、演奏者の音楽的な意図または演奏動作の癖等の事情に起因して演奏に付加される表現上の特徴である。例えば、楽譜で指定された時間よりも各音符を短く演奏する傾向、または、楽譜で指定された時点よりも前方または後方で各音符を演奏する傾向など、楽曲の演奏に関する種々の傾向が音楽表現として付加された演奏データＱ2が生成される。
【００１３】
音源装置１５は、演奏データＱ2に応じた音響信号Ａを生成する。音響信号Ａは、演奏データＱ2が表す演奏で発音される音響（例えば楽器の演奏音）を表す時間信号である。放音装置１６は、音源装置１５が生成した音響信号Ａが表す音響を再生する。例えばスピーカまたはヘッドホンが放音装置１６として好適に利用される。なお、音源装置１５が生成した音響信号Ａをデジタルからアナログに変換するＤ/Ａ変換器、および、音響信号Ａを増幅する増幅器の図示は便宜的に省略した。また、音源装置１５および放音装置１６を情報処理装置１００Aの外部に設置してもよい。例えば、情報処理装置１００Aとは別体の音源装置１５または放音装置１６を情報処理装置１００Aに有線または無線で接続してもよい。
【００１４】
図２は、情報処理装置１００Aの機能的な構成を例示するブロック図である。図２に例示される通り、制御装置１１は、記憶装置１２に記憶されたプログラムを実行することで、楽譜データＳ1から演奏データＱ2を生成するための複数の機能（前処理部２１，変数制御部２２，推定処理部２３および後処理部２４）を実現する。なお、相互に別体で構成された複数の装置で制御装置１１の機能を実現してもよいし、制御装置１１の機能の一部または全部を専用の電子回路で実現してもよい。
【００１５】
前処理部２１は、記憶装置１２に記憶された楽譜データＳ1から楽譜データＳ2を生成する。楽譜データＳ2は、楽曲の楽譜を表すデータである。第１実施形態の楽譜データＳ2は、楽譜データＳ1が表す楽曲の相異なる複数の音符に対応する音符データＮの時系列で構成される。任意の１個の音符（以下「第１音符」という）に対応する音符データＮは、当該第１音符の演奏に関する情報を指定する。具体的には、第１音符の音符データＮは、以下に例示する複数の種類の情報（ｎ1〜ｎ10）のうちの少なくともひとつの種類の情報を含む。
ｎ1：楽曲の拍子（例えば４分の２拍子など）
ｎ2：楽曲の調号（例えばハ長調，イ短調など）
ｎ3：第１音符の音高（例えばMIDIノートナンバ）
ｎ4：第１音符の音価（すなわち継続長）
ｎ5：小節内における第１音符の位置（例えば小節内の第１拍目，第２拍目など）
ｎ6：直前の音符に対する第１音符の発音点の時間差
ｎ7：第１音符の演奏強度（例えばMIDIベロシティ）
ｎ8：第１音符の演奏記号（例えばスタッカート等のアーティキュレーション）
ｎ9：第１音符の演奏速度（例えばＢＰＭ（Beats Per Minute）で表されるテンポ）
ｎ10：第１音符を含む区間の特徴を表す特徴ベクトル
【００１６】
特徴ベクトルｎ10は、例えば楽曲内で第１音符を中心とした区間内におけるピアノロールのような形式の音符列の特徴を表すベクトルである。例えば、機械学習済の畳込ニューラルネットワーク（CNN：Convolutional Neural Network）に楽譜データＳ1を入力することで特徴ベクトルｎ10が生成される。前処理部２１は、以上に説明した情報（ｎ1〜ｎ10）を楽譜データＳ1の解析により音符毎に特定することで楽譜データＳ2を生成する。
【００１７】
ｎ1〜ｎ9のような音符データＮに含まれる情報は、連続値として表現してもよいし、one-hot表現で表現してもよい。
【００１８】
図２の推定処理部２３は、前処理部２１が生成した楽譜データＳ2から演奏データＱ1を生成する。演奏データＱ1は、音楽表現が付加された楽曲の演奏を表すデータである。第１実施形態の演奏データＱ1は、楽譜データＳ2が表す楽曲の相異なる複数の音符に対応する単位データＵの時系列で構成される。推定処理部２３は、楽譜データＳ2の各音符の音符データＮから当該１個の音符の単位データＵを生成する。すなわち、楽曲の音符毎に単位データＵが生成される。任意の１個の音符（以下「第２音符」という）に対応する単位データＵは、当該第２音符の演奏に関する情報を指定する。具体的には、第２音符の単位データＵは、以下に例示する複数の種類の情報のうちの少なくともひとつの種類の情報を含む。
ｕ1：第２音符の演奏強度（例えばMIDIベロシティ）
ｕ2：楽譜データＳ2が第２音符に指定する発音点と演奏による第２音符の発音点との時間差（すなわち、演奏時における発音点の誤差）
ｕ3：楽譜データＳ2が第２音符に指定する継続長と演奏による第２音符の継続長との差分（すなわち、演奏時における継続長の誤差）
ｕ4：楽譜データＳ2が第２音符に指定する演奏速度と演奏による第２音符の演奏速度との差分（すなわち、演奏時における演奏速度の誤差）
【００１９】
ｕ1〜ｕ4のような単位データＵに含まれる情報は、連続値として表現してもよいし、one-hot表現で表現してもよい。one-hot表現を使用する場合には、単位データＵにより構成される演奏データＱ1は、メリハリのある演奏を表すようになる。なお、メリハリがあるとは、幅広い値をとることができることを意味する。単位データＵがone-hot表現ではなく、連続値で表現される場合には、単位データＵの変動が小さくなり、人間の演奏に比べるとややメリハリに欠ける演奏データＱ1が生成される傾向が生じる。
【００２０】
図２に例示される通り、第１実施形態の推定処理部２３は、楽譜データＳ2と変動データＶとを学習済モデルＭ1に入力することで演奏データＱ1を生成する。変動データＶは、楽曲の演奏を変動させる要因を表す多次元のベクトルで表現される。変動データＶは、楽曲の演奏に付加される音楽表現を表すデータとも換言される。推定処理部２３が生成する演奏データＱ1は、変動データＶが表す変動が反映された楽曲の演奏を表す。すなわち、演奏データＱ1は、変動データＶに応じた音楽表現が付加された演奏を表す。
【００２１】
学習済モデルＭ1は、楽譜データＳ2および変動データＶを含む入力データと演奏データＱ1との間の関係を学習した統計的予測モデルである。具体的には、学習済モデルＭ1はニューラルネットワークで構成される。例えば、学習済モデルＭ1は、相互に直列に接続された複数の長短期記憶（LSTM：Long Short Term Memory）を含んで構成される。したがって、楽譜データＳ2において相前後する複数の音符の音符データＮの時系列が反映された演奏データＱ1が生成される。
【００２２】
学習済モデルＭ1は、楽譜データＳ2および変動データＶから演奏データＱ1を生成する演算を制御装置１１に実行させるプログラム（例えば人工知能ソフトウェアを構成するプログラムモジュール）と、当該演算に適用される複数の係数Ｋ1との組合せで実現される。学習済モデルＭ1を規定する複数の係数Ｋ1は、多量の学習データを利用した機械学習（特に深層学習）により設定されて記憶装置１２に保持される。学習済モデルＭ1の機械学習については後述する。
【００２３】
第１実施形態の学習済モデルＭ1は、VAE（Variational AutoEncoder）のデコーダを含んで構成される。具体的には、学習済モデルＭ1は、既知の条件（condition）を入力に含むCVAE（Conditional VAE）のデコーダである。楽譜データＳ2はCVAEの既知の条件に相当し、変動データＶはCVAEの潜在変数（latent）に相当する。
【００２４】
図２の変数制御部２２は、変動データＶを可変に設定する。第１実施形態の変数制御部２２は、入力装置１３に対する利用者からの指示に応じて変動データＶを設定する。図３は、変動データＶの設定のために利用者が視認する操作画面Ｇの模式図である。変数制御部２２は、表示装置１４に操作画面Ｇを表示させる。操作画面Ｇは、座標平面Ｇ1と指示子Ｇ2とを含む画像である。座標平面Ｇ1は、変動データＶの次元数を便宜的に削減した２次元平面を表す。利用者は、入力装置１３を操作することで、座標平面Ｇ1内における指示子Ｇ2の位置を変更可能である。変数制御部２２は、座標平面Ｇ1内における指示子Ｇ2の位置に応じて変動データＶを設定する。
【００２５】
図２の後処理部２４は、推定処理部２３が生成した演奏データＱ1と記憶装置１２に記憶された楽譜データＳ1とから演奏データＱ2を生成する。具体的には、後処理部２４は、楽譜データＳ1が指定する各音符に関する情報を演奏データＱ1に応じて変更することで演奏データＱ2を生成する。例えば、楽譜データＳ1が指定する各音符の演奏強度は、当該音符の単位データＵが指定する演奏強度ｕ1に変更される。楽譜データＳ1が指定する各音符の発音点は、当該音符の単位データＵが指定する時間差ｕ2に応じて調整される。また、楽譜データＳ1が指定する各音符の継続長は、単位データＵが指定する差分ｕ3に応じて調整され、楽譜データＳ1が指定する各音符の演奏速度は、単位データＵが指定する差分ｕ4に応じて調整される。後処理部２４が生成する演奏データＱ2は、楽譜データＳ1と同様に、例えばMIDI形式またはMusicXML形式のファイルである。
【００２６】
図４は、制御装置１１が楽譜データＳ1から演奏データＱ2を生成する処理の具体的な手順を例示するフローチャートである。例えば入力装置１３に対する利用者からの指示を契機として図４の処理が開始される。
【００２７】
図４の処理を開始すると、変数制御部２２は、入力装置１３に対する利用者からの指示に応じて変動データＶを設定する（Ｓa1）。前処理部２１は、記憶装置１２に記憶された楽譜データＳ1から楽譜データＳ2を生成する（Ｓa2）。推定処理部２３は、前処理部２１が生成した楽譜データＳ2の各音符の音符データＮと変数制御部２２が設定した変動データＶとを、学習済モデルＭ1に入力することで、演奏データＱ1の各音符の単位データＵを生成する（Ｓa3）。後処理部２４は、推定処理部２３が生成した演奏データＱ1と楽譜データＳ1とから演奏データＱ2を生成する（Ｓa4）。
【００２８】
以上に説明した通り、第１実施形態では、楽譜データＳ2と可変の変動データＶとを学習済モデルＭ1に入力することで演奏データＱ1が生成されるから、ひとつの楽曲の楽譜データＳ2に対して変動データＶに応じた多様な演奏を表す演奏データＱ1を生成することが可能である。
【００２９】
＜第２実施形態＞
本発明の第２実施形態を説明する。なお、以下の各例示において機能が第１実施形態と同様である要素については、第１実施形態の説明で使用した符号を流用して各々の詳細な説明を適宜に省略する。第１実施形態の情報処理装置１００Aは、楽譜データＳ1と変動データＶとから演奏データＱ2を生成した。第２実施形態の情報処理装置１００Bは、楽譜データＳ1と演奏データＱ2とから変動データＶを生成する。
【００３０】
図５は、第２実施形態における情報処理装置１００Bの構成を例示するブロック図である。図５に例示される通り、第２実施形態の情報処理装置１００Bは、制御装置１１と記憶装置１２と入力装置１３とを具備する。図５に例示される通り、第２実施形態の記憶装置１２は、楽譜データＳ1と演奏データＱ2とを記憶する。演奏データＱ2は、利用者による演奏を収録することで記憶装置１２に事前に記憶される。演奏データＱ2が表す演奏は、楽譜データＳ1が表す楽譜に対して利用者が任意に音楽表現を付加した演奏である。記憶装置１２には、相異なる音楽表現が付加された様々な演奏の各々に対し、当該演奏を表す演奏データＱ2が記憶される。利用者は、入力装置１３を適宜に操作することで、記憶装置１２に記憶された複数の演奏の演奏データＱ2のうち、何れかの演奏の演奏データＱ2を処理対象として選択することが可能である。
【００３１】
図６は、第２実施形態における情報処理装置１００Bの機能的な構成を例示するブロック図である。図６に例示される通り、制御装置１１は、記憶装置１２に記憶されたプログラムを実行することで、楽譜データＳ1および演奏データＱ2から変動データＶを生成するための複数の機能（前処理部３１，前処理部３２および推定処理部３３）を実現する。
【００３２】
前処理部３１は、第１実施形態の前処理部２１と同様に、楽譜データＳ1から楽譜データＳ2を生成する。楽譜データＳ2は、前述の通り、楽譜データＳ1が表す楽曲の相異なる複数の音符に対応する音符データＮの時系列で構成される。
【００３３】
前処理部３２は、記憶装置１２に記憶された複数の演奏の演奏データＱ2のうち利用者が選択した演奏の演奏データＱ2から演奏データＱ1を生成する。演奏データＱ1は、前述の通り、楽曲の相異なる複数の音符に対応する単位データＵの時系列で構成される。前処理部３２は、演奏データＱ2と楽譜データＳ1とから演奏データＱ1を生成する。具体的には、前処理部３２は、演奏データＱ2と楽譜データＳ1とを対比することで、複数の種類の情報（ｕ1〜ｕ4）を指定する単位データＵを音符毎に順次に生成する。
【００３４】
推定処理部３３は、前処理部３１が生成した楽譜データＳ2と前処理部３２が生成した演奏データＱ1とから変動データＶを生成する。具体的には、各音符に対し、楽譜データＳ2の音符データＮと演奏データＱ1の単位データＵとの組が順次に生成され、このような各組に対し、変動データＶが順次に生成される。変動データＶは、前述の通り、楽曲の演奏を変動させる要因を表すベクトルである。第２実施形態の変動データＶは、演奏データＱ1が表す演奏に付加された音楽表現を表すデータに相当する。音楽表現は演奏データＱ1によって相違するから、第２実施形態の推定処理部３３が生成する変動データＶは、演奏データＱ1によって相違する。
【００３５】
図６に例示される通り、第２実施形態の推定処理部３３は、楽譜データＳ2と演奏データＱ1とを学習済モデルＭ2に入力することで変動データＶを生成する。学習済モデルＭ2は、楽譜データＳ2と演奏データＱ1とを含む入力データと変動データＶとの関係を学習した統計的予測モデルである。具体的には、学習済モデルＭ2はニューラルネットワークで構成される。例えば、学習済モデルＭ2は、学習済モデルＭ1と同様に、相互に直列に接続された複数の長短期記憶（LSTM）を含んで構成される。したがって、楽譜データＳ2において相前後する複数の音符の音符データＮの時系列と、演奏データＱ1において相前後する複数の音符の単位データＵの時系列とが反映された変動データＶが生成される。
【００３６】
学習済モデルＭ2は、楽譜データＳ2および演奏データＱ1から変動データＶを生成する演算を制御装置１１に実行させるプログラム（例えば人工知能ソフトウェアを構成するプログラムモジュール）と、当該演算に適用される複数の係数Ｋ2との組合せで実現される。学習済モデルＭ2を規定する複数の係数Ｋ2は、多量の学習データを利用した機械学習（特に深層学習）により設定されて記憶装置１２に保持される。学習済モデルＭ2の機械学習については後述する。
【００３７】
第２実施形態の学習済モデルＭ2は、VAEのエンコーダを含んで構成される。具体的には、学習済モデルＭ2は、既知の条件（condition）を入力に含むCVAEのエンコーダである。楽譜データＳ2はCVAEの既知の条件に相当し、変動データＶはCVAEの潜在変数（latent）に相当する。すなわち、学習済モデルＭ2は、楽譜データＳ2の音符データＮと演奏データＱ1の単位データＵとに応じた確率分布の平均および分散を決定し、当該確率分布から変動データＶを抽出（サンプリング）する。
【００３８】
図７は、制御装置１１が楽譜データＳ1および演奏データＱ2から変動データＶを生成する処理の具体的な手順を例示するフローチャートである。例えば入力装置１３に対する利用者からの指示を契機として図７の処理が開始される。
【００３９】
図７の処理を開始すると、前処理部３１は、楽譜データＳ1から楽譜データＳ2を生成する（Ｓb1）。また、前処理部３２は、入力装置１３に対する操作で利用者が選択した演奏データＱ2から演奏データＱ1を生成する（Ｓb2）。なお、楽譜データＳ2の生成（Ｓb1）と演奏データＱ1の生成（Ｓb2）との順序を逆転してもよい。推定処理部３３は、前処理部３１が生成した楽譜データＳ2の各音符の音符データＮと前処理部３２が生成した演奏データＱ1の各音符の単位データＵとを学習済モデルＭ2に入力することで、変動データＶを音符毎に生成する（Ｓb3）。
【００４０】
以上に説明した通り、第２実施形態では、楽譜データＳ2と演奏データＱ1とを学習済モデルＭ2に入力することで変動データＶが生成されるから、楽譜データＳ2を利用せずに演奏データＱ1と変動データＶとの関係を学習した学習済モデルを利用して変動データＶを生成する構成と比較して、楽譜に対する依存を低減した適切な変動データＶを生成することが可能である。
【００４１】
推定処理部３３が生成した変動データＶの時系列は種々の用途に利用される。例えば、変動データＶの生成に利用された楽曲以外の任意の楽曲の楽譜データＳ1に対して、変動データＶが表す音楽表現を第１実施形態の構成により付加することで、変動データＶが表す音楽表現を任意の楽曲に付加した場合の演奏を表す演奏データＱ2を生成することが可能である。
【００４２】
また、演奏者による演奏を表す演奏データＱ2を演奏に並行して前処理部３２に実時間的に供給し、推定処理部３３が、当該演奏データＱ2に応じた変動データＶを演奏に並行して実時間的に生成してもよい。演奏者が演奏する楽曲の楽譜データＳ1に対して変動データＶの音楽表現を付加することで演奏データＱ2が生成され、演奏者による演奏に並行して当該演奏データＱ2が自動演奏楽器に供給される。自動演奏楽器は、例えば自動演奏が可能な鍵盤楽器であり、演奏データＱ2に応じて楽曲の自動演奏を実行する。以上の構成によれば、演奏者による演奏と同様の音楽表現により、当該演奏に並行して楽曲を自動演奏することが可能である。
【００４３】
＜第３実施形態＞
図８は、第３実施形態における情報処理装置１００Cの構成を例示するブロック図である。第３実施形態の情報処理装置１００Cは、第１実施形態の学習済モデルＭ1と第２実施形態の学習済モデルＭ2とを機械学習により生成する機械学習装置であり、図８に例示される通り、制御装置１１と記憶装置１２とを具備する。
【００４４】
図８に例示される通り、第３実施形態の記憶装置１２は、機械学習に利用される複数のセットの学習データＴ1（第１学習データの例示）を記憶する。各セットの学習データＴ1は、楽曲の楽譜を表す楽譜データＳ2と、当該楽曲の演奏を表す演奏データＱ1とを含んで構成される。楽譜データＳ2は、第１実施形態および第２実施形態の例示の通り、楽曲の相異なる複数の音符に対応する音符データＮの時系列で構成される。演奏データＱ1は、第１実施形態および第２実施形態の例示の通り、楽曲の相異なる複数の音符に対応する単位データＵの時系列で構成される。音楽表現を相違させた複数の演奏の演奏データＱ1をそれぞれ含む複数のセットの学習データＴ1が、複数の楽曲について記憶装置１２に記憶される。
【００４５】
図９は、第３実施形態に係る情報処理装置１００Cの機能的な構成を例示するブロック図である。図９に例示される通り、第３実施形態の制御装置１１は、記憶装置１２に記憶されたプログラムを実行することで、第１実施形態の学習済モデルＭ1と第２実施形態の学習済モデルＭ2とを生成する機械学習を実行する学習処理部４１として機能する。学習処理部４１は、更新処理部４２を含んで構成される。更新処理部４２は、学習済モデルＭ1を規定する複数の係数Ｋ1と学習済モデルＭ2を規定する複数の係数Ｋ2とを反復的に更新する。
【００４６】
図９に例示される通り、学習処理部４１は、暫定モデルＸと暫定モデルＹとについて機械学習を実行する。暫定モデルＸ（第１暫定モデルの例示）は、学習済モデルＭ2の学習の過程にある暫定的なモデルである。すなわち、機械学習により複数の係数Ｋ2の更新が完了した段階の暫定モデルＸが、第２実施形態の学習済モデルＭ2として利用される。他方、暫定モデルＹ（第２暫定モデルの例示）は、学習済モデルＭ1の学習の過程にある暫定的なモデルである。すなわち、機械学習により複数の係数Ｋ1の更新が完了した段階の暫定モデルＹが、第１実施形態の学習済モデルＭ1として利用される。
【００４７】
図９に例示される通り、楽譜データＳ2と演奏データＱ1とを含む学習データＴ1が暫定モデルＸに入力される。暫定モデルＸは、学習データＴ1から変動データＶ（潜在変数）を生成するCVAEのエンコーダである。他方、暫定モデルＹには、学習データＴ1の楽譜データＳ2と暫定モデルＸが生成した変動データＶとを含む学習データＴ2（第２学習データの例示）が入力される。暫定モデルＹは、学習データＴ2から演奏データＱ1（以下「推定データＱe」という）を生成するCVAEのデコーダである。
【００４８】
更新処理部４２は、学習データＴ1の演奏データＱ1と暫定モデルＹが生成する推定データＱeとが近付き、かつ、暫定モデルＸが生成する変動データＶの確率分布が特定の確率分布（以下「目標分布」という）に近付くように、暫定モデルＸの複数の係数Ｋ2と暫定モデルＹの複数の係数Ｋ1とを反復的に更新する。目標分布は、例えば平均０および分散１の正規分布Ｎ(0,1)である。具体的には、学習処理部４１は、以下の数式(1)で表現される評価関数Ｆが減少する（理想的には最小化される）ように、確率的勾配降下法により複数の係数Ｋ1と複数の係数Ｋ2とを反復的に更新する。
Ｆ＝Ｌa(Ｑ1,Ｑe)＋Ｌb(λ(Ｖ),Ｎ(0,1))  …(1)
【００４９】
数式(1)の右辺の第１項（Ｌa(Ｑ1,Ｑe)）は、演奏データＱ1と推定データＱeとの誤差に相当する。なお、実際には、演奏データＱ1の単位データＵと推定データＱeの単位データＵとの誤差Ｅを楽曲内の複数の音符にわたり合計することで誤差Ｌa(Ｑ1,Ｑe)が算定される。他方、数式(1)の右辺の第２項（Ｌb(λ(Ｖ),Ｎ(0,1))）は、変動データＶの確率分布λ(Ｖ)と目標分布Ｎ(0,1)との誤差（例えばＫＬダイバージェンス）に相当する。以上の説明から理解される通り、評価関数Ｆを最小化することで、演奏データＱ1と推定データＱeとが近付き、かつ、変動データＶの確率分布λ(Ｖ)が目標分布Ｎ(0,1)に近付く。
【００５０】
演奏データＱ1の単位データＵ（ｕ1〜ｕ4）と推定データＱeの単位データＵ（ｕ1〜ｕ4）との誤差Ｅは、演奏強度ｕ1の誤差ｅ1と、発音点の時間差ｕ2の誤差ｅ2と、継続長の差分ｕ3の誤差ｅ3と、演奏速度の差分ｕ4の誤差ｅ4との合計である。
【００５１】
演奏強度ｕ1は、本実施形態では、最小値と最大値までの範囲内に分布するＺ段階の数値の何れかに該当する。演奏強度ｕ1は、Ｚ個の要素のうち当該演奏強度ｕ1の数値に対応する１個の要素が１に設定され、残余の(Ｚ−１)個の要素が０に設定されたＺ次元の演奏強度ベクトルで表現される（one-hot表現）。演奏データＱ1と推定データＱeとの間における演奏強度ｕ1の誤差ｅ1は、例えば、推定データＱeの演奏強度ベクトルに対する演奏データＱ1の演奏強度ベクトルの相互エントロピである。
【００５２】
発音点の時間差ｕ2の誤差ｅ2は、演奏データＱ1の単位データＵが指定する時間差ｕ2（Ｑ1）と推定データＱeの単位データＵが指定する時間差ｕ2（Ｑe）との差分の絶対値|ｕ2(Ｑe)−ｕ2(Ｑ1)｜である。同様に、継続長の差分ｕ3の誤差ｅ3は、演奏データＱ1の単位データＵが指定する継続長の差分ｕ3（Ｑ1）と推定データＱeの単位データＵが指定する継続長の差分ｕ3（Ｑe）との差分の絶対値|ｕ3(Ｑe)−ｕ3(Ｑ1)｜である。演奏速度の差分ｕ4の誤差ｅ4は、演奏データＱ1の単位データＵが指定する演奏速度の差分ｕ4（Ｑ1）と推定データＱeの単位データＵが指定する演奏速度の差分ｕ4（Ｑe）との差分の絶対値|ｕ4(Ｑe)−ｕ4(Ｑ1)｜である。
【００５３】
図１０は、制御装置１１が学習済モデルＭ1および学習済モデルＭ2を生成する処理（機械学習方法）の具体的な手順を例示するフローチャートである。例えば利用者からの指示を契機として図１０の処理が開始される。
【００５４】
図１０の処理を開始すると、学習処理部４１は、記憶装置１２に記憶された学習データＴ1を暫定モデルＸに入力する（Ｓc1）。暫定モデルＸは、学習データＴ1に応じた変動データＶを生成する（Ｓc2）。学習処理部４１は、学習データＴ1の楽譜データＳ2と暫定モデルＸが生成した変動データＶとを含む学習データＴ2を暫定モデルＹに入力する（Ｓc3）。暫定モデルＹは、学習データＴ2に応じた推定データＱeを生成する（Ｓc4）。更新処理部４２は、演奏データＱ1と推定データＱeとが近付き、かつ、変動データＶの確率分布λ(Ｖ)が目標分布Ｎ(0,1)に近付くように、暫定モデルＸの複数の係数Ｋ2と暫定モデルＹの複数の係数Ｋ1とを更新する（Ｓc5）。以上に説明した処理（Ｓc1〜Ｓc5）が複数のセットの学習データＴ1について反復されることで、学習済モデルＭ1および学習済モデルＭ2が生成される。
【００５５】
以上に説明した通り、第３実施形態によれば、楽譜に対する依存を低減した適切な変動データＶを生成可能な学習済モデルＭ2と、ひとつの楽曲の楽譜データＳ2に対して変動データＶに応じた多様な演奏を表す演奏データＱ1を生成可能な学習済モデルＭ1とを一括的に生成することが可能である。
【００５６】
＜第４実施形態＞
図８は、第３実施形態における情報処理装置１００Cの構成を例示するとともに、第４実施形態における情報処理装置１００Dの構成も例示する。両実施形態に係る情報処理装置１００Cおよび１００Dは、ハードウェア構成の面では同一であり、制御装置１１と記憶装置１２とを具備する。また、第４実施形態における情報処理装置１００Dは、ソフトウェア構成の面でも、第１実施形態から第３実施形態に関してこれまでに説明した様々な要素を共通して備える。よって、簡単のため、同じ参照符号を付した要素については、特に断らない限り、同じ構成および機能を有するものとする。
【００５７】
図８に例示される通り、第４実施形態の記憶装置１２も、第３実施形態における情報処理装置１００Cと同様に、複数のセットの学習データＴ1を記憶する。各セットの学習データＴ1に含まれる演奏データＱ1は、暫定モデルＸ4を学習するための学習データであり、各セットの学習データＴ1に含まれる楽譜データＳ2は、暫定モデルＹ4を機械学習するための学習データである。暫定モデルＸ4が訓練されると、学習済モデルＭ42となり、暫定モデルＹ4が訓練されると、学習済モデルＭ41となる。
【００５８】
図１１は、第４実施形態に係る情報処理装置１００Dの機能的な構成を例示するブロック図である。図１１に例示される通り、第４実施形態の制御装置１１は、記憶装置１２に記憶されたプログラムを実行することで、２つの学習済モデルＭ41およびＭ42を生成する機械学習を実行する学習処理部４４１として機能する。学習処理部４４１は、更新処理部４４２を含む。更新処理部４４２は、学習済モデルＭ41を規定する複数の係数Ｋ41と学習済モデルＭ42を規定する複数の係数Ｋ42とを反復的に更新する。
【００５９】
学習処理部４４１は、暫定モデルＸ4およびＹ4について機械学習を実行する。暫定モデルＸ4（第１暫定モデルの例示）は、学習済モデルＭ42の学習の過程にある暫定的なモデルである。すなわち、機械学習により複数の係数Ｋ42の更新が完了した段階の暫定モデルＸ4が、学習済モデルＭ42として利用される。他方、暫定モデルＹ4（第２暫定モデルの例示）は、学習済モデルＭ41の学習の過程にある暫定的なモデルである。すなわち、機械学習により複数の係数Ｋ41の更新が完了した段階の暫定モデルＹ4が、学習済モデルＭ41として利用される。
【００６０】
学習済モデルＭ41は、第１実施形態の学習済モデルＭ1と同様に、楽譜データＳ2および変動データＶを含む入力データと演奏データＱ1との間の関係を学習した統計的予測モデルである。具体的には、学習済モデルＭ41はニューラルネットワークで構成される。例えば、学習済モデルＭ41は、相互に直列に接続された複数の長短期記憶（LSTM）を含む。したがって、楽譜データＳ2において相前後する複数の音符の音符データＮの時系列が反映された演奏データＱ1が生成される。
【００６１】
学習済モデルＭ41は、楽譜データＳ2および変動データＶから演奏データＱ1を生成する演算を制御装置１１に実行させるプログラム（例えば人工知能ソフトウェアを構成するプログラムモジュール）と、当該演算に適用される複数の係数Ｋ41との組合せで実現される。学習済モデルＭ41を規定する複数の係数Ｋ41は、多量の学習データを利用した機械学習（特に深層学習）により設定されて記憶装置１２に保持される。
【００６２】
第４実施形態の学習済モデルＭ41は、VAE（Variational AutoEncoder）の亜種であるVRNN(Variational Recurrent Neural Network)のデコーダを含む。具体的には、学習済モデルＭ41は、既知の条件（condition）を入力に含むCVRNN（Conditional VRNN）のデコーダである。楽譜データＳ2はCVRNNの既知の条件に相当し、変動データＶはCVRNNの潜在変数（latent）に相当する。
【００６３】
一方、学習済モデルＭ42は、第２実施形態の学習済モデルＭ2と同様に、演奏データＱ1を含む入力データと変動データＶとの関係を学習した統計的予測モデルである。ただし、学習済モデルＭ2と異なり、入力データに、楽譜データＳ2は含まれない。具体的には、学習済モデルＭ42はニューラルネットワークで構成される。例えば、学習済モデルＭ42は、学習済モデルＭ41と同様に、相互に直列に接続された複数の長短期記憶（LSTM）を含む。したがって、演奏データＱ1において相前後する複数の音符の単位データＵの時系列が反映された変動データＶが生成される。
【００６４】
学習済モデルＭ42は、演奏データＱ1から変動データＶを生成する演算を制御装置１１に実行させるプログラム（例えば人工知能ソフトウェアを構成するプログラムモジュール）と、当該演算に適用される複数の係数Ｋ42との組合せで実現される。学習済モデルＭ42を規定する複数の係数Ｋ42は、多量の学習データを利用した機械学習（特に深層学習）により設定されて記憶装置１２に保持される。
【００６５】
第４実施形態の学習済モデルＭ42は、CVRNNのエンコーダを含む。具体的には、変動データＶはCVRNNの潜在変数（latent）に相当する。すなわち、学習済モデルＭ42は、演奏データＱ1の単位データＵに応じた確率分布の平均および分散を決定し、当該確率分布から変動データＶを抽出（サンプリング）する。
【００６６】
図１１に例示される通り、演奏データＱ1は、学習データＴ41（第１学習データの例示）として、暫定モデルＸ4に入力される。暫定モデルＸ4は、学習データＴ41から変動データＶ（潜在変数）を生成するCVRNNのエンコーダである。他方、暫定モデルＹ4には、学習データＴ1の楽譜データＳ2と暫定モデルＸ4が生成した変動データＶとを含む学習データＴ42（第２学習データの例示）が入力される。暫定モデルＹ4は、学習データＴ42から演奏データＱ1（以下「推定データＱe」という）を生成するCVRNNのデコーダである。
【００６７】
更新処理部４４２は、学習データＴ41の演奏データＱ1と暫定モデルＹ4が生成する推定データＱeとが近付き、かつ、暫定モデルＸ4が生成する変動データＶの確率分布λ4（Ｖ）が特定の確率分布（以下「目標分布」という）に近付くように、暫定モデルＸ4の複数の係数Ｋ42と暫定モデルＹ4の複数の係数Ｋ41とを反復的に更新する。第４実施形態の目標分布λ4'（Ｖ）は、事前分布である所定のモデルＸ4'から出力される、変動データＶの平均および分散に従う正規分布である（図１２参照）。モデルＸ4'は、暫定モデルＸ4と共通する状態変数ｈを有する。状態変数ｈは、図１３に示されるような所定のモデルＲ4により定義され、本実施形態のモデルＲ4は、現在の状態変数ｈ、演奏データＱ1（推定データＱeであってもよい）、楽譜データＳ2および変動データＶを入力とし、次の音符に対応する状態変数ｈを出力するモデルである。モデルＸ4'およびＲ4は、いずれもニューラルネットワークにより構成することができる。また、モデルＲ4は、ＲＮＮ（多層ＬＳＴＭ等）により構成し得る。モデルＸ4'およびＲ4は、モデルＭ41およびＭ42と同時に学習される。すなわち、モデルＸ4'の複数の係数Ｋ43およびモデルＲ4の複数の係数Ｋ44は、モデルＭ41およびＭ42の学習過程において、暫定モデルＸ4およびＹ4とともに反復的に更新される。このように、第４実施形態は、目標分布λ4'（Ｖ）が学習される点で、第３実施形態と異なる。
【００６８】
具体的には、学習処理部４４１は、以下の数式(2)で表現される評価関数Ｆ4が減少する（理想的には最小化される）ように、確率的勾配降下法により係数Ｋ41およびＫ42、並びに係数Ｋ43およびＫ44を反復的に更新する。
Ｆ4＝Ｌa (Ｑ1,Ｑe)＋Ｌb (λ4(Ｖ), λ4'（Ｖ）)  …(2)
【００６９】
数式(2)の右辺の第１項（Ｌa (Ｑ1,Ｑe)）は、演奏データＱ1と推定データＱeとの誤差に相当する。なお、実際には、演奏データＱ1の単位データＵと推定データＱeの単位データＵとの誤差Ｅを楽曲内の複数の音符にわたり合計することで誤差Ｌa (Ｑ1,Ｑe)が算定される。誤差Ｅは、第３実施形態と同様に算出可能である。他方、数式(2)の右辺の第２項（Ｌb (λ4 (Ｖ), λ4'（Ｖ）)）は、変動データＶの確率分布λ4(Ｖ)と目標分布λ4'（Ｖ）との誤差（例えばＫＬダイバージェンス）に相当する。以上の説明から理解される通り、評価関数Ｆ4を最小化することで、演奏データＱ1と推定データＱeとが近付き、かつ、変動データＶの確率分布λ4(Ｖ)が目標分布λ4'（Ｖ）に近付く。
【００７０】
図１４は、制御装置１１が学習済モデルＭ41およびＭ42を生成する処理（機械学習方法）の具体的な手順を例示するフローチャートである。例えば利用者からの指示を契機として図１４の処理が開始される。
【００７１】
図１４の処理を開始すると、学習処理部４４１は、記憶装置１２に記憶された演奏データＱ1を学習データＴ41として、状態変数ｈとともに、暫定モデルＸ4に入力する（Ｓd1）。これにより、確率分布λ4（平均および分散）が導出される。暫定モデルＸ4は、この確率分布λ4から変動データＶをサンプリングし、演奏データＱ1に応じた変動データＶを生成する（Ｓd2）。学習処理部４４１は、記憶装置１２に記憶された楽譜データＳ2と、暫定モデルＸ4が生成した変動データＶとを含む学習データＴ42を暫定モデルＹ4に入力する（Ｓd3）。暫定モデルＹ4は、学習データＴ42に応じた推定データＱeを生成する（Ｓd4）。学習処理部４４１は、状態変数ｈをモデルＸ4'に入力し、目標分布λ4'（平均および分散）を導出する（Ｓd5）。更新処理部４４２は、現在の状態変数ｈ、暫定モデルＸ4が生成した変動データＶ、記憶装置１２に記憶された演奏データＱ1（暫定モデルＹ4が生成した推定データＱeであってもよい）、および記憶装置１２に記憶された楽譜データＳ2をモデルＲ4に入力し、状態変数ｈを更新する（Ｓd6）。更新処理部４４２は、暫定モデルＸ4およびＹ4、並びにモデルＸ4'およびＲ4を更新する（Ｓd7）。Ｓd7では、演奏データＱ1と推定データＱeとが近付き、かつ、変動データＶの確率分布λ4(Ｖ)が、更新された目標分布λ4'（Ｖ）に近付くように、暫定モデルＸ4の複数の係数Ｋ42と、暫定モデルＹ4の複数の係数Ｋ41と、モデルＸ4'の複数の係数K43と、モデルＲ4の複数の係数K44とを更新する。以上に説明した処理（Ｓd1〜Ｓd7）が複数のセットの学習データＴ1について反復されることで、学習済モデルＭ41および学習済モデルＭ42が生成される。なお、処理Ｓd1〜Ｓd6は、１つの音符を単位として、繰り返し実行される。処理Ｓd7は、学習データＴ1に対して累積した誤差（評価関数Ｆ4）に対して、繰り返し実行される。
【００７２】
以上説明した通り、第４実施形態によれば、変動データＶを生成可能な学習済モデルＭ42と、ひとつの楽曲の楽譜データＳ2に対して変動データＶに応じた多様な演奏を表す演奏データＱ1を生成可能な学習済モデルＭ41とを一括的に生成することが可能である。
【００７３】
第４実施形態では、第３実施形態に対し以下の利点を有する。まず、以上の説明から理解される通り、変動データＶは、暫定モデルＸ4内の状態変数ｈに応じてサンプリングされるが、変動データＶの生成には、楽譜データＳ2は使用されない。変動データＶは、このように楽譜データＳ2から独立することで、楽譜データＳ2が表現する音楽的なコンテクストから切り離され、音楽表現をより抽象的に表現することが可能になる。その結果、変動データＶには、音符単位でのミクロな情報（例えば１つの音符の強弱や長さ等）ではなく、楽曲の「流れ」のようなマクロな情報が獲得されることになる。
【００７４】
次に、演奏データＱ1は、変動データＶおよび楽譜データＳ2に依存するが、暫定モデルＸ4内の状態変数ｈには依存しない。より正確には、演奏データＱ1は、変動データＶの背後にある暫定モデルＸ4内の状態変数ｈには、変動データＶを介して間接的に依存する。その結果、状態変数ｈが、演奏データＱ1の生成に直接関与することが阻害され、変動データＶには、演奏のおおまかな表情が符号化される。言い換えると、演奏データＱ1は、楽譜データＳ2からミクロな情報を獲得し、変動データＶおよび暫定モデルＸ4内の状態変数ｈは、マクロな情報を獲得するように誘導される。状態変数ｈには、演奏の表情がとり得る遷移が獲得される。以上のことは、変動データＶが有意義な音楽表現を学習する上で重要となる。仮に、演奏データＱ1がモデル内の状態変数に直接依存する場合、変動データＶの存在はほぼ無視され、単に状態変数を用いた演奏データＱ1の自己回帰モデルのようなモデルが学習されることになる。そのようなモデルが生じるのは、モデルにとっては、音楽表現の差を説明できるよう学習するよりも、単に次の音符を予測できるように学習する方がはるかに容易だからである。以上の結果、変動データＶがより音楽表現を表すようになり、変動データＶを操作するだけで、一貫した演奏の表情(例えば全体的な強弱や、アーティキュレーション等)を操作できるようになる。また、変動データＶは、比較的低次元で表現され、操作が容易であるため、音楽表現を容易に変化させることが可能になる。
【００７５】
なお、第４実施形態で生成された学習済モデルＭ41およびＭ42は、それぞれ、第１実施形態の学習済モデルＭ1および第２実施形態の学習済モデルＭ2に代えて、情報処理装置１００Aの推定処理部２３および情報処理装置１００Bの推定処理部３３に実装することができる。この場合、学習済モデルＭ41により、ひとつの楽曲に対して多様な演奏を表す演奏データＱ1を生成することができるようになり、学習済モデルＭ42により、楽譜に対する依存を低減した適切な変動データＶを生成することができる。
【００７６】
＜変形例＞
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された２個以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
【００７７】
（１）第１実施形態では、演奏データＱ1の生成前に変動データＶを設定したが、変数制御部２２は、演奏データＱ1の生成に並行して変動データＶを段階的または連続的に変化させてもよい。すなわち、演奏データＱ1の複数の音符に対応する単位データＵの時系列に反映される変動データＶが時間的に変化する。
【００７８】
（２）第１実施形態（図２）では、前処理部２１が楽譜データＳ1から楽譜データＳ2を生成したが、記憶装置１２に楽譜データＳ2を記憶し、当該楽譜データＳ2を推定処理部２３に入力してもよい。楽譜データＳ2が記憶装置１２に記憶された構成では、前処理部２１が省略される。第２実施形態（図６）においても同様に、記憶装置１２に記憶された楽譜データＳ2を推定処理部３３に入力する構成により、前処理部３１が省略される。
【００７９】
（３）第１実施形態では、後処理部２４が演奏データＱ1から演奏データＱ2を生成したが、演奏データＱ2の生成（すなわち後処理部２４）を省略してもよい。また、第２実施形態（図６）では、前処理部３２が演奏データＱ2から演奏データＱ1を生成したが、記憶装置１２に演奏データＱ1を記憶し、当該演奏データＱ1を推定処理部３３に入力してもよい。演奏データＱ1が記憶装置１２に記憶された構成では、前処理部３２が省略される。
【００８０】
（４）前述の各形態で説明した通り、楽譜データＳ2の各音符の音符データＮに含まれる特徴ベクトルｎ10は、畳込ニューラルネットワーク（CNN）等の学習済モデルにより生成される。特徴ベクトルｎ10を生成するための統計的推定モデル（以下「特徴抽出モデル」という）を、第３実施形態における機械学習の過程で学習済モデルＭ1および学習済モデルＭ2とともに生成してもよい。
【００８１】
図１５は、第３実施形態の変形例における情報処理装置１００Cの機能的な構成を例示するブロック図である。図１５に例示される通り、学習処理部４１は、第３実施形態と同様の要素（暫定モデルＸ、暫定モデルＹおよび更新処理部４２）に加えて前処理部５１を具備する。前処理部５１は、第１実施形態の前処理部２１および第２実施形態の前処理部３１と同様に、楽譜データＳ1から楽譜データＳ2を生成する。図１５に例示される通り、前処理部５１は、楽譜データＳ1から楽譜データＳ2の特徴ベクトルｎ10を生成する暫定的な特徴抽出モデル５２を含んで構成される。特徴抽出モデル５２は、例えば複数の係数で規定される畳込ニューラルネットワークである。
【００８２】
図１５の更新処理部４２は、演奏データＱ1と推定データＱeとが近付き、かつ、変動データＶの確率分布λ(Ｖ)が目標分布Ｎ(0,1)に近付くように、暫定モデルＸの複数の係数Ｋ2および暫定モデルＹの複数の係数Ｋ1と、暫定的な特徴抽出モデル５２の複数の係数とを反復的に更新する。各係数の更新が反復されることで、学習済の特徴抽出モデル５２が生成される。学習済の特徴抽出モデル５２は、第１実施形態の前処理部２１または第２実施形態の前処理部３１に搭載され、楽譜データＳ1から楽譜データＳ2の音符データＮにおける特徴ベクトルｎ10を生成する。以上の構成によれば、楽譜データＳ2の音符データＮにおける特徴ベクトルｎ10を適切に抽出可能な特徴抽出モデル５２を生成することが可能である。
【００８３】
同様に、第４実施形態の暫定モデルＹ4に入力される楽譜データＳ2についても、以上のような特徴抽出モデル５２が実装された前処理部５１が生成するようにしてもよい。さらに、この場合に、以上と同様に、暫定モデルＸ4、暫定モデルＹ4および特徴抽出モデル５２を同時に学習してもよい。
【００８４】
（５）相異なる複数の音楽表現を表す変動データＶを第２実施形態により生成し、複数の音楽表現を表す変動データＶの組合せにより任意の音楽表現を表す変動データＶを生成することも可能である。例えば、相異なる音楽表現を表す４種類の変動データＶ1〜Ｖ4を第２実施形態の推定処理部３３が生成した場合を想定する。変動データＶ1と変動データＶ2とは、演奏速度が相違する音楽表現を表し、変動データＶ3と変動データＶ4とは、演奏強度が相違する音楽表現を表す。制御装置１１は、以下の数式(2)の演算により変動データＶnewを生成する。
Ｖnew＝ａ(Ｖ1−Ｖ2)＋ｂ(Ｖ3−Ｖ4)  …(2)
【００８５】
数式(2)の記号ａおよび記号ｂは所定の定数である。数式(2)の右辺の第１項における差分(Ｖ1−Ｖ2)は、変動データＶ1が表す演奏速度と変動データＶ2が表す演奏速度との差分に相当する音楽表現である。他方、数式(2)の右辺の第２項における差分(Ｖ3−Ｖ4)は、変動データＶ3が表す演奏強度と変動データＶ4が表す演奏強度との差分に相当する音楽表現である。以上の構成によれば、多様な音楽表現を表す変動データＶnewを生成することが可能である。
【００８６】
（６）第２実施形態の推定処理部３３が生成する変動データＶに対して補間処理を実行してもよい。例えば、推定処理部３３は、演奏者Ａによる演奏を表す演奏データＱ2aと楽譜データＳ1とから変動データＶaを生成する。また、推定処理部３３は、演奏者Ｂによる演奏を表す演奏データＱ2bと楽譜データＳ1とから変動データＶbを生成する。制御装置１１は、変動データＶaと変動データＶbとの間の補間処理により、演奏者Ａに特有の音楽表現と演奏者Ｂに特有の音楽表現との中間的な音楽表現を表す変動データＶを生成する。
【００８７】
（７）前述の各形態に係る情報処理装置１００（１００A，１００B，１００C）の機能は、コンピュータ（例えば制御装置１１）とプログラムとの協働により実現される。本発明の好適な態様に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされる。記録媒体は、例えば非一過性（non-transitory）の記録媒体であり、ＣＤ-ＲＯＭ等の光学式記録媒体（光ディスク）が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含む。なお、非一過性の記録媒体とは、一過性の伝搬信号（transitory, propagating signal）を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供してもよい。
【００８８】
（８）学習済モデル（Ｍ1，Ｍ2）および特徴抽出モデル５２を実現するための人工知能ソフトウェアの実行主体はＣＰＵに限定されない。例えば、Tensor Processing UnitおよびNeural Engine等のニューラルネットワーク専用の処理回路、または、人工知能に専用されるＤＳＰ（Digital Signal Processor）が、人工知能ソフトウェアを実行してもよい。また、以上の例示から選択された複数種の処理回路が協働して人工知能ソフトウェアを実行してもよい。
【００８９】
（９）第１実施形態、第２実施形態および変形例（４）における前処理部２１、３１および５１による楽譜データＳ2の生成には、図１６に示すような統計的推定モデル（以下「特徴抽出モデル」という）５３を使用してもよい。特徴抽出モデル５３は、CNNと再帰型ニューラルネットワーク（RNN: Recurrent Neural Network）とを結合したネットワーク（CNN-RNN: Convolutional Recurrent Network）である。具体的には、まず、以上に説明したベクトルｎ1〜ｎ9と、上以上に説明したCNN（符号５３１で示す）の出力である特徴ベクトルｎ10とを連結した連結データＭを生成する。連結データＭは、音符の単位で順次生成される。次に、連結データＭを、順次、多層パーセプトロン５３２に入力し、多層パーセプトロン５３２の出力を、順次、リニア層（図示略）を用いて所定の次元数にエンベディングする。エンベディングされたベクトルは、順次、多段に積み上げられたゲート付き再帰型ユニット（GRU: Gated Recurrent Unit）から構成されるRNN５３３に入力される。各段のGRUは、エンベディングされたベクトルの次元数と同じ数のニューロンを有する。次に、順次取得されるRNN５３３の出力と、多層パーセプトロン５３２の出力とを連結し、音符データＮとする。最後に、こうして音符の単位で順次生成された音符データＮを連結することで、楽譜データＳ2が生成される。これにより、元の楽譜を要約したより低次元の楽譜データＳ2が生成される。このような楽譜データＳ2が使用される場合には、楽曲に含まれるメロディーや和音が認識され易くなる。
【００９０】
楽譜データＳ1から楽譜データＳ2を生成するための特徴抽出モデル５３が、変形例（４）に適用される場合、当該モデル５３は、機械学習の過程で学習済モデルＭ1および学習済モデルＭ2とともに生成される。この場合、図１５に示される前処理部５１は、特徴ベクトルｎ10を生成する暫定的な特徴抽出モデル５２に代えて、暫定的な特徴抽出モデル５３を含んで構成される。また、変形例（４）が第４実施形態に適用される場合にも、特徴抽出モデル５２に代えて、特徴抽出モデル５３を用いることができる。
【００９１】
＜付記＞
以上に例示した形態から、例えば以下の構成が把握される。
【００９２】
本発明の好適な態様（第１態様）に係る情報処理方法は、楽曲の楽譜を表す楽譜データと、演奏を変動させる要因を表す変動データとを、学習済モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す演奏データを生成することを含む。以上の態様によれば、楽譜データと可変の変動データとを入力することで演奏データが生成されるから、変動データに応じた多様な演奏を表す演奏データを生成することが可能である。なお、第１態様における学習済モデルは、例えばCVAEのデコーダやCVRNNのデコーダである。例えば前述の第１実施形態が第１態様の具体例に相当する。
【００９３】
第１態様の好適例（第２態様）において、前記楽譜データは、前記楽曲の相異なる音符の各々に対応する音符データを含み、前記楽曲内の第１音符に対応する音符データは、前記楽曲の拍子と、前記楽曲の調号と、前記第１音符の音高と、前記第１音符の音価と、小節内における前記第１音符の位置と、直前の音符に対する前記第１音符の発音点の時間差と、前記第１音符の演奏強度と、前記第１音符の演奏記号と、前記第１音符の演奏速度と、前記楽曲内で前記第１音符を含む区間の特徴を表す特徴ベクトルと、のうちの少なくともひとつを含む。以上の態様によれば、楽曲において演奏を変動させる要因を適切に反映した演奏データを生成することが可能である。
【００９４】
第１態様または第２態様の好適例（第３態様）において、前記演奏データは、前記楽曲の相異なる音符の各々に対応する複数の単位データを含み、前記楽曲内の第２音符に対応する単位データは、前記第２音符の演奏強度と、前記楽譜により前記第２音符に指定される発音点と演奏による前記第２音符の発音点との時間差と、前記楽譜により前記第２音符に指定される継続長と演奏による前記第２音符の継続長との差分と、前記楽譜により前記第２音符に指定される演奏速度と演奏による前記第２音符の演奏速度との差分と、のうちの少なくともひとつを含む。以上の態様によれば、楽曲において演奏を変動させる要因を適切に反映した演奏データを生成することが可能である。
【００９５】
本発明の好適な態様（第４態様）に係る情報処理方法は、楽曲の演奏を表す演奏データを含む第１学習データを第１暫定モデルに入力することで、演奏を変動させる要因を表す変動変数であって特定の確率分布に従う変動データを生成することと、前記楽曲の楽譜を表す楽譜データと、前記第１暫定モデルが生成した変動データと、を含む第２学習データを第２暫定モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す推定データを生成することと、前記第１学習データの前記演奏データと前記第２暫定モデルが生成する前記推定データとが近付き、かつ、前記第１暫定モデルが生成する変動データの確率分布が特定の目標分布に近付くように、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とを更新する。以上の態様によれば、楽譜に対する依存を低減した適切な変動データを生成可能な学習済モデル（機械学習後の第１暫定モデル）と、変動データに応じた多様な演奏を表す演奏データを生成可能な学習済モデル（機械学習後の第２暫定モデル）と、を生成することが可能である。例えば前述の第３実施形態および第４実施形態が第４態様の具体例に相当する。
【００９６】
第４態様の好適例（第５態様）において、前記第１学習データは、前記楽譜データをさらに含む。例えば前述の第３実施形態が第５態様の具体例に相当する。
【００９７】
第４態様の好適例（第６態様）において、前記情報処理方法は、前記特定の確率分布を決定付ける前記第１暫定モデルの状態変数を事前分布に入力することで、前記特定の目標分布を生成することをさらに含み、前記事前分布を規定する係数は、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とともに更新される。例えば前述の第４実施形態が第６態様の具体例に相当する。
【００９８】
本発明の好適な態様（第７態様）に係る情報処理方法は、楽曲の演奏を表す演奏データを学習済モデルに入力することで、演奏を変動させる要因を表す変数であって特定の確率分布に従う潜在変数を生成する。以上の態様によれば、演奏データを学習済モデルに入力することで変動データが生成される。この方法によれば、楽譜に対する依存を低減した適切な変動データを生成することが可能である。なお、第７態様における学習済モデルは、例えばCVRNNのエンコーダである。例えば前述の第４実施形態の学習済モデルＭ42を第２実施形態の推定処理部３３に適用した場合が、第７態様の具体例に相当する。
【００９９】
本発明の好適な態様（第８態様）に係る情報処理方法は、楽曲の楽譜を表す楽譜データと、前記楽曲の演奏を表す演奏データとを、学習済モデルに入力することで、演奏を変動させる要因を表す変数であって特定の確率分布に従う潜在変数を生成する。以上の態様によれば、楽譜データと演奏データとを学習済モデルに入力することで変動データが生成される。したがって、楽譜データを利用せずに演奏データと変動データとの関係を学習した学習済モデルを利用して変動データを生成する構成と比較して、楽譜に対する依存を低減した適切な変動データを生成することが可能である。なお、第８態様における学習済モデルは、例えばCVAEのエンコーダである。例えば前述の第２実施形態が第５態様の具体例に相当する。
【０１００】
以上に例示した各態様の情報処理方法を実行する情報処理装置、または、以上に例示した各態様の情報処理方法をコンピュータに実行させるプログラムとしても、本発明の好適な態様は実現される。
【符号の説明】
【０１０１】
１００A，１００B，１００C，１００D…情報処理装置、１１…制御装置、１２…記憶装置、１３…入力装置、１４…表示装置、１５…音源装置、１６…放音装置、２１…前処理部、２２…変数制御部、２３…推定処理部、２４…後処理部、３１…前処理部、３２…前処理部、３３…推定処理部、４１…学習処理部、４２…更新処理部、５１…前処理部、５２…特徴抽出モデル、５３…特徴抽出モデル４４１…学習処理部、４４２…更新処理部。
【図１】
2020031544.tif 000003
【図２】
2020031544.tif 000004
【図３】
2020031544.tif 000005
【図４】
2020031544.tif 000006
【図５】
2020031544.tif 000007
【図６】
2020031544.tif 000008
【図７】
2020031544.tif 000009
【図８】
2020031544.tif 000010
【図９】
2020031544.tif 000011
【図１０】
2020031544.tif 000012
【図１１】
2020031544.tif 000013
【図１２】
2020031544.tif 000014
【図１３】
2020031544.tif 000015
【図１４】
2020031544.tif 000016
【図１５】
2020031544.tif 000017
【図１６】
2020031544.tif 000018
【手続補正書】
【提出日】令和3年1月8日(2021.1.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
楽曲の演奏を表す演奏データを含む第１学習データを第１暫定モデルに入力することで、演奏を変動させる要因を表す変動変数であって特定の確率分布に従う変動データを生成することと、
前記楽曲の楽譜を表す楽譜データと、前記第１暫定モデルが生成した変動データと、を含む第２学習データを第２暫定モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す推定データを生成することと、
前記第１学習データの前記演奏データと前記第２暫定モデルが生成する前記推定データとが近付き、かつ、前記第１暫定モデルが生成する変動データの確率分布が特定の目標分布に近付くように、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とを更新することと
を含む、コンピュータにより実現される情報処理方法。
【請求項２】
前記第１学習データは、前記楽譜データをさらに含む、
請求項１に記載のコンピュータにより実現される情報処理方法。
【請求項３】
前記特定の確率分布を決定付ける前記第１暫定モデルの状態変数を事前分布に入力することで、前記特定の目標分布を生成すること
をさらに含み、
前記事前分布を規定する係数は、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とともに更新される、
請求項１に記載のコンピュータにより実現される情報処理方法。
【請求項４】
制御部を具備する情報処理装置であって、
前記制御部は、
楽曲の演奏を表す演奏データを含む第１学習データを第１暫定モデルに入力することで、演奏を変動させる要因を表す変動変数であって特定の確率分布に従う変動データを生成することと、
前記楽曲の楽譜を表す楽譜データと、前記第１暫定モデルが生成した変動データと、を含む第２学習データを第２暫定モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す推定データを生成することと、
前記第１学習データの前記演奏データと前記第２暫定モデルが生成する前記推定データとが近付き、かつ、前記第１暫定モデルが生成する変動データの確率分布が特定の目標分布に近付くように、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とを更新することと
を実行する、情報処理装置。
【請求項５】
前記第１学習データは、前記楽譜データをさらに含む、
請求項４に記載の情報処理装置。
【請求項６】
前記特定の確率分布を決定付ける前記第１暫定モデルの状態変数を事前分布に入力することで、前記特定の目標分布を生成すること
をさらに含み、
前記事前分布を規定する係数は、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とともに更新される、
請求項４に記載の情報処理装置。
【請求項７】
楽曲の演奏を表す演奏データを含む第１学習データを第１暫定モデルに入力することで、演奏を変動させる要因を表す変動変数であって特定の確率分布に従う変動データを生成することと、
前記楽曲の楽譜を表す楽譜データと、前記第１暫定モデルが生成した変動データと、を含む第２学習データを第２暫定モデルに入力することで、前記要因による変動が反映された前記楽曲の演奏を表す推定データを生成することと、
前記第１学習データの前記演奏データと前記第２暫定モデルが生成する前記推定データとが近付き、かつ、前記第１暫定モデルが生成する変動データの確率分布が特定の目標分布に近付くように、前記第１暫定モデルを規定する複数の係数と、前記第２暫定モデルを規定する複数の係数とを更新することと
をコンピュータに実行させるプログラム。
【国際調査報告】
2020031544.tif 000019
2020031544.tif 000020
2020031544.tif 000021
2020031544.tif 000022