(57)【要約】  本開示に係る情報処理装置（１００）は、第１アプリ（２０）と、当該第１アプリの機能を拡張するプラグインとして機能する第２アプリ（２０）とを制御する情報処理装置であって、第１アプリは、第１アプリにおける第２アプリの動作を制御する制御部（１６１）を備え、第２アプリは、機械学習に基づく作曲機能を制御するための設定情報を選択する選択部（１６６）と、ネットワークを介して、設定情報を機械学習に基づく作曲機能を実行する外部サーバ（２００）に送信し、外部サーバによって作曲された楽曲データを受信する送受信部（１６７）と、を備える。
2020166094.tif 000002
【特許請求の範囲】
【請求項１】
第１アプリと、当該第１アプリの機能を拡張するプラグインとして機能する第２アプリとを制御する情報処理装置であって、
前記第１アプリは、
前記第１アプリにおける前記第２アプリの動作を制御する制御部を備え、
前記第２アプリは、
機械学習に基づく作曲機能を制御するための設定情報を選択する選択部と、
ネットワークを介して、前記設定情報を前記機械学習に基づく作曲機能を実行する外部サーバに送信し、当該外部サーバによって作曲された楽曲データを受信する送受信部と、
を備える情報処理装置。
【請求項２】
前記送受信部は、
前記楽曲データとして、規定された長さの小節におけるコード、当該小節におけるメロディ、当該小節におけるベース音を受信する
請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
前記楽曲データに含まれるコード、メロディ又はベース音を再生する際の音色を指定するための楽器情報を個別に設定する
請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、
前記楽曲データに含まれるコード、メロディ又はベース音に関する情報を表示するウインドウを各々個別に表示するよう制御する
請求項３に記載の情報処理装置。
【請求項５】
前記制御部は、
ユーザの操作に従い、前記コード、メロディ又はベース音に関する情報を表示する各ウインドウと、前記第１アプリに関する情報が表示されたウインドウ間の情報の送受信を制御する
請求項４に記載の情報処理装置。
【請求項６】
前記制御部は、
ユーザの操作に従い、前記コード、メロディ又はベース音に関する情報を表示する各ウインドウ間の情報の送受信を制御する
請求項４に記載の情報処理装置。
【請求項７】
前記選択部は、
前記設定情報として、前記機械学習の学習データとなる素材楽曲を指定するための指定情報を選択し、
前記送受信部は、
前記選択部によって選択された指定情報を前記外部サーバに送信する
請求項１に記載の情報処理装置。
【請求項８】
前記選択部は、
ユーザの操作に従い、予め記憶部に記憶された指定情報であって、前記指定情報の特徴を示す特徴情報と、当該特徴情報に対応付けられた複数の素材楽曲とを含む指定情報を選択する
請求項７に記載の情報処理装置。
【請求項９】
前記選択部は、
前記外部サーバによって作曲される楽曲データのうち一部の小節に対応する第１の指定情報と、他の一部の小節に対応する第２の指定情報とを組み合わせた組み合わせ指定情報を選択する
請求項７に記載の情報処理装置。
【請求項１０】
前記送受信部は、
前記組み合わせ指定情報に基づいて前記外部サーバによって作曲された楽曲データを受信した場合、当該組み合わせ指定情報と当該楽曲データとを対応付けて記憶部に格納する
請求項９に記載の情報処理装置。
【請求項１１】
前記選択部は、
前記設定情報として、前記指定情報に基づいて前記外部サーバによって作曲される楽曲データに含まれる音符の長さ情報を選択し、
前記送受信部は、
前記指定情報及び前記音符の長さ情報を前記外部サーバに送信する
請求項７に記載の情報処理装置。
【請求項１２】
前記選択部は、
前記設定情報として、前記指定情報に基づいて前記外部サーバによって作曲される楽曲データにおける、コードに含まれる構成音がメロディに登場する確率を決定するための情報を選択し、
前記送受信部は、
前記指定情報及び前記コードに含まれる構成音がメロディに登場する確率を決定するための情報を前記外部サーバに送信する
請求項７に記載の情報処理装置。
【請求項１３】
前記選択部は、
前記設定情報として、前記指定情報に基づいて前記外部サーバによって作曲される楽曲データにおいて、当該指定情報に含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報を選択し、
前記送受信部は、
前記指定情報及び当該指定情報に含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報を前記外部サーバに送信する
請求項７に記載の情報処理装置。
【請求項１４】
前記第２アプリは、
ユーザの操作に従い、前記外部サーバによって作曲された過去の楽曲データの履歴を記憶部から呼び出すとともに、当該過去の楽曲データの履歴を表示するよう制御する表示制御部をさらに備える
請求項１に記載の情報処理装置。
【請求項１５】
前記表示制御部は、
前記外部サーバによって作曲された過去の楽曲データに対して実行された編集操作の履歴を記憶部から呼び出すとともに、当該過去の楽曲データに対して実行された編集操作を表示するよう制御する
請求項１４に記載の情報処理装置。
【請求項１６】
前記送受信部は、
前記外部サーバによって作曲された楽曲データを受信したのち、ユーザによって当該楽曲データに対する再生もしくは編集操作が行われた場合、当該再生もしくは編集操作に関する情報を当該外部サーバに送信する
請求項１に記載の情報処理装置。
【請求項１７】
前記選択部は、
前記設定情報として、作曲される楽曲におけるコード進行をユーザの操作に基づいて選択し、
前記送受信部は、
前記選択部によって選択されたコード進行を前記外部サーバに送信する
請求項１に記載の情報処理装置。
【請求項１８】
前記制御部は、
前記第１アプリにおいて生成されたコード進行に関する情報を前記第２アプリに送るよう制御し、
前記選択部は、
前記設定情報として、前記第１アプリにおいて生成されたコード進行に関する情報を選択し、
前記送受信部は、
前記第１アプリにおいて生成されたコード進行に関する情報を前記外部サーバに送信し、当該コード進行に関する情報に基づいて作曲された楽曲データを受信する
請求項１に記載の情報処理装置。
【請求項１９】
第１アプリと、当該第１アプリの機能を拡張するプラグインとして機能する第２アプリとを制御する情報処理装置によって実行される情報処理方法であって、
前記第１アプリは、
前記第１アプリにおける前記第２アプリの動作を制御し、
前記第２アプリは、
機械学習に基づく作曲機能を制御するための設定情報を選択し、
ネットワークを介して、前記設定情報を前記機械学習に基づく作曲機能を実行する外部サーバに送信し、当該外部サーバによって作曲された楽曲データを受信する
情報処理方法。
【請求項２０】
第１アプリと、当該第１アプリの機能を拡張するプラグインとして機能する第２アプリとを制御する情報処理装置において、
前記第１アプリは、
前記第１アプリにおける前記第２アプリの動作を制御し、
前記第２アプリは、
機械学習に基づく作曲機能を制御するための設定情報を選択し、
ネットワークを介して、前記設定情報を前記機械学習に基づく作曲機能を実行する外部サーバに送信し、当該外部サーバによって作曲された楽曲データを受信する
ように前記情報処理装置を機能させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法及び情報処理プログラムに関する。詳しくは、機械学習に基づいて作曲される楽曲データの利用に関する。
【背景技術】
【０００２】
ＡＩ（Artificial  Intelligence）の進歩に伴い、芸術分野におけるコンピュータの活用が進められている。【０００３】
例えば、既存の楽曲を学習データとして機械学習を行って楽曲生成のための学習モデルを生成し、新たな楽曲をコンピュータに作曲させる技術が知られている（例えば、特許文献１）。かかる技術では、マルコフモデルを用いて、既存の楽曲の特徴を模倣したり、より自然な旋律を生成したりすることが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第９１１０８１７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術によれば、作曲作業においてＡＩによって提案（生成）された楽曲データを利用することができるため、ユーザは、より多様な観点に基づいて作曲を行うことができる。【０００６】
しかしながら、上記の従来技術では、ＡＩによる自動作曲機能の利便性を向上させることができるとは限らない。例えば、現状ではユーザの多くはＤＡＷ（Digital  Audio  Workstation）を利用して作曲や編曲、録音等の作業を行う。しかし、ユーザが上記の従来技術をＤＡＷと併用して利用する際には、異なる作業環境を行き来しながら作業を進めることになるため、作業効率が低下するおそれがある。また、ＡＩによる自動作曲機能は、一般に情報処理の負荷が大きいため、端末装置においてＤＡＷと同時に実行すると、充分な機能が発揮できなかったり、ＤＡＷ側の処理に遅延を発生させたりするおそれがある。【０００７】
そこで、本開示では、ＡＩによる自動作曲機能の利便性を向上させることができる情報処理装置、情報処理方法及び情報処理プログラムを提案する。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、第１アプリと、当該第１アプリの機能を拡張するプラグインとして機能する第２アプリとを制御する情報処理装置であって、前記第１アプリは、前記第１アプリにおける前記第２アプリの動作を制御する制御部を備え、前記第２アプリは、機械学習に基づく作曲機能を制御するための設定情報を選択する選択部と、ネットワークを介して、前記設定情報を前記機械学習に基づく作曲機能を実行する外部サーバに送信し、当該外部サーバによって作曲された楽曲データを受信する送受信部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理の流れを示す概念図である。
【図２】実施形態に係るユーザインターフェイスの一例を示す図（１）である。
【図３】実施形態に係るユーザインターフェイスの一例を示す図（２）である。
【図４】実施形態に係るスタイルパレットの一例を示す図である。
【図５】実施形態に係る情報処理の流れを示すブロック図である。
【図６】本開示の実施形態に係る情報処理システムを示す図である。
【図７】実施形態に係るユーザ端末の構成例を示す図である。
【図８】実施形態に係る作曲設定情報の一例を示す図である。
【図９】実施形態に係る作曲楽曲情報の一例を示す図である。
【図１０】実施形態に係る履歴情報の一例を示す図である。
【図１１】実施形態に係る担当楽器情報の一例を示す図である。
【図１２】実施形態に係る処理サーバの構成例を示す図である。
【図１３】実施形態に係るユーザ情報の一例を示す図である。
【図１４】実施形態に係る楽曲情報の一例を示す図である。
【図１５】実施形態に係るスタイルパレット情報の一例を示す図である。
【図１６】実施形態に係るスタイルパレットシーケンス情報の一例を示す図である。
【図１７】実施形態に係るユーザ作曲情報の一例を示す図である。
【図１８】実施形態に係る履歴情報の一例を示す図である。
【図１９】実施形態に係る情報処理の手順を示すフローチャートである。
【図２０】情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【００１１】
以下に示す項目順序に従って本開示を説明する。
１．実施形態
１−１．実施形態に係る情報処理の一例
１−２．実施形態に係る情報処理システムの構成
１−３．実施形態に係る情報処理装置（ユーザ端末）の構成
１−４．実施形態に係る外部サーバ（処理サーバ）の構成
１−５．実施形態に係る情報処理の手順
２．変形例
２−１．楽曲データの形態
２−２．ホストアプリ
２−３．ＤＡＷによる制御
２−４．情報処理システムの態様
３．その他の実施形態
４．本開示に係る情報処理装置の効果
５．ハードウェア構成
【００１２】
（１．実施形態）
［１−１．実施形態に係る情報処理の一例］
まず、図１を用いて、本開示に係る情報処理の一例を説明する。図１は、実施形態に係る情報処理の流れを示す概念図である。実施形態に係る情報処理は、本開示に係る情報処理装置の一例であるユーザ端末１０、及び、本開示に係る外部サーバの一例である処理サーバ１００によって実行される。ユーザ端末１０及び処理サーバ１００は、図１に示す有線又は無線のネットワークＮ（例えばインターネット等）を用いて相互に通信を行う。なお、ユーザ端末１０及び処理サーバ１００の台数は、図１に図示したものに限られない。
【００１３】
図１に示すユーザ端末１０は、本開示に係る情報処理装置の一例である。例えば、ユーザ端末１０は、ＰＣ（personal  computer）やタブレット端末、スマートフォン等の情報処理端末である。ユーザ端末１０には、各種のプログラムアプリケーション（以下、単に「アプリ」と称する）が備えられる（インストールされる）。ユーザ端末１０は、各種アプリを起動実行し、各種情報処理を実行する。
【００１４】
実施形態では、ユーザ端末１０は、総合的な音楽制作環境を実現するアプリ（いわゆるＤＡＷ）を備える。以下の説明では、当該アプリ（ＤＡＷ）を、第１アプリもしくはホストアプリと称する。実施形態に係る第１アプリは、機能を拡張するための他のアプリを組み込む（挿入する）ことが可能である。すなわち、第１アプリは、機能を拡張するための他のアプリである、いわゆるプラグインを利用可能であるものとする。この場合、第１アプリは、組み込まれたプラグインのホストアプリとして機能する。
【００１５】
また、実施形態では、ユーザ端末１０は、ＡＩによる自動作曲機能を有するアプリを備える。以下の説明では、当該アプリ（ＡＩによる自動作曲機能を有するアプリ）を第２アプリもしくはプラグインと称する。実施形態に係る第２アプリは、上記した第１アプリのプラグインとして組み込まれるものとする。プラグインは、例えば、ＶＳＴ（Steinberg's  Virtual  Studio  Technology）（登録商標）、ＡｕｄｉｏＵｎｉｔｓ、ＡＡＸ（Avid  Audio  eXtension）等の形態をとることができる。
【００１６】
図１に示す処理サーバ１００は、ユーザ端末１０が備える第２アプリに関する情報処理を実行するサーバ装置である。例えば、処理サーバ１００は、いわゆるクラウドサーバであり、ネットワークＮを介してユーザ端末１０から指令された情報に基づいて、所定の情報処理を実行する。具体的には、処理サーバ１００は、ユーザ端末１０から送信された情報に基づき、所定の学習処理や、学習したモデルから出力されるデータに基づいて楽曲データを生成する。言い換えれば、処理サーバ１００は、ユーザ端末１０の指令に基づき、ＡＩによる自動作曲機能を実行する。例えば、処理サーバ１００は、上述した先行技術文献等に示されるように、マルコフモデル等を用いて自動作曲された楽曲データをユーザ端末１０に提供する。
【００１７】
上記のように、ユーザ端末１０は、プラグインとして第２アプリを利用することで、第２アプリ上で処理サーバ１００から提供された楽曲データを第１アプリ上にドラッグアンドドロップしたり、第１アプリ上で編集作業を行ったりすることができる。また、従来では、自動作曲機能は、処理が実行される端末の処理性能（ＣＰＵパワー等）に依存していたが、図１に示すように、ユーザ端末１０は、自装置で学習処理等を行わず、処理サーバ１００に処理を実行させる。これにより、ユーザ端末１０は、自装置のリソースを節約しつつ、自動作曲機能という処理負荷の比較的高い処理を実行することができる。このため、ユーザ端末１０は、従来の課題であったＤＡＷの処理遅延（レイテンシーの発生等）を解決することができる。結果として、本開示に係るユーザ端末１０は、ＡＩによる自動作曲機能の利便性を向上させることができる。以下、本開示に係る情報処理の概要について、図１を用いて流れに沿って説明する。
【００１８】
図１に示すように、ユーザ端末１０は、ホストアプリ（第１アプリ）２０を起動する（ステップＳ１）。また、ユーザ端末１０は、ホストアプリ２０で動作するプラグインの一例として、プラグイン（第２アプリ）２２を起動する（ステップＳ２）。
【００１９】
ユーザ端末１０は、ユーザの操作に従い、プラグイン２２において自動作曲する楽曲の設定情報を選択する。詳細は後述するが、ユーザ端末１０は、ユーザの操作に従い、自動作曲する楽曲のコード進行や、楽曲の主観的イメージ（暗い、明るいなど）、楽曲の構成等の設定情報を選択する。そして、ユーザ端末１０は、選択した設定情報を処理サーバ１００に送信する（ステップＳ３）。
【００２０】
処理サーバ１００は、ユーザ端末１０から送信された設定情報に基づいて、所定の学習処理を行い、学習結果に基づいて作曲処理を行う（ステップＳ４）。かかる作曲処理には、例えば上記の先行技術文献に記載された処理が利用されてもよい。そして、処理サーバ１００は、作曲した楽曲データを生成する。
【００２１】
続いて、処理サーバ１００は、生成した楽曲データをユーザ端末１０に送信する（ステップＳ５）。ユーザ端末１０は、プラグイン２２において、処理サーバ１００から送信された楽曲データを受信する。例えば、楽曲データには、処理サーバ１００によって生成されたコード進行や、メロディや、ベース音進行等の情報が含まれる。なお、楽曲データは、ＭＩＤＩ（Musical  Instrument  Digital  Interface）データ等の標準規格データであってもよいし、波形データであってもよいし、ＤＡＷ独自規格データであってもよい。ユーザは、受信した楽曲データをプラグイン２２上で編集してもよいし、また、楽曲データをホストアプリ２０にコピーし、ホストアプリ２０上で利用してもよい。
【００２２】
このように、ユーザ端末１０は、ホストアプリ２０と、ホストアプリ２０の機能を拡張するプラグインとして機能するプラグイン２２とを制御する。また、ホストアプリ２０は、ホストアプリ２０におけるプラグイン２２の動作を制御する。また、プラグイン２２は、機械学習に基づく作曲機能を制御するための設定情報を選択し、ネットワークＮを介して、設定情報を処理サーバ１００に送信し、処理サーバ１００によって作曲された楽曲データを受信する。
【００２３】
すなわち、ユーザ端末１０は、ＤＡＷのプラグインとして自動作曲機能を利用する。このため、ユーザは、ＤＡＷという通常の作業環境のままで自動作曲機能の支援を受けることができる。また、ユーザは、自動作曲機能における処理負荷を処理サーバ１００に担わせることで、ＤＡＷにおいて処理の遅延が発生することを回避できる。結果として、ユーザ端末１０は、ＡＩによる自動作曲機能の利便性を向上させることができる。
【００２４】
次に、図２乃至図４を用いて、プラグイン２２による自動作曲機能の詳細について説明する。
【００２５】
図２は、実施形態に係るユーザインターフェイスの一例を示す図（１）である。図２には、プラグイン２２がユーザ端末１０の画面上に表示された際のユーザインターフェイスの一例を示す。
【００２６】
図２に示す例では、ユーザインターフェイス３０は、プラグイン２２が受信した楽曲データを表示する。なお、詳細は後述するが、プラグイン２２における楽曲データは、メロディとコードとベース音の３種類の異なるデータから構成される。図２に示すユーザインターフェイス３０は、３種類の異なるデータのうち、メロディに関するデータを表示する。
【００２７】
設定情報３１は、自動作曲機能における設定情報の一例である、スタイルパレットに関する情報を表示する。スタイルパレットとは、機械学習の学習データとなる素材楽曲を指定するための指定情報である。
【００２８】
設定情報３２は、自動作曲機能における設定情報の一例である、ハーモニーに関する情報を表示する。ハーモニーに関する情報とは、例えば、処理サーバ１００によって作曲される楽曲データにおける、コードに含まれる構成音がメロディに登場する確率を決定するための情報である。例えば、ユーザがハーモニーに関する情報を「厳格（strict）」に設定すると、自動作曲された楽曲データにおいて、コードに含まれる構成音がメロディに登場する確率が高くなる。一方、ユーザがハーモニーに関する情報を「ゆるい（loose）」に設定すると、自動作曲された楽曲データにおいて、コードに含まれる構成音がメロディに登場する確率が低くなる。図２の例では、ユーザは、ハーモニーに関する情報を「厳格（strict）」よりに適用させたことを示している。
【００２９】
設定情報３３は、自動作曲機能における設定情報の一例である、音符の長さ情報を表示する。音符の長さ情報とは、例えば、処理サーバ１００によって作曲される楽曲データにおける、音符の長さを決定するための情報である。例えば、ユーザが音符の長さ情報を「長い（long）」に設定すると、自動作曲された楽曲データにおいて、発音される音の長さが比較的長い音符（例えば、全音符や２分音符等）が登場する確率が高くなる。一方、ユーザが音符の長さ情報を「短い（short）」に設定すると、自動作曲された楽曲データにおいて、発音される音の長さが比較的短い音符（例えば、８分音符や１６分音符等）が登場する確率が高くなる。
【００３０】
設定情報３４は、自動作曲機能における設定情報の一例である、指定情報（ユーザが指定したスタイルパレット）に含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報を表示する。かかる情報は、例えば、処理サーバ１００によって作曲される楽曲データにおいて、ユーザが指定したスタイルパレットに含まれる楽曲に基づいて学習を厳格に行うか否かを決定するための情報である。例えば、ユーザがかかる情報を「利用しない（never）」に設定すると、自動作曲における学習において、スタイルパレットに含まれる楽曲以外の楽曲が利用される傾向が低くなる。一方、ユーザがかかる情報を「利用する（only）」に設定すると、自動作曲における学習において、スタイルパレットに含まれる楽曲以外の楽曲が利用される傾向が高くなる。
【００３１】
楽曲データ３５は、処理サーバ１００から送信された具体的な楽曲データを表示する。図２の例では、楽曲データ３５は、Ｃｍ等のコード進行を示す情報や、小節内の音高や音符の長さを示す情報、音符の高さの移り変わり（言い換えればメロディ）等を含む。また、図２に示すように、楽曲データ３５は、例えば４種類の異なる内容を含んでもよい。すなわち、処理サーバ１００は、自動作曲された楽曲データとして１種類だけを送信するのではなく、複数の楽曲データを送信してもよい。これにより、ユーザは、生成された複数の楽曲データの候補から、自身が好む楽曲データを選択したり、複数の楽曲データを組み合わせて好みの楽曲を作曲したりすることができる。
【００３２】
なお、図２に示すユーザインターフェイス３０は、楽曲データに含まれるメロディ、コード、ベース音の３種類の異なるデータのうち、メロディに関するデータを表示しているが、他のデータについては、他のユーザインターフェイスに表示される。この点について、図３を用いて説明する。図３は、実施形態に係るユーザインターフェイスの一例を示す図（２）である。
【００３３】
図３に示すように、ユーザ端末１０は、メロディに関するデータを表示するユーザインターフェイス３０に加えて、コードに関するデータを表示するユーザインターフェイス３８や、ベース音に関するデータを表示するユーザインターフェイス３９を画面上に表示してもよい。図３での図示は省略しているが、ユーザインターフェイス３８やユーザインターフェイス３９には、ユーザインターフェイス３０における楽曲データ３５とは異なる音符情報が表示される。具体的には、ユーザインターフェイス３８には、楽曲データのメロディに対応するコードに関する音符情報（例えば、コードＣｍの構成音等）が表示される。また、ユーザインターフェイス３９には、楽曲データのメロディやコードに対応するベース音に関する音符情報（例えば、コードＣｍであれば「Ｃ」音等）が表示される。
【００３４】
ユーザは、表示されたユーザインターフェイス３０、ユーザインターフェイス３８、ユーザインターフェイス３９の中から、ホストアプリ２０にコピーする情報を選択したり、例えばベース音の一部を編集したりといった作業を行うことができる。
【００３５】
続いて、図４を用いて、上記した設定情報の一例であるスタイルパレットに関して説明する。図４は、実施形態に係るスタイルパレットの一例を示す図である。
【００３６】
図４に示すウインドウ４０は、プラグイン２２において表示されるユーザインターフェイスの一例である。ユーザは、例えば、ウインドウ４０に表示されたスタイルパレットの特徴情報を参照して、自動作曲させたい楽曲と一致するイメージを選択する。例えば、ユーザは、「明るい」という特徴情報が記載されたスタイルパレット４１や、「暗い」という特徴情報が記載されたスタイルパレット４２等を選択する。また、ユーザは、「アメリカン」という、楽曲のジャンルや種別が特徴情報として記載されたスタイルパレット４３や、「Ａメロ→Ｂメロ→サビ」という、楽曲の構成が特徴情報として記載されたスタイルパレット４４を選択する。
【００３７】
なお、上記のように、スタイルパレットとは、処理サーバ１００が学習に用いる楽曲を指定するための情報である。すなわち、各スタイルパレットには、予め作曲された既存楽曲を特定するための情報が含まれる。例えば、スタイルパレット４１には、構成楽曲リスト５０が対応付けられているものとする。構成楽曲リスト５０には、複数の既存楽曲が含まれる。また、スタイルパレット４２には、構成楽曲リスト５１が対応付けられているものとする。構成楽曲リスト５１には、構成楽曲リスト５０に含まれる楽曲とは異なる複数の既存楽曲が含まれる。
【００３８】
このため、スタイルパレット４１に基づいて機械学習されて生成される学習モデルと、スタイルパレット４２に基づいて機械学習されて生成される学習モデルとは異なる。これは、ユーザが選択したスタイルパレットによって、機械学習における学習データが変化することによる。すなわち、スタイルパレットとは、自動作曲における学習データを指定するための指定情報ともいえる。
【００３９】
スタイルパレットを構成する楽曲は、例えば、プラグイン２２の管理者や提供者等により予め登録されるものとする。例えば、プラグイン２２の管理者は、主観として「明るい」と感じられる複数の楽曲を抽出して構成楽曲リスト５０を生成し、構成楽曲リスト５０とスタイルパレット４１とを対応付ける。なお、スタイルパレット及びスタイルパレットに対応する楽曲は、プラグイン２２を利用するユーザによって任意に編集されてもよい。例えば、ユーザは、楽曲配信サービスやＳＮＳ（Social  Networking  Service）等のウェブサービスから楽曲を選択し、選択した楽曲を組み合わせて、所望するスタイルパレットを生成してもよい。具体的には、ユーザは、所定の音楽アプリが自動的に生成したプレイリストや、音楽アプリを利用するユーザに対して提供しているプレイリストに含まれる楽曲を任意に抽出して、自身が生成したスタイルパレットの構成楽曲を変更したり、新たにスタイルパレットを生成したりしてもよい。これにより、ユーザは、自身の好むスタイルパレットを柔軟に生成することができる。
【００４０】
なお、ユーザは、設定情報としてスタイルパレットを選択する際に、複数のスタイルパレットを選択してもよい。例えば、ユーザは、曲の一部（例えば、先頭の８小節）を作曲させるための設定情報としてスタイルパレット４１を選択し、曲の異なる一部（例えば、中間の８小節）を作曲させるための設定情報としてスタイルパレット４２を選択してもよい。このような複数のスタイルパレットを含む情報を、以下では、スタイルパレットシーケンスと称する。言い換えれば、スタイルパレットシーケンスとは、スタイルパレットという楽曲を指定する指定情報を組み合わせた、組み合わせ指定情報といえる。ユーザは、スタイルパレットシーケンスを設定して作曲を行わせることで、一つの楽曲中に複数の特徴を有するような多様な楽曲データを簡易に作成することができる。
【００４１】
続いて、図５を用いて、ホストアプリ２０とプラグイン２２との関係性を概念的に示す。図５は、実施形態に係る情報処理の流れを示すブロック図である。
【００４２】
図５に示す処理ブロック６０は、ＤＡＷ（ホストアプリ２０）とプラグイン２２とで実行される処理の流れを示す。通常、演奏者は、楽器を演奏した音を録音したり、ＭＩＤＩ等のデータを作成したりする。また、実施形態に係る情報処理では、演奏者に代わり、プラグイン２２によってメロディやコード、ベース音に対応する楽曲データが生成される。例えば、演奏者やプラグイン２２によって、メロディ６１や、コード６２や、ベース音６３が生成される。
【００４３】
その後、ユーザは、ＤＡＷに係るレコーダにおいて、楽曲に用いるメロディ６１や、コード６２や、ベース音６３を録音し、メロディやコードやベース音に対応する各トラック（track）を作成する。例えば、ユーザは、プラグイン２２によって生成されたメロディ６１に対して、演奏に用いる楽器を示す楽器情報を設定する。具体的には、ユーザは、ＤＡＷに登録されているギターでメロディ６１を演奏する、といった楽器情報を設定する。そして、ユーザは、レコーダにおいて、仮想的なギターで演奏された音を録音し、ギターに対応するトラックを作成する。なお、ＤＡＷは複数のトラックを作成することが可能であるため、演奏者による演奏音に基づくトラックと、プラグイン２２によって作成された楽曲データに基づくトラックとが併存してもよい。
【００４４】
その後、ユーザは、ＤＡＷ上でミキシングを行い、トラックダウン等を経て楽曲データを作成する。また、ユーザは、ＤＡＷ上でマスタリングを行い、音響信号レベルの調整等を経て、再生機器等で再生可能な音楽ファイル６５を作成する。
【００４５】
このように、実施形態に係る情報処理によれば、ユーザは、演奏者が演奏を行った演奏データや、作成したＭＩＤＩデータに合わせて、プラグイン２２によって自動作曲されたデータを利用してＤＡＷ上で楽曲作成を行うことができる。例えば、ユーザは、ＤＡＷ上で、演奏者が演奏を行った演奏データに、ＡＩによって自動作曲されたメロディをミックスしたり、ＡＩから提案されたコード進行を組み込んだりして楽曲を作成することができる。
【００４６】
以上、本開示に係る情報処理の全体の流れの概要を説明した。図６以下では、ユーザ端末１０を含む情報処理システム１の構成を説明するとともに、種々の処理の詳細を順に説明する。
［１−２．第１の実施形態に係る情報処理システムの構成］
図６は、本開示の第１の実施形態に係る情報処理システム１の一例を示す図である。図１に示すように、情報処理システム１は、ユーザ端末１０と、処理サーバ１００と、管理サーバ２００とを含む。
【００４７】
ユーザ端末１０は、本開示に係る情報処理装置の一例であり、ホストアプリ２０やプラグイン２２の動作を制御する。
【００４８】
処理サーバ１００は、本開示に係る外部サーバの一例であり、プラグイン２２と協働して自動作曲処理を行う。
【００４９】
管理サーバ２００は、例えばプラグイン２２を提供する事業者等によって管理されるサーバである。
【００５０】
例えば、管理サーバ２００は、プラグイン２２を利用するユーザのユーザ権限を管理したり、プラグイン２２で利用可能なスタイルパレットの情報を管理したりする。例えば、管理サーバ２００は、ユーザを一意に特定する利用者ＩＤに基づいて、ユーザがプラグイン２２を利用する権限を有するか否かを判定する。また、管理サーバ２００は、スタイルパレットを作成したり、スタイルパレットを構成する楽曲を編集したりするとともに、スタイルパレットに関する情報をユーザ端末１０や処理サーバ１００に送信する。なお、管理サーバ２００は、処理サーバ１００と一体に構成されてもよい。
【００５１】
［１−３．実施形態に係る情報処理装置（ユーザ端末）の構成］
次に、図７を用いて、本開示に係る情報処理装置の一例であるユーザ端末１０の構成について説明する。図７は、本開示の実施形態に係るユーザ端末１０の構成例を示す図である。図７に示すように、ユーザ端末１０は、通信部１１と、入力部１２と、表示部１３と、記憶部１５と、制御部１６とを有する。
【００５２】
通信部１１は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１は、ネットワークＮ（インターネット等）と有線又は無線で接続され、ネットワークＮを介して、処理サーバ１００や管理サーバ２００等との間で情報の送受信を行う。
【００５３】
入力部１２は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部１２は、ユーザ端末１０に備えられた操作キー等によって実現される。表示部１３は、各種情報を表示するための表示装置である。例えば、表示部１３は、液晶ディスプレイ等によって実現される。なお、ユーザ端末１０にタッチパネルが採用される場合には、入力部１２の一部と表示部１３とは一体化される。
【００５４】
記憶部１５は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１５は、情報処理に用いる各種データを記憶する。
【００５５】
図７に示すように、記憶部１５は、作曲設定情報１５１や、作曲楽曲情報１５２、履歴情報１５３、担当楽器情報１５４といった各種情報を記憶する。以下、各情報について説明する。
【００５６】
作曲設定情報１５１は、プラグイン２２（第２アプリ）が自動作曲を実行する際に利用する情報である。図８に、実施形態に係る作曲設定情報１５１の一例を示す。図８は、実施形態に係る作曲設定情報１５１の一例を示す図である。
【００５７】
図８に示すように、作曲設定情報１５１は、作曲コーパス情報及び演奏スタイル情報を含む。作曲コーパス情報は、自動作曲の学習データとして用いられる楽曲のデータもしくは楽曲のデータが保存された場所（例えばデータサーバのアドレス等）が記憶される。また、作曲コーパス情報は、例えば、各楽曲の音符の平均長や転調等の情報を含む。
【００５８】
演奏スタイル情報は、自動作曲の学習データとして用いられる楽曲における演奏スタイル等の情報が記憶される。演奏スタイルは、例えば、全体のシャッフルの割合やコードとベースの音符割、全体のバランス等の情報を含む。
【００５９】
作曲楽曲情報１５２は、プラグイン２２が自動作曲を実行する際に利用する楽曲の情報である。図９に、実施形態に係る作曲楽曲情報１５２の一例を示す。図９は、実施形態に係る作曲楽曲情報１５２の一例を示す図である。
【００６０】
図９に示すように、作曲楽曲情報１５２は、楽曲ＩＤ、スタイルパレットＩＤ、スタイルパレットシーケンスＩＤを含む。楽曲ＩＤは、学習データとして用いられる既存楽曲を一意に特定するための識別情報を示す。スタイルパレットＩＤは、複数の既存楽曲によって構成されるスタイルパレットを特定するための識別情報を示す。スタイルパレットシーケンスＩＤは、複数のスタイルパレットから構成されるスタイルパレットシーケンスを特定するための識別情報を示す。
【００６１】
履歴情報１５３は、ホストアプリ２０やプラグイン２２においてユーザが操作した履歴や、ユーザにより作成された楽曲の履歴を示す。図１０に、実施形態に係る履歴情報１５３の一例を示す。図１０は、実施形態に係る履歴情報１５３の一例を示す図である。
【００６２】
図１０に示すように、履歴情報１５３は、作曲楽曲情報を含む。作曲楽曲情報は、処理サーバ１００から送信された楽曲データや、楽曲データに含まれる複数の候補データ（例えば図２に示したように、ある設定情報に基づいて生成された４種類の符割等を含む楽曲データ３５等）や、ユーザの編集後の楽曲データ等を含む。
【００６３】
担当楽器情報１５４は、処理サーバ１００から送信された楽曲データや、楽曲データに含まれる複数の候補データに対して設定される楽器情報を示す。図１１に、実施形態に係る担当楽器情報１５４の一例を示す。図１１は、実施形態に係る担当楽器情報１５４の一例を示す図である。
【００６４】
図１１に示すように、担当楽器情報１５４は、担当楽器情報を含む。担当楽器情報は、処理サーバ１００から送信された楽曲データや、楽曲データに含まれる複数の候補データを仮想的に演奏するために設定される楽器を特定するための情報や、楽曲データに設定された楽器の名称等を示す。例えば、担当楽器情報は、メロディ、コード、ベース音のそれぞれに異なる情報が設定可能である。
【００６５】
図７に戻って説明を続ける。制御部１６は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）等によって、ユーザ端末１０内部に記憶されたプログラム（例えば、本開示に係る情報処理プログラム）がＲＡＭ（Random  Access  Memory）等を作業領域として実行されることにより実現される。また、制御部１６は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００６６】
図７に示すように、制御部１６は、ホストアプリ制御部１６１と、プラグインアプリ制御部１６５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。ホストアプリ制御部１６１は、プラグイン制御部１６２と、再生部１６３と、表示制御部１６４とを含む。プラグインアプリ制御部１６５は、選択部１６６と、送受信部１６７と、再生部１６８と、表示制御部１６９とを含む。なお、制御部１６の内部構成は、図７に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００６７】
ホストアプリ制御部１６１は、ホストアプリ２０（第１アプリであるＤＡＷ）を制御する。
【００６８】
プラグイン制御部１６２は、ホストアプリ２０における各種プラグインの動作を制御する。例えば、プラグイン制御部１６２は、ホストアプリ２０においてプラグインを呼び出したり、ホストアプリ２０上でプラグインを起動したり、プラグイン内のデータをホストアプリ２０にコピーしたりする動作を制御する。
【００６９】
例えば、プラグイン制御部１６２は、プラグインが処理サーバ１００から受信した楽曲データに含まれるコード、メロディ又はベース音を再生する際の音色を指定するための楽器情報を個別に設定する。例えば、プラグイン制御部１６２は、ＤＡＷ上に登録されている仮想楽器の情報を読み出し、プラグインの楽曲データに含まれるコード、メロディ又はベース音のそれぞれを演奏させるために、各々に仮想楽器の情報を設定する。
【００７０】
再生部１６３は、ホストアプリ２０における再生処理を制御する。再生部１６３は、ホストアプリ２０における同期再生機能や、再生情報送出機能や、音合成再生機能や、再生スタイルアレンジ機能等を有する。
【００７１】
例えば、再生部１６３は、プラグインの再生部１６８の有する同期再生機能と連携し、プラグインが保持する楽曲データを再生する。例えば、再生部１６３は、ホストアプリが再生している位置を示す時間情報をプラグインに渡すことにより、当該再生位置に対応する箇所のメロディやコード、ベース音を取得し、再生することができる。
【００７２】
また、再生部１６３は、プラグインにおいて演奏スタイル等が設定されている場合、当該演奏スタイルに従って再生データを加工し、加工したデータを再生してもよい。
【００７３】
表示制御部１６４は、ホストアプリ２０における表示制御処理を制御する。例えば、表示制御部１６４は、各トラックの情報を画面（表示部１３）に表示する演奏情報表示機能や、楽曲データ等の情報をトラックにコピーする作曲楽曲情報貼り付け機能等を有する。
【００７４】
また、表示制御部１６４は、プラグインが処理サーバ１００から受信した楽曲データに含まれるコード、メロディ又はベース音に関する情報を表示するウインドウを各々個別に表示するよう制御する。例えば、表示制御部１６４は、図３に示すように、コード、メロディ又はベース音の各々に対応するユーザインターフェイスをＤＡＷの画面上に表示する。
【００７５】
また、表示制御部１６４は、ユーザの操作に従い、コード、メロディ又はベース音に関する情報を表示する各ウインドウと、ホストアプリに関する情報が表示されたウインドウ間の情報の送受信を制御する。これにより、ユーザは、ＤＡＷ上において、自動作曲された楽曲データを任意のトラックにコピーしたり、編集作業を行ったりといった処理を迅速に行うことができる。
【００７６】
なお、表示制御部１６４は、ホストアプリとプラグイン間の情報のみならず、表示されたプラグインのウインドウ間の情報のやりとりを制御してもよい。すなわち、表示制御部１６４は、ユーザの操作に従い、コード、メロディ又はベース音に関する情報を表示する各ウインドウ間の情報の送受信を制御してもよい。
【００７７】
プラグインアプリ制御部１６５は、ホストアプリ２０上で動作するプラグインの動作を制御する。例えば、プラグインアプリ制御部１６５は、ユーザの操作に従い、ホストアプリ２０上でプラグインを起動する。
【００７８】
選択部１６６は、機械学習に基づく作曲機能を制御するための設定情報を選択する。例えば、選択部１６６は、設定情報として、機械学習の学習データとなる素材楽曲を指定するための指定情報を選択する。具体的には、指定情報とは、図４等で示したスタイルパレットが該当する。
【００７９】
例えば、選択部１６６は、ユーザの操作に従い、予め記憶部１５に記憶された指定情報であって、指定情報の特徴を示す特徴情報と、特徴情報に対応付けられた複数の素材楽曲とを含む指定情報を選択する。例えば、ユーザは、図４で示したウインドウ４０等を介して、スタイルパレットの特徴情報（「明るい」、「暗い」等）を参照する。そして、ユーザは、特徴情報に基づいて、ＡＩに作曲させたい楽曲において所望する特徴情報を含むスタイルパレットを選択する。
【００８０】
また、選択部１６６は、外部サーバによって作曲される楽曲データのうち一部の小節に対応する第１の指定情報と、他の一部の小節に対応する第２の指定情報とを組み合わせた組み合わせ指定情報を選択してもよい。上記のように、組み合わせ指定情報とは、スタイルパレットシーケンスに対応する。また、第１の指定情報とは、一部の小節を作曲させるための設定情報であるスタイルパレットに対応する。また、第２の指定情報とは、他の一部の小節を作曲させるための設定情報であるスタイルパレットに対応する。
【００８１】
また、選択部１６６は、スタイルパレットの他に、作曲される楽曲データに関する詳細な設定情報を選択してもよい。
【００８２】
例えば、選択部１６６は、設定情報として、スタイルパレットに基づいて処理サーバ１００によって作曲される楽曲データに含まれる音符の長さ情報を選択してもよい。例えば、選択部１６６は、図２に示すユーザインターフェイス３０等に含まれる設定情報３３のスライダ等の表示を介して、ユーザから音符の長さ情報の選択を受け付ける。
【００８３】
また、選択部１６６は、設定情報として、スタイルパレットに基づいて処理サーバ１００によって作曲される楽曲データにおける、コードに含まれる構成音がメロディに登場する確率を決定するための情報を選択してもよい。例えば、選択部１６６は、図２に示すユーザインターフェイス３０等に含まれる設定情報３２のスライダ等の表示を介して、ユーザから、コードに含まれる構成音がメロディに登場する確率を決定するための情報の選択を受け付ける。
【００８４】
また、選択部１６６は、設定情報として、スタイルパレットに基づいて処理サーバ１００によって作曲される楽曲データにおける、当該スタイルパレットに含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報を選択してもよい。例えば、選択部１６６は、図２に示すユーザインターフェイス３０等に含まれる設定情報３４のスライダ等の表示を介して、ユーザから、スタイルパレットに含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報の選択を受け付ける。
【００８５】
また、選択部１６６は、自動作曲させるための設定情報として、スタイルパレット以外の情報を選択してもよい。一例として、選択部１６６は、設定情報として、作曲される楽曲におけるコード進行をユーザの操作に基づいて選択してもよい。この場合、処理サーバ１００は、ユーザが選択したコード進行に基づいて楽曲データを自動生成する。
【００８６】
送受信部１６７は、ネットワークＮを介して、選択部１６６によって選択された設定情報を、機械学習に基づく作曲機能を実行する処理サーバ１００に送信し、処理サーバ１００によって作曲された楽曲データを受信する。
【００８７】
例えば、送受信部１６７は、選択部１６６によって選択されたスタイルパレットを処理サーバ１００に送信する。そして、送受信部１６７は、スタイルパレットに基づき処理サーバ１００によって生成された楽曲データを受信する。
【００８８】
送受信部１６７は、楽曲データとして、例えば、規定された長さの小節におけるコード、小節におけるメロディ、小節におけるベース音を受信する。かかる情報は、ＭＩＤＩやＭｕｓｉｃＸＭＬ等のデータであってもよいし、ＤＡＷ独自規格の情報であってもよいし、波形データ（ＷＡＶファイル等）であってもよい。
【００８９】
また、送受信部１６７は、選択部１６６によって選択されたスタイルパレットシーケンスを処理サーバ１００に送信してもよい。この場合、送受信部１６７は、スタイルパレットシーケンスに基づき処理サーバ１００によって生成された楽曲データを受信する。
【００９０】
送受信部１６７は、スタイルパレットシーケンスに基づいて処理サーバ１００によって作曲された楽曲データを受信した場合、スタイルパレットシーケンスと当該楽曲データとを対応付けて記憶部１５に格納してもよい。これにより、ユーザは、どのようなスタイルパレットシーケンスによってどのような楽曲データが作成されたかを履歴として参照することができるため、かかる情報を作曲作業に活用できる。
【００９１】
また、送受信部１６７は、スタイルパレットやスタイルパレットシーケンス以外の各種設定情報を処理サーバ１００に送信してもよい。例えば、送受信部１６７は、ユーザによって設定された音符の長さ情報や、コードに含まれる構成音がメロディに登場する確率を決定するための情報や、スタイルパレットに含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報等を処理サーバ１００に送信する。
【００９２】
また、送受信部１６７は、処理サーバ１００によって作曲された楽曲データを受信したのち、ユーザによって楽曲データに対する再生もしくは編集操作が行われた場合、当該再生もしくは編集操作に関する情報を処理サーバ１００に送信してもよい。これにより、処理サーバ１００は、作曲した楽曲データがどのように利用されたか、あるいは、どれくらい利用されたかといった情報を取得することができる。この場合、処理サーバ１００は、かかる情報に基づいて、学習手法や生成する楽曲データを調整してもよい。例えば、処理サーバ１００は、より多くのユーザに利用される過去の楽曲データを分析し、かかる特徴を有する楽曲データを優先的に生成するようにしてもよい。
【００９３】
再生部１６８は、プラグインにおける再生処理を制御する。例えば、再生部１６８は、送受信部１６７によって受信された楽曲データを再生する。具体的には、再生部１６８は、楽曲データに含まれるメロディやコード、ベース音の各々に任意の楽器情報を設定し、各々のデータを再生する。なお、再生部１６８は、メロディやコード、ベース音の各々を組み合わせて再生してもよい。
【００９４】
表示制御部１６９は、プラグインにおける表示処理を制御する。例えば、表示制御部１６９は、プラグインの情報を示すユーザインターフェイス等のウインドウを画面上に表示する。
【００９５】
表示制御部１６９は、例えば図２に示したように、４小節の楽曲データを４種類取得し、ユーザインターフェイス内に４つの候補を並べて表示する。ユーザは、４種類の楽曲データの候補から良い箇所を時間軸に沿って繋ぎ合わせて（すなわちコンピング（comping）を行って）、最終候補を選択することができる。例えば、ユーザは、メロディの音符を一部削除したり、繋げたり、音符の長さを変えたり、音符の高さを変えたりすることができる。
【００９６】
また、表示制御部１６９は、ユーザの操作に従い、処理サーバ１００によって作曲された過去の楽曲データの履歴を記憶部１５から呼び出すとともに、過去の楽曲データの履歴を表示するよう制御してもよい。これにより、ユーザは、過去に処理サーバ１００によって作曲されたデータを参照しながら、作曲作業を進めることができる。例えば、ユーザは、編集によって作成された最新の楽曲と、過去に編集した楽曲の履歴とを比べながら、最終候補を決定することができる。
【００９７】
また、表示制御部１６９は、処理サーバ１００によって作曲された過去の楽曲データに対して実行された編集操作の履歴を記憶部１５から呼び出すとともに、過去の楽曲データに対して実行された編集操作を表示するよう制御してもよい。これにより、ユーザは、過去に行った編集操作や、編集操作によって生じた楽曲データ等を参照することができるので、作曲作業を効率良く行うことができる。
【００９８】
なお、図２や図３では、楽曲データが音高や音符の長さを示す、いわゆるピアノロールのような形式でユーザインターフェイス上に表示される例を示したが、表示制御部１６９は、五線譜やＤＡＷ独自の形式で楽曲データを表示してもよい。
【００９９】
［１−４．実施形態に係る外部サーバ（処理サーバ）の構成］
次に、本開示に係る外部サーバの一例である処理サーバ１００の構成について説明する。図１２は、実施形態に係る処理サーバ１００の構成例を示す図である。
【０１００】
図１２に示すように、処理サーバ１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、処理サーバ１００は、処理サーバ１００を管理する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【０１０１】
通信部１１０は、例えば、ＮＩＣ等によって実現される。通信部２１０は、ネットワークＮと有線又は無線で接続され、ネットワークＮを介して、ユーザ端末１０や管理サーバ２０等との間で情報の送受信を行う。
【０１０２】
記憶部１２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１２０は、情報処理に用いる各種データを記憶する。
【０１０３】
図１２に示すように、記憶部１２０は、ユーザ情報１２１や、楽曲情報１２２や、スタイルパレット情報１２３や、スタイルパレットシーケンス情報１２４や、ユーザ作曲情報１２５や、履歴情報１２６といった各種情報を記憶する。以下、各情報について説明する。
【０１０４】
ユーザ情報１２１は、プラグイン２２（第２アプリ）を利用するユーザの情報を示す。図１３に、実施形態に係るユーザ情報１２１の一例を示す。図１３は、実施形態に係るユーザ情報１２１の一例を示す図である。
【０１０５】
図１３に示すように、ユーザ情報１２１は、利用者ＩＤ、利用者メタ情報、権限情報を含む。利用者ＩＤは、ユーザを一意に特定するための識別情報を示す。利用者メタ情報は、例えば、ユーザの氏名や住所など、ユーザの付加情報である。権限情報は、例えば、プラグインを利用するユーザが管理者であるか、一般利用者であるか、特別利用者であるか等の識別情報である。
【０１０６】
楽曲情報１２２は、自動作曲処理に利用される楽曲の情報を示す。図１４に、実施形態に係る楽曲情報１２２の一例を示す。図１４は、実施形態に係る楽曲情報１２２の一例を示す図である。
【０１０７】
図１４に示すように、楽曲情報１２２は、楽曲ＩＤ、楽曲メタ情報、メロディー情報、コード進行情報、ベース音進行情報を含む。楽曲ＩＤは、楽曲を一意に特定するための識別情報を示す。楽曲メタ情報は、例えば、楽曲の曲名、作曲者、年代、ジャンル等の情報である。メロディー情報は、例えば、ボーカルパートを表現する音階情報等である。コード進行情報は、例えば、楽曲の和音の遷移を表現する時系列情報である。ベース音進行情報は、コード進行情報のルート音を示す時系列情報である。
【０１０８】
スタイルパレット情報１２３は、自動作曲処理に利用されるスタイルパレットに関する情報を示す。図１５に、実施形態に係るスタイルパレット情報１２３の一例を示す。図１５は、実施形態に係るスタイルパレット情報１２３の一例を示す図である。
【０１０９】
図１５に示すように、スタイルパレット情報１２３は、スタイルパレットＩＤ、スタイルパレットメタ情報、楽曲ＩＤを含む。スタイルパレットＩＤは、スタイルパレットを一意に特定するための識別情報を示す。スタイルパレットメタ情報は、例えば、スタイルパレットの名称や、明るいか暗い、速いか遅い等の主観的な特徴情報や、曲の構造がＡメロ、Ｂメロ、サビで構成されているといった構造や、コード進行の特徴等の情報である。なお、スタイルパレットメタ情報の名称にはコード進行の情報等が付されてもよい。これにより、ユーザは、直感的にスタイルパレットの特徴を把握することが可能となる。また、図１５に示すように、スタイルパレットには、複数の楽曲ＩＤが紐付けられて登録される。スタイルパレット情報１２３は、例えば管理サーバ２００等によって登録される。
【０１１０】
スタイルパレットシーケンス情報１２４は、自動作曲処理に利用されるスタイルパレットシーケンスに関する情報を示す。図１６に、実施形態に係るスタイルパレットシーケンス情報１２４の一例を示す。図１６は、実施形態に係るスタイルパレットシーケンス情報１２４の一例を示す図である。
【０１１１】
図１６に示すように、スタイルパレットシーケンス情報１２４は、スタイルパレットシーケンスＩＤ、スタイルパレットシーケンスメタ情報、スタイルパレットＩＤ、調合情報を含む。スタイルパレットシーケンスＩＤは、スタイルパレットシーケンスを一意に特定するための識別情報を示す。スタイルパレットシーケンスメタ情報は、例えば、スタイルパレットシーケンスの名称や、明るいか暗い、速いか遅い等の主観的な特徴情報である。また、図１６に示すように、スタイルパレットシーケンスには、複数のスタイルパレットＩＤが紐付けられて登録される。また、調合情報とは、スタイルパレットシーケンスにおけるスタイルパレットの並びに関する情報等である。
【０１１２】
ユーザ作曲情報１２５は、ユーザ端末１０から受信した、作曲に関する情報を示す。図１７に、実施形態に係るユーザ作曲情報１２５の一例を示す。図１７は、実施形態に係るユーザ作曲情報１２５の一例を示す図である。
【０１１３】
図１７に示すように、ユーザ作曲情報１２５は、利用者ＩＤ、楽曲ＩＤ、スタイルパレットＩＤ、スタイルパレットシーケンスＩＤを含む。利用者ＩＤは、ユーザを一意に特定するための識別情報を示す。楽曲ＩＤは、利用者ＩＤで特定されるユーザに対して生成した楽曲を識別する識別情報を示す。スタイルパレットＩＤは、利用者ＩＤで特定されるユーザから送信されたスタイルパレットを識別する識別情報を示す。スタイルパレットシーケンスＩＤは、利用者ＩＤで特定されるユーザから送信されたスタイルパレットシーケンスを識別する識別情報を示す。
【０１１４】
履歴情報１２６は、処理サーバ１００の情報処理に関する各種履歴である。図１８に、実施形態に係る履歴情報１２６の一例を示す。図１８は、実施形態に係る履歴情報１２６の一例を示す図である。
【０１１５】
図１８に示すように、履歴情報１２６は、作曲履歴情報、操作履歴情報を含む。作曲履歴情報は、処理サーバ１００が生成した楽曲の履歴である。操作履歴情報は、ユーザ端末１０上でユーザが編集操作した履歴等の情報である。操作履歴情報は、例えば、ユーザが再作曲した情報や作曲された楽曲データを選択した情報、楽曲データを編集した情報、再生した回数、再生をスキップした回数等の情報である。これらの情報は、後述する作曲部１３４の学習データとして利用されてもよい。
【０１１６】
図１２に戻って説明を続ける。制御部１３０は、例えば、ＣＰＵやＭＰＵ、ＧＰＵ等によって、処理サーバ１００内部に記憶されたプログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されてもよい。
【０１１７】
図１２に示すように、制御部１３０は、受付部１３１と、管理部１３２と、取得部１３３と、作曲部１３４と、送信部１３５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１２に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【０１１８】
受付部１３１は、管理サーバ２００から送信される各種情報を受け付ける。例えば、受付部１３１は、プラグインを利用するユーザの情報や、スタイルパレットに関する情報や、自動作曲で用いられる素材楽曲等の情報を受け付ける。例えば、受付部１３１は、ユーザが製品（プラグインやＤＡＷ等）の購入時にアクティベーションを行う際に、当該ユーザに対して利用者ＩＤを発行したり、当該ユーザに関する情報を受け付けたりする処理を実行する。また、受付部１３１は、管理サーバ２００からの操作や指令に従い、スタイルパレットに紐付ける楽曲の登録や、スタイルパレットの編集等を受け付ける。
【０１１９】
管理部１３２は、受付部１３１によって受け付けられた各種情報を管理する。例えば、管理部１３２は、各種情報を記憶部１２０内に格納し、また、格納した情報を適宜更新する。
【０１２０】
例えば、管理部１３２によるスタイルパレットの登録処理が完了すると、ユーザは、スタイルパレット情報の一覧を取得、閲覧することが可能となる。
【０１２１】
取得部１３３は、ユーザ端末１０から送信される自動作曲のリクエストを取得する。また、取得部１３３は、リクエストとともに送信された設定情報を取得する。例えば、取得部１３３は、設定情報として、ユーザが所望するスタイルパレットを取得する。
【０１２２】
作曲部１３４は、取得部１３３によって取得された設定情報に基づいて作曲を行う。作曲部１３４は、種々の既存の楽曲生成アルゴリズムを利用して作曲を行ってもよい。例えば、作曲部１３４は、マルコフ連鎖を用いた楽曲生成アルゴリズムを利用してもよいし、深層学習を用いた楽曲生成アルゴリズムを利用してもよい。上述のように、作曲部１３４は、ユーザから送信された一つの設定情報に対して、複数の楽曲データを生成する。これにより、ユーザは、複数の提案を作曲部１３４から受けることができるため、より多様な情報を利用して作曲作業を進めることができる。
【０１２３】
作曲部１３４は、作曲処理によって楽曲データを生成すると、生成した楽曲データと、スタイルパレットを送信したユーザの利用者ＩＤとを対応付けて、履歴情報として記憶部１２０内に記憶する。
【０１２４】
送信部１３５は、作曲部１３４によって生成された楽曲データをユーザ端末１０に送信する。
【０１２５】
［１−５．実施形態に係る情報処理の手順］
次に、図１９を用いて、実施形態に係る情報処理の手順について説明する。図１９は、実施形態に係る情報処理の手順を示すフローチャートである。
【０１２６】
図１９に示すように、ユーザ端末１０は、ユーザの操作に従い、ホストアプリ上において自動作曲機能（プラグイン）を起動する（Ｓ１０１）。
【０１２７】
続いて、ユーザ端末１０は、スタイルパレット等の選択をユーザから受け付けたか否かを判定する（ステップＳ１０２）。スタイルパレット等の選択をユーザから受け付けていない場合（ステップＳ１０２；Ｎｏ）、ユーザ端末１０は、選択を受け付けるまで待機する。
【０１２８】
一方、スタイルパレット等の選択をユーザから受け付けた場合（ステップＳ１０２；Ｙｅｓ）、ユーザ端末１０は、ユーザの操作に従い、スタイルパレットを選択する（ステップＳ１０３）。なお、ユーザ端末１０は、ステップＳ１０２において、スタイルパレット以外の種々の設定情報を受け付けてもよい。
【０１２９】
その後、ユーザ端末１０は、作曲要求をユーザから受け付けたか否かを判定する（ステップＳ１０４）。作曲要求をユーザから受け付けていない場合（ステップＳ１０４；Ｎｏ）、ユーザ端末１０は、要求を受け付けるまで待機する。
【０１３０】
一方、作曲要求をユーザから受け付けた場合（ステップＳ１０４；Ｙｅｓ）、ユーザ端末１０は、作曲要求とともに、受け付けた設定情報を処理サーバ１００に送信する（ステップＳ１０５）。その後、ユーザ端末１０は、処理サーバ１００によって作曲（生成）された楽曲データを受信する（ステップＳ１０６）。
【０１３１】
続けて、ユーザ端末１０は、ユーザ端末１０上でユーザによって編集処理等が行われたか否かを判定する（ステップＳ１０７）。編集処理等が行われていない場合（ステップＳ１０７；Ｎｏ）、ユーザ端末１０は、編集処理等を受け付けるまで待機する（ステップＳ１０７）。
【０１３２】
一方、編集処理等が行われた場合（ステップＳ１０７；Ｙｅｓ）、ユーザ端末１０は、編集を反映するとともに、編集操作に関する情報を処理サーバ１００に送信する（ステップＳ１０８）。
【０１３３】
その後、ユーザ端末１０は、再び作曲要求をユーザから受け付けたか否かを判定する（ステップＳ１０９）。作曲要求をユーザから受け付けた場合（ステップＳ１０９；Ｙｅｓ）、ユーザ端末１０は、ユーザから新たな設定情報を受け付ける。
【０１３４】
一方、作曲要求をユーザから受け付けない場合（ステップＳ１０９；Ｎｏ）、ユーザ端末１０は、ホストアプリの終了要求を受け付けたか否かを判定する（ステップＳ１１０）。ホストアプリの終了要求を受け付けていない場合（ステップＳ１１０；Ｎｏ）、ユーザ端末１０は、現時点で受信している楽曲データの編集処理を継続する。一方、ホストアプリの終了要求を受け付けた場合（ステップＳ１１０；Ｙｅｓ）、ユーザ端末１０は、ホストアプリ及びプラグインを終了させ、処理を終了する。
【０１３５】
（２．変形例）
上述した情報処理システム１は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【０１３６】
［２−１．楽曲データの形態］
上記実施形態では、プラグインにおける楽曲データの担当楽器情報１５４等において、設定される情報の種類を、メロディ、コード、ベース音と想定したが、これに限られない。例えば、担当楽器情報１５４は、メロディ、コード、ベース音のみならず、例えば、フルオーケストラの各楽器の演奏パートにも適用可能である。
【０１３７】
［２−２．ホストアプリ］
上記実施形態では、ホストアプリとしてＤＡＷを想定したが、これに限られない。例えば、ホストアプリは、音楽編集用アプリではなく、映像編集アプリ等であってもよい。
【０１３８】
［２−３．ＤＡＷによる制御］
上記実施形態では、ユーザ端末１０がプラグイン上で設定情報を選択し、選択した情報を処理サーバ１００に送信する例を示した。しかし、設定情報等は、ホストアプリによって選択されてもよい。すなわち、ユーザ端末１０は、ホストアプリにおいて選択された設定情報（例えば、コード進行）等を処理サーバ１００に送信し、自動作曲処理を実行させてもよい。この場合、ホストアプリは、例えばプラグインがホストアプリの情報を利用するためのＡＰＩ（Application  Programming  Interface）等をプラグインに提供し、スタイルパレットを生成するための情報をホストアプリ上から取得させたり、処理サーバ１００との送受信処理等を制御したりしてもよい。
【０１３９】
例えば、ユーザ端末１０は、ホストアプリであるＤＡＷが備えるコード生成機能を利用して任意のコード進行を生成する。そして、ユーザ端末１０は、ＤＡＷによって生成されたコード進行に基づいて、自動作曲を実行させてもよい。例えば、ユーザ端末１０は、ＤＡＷよって生成されたコード進行をプラグインに入力し、プラグインを介して、コード進行を処理サーバ１００に送信する。
【０１４０】
すなわち、ホストアプリは、ホストアプリにおいて生成されたコード進行に関する情報をプラグインに送るよう制御する。そして、プラグインは、設定情報として、ホストアプリにおいて生成されたコード進行に関する情報を選択する。さらに、プラグインは、ホストアプリにおいて生成されたコード進行に関する情報を処理サーバ１００に送信し、コード進行に関する情報に基づいて作曲された楽曲データを受信する。
【０１４１】
また、ユーザ端末１０は、ＤＡＷによって生成されたコード進行に基づいて、処理サーバ１００に送信するスタイルパレットを自動的に選択してもよい。例えば、ユーザ端末１０は、ＤＡＷによって生成されたコード進行と類似する特徴を有するスタイルパレットを選択し、処理サーバ１００に送信してもよい。また、ユーザ端末１０は、ＤＡＷによって生成されたコード進行に基づいて、進行に合わせたスタイルパレットを順次選択し、スタイルパレットシーケンスを生成し、生成したスタイルパレットシーケンスを処理サーバ１００に送信してもよい。
【０１４２】
また、ユーザ端末１０は、プラグインがホストアプリ上のベーストラックへの情報アクセスを可能にするよう設定してもよい。例えば、ユーザは、ＤＡＷのベーストラックにおいて、当該トラックが自動作曲された楽曲データに従う、といった設定を行う。この場合、当該ベーストラックは、例えば処理サーバ１００によって生成された楽曲データや、ＤＡＷが生成したコード進行に従い、自動的に補完される。
【０１４３】
また、ユーザ端末１０は、プラグインがホストアプリ上のメロディトラックへの情報アクセスを可能にするよう設定してもよい。例えば、ユーザは、ＤＡＷのメロディトラックにおいて、当該トラックが自動作曲された楽曲データに従う、といった設定を行う。この場合、ユーザが、ある小節を選択して自動作曲要求を行うと、生成されたメロディが自動的に当該トラックに挿入される。また、ユーザは、複数の楽曲データを組み合わせて編集するモード（Compingモード等と称される）にＤＡＷを設定すると、画面に現れる複数トラックの所望の部分を選択してメロディを完成させることができる。
【０１４４】
また、ユーザ端末１０は、プラグインがホストアプリ上のメロディトラックとＭＩＤＩ入力への情報アクセスを可能にするよう設定してもよい。この場合、ユーザは、自動作曲機能とＭＩＤＩ入力の双方を駆使して作曲作業を行うことができる。例えば、ユーザは、４小節に任意のコード進行を入力し、ＤＡＷにループ演奏させる。そして、ユーザは、ループ演奏に合わせて、ＭＩＤＩ鍵盤で入力を行う。ユーザ端末１０は、このコード進行とメロディの情報を処理サーバ１００にアップロードすることで、処理サーバ１００側で個人スタイルパレットを自動作成することができる。例えば、ユーザは、ＤＡＷ上における新規追加されたスタイルパレットメニューにて、これら個人スタイルパレット作成開始や停止、保存や名前付け、削除等が指示できる。このような個人スタイルパレットは、スタイルパレットメニューを介して一般に公開可能としてもよい。
【０１４５】
また、ユーザ端末１０は、プラグインがホストアプリ上のオーディオトラックへの情報アクセスを可能にするよう設定してもよい。オーディオトラックとは、例えば、楽器演奏音を録音したトラックであり、例えば、ピアノによるコード演奏、ベースギターによるベース音演奏、リード楽器によるメロディ等によるトラックである。プラグインは、オーディオトラックにアクセスし、各トラックのメロディやコード、ベース音等のオーディオデータを信号処理により分析し、メロディのＮＩＤＩ情報や、コード進行情報等を得る。プラグインは、分析に際して、例えば１２音解析技術等を用いてもよい。この場合、ユーザ端末１０は、分析された情報を処理サーバ１００に送信し、最適なコード進行を機械学習等により自動的に推論させてもよい。そして、処理サーバ１００は、このコード進行情報をもとにスタイルパレットシーケンスを定義する。これにより、ユーザは、処理サーバ１００により生成されたスタイルパレットシーケンスに基づくアシスト作曲作業を行うことができるため、例えば全体を再作曲したり、部分的に再作曲して差し替えたりすることが可能となる。
【０１４６】
また、ユーザ端末１０は、プラグインがホストアプリ上の既存のマスタートラックへの情報アクセスを可能にするよう設定してもよい。マスタートラックとは、例えば、ＤＡＷ内のミキシングを経て、ステレオ２チャンネルにトラックダウンされたものである。プラグインは、マスタートラックにアクセスし、オーディオデータを信号処理により分析し、コード進行情報等を得る。ユーザ端末１０は、分析された情報を処理サーバ１００に送信し、最適なコード進行を機械学習等により自動的に推論させてもよい。そして、処理サーバ１００は、このコード進行情報をもとにスタイルパレットシーケンスを定義する。これにより、ユーザは、処理サーバ１００により生成されたスタイルパレットシーケンスに基づくアシスト作曲作業を行うことができるため、例えば全体を再作曲したり、部分的に再作曲して差し替えたりすることが可能となる。
【０１４７】
上記のように、ユーザ端末１０は、ホストアプリに種々の機能が備わっている場合、かかる機能をプラグインに適用させ、本開示に係る情報処理に利用してもよい。例えば、上記のように、ユーザ端末１０は、ＤＡＷにより生成されたコード進行に基づいてスタイルパレットシーケンスを生成させたり、当該スタイルパレットシーケンスをネットワーク上で公開したりすることにより、ユーザ間の作曲処理を活性化させることができる。
【０１４８】
［２−４．情報処理システムの態様］
実施形態では、処理サーバ１００は、クラウドネットワーク上に設置されることを前提としているが、この例に限られず、ユーザ端末１０と通信可能であれば、処理サーバ１００や管理サーバ２００は、ＬＡＮ（Local  Area  Network）等のネットワーク上に設置されてもよい。
【０１４９】
実施形態では、ユーザ端末１０内に第１アプリと第２アプリとがインストールされる例を示したが、第１アプリと第２アプリは、別の装置にインストールされるアプリであってもよい。例えば、ユーザ端末１０は、第１アプリの機能のみを保持し、別の装置であるタブレット端末やスマートフォン等にインストールされた第２アプリを制御することにより、音源の再生等を行ってもよい。
【０１５０】
（３．その他の実施形態）
上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態にて実施されてよい。
【０１５１】
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１５２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１５３】
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１５４】
また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【０１５５】
（４．本開示に係る情報処理装置の効果）
上述してきたように、本開示に係る情報処理装置（実施形態ではユーザ端末１０）は、第１アプリ（実施形態ではホストアプリ２０）と、第１アプリの機能を拡張するプラグインとして機能する第２アプリ（実施形態ではプラグイン２２）とを制御する。第１アプリは、第１アプリにおける第２アプリの動作を制御する制御部（実施形態ではホストアプリ制御部１６１）を備える。第２アプリは、機械学習に基づく作曲機能を制御するための設定情報を選択する選択部（実施形態では選択部１６６）と、ネットワークを介して、設定情報を機械学習に基づく作曲機能を実行する外部サーバ（実施形態では処理サーバ１００）に送信し、外部サーバによって作曲された楽曲データを受信する送受信部（実施形態では送受信部１６７）と、を備える。
【０１５６】
このように、本開示に係る情報処理装置は、自動作曲機能を有する第２アプリをプラグインとして取り扱うとともに、実際の作曲処理を外部サーバに実行させる。これにより、情報処理装置は、処理負荷を抑制しつつ、作業効率のよい環境をユーザに提供することができる。すなわち、情報処理装置は、ＡＩによる自動作曲機能の利便性を向上させることができる。
【０１５７】
送受信部は、楽曲データとして、規定された長さの小節におけるコード、小節におけるメロディ、小節におけるベース音を受信する。これにより、情報処理装置は、楽曲データを個別に参照したり編集したりすることができるので、ユーザの利便性を向上させることができる。
【０１５８】
制御部は、楽曲データに含まれるコード、メロディ又はベース音を再生する際の音色を指定するための楽器情報を個別に設定する。これにより、情報処理装置は、多様な再生環境を提供することができる。
【０１５９】
制御部は、楽曲データに含まれるコード、メロディ又はベース音に関する情報を表示するウインドウを各々個別に表示するよう制御する。これにより、情報処理装置は、ユーザの編集操作の利便性を向上させることができる。
【０１６０】
制御部は、ユーザの操作に従い、コード、メロディ又はベース音に関する情報を表示する各ウインドウと、第１アプリに関する情報が表示されたウインドウ間の情報の送受信を制御する。これにより、情報処理装置は、第１アプリと第２アプリ間でドラッグアンドドロップ等の操作で情報のやりとりを行うことができるため、ユーザの編集操作の利便性を向上させることができる。
【０１６１】
制御部は、ユーザの操作に従い、コード、メロディ又はベース音に関する情報を表示する各ウインドウ間の情報の送受信を制御する。これにより、情報処理装置は、ユーザの編集操作の利便性を向上させることができる。
【０１６２】
選択部は、設定情報として、機械学習の学習データとなる素材楽曲を指定するための指定情報（実施形態ではスタイルパレット）を選択する。送受信部は、選択部によって選択された指定情報を外部サーバに送信する。これにより、情報処理装置は、ユーザが所望する種々の特徴を指定して自動作曲を実行することができる。
【０１６３】
選択部は、ユーザの操作に従い、予め記憶部（実施形態では記憶部１５）に記憶された指定情報であって、指定情報の特徴を示す特徴情報と、特徴情報に対応付けられた複数の素材楽曲とを含む指定情報を選択する。これにより、情報処理装置は、ユーザが指定情報を選択する際の利便性を向上させることができる。
【０１６４】
選択部は、外部サーバによって作曲される楽曲データのうち一部の小節に対応する第１の指定情報と、他の一部の小節に対応する第２の指定情報とを組み合わせた組み合わせ指定情報（実施形態ではスタイルパレットシーケンス）を選択する。これにより、情報処理装置は、多様な楽曲を自動生成することができる。
【０１６５】
送受信部は、組み合わせ指定情報に基づいて外部サーバによって作曲された楽曲データを受信した場合、組み合わせ指定情報と楽曲データとを対応付けて記憶部に格納する。これにより、情報処理装置は、過去に作成した楽曲データの基となった組み合わせ指定情報等をユーザが参照する際の利便性を向上させることができる。
【０１６６】
選択部は、設定情報として、指定情報に基づいて外部サーバによって作曲される楽曲データに含まれる音符の長さ情報を選択する。送受信部は、指定情報及び音符の長さ情報を外部サーバに送信する。これにより、情報処理装置は、ユーザが所望する特徴を有する楽曲データを生成することができる。
【０１６７】
選択部は、設定情報として、指定情報に基づいて外部サーバによって作曲される楽曲データにおける、コードに含まれる構成音がメロディに登場する確率を決定するための情報を選択する。送受信部は、指定情報及びコードに含まれる構成音がメロディに登場する確率を決定するための情報を外部サーバに送信する。これにより、情報処理装置は、ユーザが所望する特徴を有する楽曲データを生成することができる。
【０１６８】
選択部は、設定情報として、指定情報に基づいて外部サーバによって作曲される楽曲データにおいて、指定情報に含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報を選択する。送受信部は、指定情報及び指定情報に含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報を外部サーバに送信する。これにより、情報処理装置は、ユーザが所望する特徴を有する楽曲データを生成することができる。
【０１６９】
第２アプリは、ユーザの操作に従い、外部サーバによって作曲された過去の楽曲データの履歴を記憶部から呼び出すとともに、過去の楽曲データの履歴を表示するよう制御する表示制御部（実施形態では表示制御部１６９）をさらに備える。これにより、情報処理装置は、過去の操作履歴等をユーザが参照する際の利便性を向上させることができる。
【０１７０】
表示制御部は、外部サーバによって作曲された過去の楽曲データに対して実行された編集操作の履歴を記憶部から呼び出すとともに、過去の楽曲データに対して実行された編集操作を表示するよう制御する。これにより、情報処理装置は、過去の操作履歴等をユーザが参照する際の利便性を向上させることができる。
【０１７１】
送受信部は、外部サーバによって作曲された楽曲データを受信したのち、ユーザによって楽曲データに対する再生もしくは編集操作が行われた場合、再生もしくは編集操作に関する情報を外部サーバに送信する。これにより、情報処理装置は、ユーザが行った編集等を基づいて更なる学習を処理サーバ１００に実行させることができる。
【０１７２】
選択部は、設定情報として、作曲される楽曲におけるコード進行をユーザの操作に基づいて選択する。送受信部は、選択部によって選択されたコード進行を外部サーバに送信する。これにより、情報処理装置は、指定情報によらずとも、ユーザが所望する楽曲データを提供することができる。
【０１７３】
制御部は、第１アプリにおいて生成されたコード進行に関する情報を第２アプリに送るよう制御する。選択部は、設定情報として、第１アプリにおいて生成されたコード進行に関する情報を選択する。送受信部は、第１アプリにおいて生成されたコード進行に関する情報を外部サーバに送信し、コード進行に関する情報に基づいて作曲された楽曲データを受信する。これにより、情報処理装置は、ＤＡＷ等の第１アプリの機能を活かした作曲処理を実行することができる。
【０１７４】
（５．ハードウェア構成）
上述してきた各実施形態に係るユーザ端末１０やや処理サーバ１００や管理サーバ２００等の情報機器は、例えば図２０に示すような構成のコンピュータ１０００によって実現される。以下、実施形態に係るユーザ端末１０を例に挙げて説明する。図２０は、ユーザ端末１０の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス１５００、及び入出力インターフェイス１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【０１７５】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【０１７６】
ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１７７】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【０１７８】
通信インターフェイス１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、通信インターフェイス１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【０１７９】
入出力インターフェイス１６００は、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１８０】
例えば、コンピュータ１０００が実施形態に係るユーザ端末１０として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされた情報処理プログラムを実行することにより、制御部１６等の機能を実現する。また、ＨＤＤ１４００には、本開示に係る情報処理プログラムや、記憶部１５内のデータが格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０１８１】
なお、本技術は以下のような構成も取ることができる。
（１）
第１アプリと、当該第１アプリの機能を拡張するプラグインとして機能する第２アプリとを制御する情報処理装置であって、
前記第１アプリは、
前記第１アプリにおける前記第２アプリの動作を制御する制御部を備え、
前記第２アプリは、
機械学習に基づく作曲機能を制御するための設定情報を選択する選択部と、
ネットワークを介して、前記設定情報を前記機械学習に基づく作曲機能を実行する外部サーバに送信し、当該外部サーバによって作曲された楽曲データを受信する送受信部と、
を備える情報処理装置。
（２）
前記送受信部は、
前記楽曲データとして、規定された長さの小節におけるコード、当該小節におけるメロディ、当該小節におけるベース音を受信する
前記（１）に記載の情報処理装置。
（３）
前記制御部は、
前記楽曲データに含まれるコード、メロディ又はベース音を再生する際の音色を指定するための楽器情報を個別に設定する
前記（２）に記載の情報処理装置。
（４）
前記制御部は、
前記楽曲データに含まれるコード、メロディ又はベース音に関する情報を表示するウインドウを各々個別に表示するよう制御する
前記（３）に記載の情報処理装置。
（５）
前記制御部は、
ユーザの操作に従い、前記コード、メロディ又はベース音に関する情報を表示する各ウインドウと、前記第１アプリに関する情報が表示されたウインドウ間の情報の送受信を制御する
前記（４）に記載の情報処理装置。
（６）
前記制御部は、
ユーザの操作に従い、前記コード、メロディ又はベース音に関する情報を表示する各ウインドウ間の情報の送受信を制御する
前記（４）又は（５）に記載の情報処理装置。
（７）
前記選択部は、
前記設定情報として、前記機械学習の学習データとなる素材楽曲を指定するための指定情報を選択し、
前記送受信部は、
前記選択部によって選択された指定情報を前記外部サーバに送信する
前記（１）〜（６）のいずれかに記載の情報処理装置。
（８）
前記選択部は、
ユーザの操作に従い、予め記憶部に記憶された指定情報であって、前記指定情報の特徴を示す特徴情報と、当該特徴情報に対応付けられた複数の素材楽曲とを含む指定情報を選択する
前記（７）に記載の情報処理装置。
（９）
前記選択部は、
前記外部サーバによって作曲される楽曲データのうち一部の小節に対応する第１の指定情報と、他の一部の小節に対応する第２の指定情報とを組み合わせた組み合わせ指定情報を選択する
前記（７）又は（８）に記載の情報処理装置。
（１０）
前記送受信部は、
前記組み合わせ指定情報に基づいて前記外部サーバによって作曲された楽曲データを受信した場合、当該組み合わせ指定情報と当該楽曲データとを対応付けて記憶部に格納する
前記（９）に記載の情報処理装置。
（１１）
前記選択部は、
前記設定情報として、前記指定情報に基づいて前記外部サーバによって作曲される楽曲データに含まれる音符の長さ情報を選択し、
前記送受信部は、
前記指定情報及び前記音符の長さ情報を前記外部サーバに送信する
前記（７）〜（１０）のいずれかに記載の情報処理装置。
（１２）
前記選択部は、
前記設定情報として、前記指定情報に基づいて前記外部サーバによって作曲される楽曲データにおける、コードに含まれる構成音がメロディに登場する確率を決定するための情報を選択し、
前記送受信部は、
前記指定情報及び前記コードに含まれる構成音がメロディに登場する確率を決定するための情報を前記外部サーバに送信する
前記（７）〜（１１）のいずれかに記載の情報処理装置。
（１３）
前記選択部は、
前記設定情報として、前記指定情報に基づいて前記外部サーバによって作曲される楽曲データにおいて、当該指定情報に含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報を選択し、
前記送受信部は、
前記指定情報及び当該指定情報に含まれる素材楽曲以外の素材楽曲の種別及び量を決定するための情報を前記外部サーバに送信する
前記（７）〜（１２）のいずれかに記載の情報処理装置。
（１４）
前記第２アプリは、
ユーザの操作に従い、前記外部サーバによって作曲された過去の楽曲データの履歴を記憶部から呼び出すとともに、当該過去の楽曲データの履歴を表示するよう制御する表示制御部をさらに備える
前記（１）〜（１３）のいずれかに記載の情報処理装置。
（１５）
前記表示制御部は、
前記外部サーバによって作曲された過去の楽曲データに対して実行された編集操作の履歴を記憶部から呼び出すとともに、当該過去の楽曲データに対して実行された編集操作を表示するよう制御する
前記（１４）に記載の情報処理装置。
（１６）
前記送受信部は、
前記外部サーバによって作曲された楽曲データを受信したのち、ユーザによって当該楽曲データに対する再生もしくは編集操作が行われた場合、当該再生もしくは編集操作に関する情報を当該外部サーバに送信する
前記（１）〜（１５）のいずれかに記載の情報処理装置。
（１７）
前記選択部は、
前記設定情報として、作曲される楽曲におけるコード進行をユーザの操作に基づいて選択し、
前記送受信部は、
前記選択部によって選択されたコード進行を前記外部サーバに送信する
前記（１）〜（１６）のいずれかに記載の情報処理装置。
（１８）
前記制御部は、
前記第１アプリにおいて生成されたコード進行に関する情報を前記第２アプリに送るよう制御し、
前記選択部は、
前記設定情報として、前記第１アプリにおいて生成されたコード進行に関する情報を選択し、
前記送受信部は、
前記第１アプリにおいて生成されたコード進行に関する情報を前記外部サーバに送信し、当該コード進行に関する情報に基づいて作曲された楽曲データを受信する
前記（１）〜（１７）のいずれかに記載の情報処理装置。
（１９）
第１アプリと、当該第１アプリの機能を拡張するプラグインとして機能する第２アプリとを制御する情報処理装置によって実行される情報処理方法であって、
前記第１アプリは、
前記第１アプリにおける前記第２アプリの動作を制御し、
前記第２アプリは、
機械学習に基づく作曲機能を制御するための設定情報を選択し、
ネットワークを介して、前記設定情報を前記機械学習に基づく作曲機能を実行する外部サーバに送信し、当該外部サーバによって作曲された楽曲データを受信する
情報処理方法。
（２０）
第１アプリと、当該第１アプリの機能を拡張するプラグインとして機能する第２アプリとを制御する情報処理装置において、
前記第１アプリは、
前記第１アプリにおける前記第２アプリの動作を制御し、
前記第２アプリは、
機械学習に基づく作曲機能を制御するための設定情報を選択し、
ネットワークを介して、前記設定情報を前記機械学習に基づく作曲機能を実行する外部サーバに送信し、当該外部サーバによって作曲された楽曲データを受信する
ように前記情報処理装置を機能させる情報処理プログラム。
【符号の説明】
【０１８２】
１  情報処理システム
１０  ユーザ端末
１１  通信部
１２  入力部
１３  表示部
１５  記憶部
１５１  作曲設定情報
１５２  作曲楽曲情報
１５３  履歴情報
１５４  担当楽器情報
１６  制御部
１６１  ホストアプリ制御部
１６２  プラグイン制御部
１６３  再生部
１６４  表示制御部
１６５  プラグインアプリ制御部
１６６  選択部
１６７  送受信部
１６８  再生部
１６９  表示制御部
１００  処理サーバ
２００  管理サーバ
【図１】
2020166094.tif 000003
【図２】
2020166094.tif 000004
【図３】
2020166094.tif 000005
【図４】
2020166094.tif 000006
【図５】
2020166094.tif 000007
【図６】
2020166094.tif 000008
【図７】
2020166094.tif 000009
【図８】
2020166094.tif 000010
【図９】
2020166094.tif 000011
【図１０】
2020166094.tif 000012
【図１１】
2020166094.tif 000013
【図１２】
2020166094.tif 000014
【図１３】
2020166094.tif 000015
【図１４】
2020166094.tif 000016
【図１５】
2020166094.tif 000017
【図１６】
2020166094.tif 000018
【図１７】
2020166094.tif 000019
【図１８】
2020166094.tif 000020
【図１９】
2020166094.tif 000021
【図２０】
2020166094.tif 000022
【国際調査報告】
2020166094.tif 000023
2020166094.tif 000024
2020166094.tif 000025