(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-07
(45)【発行日】2024-02-16
(54)【発明の名称】情報処理方法、情報処理装置およびプログラム
(51)【国際特許分類】
G06T 13/20 20110101AFI20240208BHJP
G10G 1/00 20060101ALI20240208BHJP
G10H 1/00 20060101ALI20240208BHJP
【FI】
G06T13/20 500
G10G1/00
G10H1/00 102Z
(21)【出願番号】P 2022075889
(22)【出願日】2022-05-02
(62)【分割の表示】P 2018019140の分割
【原出願日】2018-02-06
【審査請求日】2022-05-02
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110003177
【氏名又は名称】弁理士法人旺知国際特許事務所
(72)【発明者】
【氏名】前澤 陽
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2016-041142(JP,A)
【文献】特開2016-050994(JP,A)
【文献】釘本 望美 他,モーションキャプチャを用いたピアノ演奏動作のCG表現と音楽演奏インタフェースへの応用,情報処理学会研究報告2007-MUS-72 ,日本,社団法人情報処理学会,2007年10月11日,第2007巻第102号,p.79~84
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/00-13/80
G10G 1/00
G10H 1/00
(57)【特許請求の範囲】
【請求項1】
楽曲のうち時間軸上の可変の時点における音符の発音を表す演奏データを順次に取得し、複数の単位期間の各々について、当該単位期間を含む解析期間内の音符の時系列を表す解析データを、前記演奏データの取得に並行して順次に生成し、
前記楽曲を演奏する演奏者を表すオブジェクトの動作を制御するための制御データを、前記演奏データの取得に並行して前記解析データから順次に生成し、
前記解析データは、相異なる音高に対応する複数の要素を前記解析期間内の各単位期間について含み、前記各単位期間に対応する前記複数の要素のうち、当該単位期間において発音される音高に対応する要素と、当該単位期間において発音されない音高に対応する要素とは、相異なる数値に設定され
、
前記制御データの生成においては、
解析データと制御データとの関係を学習した学習済モデルに、前記生成した解析データを入力することで、前記制御データを生成する
コンピュータにより実現される情報処理方法。
【請求項2】
前記各単位期間に対応する前記複数の要素のうち、当該単位期間において発音される音高に対応する要素は、当該音高の演奏強度を表す数値に設定される
請求項1の情報処理方法。
【請求項3】
前記演奏データを演奏装置に順次に供給することで自動演奏を実行させる
請求項1
または請求項2の情報処理方法。
【請求項4】
楽曲のうち時間軸上の可変の時点における音符の発音を表す演奏データを順次に取得し、複数の単位期間の各々について、当該単位期間を含む解析期間内の音符の時系列を表す解析データを、前記演奏データの取得に並行して順次に生成する解析データ生成部と、
前記楽曲を演奏する演奏者を表すオブジェクトの動作を制御するための制御データを、前記演奏データの取得に並行して前記解析データから順次に生成する制御データ生成部とを具備し、
前記解析データは、相異なる音高に対応する複数の要素を前記解析期間内の各単位期間について含み、前記各単位期間に対応する前記複数の要素のうち、当該単位期間において発音される音高に対応する要素と、当該単位期間において発音されない音高に対応する要素とは、相異なる数値に設定され
、
前記制御データ生成部は、
解析データと制御データとの関係を学習した学習済モデルに、前記生成した解析データを入力することで、前記制御データを生成する
情報処理装置。
【請求項5】
楽曲のうち時間軸上の可変の時点における音符の発音を表す演奏データを順次に取得し、複数の単位期間の各々について、当該単位期間を含む解析期間内の音符の時系列を表す解析データを、前記演奏データの取得に並行して順次に生成する解析データ生成部、および、
前記楽曲を演奏する演奏者を表すオブジェクトの動作を制御するための制御データを、前記演奏データの取得に並行して前記解析データから順次に生成する制御データ生成部、
としてコンピュータを機能させるプログラムであって、
前記解析データは、相異なる音高に対応する複数の要素を前記解析期間内の各単位期間について含み、前記各単位期間に対応する前記複数の要素のうち、当該単位期間において発音される音高に対応する要素と、当該単位期間において発音されない音高に対応する要素とは、相異なる数値に設定され
、
前記解析データ生成部は、前記解析期間のうち前記単位期間の後方の期間に対応する音符の時系列を、当該解析期間のうち前記単位期間以前の音符の時系列と、前記演奏データが時系列に配列された楽曲データとから予測する
プログラム。
【請求項6】
楽曲のうち時間軸上の可変の時点における音符の発音を表す演奏データを順次に取得し、複数の単位期間の各々について、当該単位期間を含む解析期間内の音符の時系列を表す解析データを、前記演奏データの取得に並行して順次に生成する解析データ生成部、および、
前記楽曲を演奏する演奏者を表すオブジェクトの動作を制御するための制御データを、前記演奏データの取得に並行して前記解析データから順次に生成する制御データ生成部、
としてコンピュータを機能させるプログラムであって、
前記解析データは、相異なる音高に対応する複数の要素を前記解析期間内の各単位期間について含み、前記各単位期間に対応する前記複数の要素のうち、当該単位期間において発音される音高に対応する要素と、当該単位期間において発音されない音高に対応する要素とは、相異なる数値に設定され
、
前記制御データ生成部は、解析データと制御データとの関係を学習した学習済モデルに、前記生成した解析データを入力することで、前記制御データを生成し、
前記学習済モデルは、
前記解析データの特徴を表す特徴ベクトルを当該解析データから生成する畳込みニューラルネットワークと、
前記特徴ベクトルに応じた前記制御データを生成する再帰型ニューラルネットワークとを含む
プログラム。
【請求項7】
前記複数の単位期間の各々について生成される前記解析データは、当該単位期間と、当該単位期間の前方および後方の期間とを含む解析期間内の音符の時系列を表す
請求項
5または請求項6のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演奏者等の実演者を表すオブジェクトの動作を制御するための技術に関する。
【背景技術】
【0002】
演奏者を表す画像であるオブジェクトの動作を、楽曲の演奏データに応じて制御する技術が従来から提案されている(特許文献1,2および非特許文献1,2)。例えば特許文献1には、演奏データが指定する音高に応じて、当該楽曲を演奏する演奏者の動画像を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2000-10560号公報
【文献】特開2010-134790号公報
【非特許文献】
【0004】
【文献】山本和樹ほか5名,"ピアノ演奏における自然な手指動作CGの自動生成",TVRSJ Vol.15 No.3 p.495-502,2010
【文献】釘本望美ほか5名,"モーションキャプチャを用いたピアノ演奏動作のCG表現と音楽演奏インタフェースへの応用",社団法人情報処理学会 研究報告,2007-MUS-72(15),2007/10/12
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の技術のもとでは、記憶装置に事前に記憶された演奏データがオブジェクトの動作の制御に利用される。したがって、演奏データにより指定される音符の発音の時点が動的に変化する状況では、オブジェクトの動作を適切に制御できない。以上の事情を考慮して、本発明は、各音符の発音の時点が可変である状況でもオブジェクトの動作を適切に制御することを目的とする。
【課題を解決するための手段】
【0006】
以上の課題を解決するために、本発明の好適な態様に係る情報処理方法は、時間軸上の可変の時点における音符の発音を表す演奏データを順次に取得し、複数の単位期間の各々について、当該単位期間と、当該単位期間の前方および後方の期間とを含む解析期間内の音符の時系列を表す解析データを、前記演奏データの取得に並行して、当該演奏データの時系列から順次に生成し、実演者を表すオブジェクトの動作を制御するための制御データを、前記演奏データの取得に並行して、前記解析データから順次に生成する。
【0007】
本発明の好適な態様に係る情報処理装置は、時間軸上の可変の時点における音符の発音を表す演奏データを順次に取得し、複数の単位期間の各々について、当該単位期間と、当該単位期間の前方および後方の期間とを含む解析期間内の音符の時系列を表す解析データを、前記演奏データの取得に並行して、当該演奏データの時系列から順次に生成する解析データ生成部と、実演者を表すオブジェクトの動作を制御するための制御データを、前記演奏データの取得に並行して、前記解析データから順次に生成する制御データ生成部とを具備する。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施形態に係る演奏システムの構成を例示するブロック図である。
【
図2】情報処理装置の機能的な構成を例示するブロック図である。
【
図6】制御データ生成部の構成を例示するブロック図である。
【
図7】第1統計モデルの構成を例示するブロック図である。
【
図8】第2統計モデルの構成を例示するブロック図である。
【
図10】動作制御処理を例示するフローチャートである。
【発明を実施するための形態】
【0009】
<本発明の好適な形態>
図1は、本発明の好適な形態に係る演奏システム100の構成を例示するブロック図である。演奏システム100は、演奏者Pが所在する音響ホール等の空間に設置されたコンピュータシステムである。演奏者Pは、例えば楽器の演奏者または楽曲の歌唱者である。演奏システム100は、演奏者Pによる楽曲の演奏に並行して当該楽曲の自動演奏を実行する。
【0010】
図1に例示される通り、演奏システム100は、情報処理装置11と演奏装置12と収音装置13と表示装置14とを具備する。情報処理装置11は、演奏システム100の各要素を制御するコンピュータシステムであり、例えばタブレット端末またはパーソナルコンピュータ等の情報端末で実現される。
【0011】
演奏装置12は、情報処理装置11による制御のもとで楽曲の自動演奏を実行する。具体的には、演奏装置12は、駆動機構121と発音機構122とを具備する自動演奏楽器(例えば自動演奏ピアノ)である。発音機構122は、自然楽器の鍵盤楽器と同様に、鍵盤の各鍵の変位に連動して弦(発音体)を発音させる打弦機構を鍵毎に具備する。駆動機構121は、発音機構122を駆動することで対象楽曲の自動演奏を実行する。情報処理装置11からの指示に応じて駆動機構121が発音機構122を駆動することで自動演奏が実現される。なお、情報処理装置11を演奏装置12に搭載してもよい。
【0012】
収音装置13は、演奏者Pによる演奏で発音された音響(例えば楽器音または歌唱音)を収音するマイクロホンである。収音装置13は、音響の波形を表す音響信号Aを生成する。なお、電気弦楽器等の電気楽器から出力される音響信号Aを利用してもよい。したがって、収音装置13は省略され得る。表示装置14は、情報処理装置11による制御のもとで各種の画像を表示する。例えば液晶表示パネルまたはプロジェクタが表示装置14として好適に利用される。
【0013】
図1に例示される通り、情報処理装置11は、制御装置111と記憶装置112とを具備するコンピュータシステムで実現される。制御装置111は、例えばCPU(Central Processing Unit)等の処理回路であり、演奏システム100を構成する各要素(演奏装置12,収音装置13および表示装置14)を統括的に制御する。制御装置111は、少なくとも1個の回路を含んで構成される。
【0014】
記憶装置(メモリ)112は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または複数種の記録媒体の組合せで構成され、制御装置111が実行するプログラムと制御装置111が使用する各種のデータとを記憶する。なお、演奏システム100とは別体の記憶装置112(例えばクラウドストレージ)を用意し、移動体通信網またはインターネット等の通信網を介して制御装置111が記憶装置112に対する書込および読出を実行してもよい。すなわち、記憶装置112を演奏システム100から省略してもよい。
【0015】
本実施形態の記憶装置112は、楽曲データDを記憶する。楽曲データDは、例えばMIDI(Musical Instrument Digital Interface)規格に準拠した形式のファイル(SMF:Standard MIDI File)である。楽曲データDは、楽曲を構成する音符の時系列を指定する。具体的には、楽曲データDは、音符を指定して演奏を指示する演奏データEと、各演奏データEの読出の時点を指定する時間データとが配列された時系列データである。演奏データEは、例えば音符の音高と強度とを指定する。時間データは、例えば相前後する演奏データEの読出の間隔を指定する。
【0016】
図2は、情報処理装置11の機能的な構成を例示するブロック図である。
図2に例示される通り、制御装置111は、記憶装置112に記憶されたプログラムに従って複数のタスクを実行することで、
図2に例示された複数の機能(演奏制御部21,解析データ生成部22,制御データ生成部23および表示制御部24)を実現する。なお、複数の装置の集合(すなわちシステム)で制御装置111の機能を実現してもよいし、制御装置111の機能の一部または全部を専用の電子回路(例えば信号処理回路)で実現してもよい。また、演奏装置12と収音装置13と表示装置14とが設置された音響ホール等の空間から離間した位置にあるサーバ装置が、制御装置111の一部または全部の機能を実現してもよい。
【0017】
演奏制御部21は、楽曲データDの各演奏データEを演奏装置12に対して順次に出力するシーケンサである。演奏装置12は、演奏制御部21から順次に供給される演奏データEで指定された音符を演奏する。本実施形態の演奏制御部21は、演奏装置12による自動演奏が演奏者Pによる実演奏に追従するように、演奏装置12に対する演奏データEの出力の時点を可変に制御する。演奏者Pが楽曲の各音符を演奏する時点は、当該演奏者Pが意図する音楽的な表現等に起因して動的に変化する。したがって、演奏制御部21が演奏装置12に演奏データEを出力する時点も可変である。
【0018】
具体的には、演奏制御部21は、楽曲内で演奏者Pが現に演奏している時点(以下「演奏時点」という)を音響信号Aの解析により推定する。演奏時点の推定は、演奏者Pによる実演奏に並行して順次に実行される。演奏時点の推定には、例えば特開2015-79183号公報等の公知の音響解析技術(スコアアライメント)が任意に採用され得る。演奏制御部21は、演奏装置12による自動演奏が演奏時点の進行に同期するように各演奏データEを演奏装置12に出力する。具体的には、演奏制御部21は、楽曲データDの各時間データにより指定された時点に演奏時点が到達するたびに、当該時間データに対応する演奏データEを演奏装置12に出力する。したがって、演奏装置12による自動演奏の進行が演奏者Pによる実演奏に同期する。すなわち、演奏装置12と演奏者Pとが相互に協調して合奏しているかのような雰囲気が演出される。
【0019】
表示制御部24は、
図3に例示される通り、仮想的な演奏者を表す画像(以下「演奏者オブジェクト」という)Obを表示装置14に表示させる。演奏者オブジェクトObが演奏する鍵盤楽器を表す画像も演奏者オブジェクトObとともに表示装置14に表示される。
図3に例示された演奏者オブジェクトObは、演奏者の両腕部と胸部と頭部とを含む上半身を表す画像である。表示制御部24は、演奏装置12による自動演奏に並行して演奏者オブジェクトObを動的に変化させる。具体的には、演奏装置12による自動演奏に連動した演奏動作を演奏者オブジェクトObが実行するように、表示制御部24は演奏者オブジェクトObを制御する。例えば、自動演奏のリズムで演奏者オブジェクトObが身体を揺動させ、自動演奏による音符の発音時には演奏者オブジェクトObが押鍵の動作を実行する。したがって、表示装置14による表示画像を視認する利用者(例えば演奏者Pまたは観客)は、演奏者オブジェクトObが楽曲を演奏しているかのような感覚を知覚することが可能である。
図2の解析データ生成部22および制御データ生成部23は、演奏者オブジェクトObの動作を自動演奏に連動させるための要素である。
【0020】
解析データ生成部22は、自動演奏される各音符の時系列を表す解析データXを生成する。解析データ生成部22は、演奏制御部21が出力する演奏データEを順次に取得し、演奏データEの時系列から解析データXを生成する。演奏制御部21が出力する演奏データEの取得に並行して、時間軸上の複数の単位期間(フレーム)の各々について解析データXが順次に生成される。すなわち、演奏者Pによる実演奏および演奏装置12による自動演奏に並行して解析データXが順次に生成される。
【0021】
図4は、解析データXの説明図である。本実施形態の解析データXは、K行N列の行列(以下「演奏行列」という)Zを表す(K,Nは自然数)。演奏行列Zは、演奏制御部21が順次に出力する演奏データEの時系列を表す2値行列である。演奏行列Zの横方向は時間軸に相当する。演奏行列Zの任意の1列は、N個(例えば60個)の単位期間のうちの1個の単位期間に対応する。また、演奏行列Zの縦方向は音高軸に相当する。演奏行列Zの任意の1行は、K個(例えば128個)の音高のうちの1個の音高に対応する。演奏行列Zのうち第k行第n列(k=1~K,n=1~N)の1個の要素は、第n列に対応する単位期間において第k行に対応する音高が発音されるか否かを表す。具体的には、任意の音高に対応する第k行のN個の要素のうち、当該音高が発音される各単位期間に対応する要素は「1」に設定され、当該音高が発音されない各単位期間に対応する要素は「0」に設定される。
【0022】
時間軸上の1個の単位期間(以下「特定単位期間」という)U0について生成される解析データXは、
図4に例示される通り、特定単位期間U0を含む解析期間Q内の音符の時系列を表す。時間軸上の複数の単位期間の各々が時系列の順番で順次に特定単位期間U0として選択される。解析期間Qは、特定単位期間U0を含むN個の単位期間で構成される期間である。すなわち、演奏行列Zの第n列は、解析期間Qを構成するN個の単位期間のうち第n番目の単位期間に対応する。具体的には、解析期間Qは、1個の特定単位期間U0(現在)と、特定単位期間U0の前方(過去)に位置する期間U1と、特定単位期間U0の後方(未来)に位置する期間U2とで構成される。期間U1および期間U2の各々は、複数の単位期間で構成された約1秒程度の期間である。
【0023】
演奏行列Zのうち期間U1内の各単位期間に対応する要素は、演奏制御部21から既に取得した各演奏データEに応じて「1」または「0」に設定される。他方、演奏行列Zのうち期間U2内の各単位期間に対応する要素(すなわち、演奏データEを未だ取得していない未来の期間に対応する要素)は、特定単位期間U0以前の音符の時系列と楽曲データDとから予測される。期間U2内の各単位期間に対応する要素の予測には、公知の時系列解析技術(例えば線形予測またはカルマンフィルタ)が任意に採用される。以上の説明から理解される通り、解析データXは、演奏者Pによる演奏に応じた可変の時点で発音される音符の時系列を表すデータである。
【0024】
図2の制御データ生成部23は、演奏者オブジェクトObの動作を制御するための制御データYを、解析データ生成部22が生成した解析データXから生成する。制御データYは、単位期間毎に順次に生成される。具体的には、任意の1個の単位期間の解析データXから当該単位期間の制御データYが生成される。演奏制御部21による演奏データEの出力に並行して制御データYが生成される。すなわち、演奏者Pによる実演奏および演奏装置12による自動演奏に並行して制御データYの時系列が生成される。以上の例示の通り、本実施形態では、演奏装置12による自動演奏と制御データYの生成とに共通の演奏データEが利用される。したがって、演奏装置12による自動演奏と制御データYの生成とに別個のデータを利用する構成と比較して、演奏装置12による自動演奏に連動した動作をオブジェクトに実行させるための処理が簡素化されるという利点がある。
【0025】
図5は、演奏者オブジェクトObおよび制御データYの説明図である。
図5に例示される通り、演奏者オブジェクトObは、複数の制御点41と複数の連結部42(リンク)とで骨格が表現される。各制御点41は、仮想空間内で移動可能な点であり、連結部42は、各連結部42を相互に連結する直線である。
図3および
図5から理解される通り、楽器の演奏に直接的に関与する両腕部だけでなく、演奏中に揺動する胸部および頭部にも、連結部42および制御点41が設定される。各制御点41を移動させることで演奏者オブジェクトObの動作が制御される。以上に説明した通り、本実施形態では、両腕部に加えて胸部および頭部にも制御点41が設定されるから、両腕部により楽器を演奏する動作だけでなく、演奏中に胸部および頭部を揺動させる動作を含む自然な演奏動作を、演奏者オブジェクトObに実行させることができる。すなわち、演奏者オブジェクトObが仮想的な演奏者として自動演奏しているような演出を実現できる。なお、制御点41および連結部42の位置または個数は任意であり、以上の例示には限定されない。
【0026】
制御データ生成部23が生成する制御データYは、座標空間内における複数の制御点41の各々の位置を表すベクトルである。本実施形態の制御データYは、
図5に例示される通り、相互に直交するAx軸とAy軸とが設定された2次元座標空間内における各制御点41の座標を表す。制御データYが表す各制御点41の座標は、複数の制御点41について平均が0で分散が1となるように正規化されている。複数の制御点41の各々についてAx軸上の座標とAy軸上の座標とを配列したベクトルが制御データYとして利用される。ただし、制御データYの形式は任意である。以上に例示した制御データYの時系列は、演奏者オブジェクトObの動作(すなわち、各制御点41および各連結部42の経時的な移動)を表現する。
【0027】
本実施形態の制御データ生成部23は、
図6に例示される通り、学習済モデルMを利用して解析データXから制御データYを生成する。学習済モデルMは、解析データXと制御データYとの関係を学習した統計的予測モデル(典型的にはニューラルネットワーク)であり、解析データXの入力に対して制御データYを出力する。本実施形態の学習済モデルMは、
図6に例示される通り、第1統計モデルMaと第2統計モデルMbとを直列に接続した構成である。
【0028】
第1統計モデルMaは、解析データXの特徴を表す特徴ベクトルFを生成する。例えば特徴の抽出に好適な畳込みニューラルネットワーク(CNN:Convolutional Neural Network)が第1統計モデルMaとして好適に利用される。
図7に例示される通り、第1統計モデルMaは、例えば第1層La1と第2層La2と全結合層La3とを積層した構成である。第1層La1および第2層La2の各々は、畳込層と最大プーリング層とで構成される。
【0029】
第2統計モデルMbは、特徴ベクトルFに応じた制御データYを生成する。例えば時系列データの処理に好適な長期短期記憶(LSTM:Long Short Term Memory)ユニットを含む再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)が第2統計モデルMbとして好適に利用される。具体的には、
図8に例示される通り、第2統計モデルMbは、例えば第1層Lb1と第2層Lb2と全結合層Lb3とを積層した構成である。第1層Lb1および第2層Lb2の各々は、長期短期記憶ユニットで構成される。以上に例示した通り、本実施形態によれば、畳込みニューラルネットワークと再帰型ニューラルネットワークとの組合せにより、演奏データEの時系列に応じた適切な制御データYを生成できる。ただし、学習済モデルMの構成は任意であり、以上の例示には限定されない。
【0030】
学習済モデルMは、解析データXから制御データYを生成する演算を制御装置111に実行させるプログラム(例えば人工知能ソフトウェアを構成するプログラムモジュール)と、当該演算に適用される複数の係数Cとの組合せで実現される。複数の係数Cは、多数の教師データTを利用した機械学習(特に深層学習)により設定されて記憶装置112に保持される。具体的には、第1統計モデルMaを規定する複数の係数Cと第2統計モデルMbを規定する複数の係数Cとが、複数の教師データTを利用した機械学習により一括的に設定される。
【0031】
図9は、教師データTの説明図である。
図9に例示される通り、複数の教師データTの各々は、解析データxと制御データyとの組合せを表す。演奏者オブジェクトObが仮想的に演奏する楽器と同種の楽器を特定の演奏者(以下「標本演奏者」という)が実際に演奏する場面を観測することで、機械学習用の複数の教師データTが収集される。具体的には、標本演奏者が演奏した音符の時系列を表す解析データxが順次に生成される。また、標本演奏者による演奏の様子を撮像した動画像から標本演奏者の各制御点の位置が特定され、各制御点の位置を表す制御データyが生成される。時間軸上の1個の時点について生成された解析データxと制御データyとを相互に対応させることで1個の教師データTが生成される。なお、複数の標本演奏者から教師データTを収集してもよい。
【0032】
機械学習では、教師データTの解析データxを暫定的なモデルに入力したときに生成される制御データYと、当該教師データTの制御データy(すなわち正解)との差異を表す損失関数が最小化されるように、学習済モデルMの複数の係数Cが設定される。例えば、暫定的なモデルが生成する制御データYと教師データTの制御データyとの間の平均絶対誤差が損失関数として好適である。
【0033】
なお、損失関数の最小化という条件だけでは、各制御点41の間隔(すなわち各連結部42の全長)が一定であることが保証されない。したがって、演奏者オブジェクトObの各連結部42が不自然に伸縮する可能性がある。そこで、本実施形態では、損失関数の最小化という条件のほか、制御データyが表す各制御点41の間隔の時間的な変化が最小化されるという条件のもとで、学習済モデルMの複数の係数Cが最適化される。したがって、各連結部42の伸縮が低減された自然な動作を演奏者オブジェクトObに実行させることが可能である。以上に説明した機械学習で生成された学習済モデルMは、標本演奏者による演奏内容と演奏時の身体の動作との関係から抽出される傾向のもとで、未知の解析データXに対して統計的に妥当な制御データYを出力する。また、第1統計モデルMaは、解析データXと制御データYとの間に以上の関係を成立させるために最適な特徴ベクトルFを抽出するように学習される。
【0034】
図2の表示制御部24は、制御データ生成部23が単位期間毎に生成した制御データYに応じて演奏者オブジェクトObを表示装置14に表示させる。具体的には、制御データYで指定される座標に各制御点41が位置するように、演奏者オブジェクトObの状態が単位期間毎に更新される。単位期間毎に以上の制御が実行されることで各制御点41は経時的に移動する。すなわち、演奏者オブジェクトObは演奏動作を実行する。以上の説明から理解される通り、制御データYの時系列は演奏者オブジェクトObの動作を規定する。
【0035】
図10は、演奏者オブジェクトObの動作を制御するための処理(以下「動作制御処理」という)を例示するフローチャートである。動作制御処理は、時間軸上の単位期間毎に実行される。動作制御処理を開始すると、解析データ生成部22は、特定単位期間U0とその前方および後方の期間(U1,U2)とを含む解析期間Q内の音符の時系列を表す解析データXを生成する(S1)。制御データ生成部23は、解析データ生成部22が生成した解析データXを学習済モデルMに入力することで制御データYを生成する(S2)。表示制御部24は、制御データ生成部23が生成した制御データYに応じて演奏者オブジェクトObを更新する(S3)。解析データXの生成(S1)と制御データYの生成(S2)と演奏者オブジェクトObの表示(S3)とは、演奏データEの取得に並行して実行される。
【0036】
以上に説明した通り、本実施形態では、特定単位期間U0とその前後の期間とを含む解析期間Q内の解析データXから、演奏データEの取得に並行して、演奏者オブジェクトObの動作を制御するための制御データYが生成される。したがって、楽曲内の各音符の発音の時点が可変であるにも関わらず、演奏者オブジェクトObの動作を適切に制御できる。
【0037】
また、本実施形態では、学習済モデルMに解析データXを入力することで制御データYが生成されるから、機械学習に利用された複数の教師データTから特定される傾向のもとで、未知の解析データXに対して統計的に妥当な動作を表す多様な制御データYを生成できる。また、複数の制御点41の各々の位置を示す座標が正規化されているから、多様なサイズの演奏者オブジェクトObの動作を制御データYにより制御できるという利点もある。
【0038】
<変形例>
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2個以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
【0039】
(1)前述の形態では、解析期間Q内の音符の時系列を表す2値行列を演奏行列Zとして例示したが、演奏行列Zは以上の例示に限定されない。例えば、解析期間Q内の音符の演奏強度(音量)を表す演奏行列Zを生成してもよい。具体的には、演奏行列Zのうち第k行第n列の1個の要素は、第n列に対応する単位期間において第k行に対応する音高が演奏される強度を表す。以上の構成によれば、各音符の演奏強度が制御データYに反映されるから、演奏強度の強弱に応じて演奏者の動作が相違する傾向を演奏者オブジェクトObの動作に付与することができる。
【0040】
(2)前述の形態では、第1統計モデルMaが生成した特徴ベクトルFを第2統計モデルMbに入力したが、第1統計モデルMaが生成した特徴ベクトルFに他の要素を付加したうえで第2統計モデルMbに入力してもよい。例えば、演奏者Pによる楽曲の演奏時点(例えば小節線からの距離)、演奏速度、楽曲の拍子を表す情報、または演奏強度(例えば強度値もしくは強度記号)を、特徴ベクトルFに付加したうえで第2統計モデルMbに入力してもよい。
【0041】
(3)前述の形態では、演奏装置12の制御に利用される演奏データEを演奏者オブジェクトObの制御にも流用したが、演奏データEを利用した演奏装置12の制御を省略してもよい。また、演奏データEは、MIDI規格に準拠したデータに限定されない。例えば、収音装置13が出力する音響信号Aの周波数スペクトルを演奏データEとして利用してもよい。演奏データEの時系列は、音響信号Aのスペクトログラムに相当する。音響信号Aの周波数スペクトルは、楽器が発音する音符の音高に対応した帯域にピークが観測されるから、音符の発音を表すデータに相当する。以上の説明から理解される通り、演奏データEは、音符の発音を表すデータとして包括的に表現される。
【0042】
(4)前述の形態では、自動演奏の対象となる楽曲を演奏する演奏者を表す演奏者オブジェクトObを例示したが、制御データYにより動作が制御されるオブジェクトの態様は以上の例示に限定されない。例えば、演奏装置12による自動演奏に連動してダンスを実施するダンサーを表すオブジェクトを表示装置14に表示させてもよい。具体的には、楽曲に合わせてダンスするダンサーを撮像した動画像から制御点の位置が特定され、各制御点の位置を表すデータが教師データTの制御データyとして利用される。したがって、学習済モデルMは、演奏される音符とダンサーの身体の動作との関係から抽出される傾向を学習する。以上の説明から理解される通り、制御データYは、実演者(例えば演奏者またはダンサー)を表すオブジェクトの動作を制御するためのデータとして包括的に表現される。
【0043】
(5)前述の形態に係る情報処理装置11の機能は、コンピュータ(例えば制御装置111)とプログラムとの協働により実現される。前述の形態に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされる。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含む。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供してもよい。
【0044】
(6)学習済モデルMを実現するための人工知能ソフトウェアの実行主体はCPUに限定されない。例えば、Tensor Processing UnitおよびNeural Engine等のニューラルネットワーク用の処理回路、または、人工知能に専用されるDSP(Digital Signal Processor)が、人工知能ソフトウェアを実行してもよい。また、以上の例示から選択された複数種の処理回路が協働して人工知能ソフトウェアを実行してもよい。
【0045】
<付記>
以上に例示した形態から、例えば以下の構成が把握される。
【0046】
本発明の好適な態様(第1態様)に係る情報処理方法は、時間軸上の可変の時点における音符の発音を表す演奏データを順次に取得し、複数の単位期間の各々について、当該単位期間と、当該単位期間の前方および後方の期間とを含む解析期間内の音符の時系列を表す解析データを、前記演奏データの取得に並行して、当該演奏データの時系列から順次に生成し、実演者を表すオブジェクトの動作を制御するための制御データを、前記演奏データの取得に並行して、前記解析データから順次に生成する。以上の態様では、単位期間とその前後の期間とを含む解析期間内の解析データから、演奏データの取得に並行して、オブジェクトの動作を制御するための制御データが生成される。したがって、各音符の発音の時点が可変である状況でもオブジェクトの動作を適切に制御することができる。
【0047】
第1態様の好適例(第2態様)に係る情報処理方法は、前記演奏データを順次に供給することで演奏装置に自動演奏を実行させる。以上の態様では、演奏装置による自動演奏と制御データの生成とに共通の演奏データが利用されるから、演奏装置による自動演奏に連動した動作をオブジェクトに実行させるための処理が簡素化されるという利点がある。
【0048】
第2態様の好適例(第3態様)において、前記制御データは、前記オブジェクトによる楽器の演奏時の動作を制御するためのデータである。以上の態様によれば、オブジェクトが仮想的な演奏者として自動演奏しているような演出を実現できる。
【符号の説明】
【0049】
100…演奏システム、11…情報処理装置、111…制御装置、112…記憶装置、12…演奏装置、121…駆動機構、122…発音機構、13…収音装置、14…表示装置、21…演奏制御部、22…解析データ生成部、23…制御データ生成部、24…表示制御部、41…制御点、42…連結部、M…学習済モデル、Ma…第1統計モデル、Mb…第2統計モデル。