IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

特許7388542演奏エージェントの訓練方法、自動演奏システム、及びプログラム
<>
  • 特許-演奏エージェントの訓練方法、自動演奏システム、及びプログラム 図1
  • 特許-演奏エージェントの訓練方法、自動演奏システム、及びプログラム 図2
  • 特許-演奏エージェントの訓練方法、自動演奏システム、及びプログラム 図3
  • 特許-演奏エージェントの訓練方法、自動演奏システム、及びプログラム 図4
  • 特許-演奏エージェントの訓練方法、自動演奏システム、及びプログラム 図5
  • 特許-演奏エージェントの訓練方法、自動演奏システム、及びプログラム 図6
  • 特許-演奏エージェントの訓練方法、自動演奏システム、及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】演奏エージェントの訓練方法、自動演奏システム、及びプログラム
(51)【国際特許分類】
   G10H 1/36 20060101AFI20231121BHJP
   G10H 1/00 20060101ALI20231121BHJP
   G10G 1/00 20060101ALI20231121BHJP
【FI】
G10H1/36
G10H1/00 102Z
G10G1/00
G10H1/00 Z
【請求項の数】 18
(21)【出願番号】P 2022509544
(86)(22)【出願日】2021-03-09
(86)【国際出願番号】 JP2021009361
(87)【国際公開番号】W WO2021193032
(87)【国際公開日】2021-09-30
【審査請求日】2022-09-06
(31)【優先権主張番号】P 2020051490
(32)【優先日】2020-03-23
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100124039
【弁理士】
【氏名又は名称】立花 顕治
(72)【発明者】
【氏名】前澤 陽
【審査官】大野 弘
(56)【参考文献】
【文献】特開2018-78975(JP,A)
【文献】特開2019-162207(JP,A)
【文献】特開2011-95530(JP,A)
【文献】特開2015-191194(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/36
G10H 1/00
G10G 1/00
(57)【特許請求の範囲】
【請求項1】
演奏者による楽曲の第1演奏を観測し、
演奏エージェントにより、観測される前記第1演奏と並行に行う第2演奏の演奏データを生成し、
前記演奏者の前記第1演奏に並行して前記第2演奏を行うように前記演奏データを出力し、
出力された前記演奏データによる前記第2演奏に対する前記演奏者の満足度を取得し、
強化学習により、取得される前記満足度を報酬として用いて、前記演奏エージェントを訓練する、
処理を備える、
コンピュータにより実現される演奏エージェントの訓練方法。
【請求項2】
前記満足度を取得することは、前記演奏者の前記第1演奏に係る演奏者情報を取得し、取得される前記演奏者情報から前記満足度を取得することにより構成される、
請求項1に記載の演奏エージェントの訓練方法。
【請求項3】
前記満足度を取得することは、機械学習により生成された訓練済みの推定モデルを使用して、前記演奏者情報から前記満足度を推定することにより構成される、
請求項2に記載の演奏エージェントの訓練方法。
【請求項4】
前記演奏者情報は、前記第1演奏を行う前記演奏者の映像を含む、
請求項2又は3に記載の演奏エージェントの訓練方法。
【請求項5】
前記演奏者情報は、前記映像から抽出された前記演奏者の表情及び姿勢の少なくともいずれかを含む、
請求項4に記載の演奏エージェントの訓練方法。
【請求項6】
前記演奏者情報は、前記演奏者による前記第1演奏の際に取得される前記演奏者の生体信号を含む、
請求項2から5のいずれか1項に記載の演奏エージェントの訓練方法。
【請求項7】
前記演奏者情報は、前記演奏者による前記第1演奏の演奏データを含む、
請求項2から6のいずれか1項に記載の演奏エージェントの訓練方法。
【請求項8】
前記演奏エージェントは、将来に亘って取得される前記満足度の和を最大化するように訓練される、
請求項1から7のいずれか1項に記載の演奏エージェントの訓練方法。
【請求項9】
プロセッサリソースと、
前記プロセッサリソースにより実行されるプログラムを保持するメモリリソースと、
を備える自動演奏システムであって、
前記プロセッサリソースは、前記プログラムを実行することにより、
演奏者による楽曲の第1演奏を観測し、
演奏エージェントにより、観測される前記第1演奏と並行に行う第2演奏の演奏データを生成し、
前記演奏者の前記第1演奏に並行して前記第2演奏を行うように前記演奏データを出力し、
出力された前記演奏データによる前記第2演奏に対する前記演奏者の満足度を取得し、
強化学習により、取得される前記満足度を報酬として用いて、前記演奏エージェントを訓練する、
ように構成される、
自動演奏システム。
【請求項10】
前記第2演奏の前記演奏データに従って前記第2演奏を行う演奏装置を更に備える、
請求項に記載の自動演奏システム。
【請求項11】
前記満足度を取得することは、前記演奏者の前記第1演奏に係る演奏者情報を取得し、取得される前記演奏者情報から前記満足度を取得することにより構成される、
請求項又は10に記載の自動演奏システム。
【請求項12】
前記満足度を取得することは、機械学習により生成された訓練済みの推定モデルを使用して、前記演奏者情報から前記満足度を推定することにより構成される、
請求項11に記載の自動演奏システム。
【請求項13】
前記演奏者情報は、前記第1演奏を行う前記演奏者の映像を含む、
請求項11又は12に記載の自動演奏システム。
【請求項14】
前記演奏者情報は、前記映像から抽出された前記演奏者の表情及び姿勢の少なくともいずれかを含む、
請求項13に記載の自動演奏システム。
【請求項15】
前記演奏者情報は、前記演奏者による前記第1演奏の際に取得される前記演奏者の生体信号を含む、
請求項11から14のいずれか1項に記載の自動演奏システム。
【請求項16】
前記演奏者情報は、前記演奏者による前記第1演奏の演奏データを含む、
請求項11から15のいずれか1項に記載の自動演奏システム。
【請求項17】
前記演奏エージェントは、将来に亘って取得される前記満足度の和を最大化するように訓練される、
請求項9から16のいずれか1項に記載の自動演奏システム。
【請求項18】
コンピュータに、
演奏者による楽曲の第1演奏を観測し、
演奏エージェントにより、観測される前記第1演奏と並行に行う第2演奏の演奏データを生成し、
前記演奏者の前記第1演奏に並行して前記第2演奏を行うように前記演奏データを出力し、
出力された前記演奏データによる前記第2演奏に対する前記演奏者の満足度を取得し、
強化学習により、取得される前記満足度を報酬として用いて、前記演奏エージェントを訓練する、
処理を実行させるための、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演奏エージェントの訓練方法、自動演奏システム、及びプログラムに関する。
【背景技術】
【0002】
近年、演奏者による演奏に合わせて自動演奏を行う演奏エージェントの開発が進んでいる。例えば、特許文献1には、推定される演奏者による演奏の進行に同期するように自動演奏を行う技術が提案されている。特許文献1により提案される技術では、特定の演奏者による合図動作に応じて自動演奏を制御する構成、及び合図動作の識別に機械学習により訓練済みの推定モデルを用いることが提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開2018/070286号
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、演奏する楽器、演奏の能力等、演奏者の演奏に関する属性は様々であるため、ある演奏者に適合する演奏エージェントが他の演奏者に適合するとは限らない。演奏者毎に演奏エージェントを個別に手作業で生成するようにすると、演奏エージェントの生成コストが膨大になってしまう。
【0005】
本発明は、一側面では、以上の事情を鑑みてなされたものであり、その目的は、演奏者に適合する演奏エージェントを生成するコストの低減を図る技術を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一態様に係る1又は複数のコンピュータにより実現される演奏エージェントの訓練方法は、演奏エージェントにより、観測される前記第1演奏と並行に行う第2演奏の演奏データを生成し、前記演奏者の前記第1演奏に並行して前記第2演奏を行うように前記演奏データを出力し、出力された前記演奏データによる前記第2演奏に対する前記演奏者の満足度を取得し、強化学習により、取得される前記満足度を報酬として用いて、将来に亘って取得される前記満足度の和を最大化するように前記演奏エージェントを訓練する、処理を備える。
【発明の効果】
【0007】
本発明によれば、演奏者に適合する演奏エージェントを生成するコストの低減を図ることができる。
【図面の簡単な説明】
【0008】
図1図1は、実施の形態に係る自動演奏システムの構成の一例を示す。
図2図2は、実施の形態に係る演奏制御装置のハードウェア構成の一例を示す。
図3図3は、実施の形態に係る推定装置のハードウェア構成の一例を示す。
図4図4は、実施の形態に係る自動演奏システムのソフトウェア構成の一例を示す。
図5図5は、実施の形態における満足度を推定するための推定モデルの訓練処理の一例を示すフローチャートである。
図6図6は、実施の形態における演奏エージェントの訓練処理の一例を示すフローチャートである。
図7図7は、実施の形態における演奏エージェントの強化学習の処理工程の一例を示す。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について添付図面を参照しながら詳細に説明する。以下に説明される各実施形態は、本発明を実現可能な構成の一例に過ぎない。以下の各実施形態は、本発明が適用される装置の構成や各種の条件に応じて適宜に修正又は変更することが可能である。また、以下の各実施形態に含まれる要素の組合せの全てが本発明を実現するに必須であるとは限られず、要素の一部を適宜に省略することが可能である。したがって、本発明の範囲は、以下の各実施形態に記載される構成によって限定されるものではない。また、相互に矛盾のない限りにおいて実施形態内に記載された複数の構成を組み合わせた構成も採用可能である。
【0010】
<1.適用例>
図1は、本実施形態に係る自動演奏システムSの構成の一例を示す。図1に示すように、本実施形態の自動演奏システムSは、演奏制御装置100、演奏装置200、及び推定装置300を有する。演奏制御装置100及び推定装置300は、例えば、パーソナルコンピュータ、サーバ、タブレット端末、携帯端末(例えば、スマートフォン)等の情報処理装置(コンピュータ)によって実現される。
【0011】
演奏制御装置100は、演奏装置200を制御する演奏データを自動生成して演奏装置200に供給するように構成されるコンピュータである。演奏装置200は、第2演奏の演奏データに従って第2演奏を行うように適宜構成されてよい。一例では、演奏装置200は、発音機構及び駆動機構を有する鍵盤楽器等の自動演奏楽器であって、演奏制御装置100から供給される演奏データに基づいて無人で演奏を行うように構成されるコンピュータである。演奏装置200の発音機構は、鍵盤の各鍵の変位に連動して弦(発音体)を発音させる打弦機構である。演奏装置200の駆動機構は、上記の演奏データに基づいて発音機構を駆動することで対象楽曲の演奏を実現する。推定装置300は、演奏者と演奏エージェント160との共演における演奏者の満足度(好感度)を推定するように構成されるコンピュータである。本発明における「満足度」は、ある特定の演奏者の個人的な満足度(personal satisfaction)を意味する。
【0012】
本実施形態の演奏者は、典型的には、演奏制御装置100に接続された電子楽器EMを用いて演奏する。本実施形態の電子楽器EMは、例えば、電子鍵盤楽器(電子ピアノ等)、電子弦楽器(エレキギター等)、電子管楽器(ウィンドシンセサイザ等)等であってよい。ただし、演奏者が演奏に使用する楽器は、電子楽器EMに限られなくてよい。他の一例では、演奏者は、アコースティック楽器を用いて演奏してもよい。更に他の一例では、本実施形態に係る演奏者は、楽器を用いない楽曲の歌唱者であってもよい。この場合、演奏者による演奏は、楽器を用いずに行われてもよい。以下、演奏者による演奏を「第1演奏」と称し、演奏エージェント160による演奏を「第2演奏」と称する。
【0013】
概略的には、本実施形態に係る自動演奏システムSは、演奏者による楽曲の第1演奏を観測し、後述する演奏エージェント160により、観測される第1演奏と並行に行う第2演奏の演奏データを生成する。続いて、自動演奏システムSは、演奏者の第1演奏に並行して第2演奏を行うように演奏データを出力し、出力された演奏データによる第2演奏に対する演奏者の満足度を取得する。そして、自動演奏システムSは、強化学習により、取得される満足度を報酬として用いて、将来に亘って取得される満足度の和を最大化するように演奏エージェント160を訓練する。この自動演奏システムSによれば、演奏者に適合する演奏エージェント160を自動的に生成することができる。そのため、演奏者に適合する演奏エージェント160を生成するコストの低減を図ることができる。
【0014】
<2.ハードウェア構成例>
(演奏制御装置)
図2は、本実施形態に係る演奏制御装置100のハードウェア構成の一例を示す。図2に示すように、演奏制御装置100は、CPU101、RAM102、ストレージ103、入力部104、出力部105、集音部106、撮像部107、送受信部108、及びドライブ109がバスB1により電気的に接続されたコンピュータである。
【0015】
CPU101は、演奏制御装置100における種々の演算を実行するための1又は複数のプロセッサにより構成される。CPU101は、プロセッサリソースの一例である。プロセッサの種類は、実施の形態に応じて適宜選択されてよい。RAM102は、揮発性の記憶媒体であって、CPU101で使用される設定値等の情報を保持すると共に種々のプログラムが展開されるワーキングメモリとして動作する。ストレージ103は、不揮発性の記憶媒体であって、CPU101によって用いられる種々のプログラム及びデータを記憶する。RAM102及びストレージ103は、プロセッサリソースにより実行されるプログラムを保持するメモリリソースの一例である。
【0016】
本実施形態では、ストレージ103は、プログラム81等の各種情報を記憶する。プログラム81は、演奏者による楽曲の第1演奏に並行して第2演奏を行い、後述する演奏エージェント160を訓練する情報処理(後述する図6図7)を演奏制御装置100に実行させるためのプログラムである。プログラム81は、当該情報処理の一連の命令を含む。
【0017】
入力部104は、演奏制御装置100に対する操作を受け付けるための入力装置により構成される。入力部104は、例えば、演奏制御装置100に接続されるキーボード、マウス等の1又は複数の入力装置により構成されてよい。
【0018】
出力部105は、種々の情報を出力するための出力装置により構成される。出力部105は、例えば、演奏制御装置100に接続されるディスプレイ、スピーカ等の1又は複数の出力装置により構成されてよい。情報の出力は、例えば、映像信号、音信号等により行われてよい。
【0019】
なお、入力部104及び出力部105は、演奏制御装置100に対するユーザの操作を受け付けると共に種々の情報を出力するタッチパネルディスプレイ等の入出力装置によって一体的に構成されていてもよい。
【0020】
集音部106は、集音した音を電気信号に変換してCPU101に供給するように構成される。集音部106は、例えば、マイクロフォンにより構成される。集音部106は、演奏制御装置100に内蔵されていてもよいし、不図示のインタフェースを介して演奏制御装置100に接続されていてもよい。
【0021】
撮像部107は、撮影した映像を電気信号に変換してCPU101に供給するように構成される。撮像部107は、例えば、デジタルカメラにより構成される。撮像部107は、演奏制御装置100に内蔵されていてもよいし、不図示のインタフェースを介して演奏制御装置100に接続されていてもよい。
【0022】
送受信部108は、無線又は有線でデータを他の装置と送受信するように構成される。本実施形態では、演奏制御装置100は、送受信部108を介して、制御対象である演奏装置200、演奏者が楽曲を演奏する際に用いる電子楽器EM、及び推定装置300と接続し、データを送受信してよい。送受信部108は、複数のモジュール(例えば、Bluetooth(登録商標)モジュール、Wi-Fi(登録商標)モジュール、USB(Universal Serial Bus)ポート、専用ポート等)を含んでよい。
【0023】
ドライブ109は、記憶媒体91に記憶されたプログラム等の各種情報を読み込みためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。記憶媒体91は、例えば、フロッピディスク、光ディスク(例えば、コンパクトディスク、デジタル・ヴァーサタイル・ディスク、ブルーレイディスク)、光磁気ディスク、磁気テープ、不揮発性のメモリカード(例えば、フラッシュメモリ)等であってよい。ドライブ109の種類は、記憶媒体91の種類に応じて任意に選択されてよい。上記プログラム81は、記憶媒体91に記憶されていてもよく、演奏制御装置100は、この記憶媒体91から上記プログラム81を読み出してもよい。
【0024】
バスB1は、演奏制御装置100の上記ハードウェアの構成要素を相互にかつ電気的に接続する信号伝送路である。なお、演奏制御装置100の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、入力部104、出力部105、集音部106、撮像部107、送受信部108、及びドライブ109の少なくともいずれかは省略されてよい。
【0025】
(推定装置)
図3は、本実施形態に係る推定装置300のハードウェア構成の一例を示す。図3に示すように、推定装置300は、CPU301、RAM302、ストレージ303、入力部304、出力部305、集音部306、撮像部307、生体センサ308、送受信部309、及びドライブ310がバスB3により電気的に接続されたコンピュータである。
【0026】
CPU301は、推定装置300における種々の演算を実行するための1又は複数のプロセッサにより構成される。CPU301は、推定装置300のプロセッサリソースの一例である。プロセッサの種類は、実施の形態に応じて適宜選択されてよい。RAM302は、揮発性の記憶媒体であって、CPU301で使用される設定値等の各種情報を保持すると共に種々のプログラムが展開されるワーキングメモリとして動作する。ストレージ303は、不揮発性の記憶媒体であって、CPU301によって用いられる種々のプログラム及びデータを記憶する。RAM302及びストレージ303は、プロセッサリソースにより実行されるプログラムを保持する推定装置300のメモリリソースの一例である。
【0027】
本実施形態では、ストレージ303は、プログラム83等の各種情報を記憶する。プログラム83は、満足度の推定モデルを訓練する情報処理(後述する図5)及び訓練済みの推定モデルを使用して満足度を推定する情報処理を推定装置300に実行させるためのプログラムである。プログラム83は、当該情報処理の一連の命令を含む。
【0028】
入力部304から撮像部307、ドライブ310及び記憶媒体93は、演奏制御装置100の入力部104から撮像部107、ドライブ109及び記憶媒体91と同様に構成されてよい。プログラム83は、記憶媒体93に記憶されていてよく、推定装置300は、記憶媒体93からプログラム83を読み出してもよい。
【0029】
生体センサ308は、演奏者の生体情報を示す生体信号を時系列的に取得するように構成される。演奏者の生体情報は、例えば、心拍数、発汗量、血圧等の1又は複数種類のデータにより構成されてよい。生体センサ308は、例えば、心拍計、発汗計、血圧計等のセンサにより構成されてよい。
【0030】
送受信部309は、無線又は有線でデータを他の装置と送受信するように構成される。本実施形態では、推定装置300は、送受信部309を介して、演奏者が楽曲を演奏する際に用いる電子楽器EM及び演奏制御装置100と接続し、データを送受信してよい。送受信部309は、送受信部108と同様に複数のモジュールを含んでよい。
【0031】
バスB3は、推定装置300の上記ハードウェアの構成要素を相互にかつ電気的に接続する信号伝送路である。なお、推定装置300の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、入力部304、出力部305、集音部306、撮像部307、生体センサ308、送受信部309、及びドライブ310の少なくともいずれかは省略されてよい。
【0032】
<3.ソフトウェア構成例>
図4は、本実施形態に係る自動演奏システムSのソフトウェア構成の一例を示す。
【0033】
(演奏制御装置)
演奏制御装置100は、制御部150及び記憶部180を有する。制御部150は、CPU101及びRAM102により、演奏制御装置100の動作を統合的に制御するように構成される。記憶部180は、RAM102及びストレージ103により、制御部150において用いられる種々のデータを記憶するように構成される。演奏制御装置100のCPU101は、ストレージ103に記憶されたプログラム81をRAM102に展開し、RAM102に展開されたプログラム81に含まれる命令を実行する。これにより、演奏制御装置100(制御部150)は、認証部151、演奏取得部152、映像取得部153、演奏エージェント160、及びエージェント訓練部170をソフトウェアモジュールとして備えるコンピュータとして動作する。
【0034】
認証部151は、推定装置300等の外部装置と協働してユーザ(演奏者)を認証するように構成される。一例では、認証部151は、ユーザが入力部104を用いて入力したユーザ識別子及びパスワード等の認証データを推定装置300に送信し、推定装置300から受信した認証結果に基づいてユーザのアクセスを許可又は拒否するように構成される。なお、ユーザを認証する外部装置は、推定装置300以外の認証サーバでもよい。認証部151は、認証された(アクセスが許可された)ユーザのユーザ識別子を他のソフトウェアモジュールに供給するように構成されてもよい。
【0035】
演奏取得部152は、演奏者による楽曲の第1演奏を観測し、当該第1演奏を示す演奏データ(以下、「第1演奏データ」とも記載する)を取得するように構成される。第1演奏データは、例えば、電子楽器EMから供給されるタイムスタンプ付きのMIDIデータ列である。一例では、演奏取得部152は、集音部106が第1演奏を集音して出力する電気信号により示される演奏音を第1演奏データとして取得するように構成されてよい。第1演奏データは、演奏に含まれる音の特性(例えば、発音時刻及び音高)を示すデータであって、演奏者による第1演奏を表現する高次元の時系列データの一種である。演奏取得部152は、取得した第1演奏データを演奏エージェント160に供給するように構成される。演奏取得部152は、取得した第1演奏データを推定装置300に送信するように構成されてもよい。
【0036】
映像取得部153は、演奏者による第1演奏に係る映像データを取得するように構成される。一例では、映像取得部153は、撮像部107が撮影した第1演奏における演奏者の映像を示す電気信号に基づいて映像データを取得するように構成されてよい。映像データは、演奏における演奏者の動きの特徴を示す動きデータであって、演奏者による演奏を表現する高次元の時系列データの一種である。動きデータは、例えば、演奏者の骨格(スケルトン)を時系列的に取得したデータである。映像取得部153は、取得した映像データを演奏エージェント160に供給するように構成される。映像取得部153は、取得した映像データを推定装置300に送信するように構成されてもよい。
【0037】
演奏エージェント160は、演奏者との共演である自動演奏を演奏装置200に実行させるように構成される。演奏エージェント160は、例えば、国際公開2018/070286号に開示される手法、「音響信号によるリアルタイム楽譜追跡と能動的演奏支援システムに関する研究」(酒向慎司(名古屋工業大学)、電気通信普及財団「研究調査助成報告書」第31号、2016年度)に開示される手法等の任意の手法に基づく自動演奏制御を実行するように構成されてよい。自動演奏(第2演奏)は、例えば、第1演奏に対する伴奏であってもよいし、対旋律であってもよい。
【0038】
演奏エージェント160は、例えば、その時の状態(例えば、「両者(演奏者及び演奏エージェント)の音量差」、「演奏エージェントの音量」、「演奏エージェントのテンポ」、「両者のタイミング差」等)に応じて実行する行動(例えば、「テンポを1上げる」、「テンポを1下げる」、「テンポを10下げる」、・・・、「音量を3上げる」、「音量を1上げる」、「音量を1下げる」等)を決定する複数のパラメータを有する演算モデルにより構成される。演奏エージェント160は、その時の状態に応じた行動(action)をそれら複数のパラメータに基づいて決定し、決定された行動に従ってその時行っている演奏を変えるように適宜構成されてよい。本実施形態では、演奏エージェント160は、当該演算モデルにより、演奏解析部161及び演奏生成部162を含むように構成される。非限定的かつ概略的な自動演奏制御について以下に例示する。
【0039】
演奏解析部161は、演奏者が現に演奏している楽曲上の位置である演奏位置を、演奏取得部152及び映像取得部153から供給される第1演奏データ及び映像データに基づいて推定するように構成される。演奏解析部161による演奏位置の推定は、演奏者による演奏と並行して継続的に(例えば、周期的に)実行されてよい。
【0040】
一例では、演奏解析部161は、第1演奏データが示す一連の音と自動演奏のための楽曲データが示す一連の音符とを相互比較することにより、演奏者の演奏位置を推定するように構成されてよい。楽曲データは、演奏者による第1演奏(演奏者パート)に対応する参照データと、演奏エージェント160による第2演奏(自動演奏パート)を示す自動演奏データとを含む。演奏解析部161による演奏位置の推定には、任意の音楽解析技術(スコアアライメント技術)が適宜に採用されてよい。
【0041】
演奏生成部162は、演奏解析部161により推定される演奏位置の進行(時間軸上の移動)に同期するように、楽曲データ内の自動演奏データに基づいて第2演奏の演奏データ(以下、「第2演奏データ」とも記載する)を自動生成し、生成された第2演奏データを演奏装置200に供給するように構成される。自動生成される第2演奏データは、第1演奏と並行して行われる第2演奏のためのデータであって、一連の音符に従って演奏装置200の駆動機構を動作させる指示データである。換言すると、演奏生成部162は、楽曲データに対応する楽曲を実現する第2演奏データ(例えば、タイムスタンプ付きMIDIデータ列)を演奏装置200に対して供給するシーケンサとして動作するように構成される。なお、演奏生成部162は、第2演奏データを推定装置300にも供給するように構成されてよい。演奏装置200は、演奏生成部162から供給される第2演奏データに応じて、楽曲の自動演奏である第2演奏を行うように構成される。
【0042】
なお、演奏エージェント160(演奏解析部161及び演奏生成部162)の構成は、このような例に限定されなくてよい。他の一例では、演奏エージェント160(演奏解析部161及び演奏生成部162)は、既存の楽曲データに基づかずに、演奏者の第1演奏を示す第1演奏データに基づいて即興的に第2演奏データを生成し、生成された第2演奏データを演奏装置200に供給することで、演奏装置200に自動演奏(即興演奏)を実行させるように構成されてもよい。
【0043】
エージェント訓練部170は、第2演奏に対する演奏者の満足度を最大化するように演奏エージェント160を訓練するように構成される。エージェント訓練部170の動作については後に詳述する。なお、第2演奏に対する演奏者の満足度は、任意の方法で取得されてよい。本実施形態では、満足度を取得することは、演奏者の第1演奏に係る演奏者情報を取得し、取得される演奏者情報から満足度を取得することにより構成されてよい。また、演奏者情報から満足度を取得することは、後述する機械学習により生成された訓練済みの推定モデル(満足度推定モデル)を使用して、演奏者情報から満足度を推定することにより構成されてよい。演奏者情報は、第1演奏を行う演奏者の映像を含むように構成されてよい。演奏者情報は、映像から抽出された演奏者の表情及び姿勢の少なくともいずれかを含むように構成されてよい。演奏者情報は、演奏者により第1演奏の際に取得される演奏者の生体信号を含むように構成されてよい。この「第1演奏の際」は、第1演奏の間及び第1演奏の終了後の余韻の残る間を含んでよい。演奏者情報は、演奏者による第1演奏の演奏データを含むように構成されてよい。
【0044】
(推定装置)
推定装置300は、制御部350及び記憶部380を有する。制御部350は、CPU301及びRAM302により、推定装置300の動作を統合的に制御するように構成される。記憶部380は、RAM302及びストレージ303により、制御部350において用いられる種々のデータ(特に、後述される満足度推定モデル)を記憶するように構成される。推定装置300のCPU301は、ストレージ303に記憶されたプログラム83をRAM302に展開し、RAM302に展開されたプログラム83に含まれる命令を実行する。これにより、推定装置300(制御部350)は、認証部351、演奏取得部352、反応取得部353、満足度取得部354、データ前処理部355、モデル訓練部356、及び満足度推定部357をソフトウェアモジュールとして備えるコンピュータとして動作する。
【0045】
認証部351は、演奏制御装置100と協働してユーザ(演奏者)を認証するように構成される。一例では、認証部351は、演奏制御装置100から提供された認証データが記憶部380に格納されている認証データと一致するか否かを判定し、認証結果(許可又は拒否)を演奏制御装置100に送信するように構成される。
【0046】
演奏取得部352は、演奏者による第1演奏データ(演奏者情報)を取得するように構成される。第1演奏データは音符列であって、各音符の発音タイミング、音長、音高、及び強度が規定されたデータである。一例では、演奏取得部352は、電子楽器EMから供給された第1演奏を示す演奏データを、電子楽器EMから直接的に又は演奏制御装置100を介して取得するように構成されてよい。他の一例では、演奏取得部352は、集音部306を用いて又は演奏制御装置100を介して、第1演奏を示す演奏音を取得するように構成されてもよい。演奏取得部352は、取得した第1演奏データを記憶部380に記憶するように構成される。演奏取得部352は、取得された第1演奏データに対して、認証部351により認証された演奏者のユーザ識別子を関連付けるように構成されてもよい。
【0047】
反応取得部353は、第1演奏を行う演奏者の反応を示す反応データ(演奏者情報)を取得するように構成される。一例では、反応取得部353は、撮像部307により撮影される、第1演奏を行っている演奏者の反応が反映された映像を反応データとして取得するように構成されてよい。反応取得部353は、取得した映像から抽出される演奏者の表情及び姿勢の少なくともいずれかを反応データとして取得してもよい。また、反応取得部353は、演奏者による第1演奏の際に生体センサ308により取得される演奏者の生体信号を反応データとして取得してよい。生体信号は、例えば、心拍数、発汗量、血圧等の1又は複数種類のデータにより構成されてよい。
【0048】
満足度取得部354は、演奏エージェント160(演奏装置200)との共演における演奏者の個人的な満足度を示す満足度ラベル(正解ラベル)を取得するように構成される。満足度ラベルは、演奏エージェント160(又は演奏エージェント160を模擬する任意の方法)による第2演奏に対する演奏者の満足度を示すデータである。満足度は、段階的な評価を表す離散値で表現されてもよいし、或いは連続値で表現されてもよい。演奏者は、演奏制御装置100の入力部104、推定装置300の入力部304等の入力装置を介して満足度ラベルを入力してもよい。演奏制御装置100に満足度ラベルの情報が入力される場合、満足度ラベルは、制御部150(CPU101)によって推定装置300に転送されてよく、満足度取得部354は、演奏制御装置100から転送される満足度ラベルを受信するように構成されてよい。満足度取得部354は、取得した満足度ラベルを、第1演奏に係る演奏者情報(第1演奏データ、反応データ)と関連付けて記憶部380に記憶するように構成される。
【0049】
データ前処理部355は、演奏者の満足度を推定するための推定モデル(以下、「満足度推定モデル」とも記載する)に入力するデータ(演奏者情報等)を、推定モデルの演算に適した形式となるように前処理するように構成される。データ前処理部355は、訓練段階においては前処理したデータをモデル訓練部356に供給し、推定段階においては前処理したデータを満足度推定部357に供給するように構成される。
【0050】
モデル訓練部356は、データ前処理部355から供給される演奏者情報及び満足度ラベルを、それぞれ入力データ(訓練データ)及び教師信号(正解データ)として用いて、機械学習により満足度推定モデルを訓練するように構成される。満足度推定モデルは、複数のパラメータを有する任意の機械学習モデルにより構成されてよい。満足度推定モデルを構成する機械学習モデルには、例えば、多層パーセプトロンによって構成されるフィードフォワード型ニューラルネットワーク(FFNN)、隠れマルコフモデル(HMM)等が使用されてよい。その他に、満足度推定モデルを構成する機械学習モデルには、例えば、時系列データに適合した回帰型ニューラルネットワーク(RNN)、その派生の構成(長・短期記憶(LSTM)、ゲート付き回帰型ユニット(GRU)等)、畳み込みニューラルネットワーク(CNN)等が使用されてもよい。機械学習は、満足度推定モデルにより訓練用の演奏者情報から推定される満足度が満足度ラベルにより示される真値に適合するように満足度推定モデルを訓練することにより構成される。機械学習の方法は、採用する機械学習モデルの種類に応じて適宜選択されてよい。機械学習により生成された訓練済みの満足度推定モデルは、記憶部380等の記憶領域に学習結果データの形式で適宜保存されてよい。
【0051】
満足度推定部357は、モデル訓練部356によって生成される訓練済みの満足度推定モデルを備える。満足度推定部357は、訓練済みの満足度推定モデルを使用して、推論時に得られた演奏者情報から演奏者の満足度を推定するように構成される。具体的には、満足度推定部357は、訓練済みの満足度推定モデルに対して、データ前処理部355から供給される前処理後の演奏者情報を入力データとして入力し、訓練済みの満足度推定モデルの演算処理を実行する。この演算処理により、満足度推定部357は、入力された演奏者情報から演奏者の満足度を推定した結果に対応する出力を訓練済みの満足度推定モデルから取得する。推定された満足度(満足度の推定結果)は、演奏制御装置100のエージェント訓練部170に供給される。
【0052】
(その他)
本実施形態では、演奏制御装置100及び推定装置300の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。また、演奏制御装置100及び推定装置300それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0053】
<4.動作例>
(満足度推定モデルの訓練処理)
図5は、本実施形態に係る自動演奏システムSによる満足度推定モデルの訓練処理の一例を示すフローチャートである。以下の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
【0054】
ステップS510では、推定装置300のCPU301が、演奏者の第1演奏に係る演奏者情報を取得する。本実施形態では、演奏者情報は、演奏者による第1演奏を示す第1演奏データ、演奏者による第1演奏の際に取得される演奏者の生体信号、第1演奏を行う演奏者の映像、並びに映像から抽出される演奏者の表情及び姿勢、の少なくともいずれかを含むように構成されてよい。演奏者情報が第1演奏データを含むように構成される場合、CPU301は、演奏取得部352として動作し、演奏者による第1演奏を示す第1演奏データを取得する。演奏者情報が、演奏者による第1演奏の際に取得される演奏者の生体信号、第1演奏を行う演奏者の映像、並びに映像から抽出される演奏者の表情及び姿勢、の少なくともいずれかを含むように構成される場合、CPU301は、反応取得部353として動作し、第1演奏を行う演奏者の反応を示す反応データを取得する。CPU301は、取得された演奏者情報を記憶部380に格納する。なお、この満足度推定モデルの訓練用の演奏者情報を取得する際、任意の方法(演奏エージェント160を使用する方法又はそれ以外の方法)で第2演奏が第1演奏に並行して行われてよい。
【0055】
ステップS520では、CPU301は、満足度取得部354として動作し、第2演奏に対する演奏者の満足度を示す満足度ラベルを取得する。一例では、CPU301は、入力装置を介した演奏者の入力により満足度ラベルを取得してよい。CPU301は、取得された満足度ラベルを演奏者情報に関連付けて記憶部380に格納する。
【0056】
なお、ステップS510及びステップS520の処理は、並列的に実行されてもよいし、或いは順次に実行されてもよい。
【0057】
ステップS530では、CPU301は、データ前処理部355として動作し、記憶部380に格納された演奏者情報に対してデータ前処理を行い、前処理後の演奏者情報をモデル訓練部356に供給する。
【0058】
ステップS540では、CPU301は、モデル訓練部356として動作し、前処理された演奏者情報及び満足度ラベルをそれぞれ入力データ(訓練データ)及び教師信号(正解データ)として用いて、満足度推定モデルの機械学習を実行する。すなわち、CPU301は、満足度推定モデルにより訓練用の演奏者情報から推定される満足度が満足度ラベルにより示される真値に適合するように満足度推定モデルを訓練する。
【0059】
この機械学習により、演奏者情報から演奏者の満足度を推定する能力を獲得した訓練済みの満足度推定モデルが生成される。CPU301は、訓練済みの満足度推定モデルを示す学習結果データを生成し、生成された学習結果データを記憶部380等の記憶領域に保存する。この機械学習が追加学習又は再学習である場合、CPU301は、新たに生成された学習結果データにより、記憶部380等の記憶領域に保存された学習結果データを更新する。
【0060】
以上により、本動作例に係る満足度推定モデルの訓練処理は終了する。上記訓練処理は、定期的に実行されてもよいし、或いはユーザ(演奏制御装置100)からの要求に応じて実行されてもよい。なお、ステップS510の処理を実行する前に、演奏制御装置100のCPU101及び推定装置300のCPU301はそれぞれ認証部(151、351)として動作し、演奏者を認証してもよい。これにより、認証された演奏者の演奏者情報及び満足度ラベルを収集し、訓練済みの満足度推定モデルを生成してもよい。
【0061】
(演奏エージェントの訓練処理)
図6は、本実施形態に係る自動演奏システムSによる演奏エージェントの訓練処理の一例を示すフローチャートである。以下の処理手順は、演奏エージェントの訓練方法の一例である。ただし、以下の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
【0062】
ステップS610では、演奏制御装置100のCPU101及び推定装置300のCPU301の少なくともいずれかが、演奏者による楽曲の第1演奏を観測し、第1演奏を示す第1演奏データを取得する。CPU101が、演奏取得部152として動作し、第1演奏データを取得してもよい。或いは、CPU301が、演奏取得部352として動作し、第1演奏データを取得してもよい。取得された第1演奏データは、記憶部180及び記憶部380の少なくともいずれかに格納されてよい。
【0063】
ステップS620では、CPU101は、演奏エージェント160により、観測される第1演奏と並行に行う第2演奏を示す第2演奏データを生成する。CPU101は、演奏解析部161及び演奏生成部162として動作し、演奏エージェントを構成する演算モデルの演算処理を実行することで、演奏者の演奏位置を推定し、推定される演奏位置に同期するように第2演奏データを生成する。
【0064】
ステップS630では、CPU101は、演奏生成部162として動作し、演奏者の第1演奏に並行して第2演奏を行うように第2演奏データを出力する。一例では、CPU101は、生成された第2演奏データを演奏装置200に供給し、第2演奏データに従って自動演奏を実行するように演奏装置200の動作を制御する。
【0065】
ステップS640では、演奏制御装置100のCPU101及び推定装置300のCPU301の少なくともいずれかが、演奏者の第1演奏に係る演奏者情報を取得する。演奏者情報が第1演奏データを含むように構成される場合、ステップS640の処理は、ステップS610と共通に実行されてよい。演奏者情報が、演奏者による第1演奏の際に取得される演奏者の生体信号、第1演奏を行う演奏者の映像、並びに映像から抽出される演奏者の表情及び姿勢、の少なくともいずれかを含むように構成される場合、CPU301が、反応取得部353として動作し、第1演奏を行う演奏者の反応を示す反応データを取得してよい。或いは、CPU101が、映像取得部153として動作し、第1演奏を行う演奏者の映像、並びに映像から抽出される演奏者の表情及び姿勢、の少なくともいずれかを取得してもよい。取得された演奏者情報は、記憶部180及び記憶部380の少なくともいずれかに格納されてよい。
【0066】
ステップS650では、取得された演奏者情報がデータ前処理部355に供給される。推定装置300のCPU301は、データ前処理部355として動作し、演奏者情報に対してデータ前処理を行い、前処理後の演奏者情報を満足度推定部357に供給する。そして、CPU301は、満足度推定部357として動作し、訓練済みの推定モデルを使用して、出力された第2演奏データによる第2演奏に対する演奏者の満足度を取得された演奏者情報から推定する。推定された満足度は、満足度推定部357から演奏制御装置100のエージェント訓練部170に供給される。
【0067】
ステップS660では、演奏制御装置100のCPU101は、演奏エージェント160の訓練を開始するか否かを判定する。例えば、強化学習に使用するデータが収集された、演奏者による第1演奏が終了した等の任意のタイミングで、CPU101は、演奏エージェント160の訓練を開始すると判定してよい。訓練を開始すると判定した場合、CPU101は、ステップS670に処理を進める。一方、訓練を開始しないと判定した場合、CPU101は、ステップS610に処理を戻し、ステップS610~ステップS650の一連の処理を繰り返し実行して、演奏エージェント160に訓練に使用するための学習データの収集を継続する。
【0068】
なお、ステップS610~ステップS650の処理は、演奏者と演奏エージェント160との共演において逐次的に実行されてよく、その結果として、演奏者の満足度が時系列的に推定されてよい。満足度は、単位時間毎に推定されてもよいし、或いは任意の演奏単位(例えば、フレーズ)毎に推定されてもよい。ステップS610~ステップS650の処理は、演奏者が第1演奏を行うのと並行してリアルタイムに実行されてもよいし、或いは記憶部180及び記憶部380の少なくともいずれかに記憶された第1演奏に対して事後的に実行されてもよい。
【0069】
ステップS670では、CPU101は、エージェント訓練部170として動作し、ステップS660までの処理により収集された学習データを使用して、演奏エージェント160の機械学習を実行する。
【0070】
図7は、本実施形態に係る自動演奏システムSによる演奏エージェント160の訓練(機械学習)の処理の一例を示す。本実施形態では、CPU101は、第2演奏に対する演奏者の満足度を報酬として用いて、演奏エージェント160の強化学習を実行する。
【0071】
本実施形態の強化学習では、図7に示すように、演奏者による第1演奏が観測される「状態」に該当し、満足度推定部357により推定される演奏者の満足度が「報酬」に該当し、演奏エージェント160及び演奏装置200による第2演奏が「行動」に該当する。演奏エージェント160及び演奏装置200による「行動」である第2演奏に対応して、「状態」である演奏者による第1演奏が変化すると共に、「報酬」である演奏者の満足度が推定される。第1演奏、第2演奏、及び満足度は、いずれも時系列データである。「状態」には、演奏に関する他の情報(例えば、楽曲データ、反応データ)が含まれてもよい。
【0072】
CPU101は、強化学習により、取得される満足度を報酬として用いて、第2演奏に対する演奏者の満足度を最大化するように演奏エージェント160を訓練する。より具体的には、CPU101は、将来に亘って取得される演奏者の満足度の和(すなわち、「収益」)を最大化するような第2演奏データを自動生成するように、演奏エージェント160を訓練する。この訓練過程において、演奏エージェント160を構成する各パラメータの値は、得られる報酬を増やすように徐々に変更される。一例では、演奏エージェント160は、価値関数(例えば、行動価値関数)を備えるように構成されてよく、強化学習の方法には、例えば、Q学習、モンテカルロ法等の方法が採用されてよい。他の一例では、演奏エージェント160は、方策関数を備えるように構成されてよく、強化学習の方法には、例えば、方策勾配法等の方法が採用されてよい。強化学習の方法及び演奏エージェント160の構成は、実施の形態に応じて適宜選択されてよい。
【0073】
以上により、本動作例に係る演奏エージェント160の訓練処理は終了する。上記訓練処理は、任意のタイミングで実行されてよい。なお、上記満足度推定モデルの機械学習と同様に、ステップS610の処理を実行する前に、演奏制御装置100のCPU101及び推定装置300のCPU301はそれぞれ認証部(151、351)として動作し、演奏者を認証してもよい。これにより、自動演奏システムSは、認証された演奏者の学習データを収集し、収集された学習データを使用して、演奏エージェント160の訓練を実行してもよい。また、自動演奏システムSは、演奏エージェント160の訓練を伴わず、ステップS610~ステップS630の処理を実行する(すなわち、ステップS640以降の処理を省略する)ことで、演奏エージェント160による自動演奏を行ってもよい。
【0074】
(特徴)
本実施形態によれば、演奏者に適合する演奏エージェント160を自動的に生成することができる。そのため、演奏者に適合する演奏エージェント160を生成するコストの低減を図ることができる。また、本実施形態では、演奏者情報を用いることで、演奏者の満足度を自動的に取得することができる。これにより、満足度を取得する手間を削減することができる。また、本実施形態では、機械学習により生成された訓練済みの満足度推定モデルを使用することで、満足度を適切に取得することができる。更に、本実施形態では、演奏者情報は、演奏者による第1演奏を示す第1演奏データ、演奏者による第1演奏の際に取得される演奏者の生体信号、第1演奏を行う演奏者の映像、並びに映像から抽出される演奏者の表情及び姿勢、の少なくともいずれかを含むように構成されてよい。これにより、満足度を精度よく推定することができる。
【0075】
<5.変形例>
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下の変形例は適宜組み合わせ可能である。
【0076】
上記実施形態では、自動演奏システムSは、演奏制御装置100、演奏装置200、推定装置300、及び電子楽器EMを別個の装置として備えている。しかしながら、これらの装置のうちの少なくともいずれか複数の装置は一体的に構成されてもよい。他の一例では、演奏制御装置100及び演奏装置200が一体的に構成されてもよい。或いは、演奏制御装置100及び推定装置300が一体的に構成されてもよい。
【0077】
上記実施形態において、演奏装置200は省略されてよい。この場合、自動演奏システムSは、演奏制御装置100により外部の演奏装置に対して第2演奏データを供給することで、第2演奏の自動演奏を実現するように構成されてよい。
【0078】
上記実施形態では、機械学習により生成された訓練済みの満足度推定モデルを満足度の取得に使用している。しかしながら、満足度を取得する方法は、このような例に限定されなくてよい。満足度は、演奏者情報から他の方法で取得されてよい。或いは、満足度は、演奏者情報に依らずに取得されてもよい。演奏エージェント160の訓練に用いる演奏者の満足度は、任意の方法で取得されてよい。他の一例として、所定のアルゴリズムにより、演奏者情報から満足度が算出されてもよい。更に他の一例として、満足度は、演奏制御装置100の入力部104、推定装置300の入力部304等の入力装置を介した演奏者の操作により直接的に入力されてもよい。
【0079】
また、強化学習の方法は、上記の方法に限られなくてよい。他の一例では、演奏エージェント160の演算モデルには、例えば、ガウス過程の回帰(ベイズ最適化)モデルが用いられてよい。また、機械学習の方法には、生物進化のプロセスを模倣した手法である遺伝的アルゴリズムが採用されてよい。
【0080】
なお、上記各記憶媒体(91、93)は、コンピュータに読み取り可能な非一過性の記録媒体により構成されてよい。また、プログラム(81、83)は、伝送媒体等を介して供給されてもよい。なお、「コンピュータに読み取り可能な非一過性の記録媒体」は、例えば、インターネット、電話回線等の通信ネットワークを介してプログラムが送信される場合において、例えば、サーバ、クライアント等を構成するコンピュータシステム内部の揮発性メモリ(例えば、DRAM(Dynamic Random Access Memory))等のように、一定時間の間、プログラムを保持する記録媒体を含んでよい。
【0081】
(付記)
演奏者による楽曲の第1演奏を観測し、
演奏エージェントを用いて、前記観測された第1演奏に応じた第2演奏の演奏データを生成し、
前記演奏データを再生装置(例えば、電子楽器、ピアノプレーヤ等)に供給して、前記再生装置に前記第1演奏に並行して前記第2演奏を再生させ、
再生された第2演奏に対する、前記演奏者の満足度を観測し、
前記満足度を報酬として用いた強化学習により、得られる満足度が最大化されるよう、前記演奏エージェントが前記演奏データを生成する際に従う、パラメータを調整する、
処理を備える、
コンピュータで実現される演奏エージェントの訓練方法。
【符号の説明】
【0082】
100…演奏制御装置、150…制御部、180…記憶部、200…演奏装置、300…推定装置、350…制御部、380…記憶部、EM…電子楽器、S…自動演奏システム
図1
図2
図3
図4
図5
図6
図7