(57)【要約】【課題】押鍵とペダル操作とを個別に表すデータを生成する。【解決手段】情報処理装置は、演奏内容を表す演奏データＭから、複数の音高の各々に対応する鍵の押鍵期間を表す押鍵データＱと、押鍵による発音を伸長するペダルの操作期間を表すペダルデータＵとを生成する生成部１１４を具備する。【選択図】図３
2020046533.tif 000002
【特許請求の範囲】
【請求項１】
演奏内容を表す演奏データから、複数の音高の各々に対応する鍵の押鍵期間を表す押鍵データと、押鍵による発音を伸長するペダルの操作期間を表すペダルデータとを生成する
コンピュータにより実現される情報処理方法。
【請求項２】
前記演奏データは、前記各音高について発音期間を表すデータである
請求項１の情報処理方法。
【請求項３】
前記演奏データに対応する入力と、前記押鍵データおよび前記ペダルデータに対応する出力との関係を学習した学習済モデルが、前記演奏データから前記押鍵データおよび前記ペダルデータを生成する
請求項２の情報処理方法。
【請求項４】
前記学習済モデルは、単位期間毎に、前記演奏データに対応する第１単位データを入力として、前記押鍵データに対応する第２単位データおよび前記ペダルデータに対応する第３単位データを出力する再帰型のニューラルネットワークであり、
前記第１単位データは、前記各音高の発音の有無を示す発音データを含み、
前記第２単位データは、前記各音高に対応する鍵の押鍵の有無を示し、
前記第３単位データは、前記ペダルの操作の有無を示す
請求項３の情報処理方法。
【請求項５】
前記第１単位データは、前記音高毎に発音開始点であるか否かを示す開始点データを含む
請求項４の情報処理方法。
【請求項６】
前記開始点データに応じて前記押鍵データを修正する
請求項５の情報処理方法。
【請求項７】
演奏内容を表す演奏データから、複数の音高の各々に対応する鍵の押鍵期間を表す押鍵データと、押鍵による発音を伸長するペダルの操作期間を表すペダルデータとを生成する生成部
を具備する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を処理する技術に関する。
【背景技術】
【０００２】
例えば楽曲を表すデータから各種のデータを生成する技術が従来から提案されている。例えば特許文献１には、ピアノのペダルを駆動する制御信号を生成する演奏システムが開示されている。鍵操作のタイミングとペダル操作のタイミングが規定されている楽曲データと、ピアノの鍵の操作に応じたＭＩＤＩ（Musical Instrument Digital Interface）データとから、制御信号が生成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１０２４１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、鍵操作とペダル操作とを個別に表す楽曲データが必要である。しかし、実際には、鍵操作とペダル操作とを区別せずに鍵毎の発音期間のみを規定する楽曲データしか用意できない場合もある。以上の事情を考慮して、本発明は、押鍵とペダル操作とを個別に表すデータを生成することを目的とする。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、本発明の好適な態様に係る情報処理方法は、演奏内容を表す演奏データから、複数の音高の各々に対応する鍵の押鍵期間を表す押鍵データと、押鍵による発音を伸長するペダルの操作期間を表すペダルデータとを生成する。
【０００６】
本発明の好適な態様に係る情報処理装置は、演奏内容を表す演奏データから、複数の音高の各々に対応する鍵の押鍵期間を表す押鍵データと、押鍵による発音を伸長するペダルの操作期間を表すペダルデータとを生成する生成部を具備する。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１実施形態に自動演奏システムの構成を例示するブロック図である。
【図２】演奏データ、押鍵データおよびペダルデータの模式図である。
【図３】情報処理装置の機能的な構成を例示するブロック図である。
【図４】制御装置の処理のフローチャートである。
【図５】第２実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。
【図６】修正処理１の説明図である。
【図７】修正処理２の説明図である。
【図８】修正処理３の説明図である。
【図９】修正処理４の説明図である。
【発明を実施するための形態】
【０００８】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る自動演奏システム１００の構成を例示するブロック図である。自動演奏システム１００は、楽曲を自動演奏するコンピュータシステムである。図１に例示される通り、自動演奏システム１００は、情報処理装置１０と自動演奏楽器２０とを具備する。情報処理装置１０は、演奏内容を表すデータ（以下「演奏データ」という）Ｍから、自動演奏楽器２０による自動演奏に利用される各種のデータを生成するコンピュータシステムである。例えば携帯電話機、スマートフォンまたはパーソナルコンピュータ等の情報端末が、情報処理装置１０として好適に利用される。
【０００９】
自動演奏楽器２０は、情報処理装置１０が生成した各種のデータにより自動演奏する鍵盤楽器である。例えば自動演奏ピアノが自動演奏楽器２０として例示される。図１に例示される通り、自動演奏楽器２０は、複数の相異なる音高の発音にそれぞれ利用される複数の鍵により構成される鍵盤２３と、押鍵による発音を伸長するペダル２５とを具備する。情報処理装置１０と自動演奏楽器２０とは、例えば有線または無線により接続される。自動演奏楽器２０に情報処理装置１０を搭載してもよい。
【００１０】
図１に例示される通り、第１実施形態の情報処理装置１０は、制御装置１１と記憶装置１３とを具備する。制御装置１１は、例えばＣＰＵ（Central Processing Unit）等の処理回路であり、情報処理装置１０の各要素を統括的に制御する。記憶装置１３は、制御装置１１が実行するプログラムと制御装置１１が使用する各種のデータとを記憶する。例えば磁気記録媒体または半導体記録媒体等の公知の記録媒体が記憶装置１３として利用される。なお、複数種の記録媒体の組合せにより記憶装置１３を構成してもよい。また、情報処理装置１０に対して着脱可能な可搬型の記録媒体、または情報処理装置１０が通信網を介して通信可能な外部記録媒体（例えばオンラインストレージ）を、記憶装置１３として利用してもよい。
【００１１】
第１実施形態の記憶装置１３は、自動演奏楽器２０による演奏の対象となる楽曲の演奏データＭを記憶する。図２には、演奏データＭが模式的に図示されている。演奏データＭは、複数の音高Ｋの各々について発音期間Ｅを表すデータである。各音高Ｋの楽音の発音が開始される時点から消音される時点までの期間が発音期間Ｅである。図２では、１２８個の音高Ｋ1−Ｋ128の各々について、発音期間Ｅを時系列に表すデータが演奏データＭとして例示される。ＭＩＤＩ規格に準拠したＭＩＤＩデータが演奏データＭとして例示される。例えば、演奏者によるピアノの演奏音を収音装置（例えばマイク）により収音した音響信号から演奏データＭが生成される。例えば音響信号を音高Ｋ毎の帯域成分に分離し、各帯域成分の強度が閾値を上回る区間が発音期間Ｅとして抽出される。なお、事前に収録されてＣＤ等の記録媒体に記録された音響信号からも同様の方法により演奏データＭが生成される。演奏データＭの生成には、公知の採譜技術が任意に採用される。
【００１２】
図２に例示される通り、第１実施形態の演奏データＭは、時間軸上で相異なるＮ個の単位期間Ｔ1−ＴNに区分される。単位期間Ｔn（１≦ｎ≦Ｎ）は、例えば数十ミリ秒から数百ミリ秒程度の時間長の期間（フレーム）である。各音高Ｋの発音期間Ｅは、複数の単位期間Ｔnにわたり連続し得る。
【００１３】
図３は、情報処理装置１０の機能的な構成を例示するブロック図である。図３に例示される通り、制御装置１１は、記憶装置１３に記憶されたプログラムを実行することで複数の機能（前処理部１１２および生成部１１４）を実現する。なお、相互に別体で構成された複数の装置により制御装置１１の機能を実現してもよい。制御装置１１の機能の一部または全部を専用の電子回路で実現してもよい。
【００１４】
前処理部１１２は、演奏データＭに対応する第１単位データＸnを単位期間Ｔn毎に生成する。図２には、第１単位データＸnが模式的に図示されている。図２に例示される通り、単位期間Ｔnに対応する第１単位データＸnは、発音データＡnと開始点データＢnとを含む。発音データＡnは、単位期間Ｔnについて各音高Ｋの発音の有無を示すデータである。例えば、発音データＡnは、１２８個の音高Ｋ1−Ｋ128に対応する１２８次元の２値ベクトルにより表現される。例えば、発音データＡnの１２８ビットのうち発音がある音高Ｋ（図２の黒線）に対応する各ビットは１に設定され、発音がない音高Ｋに対応する各ビットは０に設定される。音高Ｋの発音期間Ｅが複数の単位期間Ｔnにわたり連続する場合には、当該音高Ｋに対応するビットが複数の発音データＡnにわたり連続して１に設定される。なお、複数の音高Ｋが共通の単位期間Ｔnにおいて発音され得る。
【００１５】
開始点データＢnは、単位期間Ｔnについて音高Ｋ毎に発音の開始点（以下「発音開始点」という）であるか否かを示すデータである。例えば、開始点データＢnは、１２８個の音高Ｋ1−Ｋ128に対応する１２８次元の２値ベクトルにより表現される。例えば、開始点データＢnの１２８ビットのうち開始点である音高Ｋ（図２の黒線）に対応する各ビットは１に設定され、開始点ではない音高Ｋに対応する各ビットは０に設定される。音高Ｋの発音期間Ｅが複数の単位期間Ｔnにわたり連続する場合には、先頭の単位期間Ｔnに対応する開始点データＢnの音高Ｋに対応するビットが１に設定される。以上の説明から理解される通り、各単位期間Ｔnにそれぞれ対応するＮ個の第１単位データＸ1−ＸNの時系列が演奏データＭから生成される。
【００１６】
図３の生成部１１４は、押鍵データＱとペダルデータＵとを演奏データＭから生成する。押鍵データＱおよびペダルデータＵが自動演奏楽器２０による自動演奏に利用される。図２には、押鍵データＱおよびペダルデータＵが模式的に図示されている。図２に例示される通り、押鍵データＱおよびペダルデータＵの各々は、演奏データＭと同様にＮ個の単位期間Ｔ1−ＴNに区分される。すなわち、演奏データＭと同じ時間長である押鍵データＱおよびペダルデータＵが生成される。
【００１７】
押鍵データＱは、各音高Ｋに対応する鍵が押鍵される期間（以下「押鍵期間」という）Ｈを表すデータである。押鍵が開始される時点から終了（すなわち離鍵）される時点までの期間が押鍵期間Ｈである。他方、ペダルデータＵは、ペダルを操作する期間（以下「操作期間」という）Ｓを表すデータである。ペダルの操作が開始される時点から終了される時点までの期間が操作期間Ｓである。
【００１８】
演奏データＭに対応する入力と、押鍵データＱおよびペダルデータＵに対応する出力の関係を学習した学習済モデルが生成部１１４として例示される。第１実施形態の学習済モデルは、単位期間Ｔn毎に、前処理部１１２が生成した第１単位データＸnを入力として、押鍵データＱに対応する第２単位データＹnおよびペダルデータＵに対応する第３単位データＺnを出力する。
【００１９】
図２には、生成部１１４により生成される第２単位データＹnおよび第３単位データＺnが模式的に図示されている。図２に例示される通り、第２単位データＹnは、押鍵データＱのうち単位期間Ｔnに対応する部分であり、第３単位データＺnは、ペダルデータＵのうち単位期間Ｔnに対応する部分である。すなわち、Ｎ個の第２単位データＹ1−ＹNの時系列が押鍵データＱであり、Ｎ個の第３単位データＺ1−ＺNの時系列がペダルデータＵである。
【００２０】
具体的には、第２単位データＹnは、各音高Ｋに対応する鍵の押鍵の有無を示すデータである。例えば、第２単位データＹnは、１２８個の音高Ｋ1−Ｋ128に対応する１２８次元の２値ベクトルにより表現される。例えば、第２単位データＹnの１２８ビットのうち押鍵がある鍵の音高Ｋ（図２の黒線）に対応する各ビットは１に設定され、押鍵がない鍵の音高Ｋに対応する各ビットは０に設定される。音高Ｋの押鍵期間Ｈが複数の単位期間Ｔnにわたり連続する場合には、当該音高Ｋに対応するビットが複数の第２単位データＹnにわたり連続して１に設定される。すなわち、連続するＮ個の第２単位データＹ1−ＹNの時系列（すなわち押鍵データＱ）により、各音高Ｋに対応する押鍵期間Ｈが表現される。なお、複数の音高Ｋが共通の単位期間Ｔnにおいて押鍵され得る。以上の説明から理解される通り、Ｎ個の単位期間Ｔ1−ＴNの各々について第２単位データＹnを時系列に配列することで、押鍵データＱが生成される。
【００２１】
具体的には、第３単位データＺnは、ペダルの操作の有無を示すデータである。例えば、第３単位データＺnは、１ビットで表現される。例えば、単位期間Ｔnにおいてペダルの操作がある場合（図２の黒線）には１（ｏｎ）に設定され、単位期間Ｔnにおいてペダルの操作がない場合には０（ｏｆｆ）に設定される。操作期間Ｓが複数の単位期間Ｔnにわたり連続する場合には、複数の第３単位データＺnにわたり連続して１に設定される。すなわち、連続するＮ個の第３単位データＺ1−ＺNの時系列（すなわちペダルデータＵ）により、ペダルの操作期間Ｓが表現される。以上の説明から理解される通り、Ｎ個の単位期間Ｔ1−ＴNの各々について第３単位データＺnを時系列に配列することで、ペダルデータＵが生成される。押鍵データＱが表す押鍵期間Ｈにより発音される期間をペダルデータＵの内容に応じて伸長した期間が演奏データＭの発音期間Ｅに相当する。
【００２２】
学習済モデルは、演奏データＭと、押鍵データＱおよびペダルデータＵとの関係を学習した統計的予測モデルである。第１実施形態では、第１単位データＸnと、第２単位データＹnおよび第３単位データＺnとの関係を学習した学習済モデルが利用される。学習済モデルとしてはニューラルネットワークが好適に利用される。例えば、学習済モデルは、相互に直列に接続された複数層の長短期記憶（ＬＳＴＭ：Long Short Term Memory）ユニットで構成される。長短期記憶ユニットは、時系列データの解析に好適な再帰型ニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）の具体例である。具体的には、学習済モデルは、演奏データＭから押鍵データＱおよびペダルデータＵを生成する演算を制御装置１１に実行させるプログラム（例えば人工知能ソフトウェアを構成するプログラムモジュール）と、当該演算に適用される複数の係数との組合せで実現される。学習済モデルを規定する複数の係数は、複数の学習データを利用した機械学習（特に深層学習）により設定されて記憶装置１３に保持される。
【００２３】
複数の学習データの各々は、第１単位データＸnと、第２単位データＹnおよび第３単位データＺnの正解値とを対応させたデータである。複数の係数が暫定的に設定されたモデル（以下「暫定モデル」という）に学習データの第１単位データＸnを入力することで第２単位データＹnおよび第３単位データＺnを生成し、当該生成された第２単位データＹnおよび第３単位データＺnと学習データの正解値との誤差を表す評価関数が最小化されるように、暫定モデルの複数の係数が逐次的に更新される。評価関数に応じた各係数の更新には、例えば誤差逆伝播法が好適に利用される。以上に説明した係数の更新が反復され、所定の条件が成立した段階の暫定モデルが、確定的な学習済モデルとして利用される。
【００２４】
図４は、制御装置１１が実行する処理を例示するフローチャートである。単位期間Ｔn毎に図４の処理が実行される。図４の処理が開始されると、前処理部１１２は、記憶装置１３に記憶された演奏データＭから、第１単位データＸnを生成する（Ｓa1）。Ｎ個の単位期間Ｔ1−ＴNの各々について第１単位データＸnが生成される。生成部１１４は、前処理部１１２が生成した第１単位データＸnから、第２単位データＹnおよび第３単位データＺnを生成する（Ｓa2）。演奏データＭに対応する入力（すなわち第１単位データＸn）と、押鍵データＱおよびペダルデータＵに対応する出力（すなわち第２単位データＹnおよび第３単位データＺn）との関係を学習した学習済モデルが生成部１１４として利用される。Ｎ個の単位期間Ｔ1−ＴNの各々について、第２単位データＹnと第３単位データＺnとが出力されるから、押鍵データＱおよびペダルデータＵが生成される。
【００２５】
図１の自動演奏楽器２０は、情報処理装置１０が生成した押鍵データＱおよびペダルデータＵを利用して自動演奏を実行する。図１に例示される通り、自動演奏楽器２０は、前述した鍵盤２３およびペダルに加えて、制御装置２１を具備する。制御装置２１は、例えばＣＰＵ等の処理回路であり、自動演奏楽器２０の各要素を統括的に制御する。鍵盤２３の動作とペダル２５の動作とが制御装置２１により制御される。
【００２６】
第１実施形態の制御装置２１は、押鍵データＱに応じて鍵盤２３を構成する複数の鍵を動作させる。具体的には、制御装置２１は、押鍵データＱが鍵毎に指定する押鍵期間Ｈの始点において当該鍵の押鍵を開始させ、押鍵期間Ｈの終点において離鍵させる。また、第１実施形態の制御装置２１は、ペダルデータＵに応じてペダル２５を動作させる。具体的には、制御装置２１は、ペダルデータＵが指定する操作期間Ｓの始点において当該ペダル２５の操作を開始させ、操作期間Ｓの終点において当該ペダル２５の操作を終了させる。以上に説明した制御のもとで、鍵盤２３とペダル２５とが動作する。したがって、押鍵データＱの押鍵期間Ｈに応じて発音される各音高Ｋが、ペダルデータＵの操作期間Ｓに応じて伸長される。
【００２７】
以上に説明した通り、第１実施形態によれば、演奏データＭから押鍵データＱとペダルデータＵとが生成される。第１実施形態の演奏データＭは、楽曲の演奏内容を表すデータであり、押鍵による発音と、ペダル操作による発音の伸長とが区別されていない。第１実施形態では、以上のように押鍵とペダル操作とが区別されていない演奏データＭからも、押鍵データＱとペダルデータＵとを生成することができる。また、第１実施形態では、各音高Ｋについて発音期間Ｅを表すデータが演奏データＭとして利用されるから、各音高Ｋの発音期間Ｅに応じて適切に押鍵データＱとペダルデータＵを生成することができる。
【００２８】
第１実施形態では、演奏データＭに対応する入力と、押鍵データＱおよびペダルデータＵに対応する出力との関係を学習した学習済モデルが、押鍵データＱおよびペダルデータＵを生成する。したがって、例えば、発音開始点から所定時間を押鍵期間Ｈとして、それ以降はペダル２５の操作期間Ｓとする規則のもとで、押鍵データＱとペダルデータＵとを生成する方法と比較して、演奏データＭから押鍵データＱとペダルデータＵとを適切に生成することができる。具体的には、学習済モデルの学習に使用した多数の学習データに潜在する、演奏データＭと押鍵データＱおよびペダルデータＵとの関係のもとで、統計的に妥当な押鍵データＱおよびペダルデータＵを生成することができる。
【００２９】
第１実施形態では特に、学習済モデルが、単位期間Ｔn毎に、第１単位データＸnを入力とし、第２単位データＹnおよび第３単位データＺnを出力する再帰型のニューラルネットワークであるから、第２単位データＹnの時系列（すなわち押鍵データＱ）と第３単位データＺnの時系列（すなわちペダルデータＵ）とが生成される。また、発音データＡnと開始点データＢnとを第１単位データＸnが含むから、各音高Ｋの発音の有無と、発音開始点であるか否かとに応じて適切に押鍵データＱとペダルデータＵとを生成することができる。
【００３０】
＜第２実施形態＞
本発明の第２実施形態を説明する。なお、以下の各例示において機能が第１実施形態と同様である要素については、第１実施形態の説明で使用した符号を流用して各々の詳細な説明を適宜に省略する。
【００３１】
図５は、第２実施形態に係る情報処理装置１０の機能的な構成を例示するブロック図である。図５に例示される通り、第２実施形態に係る制御装置１１は、第１実施形態と同様の前処理部１１２と生成部１１４とに加えて、後処理部１１６を実現する。
【００３２】
後処理部１１６は、生成部１１４が生成した押鍵データＱを演奏データＭに応じて修正する処理（以下「修正処理」という）を実行する。第２実施形態の修正処理は、押鍵データＱを開始点データＢnに応じて修正する処理である。修正処理により修正押鍵データＷが生成される。第２実施形態の自動演奏楽器２０は、生成部１１４が生成したペダルデータＵと、後処理部１１６が生成した修正押鍵データＷとに応じて自動演奏を実行する。
【００３３】
以下、修正処理の具体的な内容を説明する。以下の説明では、任意の音高Ｋについて修正処理を実行する場合を例示する。ただし、１２８個の音高Ｋ1−Ｋ128のうち対象となる全ての音高Ｋについて修正処理が実行され得る。
【００３４】
＜修正処理１＞
図６は、修正処理１の内容を説明する説明図である。図６に示す通り、音高Ｋの発音開始点Ｐが開始点データＢnに存在するにも関わらず、押鍵データＱに当該発音開始点Ｐに対応する押鍵期間Ｈが存在しない場合を想定する。発音開始点Ｐが存在するということは、押鍵がされているはずであるから、押鍵期間Ｈが見落とされていると推定できる。そこで、修正処理１では、開始点データＢnの発音開始点Ｐを始点とする押鍵期間Ｈが押鍵データＱに存在しない場合に、後処理部１１６は、当該発音開始点Ｐを始点とする所定長の押鍵期間Ｈを当該押鍵データＱに追加することで修正押鍵データＷを生成する。
【００３５】
修正処理１によれば、開始点データＢnの発音開始点を始点とする押鍵期間Ｈが押鍵データＱに存在しない場合に、当該発音開始点を始点とする所定長の押鍵期間Ｈが当該押鍵データＱに追加される。したがって、実際には押鍵期間Ｈが存在すべき場所（すなわち、生成部１１４が検出できなかった地点）に適切に押鍵期間Ｈを追加することが可能である。
【００３６】
＜修正処理２＞
図７は、修正処理２の内容を説明する説明図である。図７に示す通り、押鍵データＱが表す押鍵期間Ｈ内において、第１発音開始点Ｐ1と当該第１発音開始点Ｐ1の直後に第２発音開始点Ｐ2とが存在する場合を想定する。以上のように時間軸上で異なる時点に位置する２つの発音開始点が存在する場合、当該２つの発音開始点のそれぞれに対応する２つの押鍵期間Ｈが存在するはずである。そこで、修正処理２では、押鍵データＱが表す押鍵期間Ｈ内において、第１発音開始点Ｐ1と第２発音開始点Ｐ2とが開始点データＢnに存在する場合に、後処理部１１６は、当該第１発音開始点Ｐ1を始点とする押鍵期間Ｈ1と、当該第２発音開始点Ｐ2を始点とする押鍵期間Ｈ2とに、押鍵データＱが表す押鍵期間Ｈを分離することで修正押鍵データＷを生成する。
【００３７】
修正処理２によれば、押鍵データＱが表す押鍵期間Ｈ内において、第１発音開始点Ｐ1と第２発音開始点Ｐ2とが存在する場合に、当該第１発音開始点を始点とする押鍵期間Ｈ1と、当該第２発音開始点を始点とする押鍵期間Ｈ2とに押鍵データＱが表す押鍵期間Ｈが分離される。したがって、本来は必要である押鍵期間Ｈ2を追加することで、発音開始点毎に適切に押鍵期間Ｈを生成することができる。
【００３８】
＜修正処理３＞
図８は、修正処理３の内容を説明する説明図である。図８に示す通り、押鍵データＱにおける第１押鍵期間Ｈ1の直後の第２押鍵期間Ｈ2の始点に発音開始点Ｐが存在しない場合を想定する。第１押鍵期間Ｈ1と第２押鍵期間Ｈ2は、時間軸上で相互に離間した期間である。なお、第１押鍵期間Ｈ1の始点に対応する発音開始点Ｐは存在する。発音開始点Ｐが存在しない場合、当該発音開始点Ｐに対応する押鍵期間Ｈは存在しないはずであるから、対応する発音開始点Ｐが存在しない第２押鍵期間Ｈ2は不要であると推定できる。そこで、修正処理３では、第１押鍵期間Ｈ1の直後の第２押鍵期間Ｈ2の始点に対応する開始点データＢnに発音開始点Ｐが存在しない場合に、後処理部１１６は、押鍵データＱから第２押鍵期間Ｈ2を削除することで修正押鍵データＷを生成する。
【００３９】
修正処理３によれば、押鍵データＱにおける第２押鍵期間Ｈ2の始点に発音開始点Ｐが存在しない場合に、当該押鍵データＱから第２押鍵期間Ｈ2が削除される。したがって、本来は不要である押鍵期間Ｈ2を削除することで、発音開始点Ｐ毎に適切に押鍵期間Ｈを生成することができる。
【００４０】
＜修正処理４＞
図９は、修正処理４の内容を説明する説明図である。修正処理４では、修正処理３と同様に、押鍵データＱにおける第２押鍵期間Ｈ2の始点に発音開始点が存在しない場合を想定する。ただし、修正処理４は、生成部１１４が生成したペダルデータＵも押鍵データＱの修正に加味する。図９に示す通り、ペダルデータＵにおける操作期間Ｓが第１押鍵期間Ｈ1と第２押鍵期間Ｈ2とにわたり連続する場合に修正処理４が実行される。具体的には、ペダルデータＵの操作期間Ｓの始点が、第１押鍵期間Ｈ1の終点よりも前に位置し、かつ、ペダルデータＵの操作期間Ｓの終点が第２押鍵期間Ｈ2の始点以降に存在する場合である。
【００４１】
押鍵期間Ｈに操作期間Ｓの始点が位置する場合には、当該操作期間Ｓの終点までは発音が維持されるはずである。そこで、修正処理４では、押鍵データＱにおける第２押鍵期間Ｈ2の始点に対応する開始点データＢnに発音開始点Ｐが存在せず、かつ、ペダルデータＵにおける操作期間Ｓが第１押鍵期間Ｈ1と第２押鍵期間Ｈ2とにわたり連続する場合に、後処理部１１６は、当該押鍵データＱにおいて第１押鍵期間Ｈ1と第２押鍵期間Ｈ2とを連結することで、修正押鍵データＷを生成する。
【００４２】
修正処理４によれば、押鍵データＱにおける第２押鍵期間Ｈ2の始点に開始点データＢnの発音開始点Ｐが存在せず、かつ、ペダルデータＵにおける操作期間Ｓが第１押鍵期間Ｈ1と第２押鍵期間Ｈ2とにわたり連続する場合に、当該押鍵データＱにおいて第１押鍵期間Ｈ1と第２押鍵期間Ｈ2とが連結される。したがって、本来は連続する押鍵期間Ｈであるべき２つの押鍵期間Ｈ1，Ｈ2を適切に連結することができる。
【００４３】
押鍵データＱにおける第２押鍵期間Ｈ2の始点に対応する開始点データＢnに発音開始点Ｐが存在しない場合には、原則的には修正処理３が実行されるが、ペダルデータＵの操作期間Ｓが第１押鍵期間Ｈ1と第２押鍵期間Ｈ2とにわたる場合には、例外的に修正処理４が実行される。なお、修正処理４において、ペダルデータＵのみを押鍵データＱの修正に加味してもよい。すなわち、開始点データＢnを加味することは修正処理４において必須ではない。
【００４４】
第２実施形態においても第１実施形態と同様の効果が実現される。第２実施形態では特に、開始点データＢnに応じて押鍵データＱが修正されるから、開始点データＢnの傾向を適切に反映するように押鍵データＱを修正することができるという利点がある。
【００４５】
なお、修正処理は、以上に説明した修正処理１−４に限定されない。例えば、演奏データＭに応じて押鍵データＱの押鍵期間Ｈを伸長する修正処理も例示される。また、演奏データＭに応じてペダルデータＵを修正する構成、ペダルデータＵに応じて押鍵データＱを修正する構成、または、押鍵データＱに応じてペダルデータＵを修正する構成も採用される。
【００４６】
＜変形例＞
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された２個以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
【００４７】
（１）前述の各形態では、学習済モデルを利用して押鍵データＱとペダルデータＵとを生成したが、例えば発音開始点から所定時間を押鍵期間Ｈとして、それ以降はペダルの操作期間Ｓとする規則のもとで、押鍵データＱとペダルデータＵとを生成してもよい。以上の説明から理解される通り、生成部１１４は学習済モデルに限定されない。
【００４８】
（２）前述の各形態では、各音高Ｋについて発音期間Ｅを表すデータを演奏データＭとして利用したが、演奏データＭは以上の例示に限定されない。例えば、演奏音の波形を表す音響データを演奏データＭとして利用してもよい。また、振幅スペクトルの時系列（振幅スペクトログラム）を表す演奏データＭを利用してもよい。
【００４９】
（３）前述の各形態では、記憶装置１３に事前に記憶された楽曲の演奏データＭから、押鍵データＱとペダルデータＵとを生成したが、例えば演奏者による演奏音の収音による演奏データＭの生成に並行して、当該演奏データＭから押鍵データＱとペダルデータＵとを生成してもよい。
【００５０】
（４）前述の各形態では、単位期間Ｔn毎に、演奏データＭに対応する第１単位データＸnを入力として、押鍵データＱに対応する第２単位データＹnと、ペダルデータＵに対応する第３単位データＺnとを出力する学習済モデルを利用したが、学習済モデルは以上の例示に限定されない。例えば演奏データＭを入力し、押鍵データＱおよびペダルデータＵを出力する学習済モデルを利用してもよい。すなわち、第１単位データＸnを生成する前処理部１１２は必須ではない。以上の説明から理解される通り、演奏データＭに対応する入力には、演奏データＭそのものと、演奏データＭから生成されたデータ（例えば第１単位データＸn）とが含まれる。また、押鍵データＱおよびペダルデータＵに対応する出力には、押鍵データＱおよびペダルデータＵそのものと、押鍵データＱに対応するデータ（例えば第２単位データＹn）とペダルデータＵに対応するデータ（例えば第３単位データＺn）とが含まれる。なお、学習済モデルを生成するための機械学習に利用される学習データは、学習済モデルの内容に応じて適宜に変更される。
【００５１】
（５）前述の各形態では、単位期間Ｔn毎の第１単位データＸnを生成部１１４に入力したが、当該単位期間Ｔnを含む複数の単位期間Ｔnにわたる第１単位データＸnの時系列を生成部１１４に入力してもよい。例えば、複数の単位期間Ｔnの各々について、当該単位期間Ｔnの前後にわたる所定個の単位期間Ｔnの第１単位データＸnが生成部１１４に入力される。以上のように複数の第１単位データＸnの時系列が学習済モデルに入力される構成では、学習済モデルの再帰性は必須ではない。例えば畳込ニューラルネットワーク（CNN）等の任意のニューラルネットワークを学習済モデルとして利用できる。
【００５２】
（６）前述の各形態では、第１単位データＸnは、発音データＡnおよび開始点データＢnを含んだが、開始点データＢnは必須ではない。すなわち、発音データＡnのみから押鍵データＱおよびペダルデータＵを生成することも可能である。ただし、発音データＡnおよび開始点データＢnを第１単位データＸnが含む構成によれば、発音データＡnのみを第１単位データＸnが含む構成と比較して、押鍵データＱとペダルデータＵとを適切に生成することができる。
【００５３】
また、発音データＡnおよび開始点データＢnとは異なる他のデータを第１単位データＸnが含んでもよい。例えば、単位期間Ｔn毎の音量を表す音量データを第１単位データＸnが含んでもよい。具体的には、音量を多段階で表現した多値ベクトルが音量データとして利用される。以上の構成によれば、音量が急峻に増加する時点が押鍵期間Ｈの始点として推定される可能性が高い。
【００５４】
（７）前述の各形態では、音高Ｋ毎に発音の有無を２値ベクトルにより表現した発音データＡnを例示したが、発音データＡnは以上の例示に限定されない。例えば、音高Ｋ毎に発音の強さを多段階で表す多値ベクトルを発音データＡnとして利用してもよい。例えば、発音データＡnにおける音高Ｋ毎の数値は、当該音高Ｋの発音がない場合は０に設定され、当該音高Ｋの発音がある場合には、当該発音の強さに応じた多段階の数値に設定される。
【００５５】
（８）前述の各形態では、各音高Ｋに対応する鍵の押鍵の有無を２値ベクトルにより表現した第２単位データＹnを例示したが、第２単位データＹnは以上の例示に限定されない。例えば、音高Ｋ毎に押鍵の強さを多段階で表す多値ベクトルを第２単位データＹnとして利用してもよい。例えば、第２単位データＹnの音高Ｋ毎の数値は、当該音高Ｋの押鍵がない場合は０に設定され、当該音高Ｋの押鍵がある場合には、当該押鍵の強さ（深さ）に応じた多段階の数値に設定される。
【００５６】
（９）前述の各形態では、ペダル操作の有無を２値ベクトルにより表現した第３単位データＺnを例示したが、第３単位データＺnは以上の例示に限定されない。例えば、ペダル操作の強さを多段階で表す多値ベクトルを第３単位データＺnとして利用してもよい。例えば、第３単位データＺnの数値は、ペダル操作がない場合は０に設定され、ペダル操作がある場合には、当該ペダル操作の強さ（踏み込み度合）に応じた多段階の数値に設定される。
【００５７】
（１０）前述の各形態において、例えばインターネット等の通信網を介して自動演奏楽器２０と通信可能なサーバ装置に情報処理装置１０を搭載してもよい。
【００５８】
（１１）前述の各形態では、自動演奏ピアノを自動演奏楽器２０として例示したが、鍵盤とペダルとを具備する楽器であれば自動演奏楽器２０は自動演奏ピアノに限定されない。例えば自動演奏が可能であるマリンバを自動演奏楽器２０として利用してもよい。
【００５９】
（１２）前述の各形態では、前処理部１１２および生成部１１４の双方を具備する情報処理装置１０を例示したが、前処理部１１２と生成部１１４とを別個の装置で実現してもよい。例えば、情報処理装置１０の前処理部１１２により生成した第１単位データＸnを、情報処理装置１０と通信可能なサーバ装置に送信し、当該サーバ装置の生成部１１４で第２単位データＹnおよび第３単位データＺnを生成してもよい。また、第２実施形態では、後処理部１１６を情報処理装置１０とは別個の装置で実現してもよい。
【００６０】
（１３）前述の各形態に係る情報処理装置１０の機能は、コンピュータ（例えば制御装置１１）とプログラムとの協働により実現される。本発明の好適な態様に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされる。記録媒体は、例えば非一過性（non-transitory）の記録媒体であり、CD-ROM等の光学式記録媒体（光ディスク）が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含む。なお、非一過性の記録媒体とは、一過性の伝搬信号（transitory, propagating signal）を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供してもよい。
【００６１】
（１４）学習済モデルを実現するための人工知能ソフトウェアの実行主体はCPUに限定されない。例えば、Tensor Processing UnitおよびNeural Engine等のニューラルネットワーク専用の処理回路、または、人工知能に専用されるDSP（Digital Signal Processor）が、人工知能ソフトウェアを実行してもよい。また、以上の例示から選択された複数種の処理回路が協働して人工知能ソフトウェアを実行してもよい。
【００６２】
＜付記＞
以上に例示した形態から、例えば以下の構成が把握される。
【００６３】
本発明の好適な態様（第１態様）に係る情報処理方法は、演奏内容を表す演奏データから、複数の音高の各々に対応する鍵の押鍵期間を表す押鍵データと、押鍵による発音を伸長するペダルの操作期間を表すペダルデータとを生成する。以上の態様によれば、演奏内容を表す演奏データから押鍵データとペダルデータとを生成できる。
【００６４】
第１態様の好適例（第２態様）において、前記演奏データは、前記各音高について発音期間を表すデータである。以上の態様によれば、各音高について発音期間を表すデータが演奏データとして利用されるから、各音高の発音期間に応じて適切に押鍵データとペダルデータを生成することができる。
【００６５】
第２態様の好適例（第３態様）において、前記演奏データに対応する入力と、前記押鍵データおよび前記ペダルデータに対応する出力との関係を学習した学習済モデルが、前記演奏データから前記押鍵データおよび前記ペダルデータを生成する。以上の態様によれば、演奏データに対応する入力と、押鍵データおよびペダルデータに対応する出力との関係を学習した学習済モデルが、押鍵データおよびペダルデータを生成する。したがって、例えば、発音開始点から所定時間を押鍵期間として、それ以降はペダルの操作期間とする規則のもとで、押鍵データとペダルデータとを生成する方法と比較して、演奏データから押鍵データとペダルデータとを適切に生成することができる。
【００６６】
第３態様の好適例（第４態様）において、前記学習済モデルは、単位期間毎に、前記演奏データに対応する第１単位データを入力として、前記押鍵データに対応する第２単位データおよび前記ペダルデータに対応する第３単位データを出力する再帰型のニューラルネットワークであり、前記第１単位データは、前記各音高の発音の有無を示す発音データを含み、前記第２単位データは、前記各音高に対応する鍵の押鍵の有無を示し、前記第３単位データは、前記ペダルの操作の有無を示す。以上の態様によれば、学習済モデルが、単位期間毎に、第１単位データを入力とし、第２単位データおよび第３単位データを出力する再帰型のニューラルネットワークであるから、第２単位データの時系列（すなわち押鍵データ）と第３単位データの時系列（すなわちペダルデータ）とが生成される。また、各音高の発音の有無を示す発音データを第１単位データが含むから、各音高の発音の有無に応じて適切に押鍵データとペダルデータとを生成することができる。
【００６７】
第４態様の好適例（第５態様）において、前記第１単位データは、前記音高毎に発音開始点であるか否かを示す開始点データを含む。以上の態様によれば、音高毎に発音開始点であるか否かを示す開始点データを第１単位データが含むから、発音開始点である否かに応じて適切に押鍵データとペダルデータとを生成することができる。
【００６８】
第５態様の好適例（第６態様）において、前記開始点データに応じて前記押鍵データを修正する。以上の態様によれば、開始点データに応じて押鍵データが修正されるから、開始点データの傾向を適切に反映するように押鍵データを修正することができる。
【００６９】
第６態様の好適例（第７態様）において、前記開始点データの発音開始点を始点とする押鍵期間が前記押鍵データに存在しない場合に、当該発音開始点を始点とする所定長の押鍵期間を当該押鍵データに追加する。以上の態様によれば、開始点データの発音開始点を始点とする押鍵期間が押鍵データに存在しない場合に、当該発音開始点を始点とする所定長の押鍵期間が当該押鍵データに追加される。したがって、実際には押鍵期間が存在すべき場所に適切に押鍵期間を追加することが可能である。
【００７０】
第６態様または第７態様の好適例（第８態様）において、前記押鍵データが表す押鍵期間内において、第１発音開始点と当該第１発音開始点の直後に第２発音開始点とが存在する場合に、当該第１発音開始点を始点とする押鍵期間と、当該第２発音開始点を始点とする押鍵期間とに前記押鍵データが表す押鍵期間を分離する。以上の態様によれば、押鍵データが表す押鍵期間内において、第１発音開始点と当該第１発音開始点の直後に第２発音開始点とが存在する場合に、当該第１発音開始点を始点とする押鍵期間と、当該第２発音開始点を始点とする押鍵期間とに押鍵データが表す押鍵期間が分離される。したがって、本来は必要である押鍵期間を追加することで、発音開始点毎に適切に押鍵期間を生成することができる。
【００７１】
第６態様または第８態様の何れかの好適例（第９態様）において、前記押鍵データにおける第１押鍵期間の直後の第２押鍵期間の始点に対応する前記開始点データに発音開始点が存在しない場合に、当該押鍵データから前記第２押鍵期間を削除する。以上の態様によれば、押鍵データにおける第１押鍵期間の直後の第２押鍵期間の始点に発音開始点が存在しない場合に、当該押鍵データから第２押鍵期間が削除される。したがって、本来は不要である押鍵期間を削除することで、発音開始点毎に適切に押鍵期間を生成することができる。
【００７２】
第６態様または第９態様の何れかの好適例（第１０態様）において、前記押鍵データにおける第１押鍵期間の直後の第２押鍵期間の始点に前記開始点データの発音開始点が存在せず、かつ、前記ペダルデータにおける前記操作期間が前記第１押鍵期間と前記第２押鍵期間とにわたり連続する場合に、当該押鍵データにおいて前記第１押鍵期間と前記第２押鍵期間とを連結する。以上の態様によれば、押鍵データにおける第１押鍵期間の直後の第２押鍵期間の始点に開始点データの発音開始点が存在せず、かつ、ペダルデータにおける操作期間が第１押鍵期間と第２押鍵期間とにわたり連続する場合に、当該押鍵データにおいて第１押鍵期間と第２押鍵期間とが連結される。したがって、本来は連続する押鍵期間であるべき２つの押鍵期間を適切に連結することができる。
【００７３】
以上に例示した各態様の情報処理方法を実行する情報処理装置、または、以上に例示した各態様の情報処理方法をコンピュータに実行させるプログラムとしても、本発明の好適な態様は実現される。
【符号の説明】
【００７４】
１００…自動演奏システム、１０…情報処理装置、１１…制御装置、１１２…前処理部、１１４…生成部、１１６…後処理部、１３…記憶装置、２０…自動演奏楽器、２１…制御装置、２３…鍵盤、２５…ペダル。
【図１】
2020046533.tif 000003
【図２】
2020046533.tif 000004
【図３】
2020046533.tif 000005
【図４】
2020046533.tif 000006
【図５】
2020046533.tif 000007
【図６】
2020046533.tif 000008
【図７】
2020046533.tif 000009
【図８】
2020046533.tif 000010
【図９】
2020046533.tif 000011