(57)【要約】【課題】高精度にコードを推定する。【解決手段】コード推定装置１００は、音響信号Ｖから第１コードＸ1を推定し、コードに対する変更の傾向を学習した学習済モデルＭに第１コードＸ1を入力することにより、第２コードＸ2を推定する。【選択図】図２
2019139209.tif 000002
【特許請求の範囲】
【請求項１】
音響信号から第１コードを推定し、
コードに対する変更の傾向を学習した学習済モデルに前記第１コードを入力することにより、第２コードを推定する
コンピュータにより実現されるコード推定方法。
【請求項２】
前記学習済モデルは、
コードに対する変更の内容の傾向を学習した第１学習済モデルと、
コードに対する変更の有無の傾向を学習した第２学習済モデルとを含み、
前記第２コードの推定においては、前記第１学習済モデルに前記第１コードを入力したときの出力と、前記第２学習済モデルに前記第１コードを入力したときの出力と、に応じて前記第２コードを推定する
請求項１のコード推定方法。
【請求項３】
前記第１コードの推定においては、前記音響信号のうち音階音に対応する成分の強度に応じた成分強度を音階音毎に含む第１特徴量から、前記第１コードを推定し、
前記第２コードの推定においては、前記各音階音の前記成分強度の時間変化に関する指標を含む第２特徴量と、前記第１コードとを、前記学習済モデルに入力することにより、前記第２コードを推定する
請求項１のコード推定方法。
【請求項４】
前記第１特徴量は、前記音響信号の強度を含み、
前記第２特徴量は、前記音響信号の強度の時間変化に関する指標を含む
請求項３のコード推定方法。
【請求項５】
第１特徴量の時系列と、コードが継続する連続区間の境界を表す境界データとの関係を学習した境界推定モデルに前記音響信号の第１特徴量の時系列を入力することにより境界データを推定し、
前記境界データが表す連続区間毎に前記第１特徴量の時系列から第２特徴量を抽出し、
前記第２コードの推定においては、前記第１コードと前記第２特徴量とを前記学習済モデルに入力することにより第２コードを推定する
請求項１のコード推定方法。
【請求項６】
特徴量の時系列とコードを表すコードデータの時系列との関係を学習したコード遷移モデルに前記音響信号の特徴量の時系列を入力することによりコードデータの時系列を推定し、
前記第２コードの推定においては、前記学習済モデルの出力と前記コードデータとに基づいて前記第２コードを推定する
請求項１のコード推定方法。
【請求項７】
前記音響信号を端末装置から受信し、前記音響信号から推定した前記第１コードを前記学習済モデルに入力することにより前記第２コードを推定し、当該第２コードを前記端末装置に送信する
請求項１から請求項６の何れかのコード推定方法。
【請求項８】
音響信号から第１コードを推定する第１コード推定部と、
コードに対する変更の傾向を学習した学習済モデルに前記第１コードを入力することにより、第２コードを推定する第２コード推定部と
を具備するコード推定装置。
【請求項９】
前記学習済モデルは、
コードに対する変更の内容の傾向を学習した第１学習済モデルと、
コードに対する変更の有無の傾向を学習した第２学習済モデルとを含み、
前記第２コード推定部は、前記第１学習済モデルに前記第１コードを入力したときの出力と、前記第２学習済モデルに前記第１コードを入力したときの出力と、に応じて前記第２コードを推定する
請求項８のコード推定装置。
【請求項１０】
前記第１コード推定部は、前記音響信号のうち音階音に対応する成分の強度に応じた成分強度を音階音毎に含む第１特徴量から、前記第１コードを推定し、
前記第２コード推定部は、前記各音階音の前記成分強度の時間変化に関する指標を含む第２特徴量と、前記第１コードとを、前記学習済モデルに入力することにより、前記第２コードを推定する
請求項８のコード推定装置。
【請求項１１】
前記第１特徴量は、前記音響信号の強度を含み、
前記第２特徴量は、前記音響信号の強度の時間変化に関する指標を含む
請求項１０のコード推定装置。
【請求項１２】
第１特徴量の時系列と、コードが継続する連続区間の境界を表す境界データとの関係を学習した境界推定モデルであって、前記音響信号の第１特徴量の時系列の入力により境界データを出力する境界推定モデルと、
前記境界データが表す連続区間毎に前記第１特徴量の時系列から第２特徴量を抽出する抽出部とを具備し、
前記第２コード推定部は、前記第１コードと前記第２特徴量とを前記学習済モデルに入力することにより第２コードを推定する
請求項８のコード推定装置。
【請求項１３】
特徴量の時系列とコードを表すコードデータの時系列との関係を学習したコード遷移モデルであって、前記音響信号の特徴量の時系列の入力によりコードデータの時系列を出力するコード遷移モデルを具備し、
前記第２コード推定部は、前記学習済モデルの出力と前記コードデータとに基づいて前記第２コードを推定する
請求項８のコード推定装置。
【請求項１４】
前記音響信号を端末装置から受信し、前記音響信号から推定した前記第１コードを前記学習済モデルに入力することにより前記第２コードを推定し、当該第２コードを前記端末装置に送信する
請求項８から請求項１３の何れかのコード推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声または楽音等の音響を表す音響信号からコード（和音）を判別する技術に関する。
【背景技術】
【０００２】
楽曲の歌唱音または演奏音等の音響を表す音響信号からコード名を特定する技術が従来から提案されている。例えば特許文献１には、入力楽音の波形データから解析した周波数スペクトルに基づいて和音を判定する技術が開示されている。周波数スペクトルに関する情報と、事前に用意された和音パターンとのマッチングにより和音が特定される。また、特許文献２には、入力音の基本周波数の確率密度関数にピークが観測される基本周波数の構成音を含む和音を同定する技術が開示されている。特許文献３には、機械学習済のニューラルネットワークを利用してコードを推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２９８４７５号公報
【特許文献２】特開２００８−２０９５５０号公報
【特許文献３】特開２０１７−２１５５２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術では、解析した周波数スペクトルに関する情報が、事前に用意された和音パターンから極端に乖離している場合に適切な和音パターンを高精度に推定することができない。本発明は、高精度にコードを推定することを目的とする。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、本発明の好適な態様に係るコード推定方法は、音響信号から第１コードを推定し、コードに対する変更の傾向を学習した学習済モデルに前記第１コードを入力することにより、第２コードを推定する。
【図面の簡単な説明】
【０００６】
【図１】本発明の第１実施形態に係るコード推定装置の構成を示すブロック図である。
【図２】コード推定装置の機能的な構成を示すブロック図である。
【図３】音響信号から第２コードが推定されるまでに生成される各データの概略図である。
【図４】第１特徴量および第２特徴量の模式図である。
【図５】機械学習装置の機能的な構成を示すブロック図である。
【図６】コード推定処理のフローチャートである。
【図７】第２コードを推定する処理のフローチャートである。
【図８】第２実施形態に係るコード推定部のブロック図である。
【図９】第３実施形態に係るコード推定部のブロック図である。
【図１０】第４実施形態に係るコード推定部のブロック図である。
【図１１】第５実施形態に係るコード推定装置の機能的な構成を示すブロック図である。
【図１２】境界データの説明図である。
【図１３】第５実施形態におけるコード推定処理のフローチャートである。
【図１４】第５実施形態における境界推定モデルの機械学習の説明図である。
【図１５】第６実施形態に係るコード推定装置の機能的な構成を示すブロック図である。
【図１６】第６実施形態において第２コードを推定する処理のフローチャートである。
【図１７】第６実施形態におけるコード遷移モデルの機械学習の説明図である。
【発明を実施するための形態】
【０００７】
＜第１実施形態＞
図１は、本発明の第１実施形態に係るコード推定装置１００の構成を例示するブロック図である。第１実施形態のコード推定装置１００は、楽曲の演奏音（例えば歌唱音声または楽音等）を表す音響信号Ｖからコードを推定するコンピュータシステムである。第１実施形態では、端末装置３００が送信した音響信号Ｖからコードの時系列を推定して、推定したコードの時系列を端末装置３００に送信するサーバ装置がコード推定装置１００として利用される。端末装置３００は、例えば携帯電話機もしくはスマートフォン等の可搬型の情報端末、またはパーソナルコンピュータ等の可搬型または据置型の情報端末であり、移動体通信網またはインターネット等を含む通信網を介してコード推定装置１００と通信可能である。
【０００８】
具体的には、コード推定装置１００は、通信装置１１と制御装置１２と記憶装置１３とを具備する。通信装置１１は、通信網を介して端末装置３００と通信する通信機器である。なお、通信装置１１による通信は有線通信および無線通信の何れでもよい。第１実施形態の通信装置１１は、端末装置３００から送信された音響信号Ｖを受信する。制御装置１２は、例えばＣＰＵ（Central Processing Unit）等の処理回路であり、コード推定装置１００を構成する各要素を統括的に制御する。制御装置１２は、少なくとも１個の回路を含んで構成される。第１実施形態の制御装置１２は、端末装置３００から送信された音響信号Ｖからコードの時系列を推定する。
【０００９】
記憶装置（メモリ）１３は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または、複数種の記録媒体の組合せで構成され、制御装置１２が実行するプログラムと制御装置１２が使用する各種のデータとを記憶する。なお、コード推定装置１００とは別体の記憶装置１３（例えばクラウドストレージ）を用意し、移動体通信網またはインターネット等の通信網を介して制御装置１２が記憶装置１３に対する書込および読出を実行してもよい。すなわち、記憶装置１３はコード推定装置１００から省略され得る。
【００１０】
図２は、制御装置１２の機能的な構成を例示するブロック図である。制御装置１２は、記憶装置１３に記憶されたプログラムに従って複数のタスクを実行することにより、音響信号Ｖからコードを推定するための複数の機能（第１抽出部２１，解析部２３，第２抽出部２５およびコード推定部２７）を実現する。なお、複数の装置の集合（すなわちシステム）で制御装置１２の機能を実現してもよいし、制御装置１２の機能の一部または全部を専用の電子回路（例えば信号処理回路）で実現してもよい。
【００１１】
第１抽出部２１は、音響信号Ｖから当該音響信号Ｖの第１特徴量Ｙ1を抽出する。第１特徴量Ｙ1は、図３に例示される通り、単位期間Ｔ（Ｔ1，Ｔ2，Ｔ3，…）毎に抽出される。単位期間Ｔは、例えば楽曲の１拍分に相当する期間である。すなわち、音響信号Ｖから第１特徴量Ｙ1の時系列が生成される。なお、楽曲の拍点とは無関係に固定長または可変長の単位期間Ｔを画定してもよい。
【００１２】
第１特徴量Ｙ1は、音響信号Ｖのうち各単位期間Ｔに対応した部分について音響的な特徴を表す指標である。図４には、第１特徴量Ｙ1が模式的に図示されている。一例として、第１特徴量Ｙ1は、複数の音階音（例えば平均律の１２半音）にそれぞれ対応する複数の要素を含むクロマベクトル（ＰＣＰ：Pitch Class Profile）と、音響信号Ｖの強度Ｐvを含む。音階音は、オクターブの相違を無視した音名（ピッチクラス）である。クロマベクトルのうち任意の音階音に対応する要素は、音響信号Ｖのうち当該音階音に対応する成分の強度を複数のオクターブにわたり加算した強度（以下「成分強度」という）Ｐqに設定される。第１実施形態の第１特徴量Ｙ1は、所定の周波数よりも低域側の帯域と高域側の帯域との各々について、クロマベクトルおよび強度Ｐvを含む。つまり、音響信号Ｖのうち低域側の帯域に関するクロマベクトルと、当該帯域内の音響信号Ｖの強度Ｐvと、音響信号Ｖのうち高域側の帯域に関するクロマベクトルと、当該帯域内の音響信号Ｖの強度Ｐvとが第１特徴量Ｙ1に含まれる。すなわち、第１特徴量Ｙ1は、全体として２６次元のベクトルで表現される。
【００１３】
図２の解析部２３は、第１抽出部２１が抽出した第１特徴量Ｙ1から第１コードＸ1を推定する。図３に例示される通り、第１特徴量Ｙ1毎（すなわち単位期間Ｔ毎）に第１コードＸ1が推定される。すなわち、第１コードＸ1の時系列が生成される。第１コードＸ1は、音響信号Ｖに応じた初期的ないし暫定的なコードである。例えば、相異なるコードが対応付けられた複数の第１特徴量Ｙ1のうち、第１抽出部２１が抽出した第１特徴量Ｙ1に最も類似する第１特徴量Ｙ1に対応付けられたコードが第１コードＸ1として推定される。なお、音響信号Ｖの入力により第１コードＸ1を生成する統計的推定モデル（例えば隠れマルコフモデルまたはニューラルネットワーク）を第１コードＸ1の推定に利用してもよい。以上の説明から理解される通り、第１抽出部２１と解析部２３とは、音響信号Ｖから第１コードＸ1を推定する前処理部２０として機能する。前処理部２０は、「第１コード推定部」の一例である。
【００１４】
図２の第２抽出部２５は、音響信号Ｖから第２特徴量Ｙ2を抽出する。第２特徴量Ｙ2は、音響的な特徴を音響信号Ｖの時間変化を加味して表す指標である。一例として、第２抽出部２５は、第１抽出部２１が抽出した第１特徴量Ｙ1と、解析部２３が推定した第１コードＸ1とから第２特徴量Ｙ2を抽出する。図３に例示される通り、同じ第１コードＸ1が推定された一連の区間（以下「連続区間」という）毎に第２特徴量Ｙ2が抽出される。例えば第１コードＸ1として「Ｆ」が推定された連続区間（単位期間Ｔ1−Ｔ4に相当する区間）について、１個の第２特徴量Ｙ2が抽出される。図４には、第２特徴量Ｙ2が模式的に図示されている。第１実施形態の第２特徴量Ｙ2は、音階音毎の成分強度Ｐqの時系列に関する分散σqおよび平均μqと、音響信号Ｖの強度Ｐvの時系列に関する分散σvおよび平均μvとを、低域側の帯域と高域側の帯域との各々について含む。第１実施形態の第２抽出部２５は、図４に例示される通り、連続区間内の複数の第１特徴量Ｙ1の各々に含まれる成分強度Ｐq（つまり連続区間内における成分強度Ｐqの時系列）の分散σqおよび平均μqと、連続区間内の複数の第１特徴量Ｙ1の各々に含まれる強度Ｐv（つまり連続区間内における強度Ｐvの時系列）の分散σvおよび平均μvとを算定することにより、第２特徴量Ｙ2を抽出する。第２特徴量Ｙ2は、全体として５２次元のベクトルで表現される。以上の説明から理解される通り、第２特徴量Ｙ2は、各音階音の成分強度Ｐqの時間変化に関する指標（典型的には分散σq等の散布度）と、音響信号Ｖの強度Ｐvの時間変化に関する指標（典型的には分散σv等の散布度）とを含む。
【００１５】
ところで、前処理部２０が推定した第１コードＸ1の時系列を端末装置３００に送信することも可能である。しかし、前処理部２０により推定された第１コードＸ1には、利用者Ｕが変更する余地がある。例えば、第１コードＸ1が誤推定された場合、または、第１コードＸ1が利用者Ｕの嗜好に適合しない場合には、第１コードＸ1を変更する必要がある。以上の事情を考慮して、図２のコード推定部２７は、学習済モデルＭを利用して、第１コードＸ1および第２特徴量Ｙ2から第２コードＸ2を推定する。図３に例示される通り、第１コードＸ1に対応した第２コードＸ2の時系列が推定される。学習済モデルＭは、第１コードＸ1に対する変更の傾向を学習した予測モデルであり、多数の利用者が第１コードＸ1を変更した結果を示す教師データを利用した機械学習で生成される。つまり、第２コードＸ2は、多数の利用者によるコードの変更の傾向のもとで第１コードＸ1に対して統計的に妥当性の高いコードである。コード推定部２７は、「第２コード推定部」の一例である。
【００１６】
コード推定部２７は、図２に例示される通り、学習済モデルＭと推定処理部７０とを含んで構成される。第１実施形態の学習済モデルＭは、第１学習済モデルＭ1と第２学習済モデルＭ2とで構成される。第１学習済モデルＭ1は、多数の利用者による第１コードＸ1に対する変更の内容に関する傾向（以下「第１傾向」という）を学習した予測モデルである。第１傾向は、第１コードＸ1がどのようなコードに変更されるのかという傾向である。他方、第２学習済モデルＭ2は、第１傾向とは異なるコードの変更の傾向（以下「第２傾向」という）を学習した予測モデルである。具体的には、第２傾向は、コードに対する変更の有無の傾向、および、コードに対する変更の内容に関する傾向を含む傾向である。例えば、第２傾向は、第１コードＸ1が変更されるか否か、および、第１コードＸ1が変更されるとすればどのようなコードに変更されるのか、という傾向である。すなわち、第１傾向は第２傾向に包含される関係にある。
【００１７】
第１学習済モデルＭ1は、第１コードＸ1および第２特徴量Ｙ2の入力に対し、第２コードＸ2の候補となる複数のコード（以下「候補コード」という）の各々について出現確率λ1を出力する。具体的には、根音と種類（例えばメジャーまたはマイナー等のコードタイプ）とベース音との組合せが異なるＱ個の候補コードの各々について出現確率λ1が出力される（Ｑは２以上の自然数）。第１傾向のもとで第１コードＸ1から変更される可能性が高い候補コードの出現確率λ1は相対的に高い数値となる。他方、第２学習済モデルＭ2は、第１コードＸ1および第２特徴量Ｙ2の入力に対し、Ｑ個の候補コードの各々について出現確率λ2を出力する。第２傾向のもとで第１コードＸ1から変更される可能性が高い候補コードの出現確率λ2は相対的に高い数値となる。なお、Ｑ個の候補コードのうちのひとつとして「コード無し」を含めてもよい。
【００１８】
推定処理部７０は、第１学習済モデルＭ1による推定の結果と、第２学習済モデルＭ2による推定の結果とに基づいて第２コードＸ2を推定する。第１実施形態では、第１学習済モデルＭ1が出力した出現確率λ1と、第２学習済モデルＭ2が出力した出現確率λ2とに基づいて第２コードＸ2が推定される。具体的には、推定処理部７０は、出現確率λ1と出現確率λ2とを候補コード毎に統合することにより候補コード毎の出現確率λ0を算定し、Ｑ個の候補コードのうち出現確率λ0が高い候補コードを第２コードＸ2として推定する。すなわち、第１傾向および第２傾向の双方のもとで第１コードＸ1に対して統計的に妥当な候補コードが第２コードＸ2として出力される。各候補コードの出現確率λ0は、例えば出現確率λ1と出現確率λ2との加重和である。なお、出現確率λ1と出現確率λ2とを加算すること、または、出現確率λ1と出現確率λ2とを所定の関数に入力することにより、出現確率λ0を算定してもよい。コード推定部２７により推定された第２コードＸ2の時系列は、利用者Ｕの端末装置３００に送信される。
【００１９】
第１学習済モデルＭ1は、例えばニューラルネットワーク（典型的にはディープニューラルネットワーク）であり、複数の係数Ｋ1で規定される。同様に、第２学習済モデルＭ2は、例えばニューラルネットワーク（典型的にはディープニューラルネットワーク）であり、複数の係数Ｋ2で規定される。複数の係数Ｋ1および複数の係数Ｋ2は、多数の利用者によるコードの変更の傾向を示す教師データＬを利用した機械学習により設定される。図５は、複数の係数Ｋ1と複数の係数Ｋ2とを設定するための機械学習装置２００の構成を示すブロック図である。機械学習装置２００は、教師データ生成部５１と学習部５３とを具備するコンピュータシステムで実現される。教師データ生成部５１および学習部５３は、例えばＣＰＵ（Central Processing Unit）等の制御装置（図示略）により実現される。なお、コード推定装置１００に機械学習装置２００を搭載してもよい。
【００２０】
機械学習装置２００の記憶装置（図示略）は、教師データＬを生成するための複数の変更データＺを記憶する。変更データＺは事前に多数の端末装置から収集される。例えば、利用者の端末装置において解析部２３が音響信号Ｖから第１コードＸ1の時系列を推定した場合を想定する。利用者は、解析部２３により推定された複数の第１コードＸ1の各々について、変更するか否かを確認し、変更がある場合には変更後のコードを入力する。すなわち、各変更データＺは、利用者の第１コードＸ1に対する変更の履歴を表すデータである。複数の第１コードＸ1の確認を利用者が完了すると、変更データＺが生成され、機械学習装置２００に送信される。多数の利用者の端末装置から各変更データＺが機械学習装置２００に送信される。なお、機械学習装置２００が変更データＺを生成してもよい。
【００２１】
各変更データＺは、利用者による第１コードＸ1に対する変更の有無および内容を、音響信号Ｖから推定された第１コードＸ1の時系列毎に表す。具体的には、任意の１個の変更データＺは、図５に例示される通り、端末装置において推定された各第１コードＸ1に、当該第１コードＸ1に対応する確認済コードおよび第２特徴量Ｙ2を対応付けて登録されたデータテーブルである。すなわち、第１コードＸ1の時系列と、確認済コードの時系列と、第２特徴量Ｙ2の時系列とで変更データＺが構成される。確認済コードは、第１コードＸ1に対する変更の有無および内容を示すコードである。具体的には、第１コードＸ1を利用者が変更した場合には変更後のコードが確認済コードして設定され、第１コードＸ1を利用者が変更しなかった場合には、当該第１コードＸ1が確認済コードとして設定される。なお、第１コードＸ1に対応する第２特徴量Ｙ2は、第１コードＸ1と第１特徴量Ｙ1とから生成されて変更データＺに登録される。
【００２２】
機械学習装置２００の教師データ生成部５１は、変更データＺから教師データＬを生成する。第１実施形態の教師データ生成部５１は、図５に例示される通り、選択部５１２と処理部５１４とを具備する。選択部５１２は、複数の変更データＺのうち教師データＬを生成するのに適した変更データＺを選択する。例えば、第１コードＸ1が変更された箇所の総数が多い変更データＺは、利用者によるコードの変更の傾向を表すデータとして信頼性が高いと評価できる。以上の傾向を考慮して、例えば、第１コードＸ1が変更された箇所の総数が所定の閾値を上回る変更データＺが選択される。具体的には、複数の変更データＺのうち、第１コードＸ1とは異なる確認済コードの個数が例えば１０個以上である変更データＺが選択される。
【００２３】
図５の処理部５１４は、選択部５１２が選択した変更データＺから教師データＬを生成する。教師データＬは、図５に例示される通り、第１コードＸ1と、当該第１コードＸ1に対応する確認済コードと、当該第１コードＸ1に対応する第２特徴量Ｙ2との組合せである。すなわち、選択部５１２が選択した任意の１個の変更データＺから、複数の教師データＬが生成される。以上に説明した処理により、教師データ生成部５１は、Ｎ個の教師データＬを生成する。
【００２４】
Ｎ個の教師データＬは、Ｎ1個の教師データＬとＮ2個の教師データＬとに区分される（Ｎ＝Ｎ1＋Ｎ2）。Ｎ1個の教師データＬ（以下「変更済教師データＬ1」という）は、利用者による変更の対象となった第１コードＸ1を含む。すなわち、Ｎ1の変更済教師データＬ1の各々に含まれる確認済コードは、第１コードＸ1に対する変更後のコード（すなわち第１コードＸ1とは異なるコード）である。Ｎ1個の変更済教師データＬ1は、前述の第１傾向を表す学習用のビッグデータである。他方、Ｎ2個の教師データＬ（以下「未変更教師データＬ2」という）は、利用者による変更の対象とならなかった第１コードＸ1を含む。すなわち、Ｎ2個の未変更教師データＬ2の各々に含まれる確認済コードは、第１コードＸ1と同様のコードである。Ｎ1個の変更済教師データＬ1とＮ2個の未変更教師データＬ2とを含むＮ個の教師データＬは、前述の第２傾向を表す学習用のビッグデータに相当する。
【００２５】
学習部５３は、教師データ生成部５１が生成したＮ個の教師データＬから、係数Ｋ1および係数Ｋ2を生成する。第１実施形態の学習部５３は、第１学習部５３２と第２学習部５３４とを具備する。第１学習部５３２は、Ｎ個の教師データＬのうちＮ1個の変更済教師データＬ1を利用した機械学習（深層学習）により、第１学習済モデルＭ1を規定する複数の係数Ｋ1を生成する。すなわち、第１傾向が反映された複数の係数Ｋ1が生成される。複数の係数Ｋ1により規定される第１学習済モデルＭ1は、Ｎ1個の変更済教師データＬ1が表す傾向のもとで、第１コードＸ1および第２特徴量Ｙ2と、確認済コード（第２コードＸ2）との間の関係を学習した予測モデルである。
【００２６】
第２学習部５３４は、Ｎ個の教師データ（Ｎ1個の変更済教師データＬ1およびＮ2個の未変更教師データＬ2）を利用した機械学習により、第２学習済モデルＭ2を規定する複数の係数Ｋ2を生成する。すなわち、第２傾向が反映された複数の係数Ｋ2が生成される。複数の係数Ｋ2により規定される第２学習済モデルＭ2は、Ｎ個の教師データＬが表す傾向のもとで、第１コードＸ1および第２特徴量Ｙ2と、確認済コードとの間の関係を学習した予測モデルである。機械学習装置２００により生成された複数の係数Ｋ1および複数の係数Ｋ2が、コード推定装置１００の記憶装置１３に記憶される。
【００２７】
図６は、コード推定装置１００の制御装置１２が第２コードＸ2を推定する処理（以下「コード推定処理」という）のフローチャートである。コード推定処理は、例えば端末装置３００から送信された音響信号Ｖの受信を契機として開始される。コード推定処理を開始すると、第１抽出部２１は、音響信号Ｖから第１特徴量Ｙ1を抽出する（Ｓa1）。解析部２３は、第１抽出部２１が抽出した第１特徴量Ｙ1から第１コードＸ1を推定する（Ｓa2）。第２抽出部２５は、第１抽出部２１が抽出した第１特徴量Ｙ1と、解析部２３が推定した第１コードＸ1とから第２特徴量Ｙ2を抽出する（Ｓa3）。コード推定部２７は、学習済モデルＭに第１コードＸ1および第２特徴量Ｙ2を入力することにより、第２コードＸ2を推定する（Ｓa4）。
【００２８】
図７は、コード推定部２７の処理（Ｓa4）の詳細なフローチャートである。コード推定部２７は、第１傾向を学習した第１学習済モデルＭ1により、候補コード毎の出現確率λ1を生成する（Ｓa4-1）。コード推定部２７は、第２傾向を学習した第２学習済モデルＭ2により、候補コード毎の出現確率λ2を生成する（Ｓa4-2）。なお、出現確率λ1の生成（Ｓa4-1）と出現確率λ2の生成（Ｓa4-2）との順序を逆転してもよい。コード推定部２７は、第１学習済モデルＭ1により生成した出現確率λ1と、第２学習済モデルＭ2により生成した出現確率λ2とを候補コード毎に統合することにより、候補コード毎の出現確率λ0を算定する（Ｓa4-3）。コード推定部２７は、Ｑ個の候補コードのうち出現確率λ0が高い候補コードを第２コードＸ2として推定する（Ｓa4-4）。
【００２９】
以上の説明から理解される通り、第１実施形態では、コードに対する変更の傾向を学習した学習済モデルＭに第１コードＸ1および第２特徴量Ｙ2を入力することにより、第２コードＸ2が推定されるから、音響信号Ｖから第１コードＸ1を推定するだけの構成と比較して、コードに対する変更の傾向を加味した第２コードＸ2を高精度に推定することができる。
【００３０】
第１実施形態では、第１傾向を学習した第１学習済モデルＭ1による推定結果（出現確率λ1）と、第２傾向を学習した第２学習済モデルＭ2による推定結果（出現確率λ2）とに基づいて第２コードＸ2が推定される。例えば第１学習済モデルＭ1による推定結果および第２学習済モデルＭ2による推定結果の何れか一方に基づいて第２コードＸ2を推定する方法では、コードに対する変更の傾向を適切に反映した第２コードＸ2が推定されないという問題がある。具体的には、第１学習済モデルＭ1による推定結果のみに基づいて第２コードＸ2を推定する方法では、入力した第１コードＸ1が必ず変更されてしまう。また、第２学習済モデルＭ2による推定結果のみに基づいて第２コードＸ2を推定する方法では、第１コードＸ1が変更の対象になりにくい。第１学習済モデルＭ1および第２学習済モデルＭ2を利用して第２コードＸ2を推定する第１実施形態の構成によれば、例えば第１学習済モデルＭ1および第２学習済モデルＭ2の何れか一方を利用して第２コードＸ2を推定する方法と比較して、コードに対する変更の傾向を適切に反映した第２コードＸ2を推定することができる。
【００３１】
第１実施形態では、成分強度Ｐqの時系列における分散σqおよび平均μqと、音響信号Ｖの強度Ｐvの時系列における分散σvおよび平均μvとを含む第２特徴量Ｙ2を学習済モデルに入力することにより、第２コードＸ2が推定されるから、音響信号Ｖの時間変化を加味して高精度に第２コードＸ2を推定することができる。
【００３２】
＜第２実施形態＞
本発明の第２実施形態を説明する。なお、以下に例示する各態様において機能または作用が第１実施形態と同様である要素については、第１実施形態の説明で使用した符号を流用して各々の詳細な説明を適宜に省略する。第１実施形態では、学習済モデルＭに第１コードＸ1および第２特徴量Ｙ2を入力することにより、第２コードＸ2を推定したが、学習済モデルＭに入力するデータは、以下に例示する各形態のように変更される。
【００３３】
図８は、第２実施形態におけるコード推定部２７の構成図である。第２実施形態では、学習済モデルＭに第１コードＸ1を入力することにより、第２コードＸ2を推定する。すなわち、第２実施形態の学習済モデルＭは、第１コードＸ1と第２コードＸ2（確認済コード）との間の関係を学習した予測モデルである。学習済モデルＭに入力される第１コードＸ1は、第１実施形態と同様の方法で生成される。第２実施形態においては、第２特徴量Ｙ2の抽出（第２抽出部２５）が省略される。
【００３４】
＜第３実施形態＞
図９は、第３実施形態におけるコード推定部２７の構成図である。第３実施形態では、学習済モデルＭに第１特徴量Ｙ1を入力することにより、第２コードＸ2を推定する。すなわち、第３実施形態の学習済モデルＭは、第１特徴量Ｙ1と第２コードＸ2（確認済コード）との間の関係を学習した予測モデルである。学習済モデルＭに入力される第１特徴量Ｙ1は、第１実施形態と同様の方法で生成される。第３実施形態においては、第１コードＸ1の推定（解析部２３）と第２特徴量Ｙ2の抽出（第２抽出部２５）とが省略される。学習済モデルＭに第１特徴量Ｙ1を入力する第３実施形態の構成によれば、利用者によるコードの変更の傾向が考慮されるから、処理部２０を使用する場合と比較して高精度に第２コードＸ2を特定することができる。
【００３５】
＜第４実施形態＞
図１０は、第４実施形態におけるコード推定部２７の構成図である。第３実施形態では、学習済モデルＭに第２特徴量Ｙ2を入力することにより、第２コードＸ2を推定する。すなわち、第４実施形態の学習済モデルＭは、第２特徴量Ｙ2と第２コードＸ2（確認済コード）との間の関係を学習した予測モデルである。学習済モデルＭに入力される第２特徴量Ｙ2は、第１実施形態と同様の方法で生成される。
【００３６】
以上の説明から理解される通り、音響信号Ｖから第２コードＸ2を推定するために学習済モデルＭに入力するデータは、音響信号Ｖの音響的な特徴を表す指標（以下「音響信号Ｖの特徴量」という）として包括的に表現される。音響信号Ｖの特徴量としては、第１特徴量Ｙ1、第２特徴量Ｙ2および第１コードＸ1の何れか、または、それらの組合せが例示される。なお、音響信号Ｖの特徴量は、第１特徴量Ｙ1、第２特徴量Ｙ2または第１コードＸ1に限定されない。例えば周波数スペクトルを音響信号Ｖの特徴量として利用してもよい。以上の説明から理解される通り、音響信号Ｖの特徴量は、コードの相違が反映される特徴量であれば任意である。
【００３７】
以上の説明から理解される通り、学習済モデルＭは、音響信号Ｖの特徴量とコードとの間の関係を学習した統計的推定モデルとして包括的に表現される。学習済モデルＭに音響信号Ｖの特徴量を入力することにより、当該音響信号Ｖから第２コードＸ2を推定する前述の各形態の構成によれば、学習済モデルＭにより学習された傾向に沿ったコードが推定される。したがって、事前に用意されたコードと音響信号Ｖの特徴量（例えば特許文献１では周波数スペクトル）との比較によりコードを推定する構成と比較して、音響信号Ｖの多様な特徴量から高精度にコードを推定できる。すなわち、特許文献１の技術では、音響信号Ｖの特徴量が、事前に用意されたコードから極端に乖離している場合に適切なコードを高精度に推定することができない。それに対して、前述の各形態の構成によれば、学習済モデルＭにより学習された傾向に沿ってコードが推定されるから、音響信号Ｖの特徴量の内容に関わらず適切なコードを高精度に推定できる。
【００３８】
音響信号Ｖの特徴量とコードとの間の関係を学習した学習済モデルＭのうち、第１コードを入力する学習済モデルＭ（例えば第１実施形態および第２実施形態で例示した学習済モデルＭ）は、コードに関する変更を学習した学習済モデルＭとして包括的に表現される。
【００３９】
＜第５実施形態＞
図１１は、本発明の第５実施形態のコード推定装置１００における制御装置１２の機能的な構成を例示するブロック図である。第５実施形態の制御装置１２は、第１実施形態と同様の要素（前処理部２０，第２抽出部２５およびコード推定部２７）に加えて境界推定モデルＭbとして機能する。第１抽出部２１が生成した第１特徴量Ｙ1の時系列が境界推定モデルＭbに入力される。境界推定モデルＭbは、第１特徴量Ｙ1の時系列と境界データＢとの関係を学習した学習済モデルである。すなわち、境界推定モデルＭbは、第１特徴量Ｙ1の時系列に応じた境界データＢを出力する。境界データＢは、時間軸上における各連続区間の境界を表す時系列データである。連続区間は、音響信号Ｖにおいて同じコードが継続する一連の区間である。例えば時系列データの処理に好適な長短期記憶（ＬＳＴＭ：Long Short Term Memory）等の再帰型ニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）が境界推定モデルＭbとして好適に利用される。
【００４０】
図１２は、境界データＢの説明図である。境界データＢは、時間軸上の各単位期間Ｔに対応する単位データｂの時系列を含む。各単位期間Ｔの第１特徴量Ｙ1毎に境界推定モデルＭbから１個の単位データｂが出力される。各単位期間Ｔに対応する単位データｂは、当該単位期間Ｔに対応する時点が連続区間の境界に該当するか否かを２値的に表すデータである。例えば単位データｂは、単位期間Ｔの始点が連続区間の境界である場合に数値１に設定され、当該単位期間Ｔの始点が連続区間の境界に該当しない場合に数値０に設定される。すなわち、単位データｂの数値１は、当該単位データｂに対応する単位期間Ｔが連続区間の先頭であることを意味する。以上の説明から理解される通り、境界推定モデルＭbは、第１特徴量Ｙ1の時系列から各連続区間の境界を推定する統計的推定モデルである。また、境界データＢは、時間軸上の複数の時点の各々が連続区間の境界に該当するか否かを２値的に表す時系列データである。
【００４１】
境界推定モデルＭbは、第１特徴量Ｙ1の時系列から境界データＢを生成する演算を制御装置１２に実行させるプログラム（例えば人工知能ソフトウェアを構成するプログラムモジュール）と、当該演算に適用される複数の係数Ｋbとの組合せで実現される。複数の係数Ｋbは、複数の教師データＬbを利用した機械学習（特に深層学習）により設定されて記憶装置１３に記憶される。
【００４２】
第１実施形態の第２抽出部２５は、解析部２３が解析した第１コードＸ1が連続する区間を連続区間として第２特徴量Ｙ2を連続区間毎に抽出した。第５実施形態の第２抽出部２５は、境界推定モデルＭbから出力される境界データＢが表す連続区間毎に第２特徴量Ｙ2を抽出する。具体的には、第２抽出部２５は、境界データＢが表す連続区間内の１個以上の第１特徴量Ｙ1から第２特徴量Ｙ2を生成する。したがって、第２抽出部２５に対する第１コードＸ1の入力は省略される。第２特徴量Ｙ2の内容は第１実施形態と同様である。
【００４３】
図１３は、第５実施形態におけるコード推定処理の具体的な手順を例示するフローチャートである。コード推定処理を開始すると、第１抽出部２１は、音響信号Ｖから第１特徴量Ｙ1を単位期間Ｔ毎に抽出する（Ｓb1）。解析部２３は、第１抽出部２１が抽出した第１特徴量Ｙ1から第１コードＸ1を単位期間Ｔ毎に推定する（Ｓb2）。
【００４４】
境界推定モデルＭbは、第１抽出部２１が抽出した第１特徴量Ｙ1の時系列から境界データＢを生成する（Ｓb3）。第２抽出部２５は、第１抽出部２１が抽出した第１特徴量Ｙ1と、境界推定モデルＭbが生成した境界データＢとから第２特徴量Ｙ2を抽出する（Ｓb4）。具体的には、第２抽出部２５は、境界データＢが表す連続区間毎に、当該連続区間内の１個以上の第１特徴量Ｙ1から第２特徴量Ｙ2を生成する。コード推定部２７は、学習済モデルＭに第１コードＸ1および第２特徴量Ｙ2を入力することにより第２コードＸ2を推定する（Ｓb5）。第２コードＸ2の推定（Ｓb5）の具体的な手順は第１実施形態（図７）と同様である。なお、解析部２３による第１コードＸ1の推定（Ｓb2）と境界推定モデルＭbによる境界データＢの生成（Ｓb3）との順序を逆転してもよい。
【００４５】
図１４は、境界推定モデルＭbの複数の係数Ｋbを設定する機械学習装置２００の構成を例示するブロック図である。第５実施形態の機械学習装置２００は、第３学習部５５を具備する。第３学習部５５は、複数の教師データＬbを利用した機械学習により複数の係数Ｋbを設定する。図１４に例示される通り、複数の教師データＬbの各々は、第１特徴量Ｙ1の時系列と境界データＢxとを含んで構成される。境界データＢxは、各第１特徴量Ｙ1に対応する既知の単位データｂの時系列（すなわち正解値）で構成される。すなわち、境界データＢxの複数の単位データｂのうち、各連続区間の先頭の単位期間Ｔに対応する単位データｂは数値１に設定され、各連続区間の先頭以外の単位期間Ｔに対応する単位データｂは数値０に設定される。
【００４６】
第３学習部５５は、教師データＬbの第１特徴量Ｙ1の時系列を入力することにより暫定的な境界推定モデルＭbから出力される境界データＢと、当該教師データＬbの境界データＢxとの相違が低減されるように、境界推定モデルＭbの複数の係数Ｋbを更新する。具体的には、第３学習部５５は、境界データＢと境界データＢxとの相違を表す評価関数が最小化されるように、例えば誤差逆伝播法により複数の係数Ｋbを反復的に更新する。以上の手順で機械学習装置２００が設定した複数の係数Ｋbがコード推定装置１００の記憶装置１３に記憶される。したがって、境界推定モデルＭbは、複数の教師データＬbにおける第１特徴量Ｙ1の時系列と境界データＢxとの間に潜在する傾向のもとで、未知の第１特徴量Ｙ1の時系列に対して統計的に妥当な境界データＢを出力する。なお、第３学習部５５をコード推定装置１００に搭載してもよい。
【００４７】
以上に説明した通り、第５実施形態によれば、第１特徴量Ｙ1の時系列と境界データＢとの関係を学習した境界推定モデルＭbを利用して、未知の音響信号Ｖに関する境界データＢが生成される。したがって、境界データＢに応じて生成された第２特徴量Ｙ2を利用することにより、第２コードＸ2を高精度に推定することが可能である。
【００４８】
＜第６実施形態＞
図１５は、本発明の第６実施形態のコード推定装置１００における制御装置１２の機能的な構成を例示するブロック図である。第６実施形態のコード推定部２７は、第１実施形態と同様の要素（学習済モデルＭおよび推定処理部７０）に加えてコード遷移モデルＭcを含む。第２抽出部２５が出力する第２特徴量Ｙ2の時系列がコード遷移モデルＭcに入力される。コード遷移モデルＭcは、コードの遷移の傾向を学習した学習済モデルである。コードの遷移の傾向は、例えば既存の多数の楽曲に出現し易いコードの配列である。具体的には、コード遷移モデルＭcは、第２特徴量Ｙ2の時系列とコードを表すコードデータＣの時系列との関係を学習した学習済モデルである。すなわち、コード遷移モデルＭcは、第２特徴量Ｙ2の時系列に応じたコードデータＣを連続区間毎に出力する。例えば時系列データの処理に好適な長短期記憶（ＬＳＴＭ）等の再帰型ニューラルネットワーク（ＲＮＮ）がコード遷移モデルＭcとして好適に利用される。
【００４９】
第６実施形態のコードデータＣは、Ｑ個の候補コードの各々について出現確率λcを表す。任意の１個の候補コードに対応する出現確率λcは、音響信号Ｖのうち連続区間内のコードが当該候補コードに該当する確率（または尤度）を意味する。出現確率λcは、０以上かつ１以下の範囲内の数値に設定される。以上の説明から理解される通り、コードデータＣの時系列はコードの遷移を表す。すなわち、コード遷移モデルＭcは、第２特徴量Ｙ2の時系列からコードの遷移を推定する統計的推定モデルである。
【００５０】
第６実施形態の推定処理部７０は、第１学習済モデルＭ1が出力する出現確率λ1と、第２学習済モデルＭ2が出力する出現確率λ2と、コード遷移モデルＭcが出力するコードデータＣとに基づいて第２コードＸ2を推定する。具体的には、推定処理部７０は、出現確率λ1と出現確率λ2とコードデータＣの出現確率λcとを候補コード毎に統合することにより各候補コードの出現確率λ0を算定する。各候補コードの出現確率λ0は、例えば出現確率λ1と出現確率λ2と出現確率λcとの加重和である。推定処理部７０は、Ｑ個の候補コードのうち出現確率λ0が高い候補コードを第２コードＸ2として単位期間Ｔ毎に推定する。以上の説明から理解される通り、第６実施形態においては、学習済モデルＭの出力（すなわち出現確率λ1および出現確率λ2）とコードデータＣ（出現確率λc）とに基づいて第２コードＸ2が推定される。すなわち、前述の第１傾向および第２傾向に加えて、コード遷移モデルＭcが学習したコードの遷移の傾向を加味した第２コードＸ2が推定される。
【００５１】
コード遷移モデルＭcは、第２特徴量Ｙ2の時系列からコードデータＣの時系列を生成する演算を制御装置１２に実行させるプログラム（例えば人工知能ソフトウェアを構成するプログラムモジュール）と、当該演算に適用される複数の係数Ｋcとの組合せで実現される。複数の係数Ｋcは、複数の教師データＬcを利用した機械学習（特に深層学習）により設定されて記憶装置１３に記憶される。
【００５２】
図１６は、第６実施形態のコード推定部２７が第２コードＸ2を推定する処理（Ｓa4）の具体的な手順を例示するフローチャートである。第６実施形態では、図７を参照して説明した第１実施形態の処理のうちステップＳa4-3が、図１６のステップＳc1およびステップＳc2に置換される。
【００５３】
出現確率λ1および出現確率λ2を候補コード毎に生成すると（Ｓa4-1，Ｓa4-2）、コード推定部２７は、第２抽出部２５が抽出した第２特徴量Ｙ2の時系列をコード遷移モデルＭcに入力することによりコードデータＣの時系列を生成する（Ｓc1）。なお、出現確率λ1の生成（Ｓa4-1）と出現確率λ2の生成（Ｓa4-2）とコードデータＣの生成（Ｓc1）との順序は任意に変更される。
【００５４】
コード推定部２７は、出現確率λ1および出現確率λ2と、コードデータＣが表す出現確率λcとを候補コード毎に統合することにより、候補コード毎の出現確率λ0を算定する（Ｓc2）。コード推定部２７は、Ｑ個の候補コードのうち出現確率λ0が高い候補コードを第２コードＸ2として推定する（Ｓa4-4）。第６実施形態において第２コードＸ2を推定する処理の具体的な手順は以上の通りである。
【００５５】
図１７は、コード遷移モデルＭcの複数の係数Ｋcを設定する機械学習装置２００の構成を例示するブロック図である。第６実施形態の機械学習装置２００は、第４学習部５６を具備する。第４学習部５６は、複数の教師データＬcを利用した機械学習により複数の係数Ｋcを設定する。図１７に例示される通り、複数の教師データＬcの各々は、第２特徴量Ｙ2の時系列とコードデータＣxの時系列とを含んで構成される。コードデータＣxは、相異なる候補コードに対応するＱ個の出現確率λcで構成され、既知の楽曲におけるコードの遷移に応じて生成される。すなわち、コードデータＣxのＱ個の出現確率λcのうち、既知の楽曲に実際に出現する１個の候補コードに対応する出現確率λcは数値１に設定され、残余の(Ｑ−１)個の候補コードに対応する出現確率λcは数値０に設定される。
【００５６】
第４学習部５６は、教師データＬcの第２特徴量Ｙ2の時系列を入力することにより暫定的なコード遷移モデルＭcから出力されるコードデータＣの時系列と、当該教師データＬcのコードデータＣxの時系列との相違が低減されるように、コード遷移モデルＭcの複数の係数Ｋcを更新する。具体的には、第４学習部５６は、コードデータＣの時系列とコードデータＣxの時系列との相違を表す評価関数が最小化されるように、例えば誤差逆伝播法により複数の係数Ｋcを反復的に更新する。以上の手順で機械学習装置２００が設定した複数の係数Ｋcがコード推定装置１００の記憶装置１３に記憶される。したがって、コード遷移モデルＭcは、複数の教師データＬcにおける第２特徴量Ｙ2の時系列とコードデータＣxの時系列との間に潜在する傾向（すなわち既存の楽曲に出現するコードの遷移の傾向）のもとで、未知の第２特徴量Ｙ2の時系列に対して統計的に妥当なコードデータＣの時系列を出力する。なお、第４学習部５６をコード推定装置１００に搭載してもよい。
【００５７】
以上に説明した通り、第６実施形態によれば、第２特徴量Ｙ2の時系列とコードデータＣの時系列との関係を学習したコード遷移モデルＭcを利用して、未知の音響信号Ｖに関する第２コードＸ2が推定される。したがって、コード遷移モデルＭcを利用しない第１実施形態と比較して、多数の楽曲に採用される聴感的に自然な配列の第２コードＸ2を推定することが可能である。なお、第６実施形態において境界推定モデルＭbを省略してもよい。
【００５８】
＜変形例＞
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された２個以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
【００５９】
（１）前述の各形態では、利用者Ｕの端末装置３００とは別体のコード推定装置１００を利用したが、コード推定装置１００を端末装置３００に搭載してもよい。端末装置３００とコード推定装置１００とが一体の構成によれば、音響信号Ｖをコード推定装置１００に送信することが不要になる。ただし、端末装置３００とコード推定装置１００とが別体である前述の各形態の構成によれば、端末装置３００での処理負荷が低減される。なお、音響信号Ｖの特徴量を抽出する要素（例えば第１抽出部２１、解析部２３および第２抽出部２５）を端末装置３００に搭載してもよい。端末装置３００は、音響信号Ｖの特徴量をコード推定装置１００に送信し、コード推定装置１００は、端末装置３００から送信された特徴量から推定した第２コードＸ2を端末装置３００に送信する。
【００６０】
（２）前述の各形態では、第１学習済モデルＭ1と第２学習済モデルＭ2とで学習済モデルＭを構成したが、学習済モデルＭの態様は以上の例示に限定されない。例えばＮ個の教師データＬを利用して、第１傾向および第２傾向を学習した統計的推定モデルを学習済モデルＭとして利用してもよい。学習済モデルＭは、例えば第１傾向および第２傾向を踏まえてコード毎の出現確率を出力する。すなわち、推定処理部７０における出現確率λ0を算定する処理は、省略され得る。
【００６１】
（３）前述の各形態では、第２学習済モデルＭ2は第２傾向を学習したが、第２学習済モデルＭ2が学習する傾向は以上の例示に限定されない。例えばコードに対する変更の有無のみを第２学習済モデルＭ2が学習してもよい。すなわち、第１傾向が第２傾向に包含される関係になくてもよい。
【００６２】
（４）前述の各形態では、学習済モデル（Ｍ1，Ｍ2）は各コードの出現確率（λ1，λ2）を出力したが、学習済モデルＭが出力するデータは、出現確率（λ1，λ2）に限定されない。例えば第１学習済モデルＭ1および第２学習済モデルＭ2は、コードそのものを出力してもよい。
【００６３】
（５）前述の各形態では、第１コードＸ1に対応する１個の第２コードＸ2を推定したが、第１コードＸ1に対応する複数の第２コードＸ2を推定してもよい。推定処理部７０が算出した各コードの出現確率λ0のうち、出現確率λ0が上位の複数のコードを第２コードＸ2として端末装置３００に送信してもよい。利用者Ｕは、送信された複数の第２コードＸ2から所望のコードを特定する。
【００６４】
（６）前述の各形態では、任意の１個の単位期間Ｔに対応する特徴量を学習済モデルＭに入力したが、任意の１個の単位期間Ｔに対応する特徴量とともに、当該単位期間Ｔの前方または後方の特徴量を学習済モデルＭに入力してもよい。
【００６５】
（７）前述の各形態では、複数の音階音の各々に対応する複数の成分強度Ｐqを含むクロマベクトルと、音響信号Ｖの強度Ｐvを含む第１特徴量Ｙ1を例示したが、第１特徴量Ｙ1の内容は以上の例示に限定されない。例えば、クロマベクトルを第１特徴量Ｙ1として利用してもよい。また、クロマベクトルが示す音階音毎の成分強度Ｐqの時系列に関する分散σqおよび平均μqを第２特徴量Ｙ2としてもよい。第１特徴量Ｙ1および第２特徴量Ｙ2の内容は、コードの相違が反映される特徴量であれば任意である。
【００６６】
（８）前述の各形態では、コード推定装置１００は、音響信号Ｖの特徴量から学習済モデルＭにより第２コードＸ2を推定したが、第２コードＸ2を推定する方法は以上の例示に限定されない。例えば、相異なるコードが対応付けられた複数の第２特徴量Ｙ2のうち、第２抽出部２５が抽出した第２特徴量Ｙ2に最も類似する第２特徴量Ｙ2に対応付けられたコードを第２コードＸ2として推定してもよい。
【００６７】
（９）前述の第５実施形態では、各単位期間Ｔが連続区間の境界に該当するか否かを２値的に表す境界データＢを例示したが、境界データＢの内容は以上の例示に限定されない。例えば、各単位期間Ｔが連続区間の境界である尤度を表す境界データＢを境界推定モデルＭbが出力してもよい。具体的には、境界データＢの各単位データｂは０以上かつ１以下の範囲内の数値に設定され、複数の単位データｂが表す数値の合計は所定値（例えば１）となる。第２抽出部２５は、境界データＢの各単位データｂが表す尤度から連続区間の境界を推定し、当該連続区間毎に第２特徴量Ｙ2を抽出する。
【００６８】
（１０）前述の第６実施形態では、第２特徴量Ｙ2の時系列とコードデータＣの時系列との関係を学習したコード遷移モデルＭcを例示したが、コード遷移モデルＭcに入力される特徴量は第２特徴量Ｙ2に限定されない。例えば、第１特徴量Ｙ1の時系列とコードデータＣの時系列との関係をコード遷移モデルＭcが学習した構成では、第１抽出部２１が抽出した第１特徴量Ｙ1の時系列がコード遷移モデルＭcに入力される。コード遷移モデルＭcは、第１特徴量Ｙ1の時系列に応じたコードデータＣの時系列を出力する。第１特徴量Ｙ1および第２特徴量Ｙ2とは異なる種類の特徴量の時系列とコードデータＣの時系列との関係を学習したコード遷移モデルＭcを、コードデータＣの時系列に推定に利用してもよい。
【００６９】
（１１）前述の第６実施形態では、Ｑ個の候補コードの各々について０以上かつ１以下の出現確率λcを表すコードデータＣを例示したが、コードデータＣの具体的な内容は以上の例示に限定されない。例えば、Ｑ個の候補コードの何れかの出現確率λcが数値１に設定され、残余の(Ｑ−１)個の出現確率λcが数値０に設定されたコードデータＣをコード遷移モデルＭcが出力してもよい。すなわち、コードデータＣは、Ｑ個の候補コードの何れかをone-hot形式で表現するＱ次元ベクトルである。
【００７０】
（１２）第６実施形態では、学習済モデルＭと境界推定モデルＭbとコード遷移モデルＭcとを具備するコード推定装置１００を例示したが、境界推定モデルＭbおよびコード遷移モデルＭcの各々を単独で利用してもよい。例えば、境界推定モデルＭbを利用して第1特徴量Ｙ1の時系列から各連続区間の境界を推定する情報処理装置（境界推定装置）において、学習済モデルＭおよびコード遷移モデルＭcは必須ではない。コード遷移モデルＭcを利用して第２特徴量Ｙ2の時系列からコードデータＣを推定する情報処理装置（コード遷移推定装置）において、学習済モデルＭおよび境界推定モデルＭbは必須ではない。また、境界推定モデルＭbとコード遷移モデルＭcとを具備する情報処理装置において学習済モデルＭは省略される。すなわち、出現確率λ1および出現確率λ2の生成は必須ではない。例えばＱ個の候補コードのうち、コード遷移モデルＭcが出力する出現確率λcが高い候補コードが、第２コードＸ2として単位期間Ｔ毎に出力される。
【００７１】
（１３）前述の各形態に係るコード推定装置１００および機械学習装置２００は、各形態での例示の通り、コンピュータ（具体的には制御装置）とプログラムとの協働により実現される。前述の各形態に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性（non-transitory）の記録媒体であり、ＣＤ-ＲＯＭ等の光学式記録媒体（光ディスク）が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含み得る。なお、非一過性の記録媒体とは、一過性の伝搬信号（transitory, propagating signal）を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供することも可能である。また、プログラムの実行主体はＣＰＵに限定されず、Tensor Processing UnitおよびNeural Engine等のニューラルネットワーク用のプロセッサ、または、信号処理用のＤＳＰ（Digital Signal Processor）がプログラムを実行してもよい。また、以上の例示から選択された複数種の主体が協働してプログラムを実行してもよい。
【００７２】
（１４）学習済モデル（第１学習済モデルＭ1、第２学習済モデルＭ2、境界推定モデルＭbまたはコード遷移モデルＭc）は、制御装置（コンピュータの例示）により実現される統計的推定モデル（例えばニューラルネットワーク）であり、入力Ａに応じた出力Ｂを生成する。具体的には、学習済モデルは、入力Ａから出力Ｂを特定する演算を制御装置に実行させるプログラム（例えば人工知能ソフトウェアを構成するプログラムモジュール）と、当該演算に適用される複数の係数との組合せで実現される。学習済モデルの複数の係数は、入力Ａと出力Ｂとを対応させた複数の教師データを利用した事前の機械学習（深層学習）により最適化されている。すなわち、学習済モデルは、入力Ａと出力Ｂとの間の関係を学習した統計的推定モデルである。制御装置は、学習済の複数の係数と所定の応答関数とを適用した演算を未知の入力Ａに対して実行することにより、複数の教師データに潜在する傾向（入力Ａと出力Ｂとの間の関係）のもとで入力Ａに対して統計的に妥当な出力Ｂを生成する。
【００７３】
（１５）以上に例示した形態から、例えば以下の構成が把握される。
【００７４】
本発明の好適な態様（第１態様）に係るコード推定方法は、音響信号から第１コードを推定し、コードに対する変更の傾向を学習した学習済モデルに前記第１コードを入力することにより、第２コードを推定する。以上の態様によれば、コードに対する変更の傾向を学習した学習済モデルに音響信号から推定した第１コードを入力することにより第２コードが推定されるから、音響信号から第１コードを推定するだけの構成と比較して、コードに対する変更の傾向を加味した第２コードを高精度に推定することができる。
【００７５】
第１態様の好適例（第２態様）において、前記学習済モデルは、コードに対する変更の内容の傾向を学習した第１学習済モデルと、コードに対する変更の有無の傾向を学習した第２学習済モデルとを含み、前記第２コードの推定においては、前記第１学習済モデルに前記第１コードを入力したときの出力と、前記第２学習済モデルに前記第１コードを入力したときの出力と、に応じて前記第２コードを推定する。以上の態様によれば、例えば第１学習済モデルおよび第２学習済モデルの何れか一方を利用して第２コードを推定する方法と比較して、コードに対する変更の傾向を適切に反映した第２コードを推定することができる。
【００７６】
第１態様の好適例（第３態様）では、前記第１コードの推定においては、前記音響信号のうち音階音に対応する成分の強度に応じた成分強度を音階音毎に含む第１特徴量から、前記第１コードを推定し、前記第２コードの推定においては、前記各音階音の前記成分強度の時間変化に関する指標を含む第２特徴量と、前記第１コードとを、前記学習済モデルに入力することにより、前記第２コードを推定する。以上の態様によれば、各音階音の成分強度の時系列に関する分散および平均を含む第２特徴量を学習済モデルに入力することにより、第２コードが推定されるから、音響信号の時間変化を加味して高精度に第２コードを推定することができる。
【００７７】
第３態様の好適例（第４態様）において、前記第１特徴量は、前記音響信号の強度を含み、前記第２特徴量は、前記音響信号の強度の時系列に関する分散および平均を含む。以上の態様によれば、音響信号の時間変化を加味して高精度に第２コードを推定できるという前述の効果は格別に顕著である。
【００７８】
第１態様の好適例（第５態様）において、第１特徴量の時系列と、コードが継続する連続区間の境界を表す境界データとの関係を学習した境界推定モデルに前記音響信号の第１特徴量の時系列を入力することにより境界データを推定し、前記境界データが表す連続区間毎に前記第１特徴量の時系列から第２特徴量を抽出し、前記第２コードの推定においては、前記第１コードと前記第２特徴量とを前記学習済モデルに入力することにより第２コードを推定する。以上の態様では、第１特徴量の時系列と境界データとの関係を学習した境界推定モデルを利用して、未知の音響信号に関する境界データが生成される。したがって、境界データに応じて生成された第２特徴量を利用することにより、第２コードを高精度に推定することが可能である。
【００７９】
第１態様の好適例（第６態様）において、特徴量の時系列とコードを表すコードデータの時系列との関係を学習したコード遷移モデルに前記音響信号の特徴量の時系列を入力することによりコードデータの時系列を推定し、前記第２コードの推定においては、前記学習済モデルの出力と前記コードデータとに基づいて前記第２コードを推定する。以上の態様によれば、特徴量の時系列とコードデータの時系列との関係を学習したコード遷移モデルを利用して、未知の音響信号に関する第２コードが推定される。したがって、コード遷移モデルを利用しない構成と比較して、多数の楽曲において観測される聴感的に自然な第２コードの配列を推定することが可能である。
【００８０】
第１態様から第６態様の好適例（第７態様）において、前記音響信号を端末装置から受信し、前記音響信号から推定した前記第１コードを前記学習済モデルに入力することにより前記第２コードを推定し、当該第２コードを前記端末装置に送信する。以上の態様によれば、例えば利用者の端末装置に搭載された学習済モデルによりコードを推定する方法と比較して、端末装置での処理負荷が低減される。
【００８１】
以上に例示した各態様のコード推定方法を実行するコード推定装置、または、以上に例示した各態様のコード推定方法をコンピュータに実行させるプログラムとしても、本発明の好適な態様は実現される。例えば、本発明の好適な態様に係るコード推定装置は、音響信号から第１コードを推定する第１コード推定部と、コードに対する変更の傾向を学習した学習済モデルに前記第１コードを入力することにより、第２コードを推定する第２コード推定部とを具備する。
【符号の説明】
【００８２】
１００…コード推定装置、２００…機械学習装置、３００…端末装置、１１…通信装置、１２…制御装置、１３…記憶装置、２０…前処理部、２１…第１抽出部、２３…解析部、２５…第２抽出部、２７…コード推定部、５１…教師データ生成部、５１２…選択部、５１４…処理部、５３…学習部、５３２…第１学習部、５３４…第２学習部、５５…第３学習部、５６…第４学習部、７０…推定処理部、Ｍ…学習済モデル、Ｍ1…第１学習済モデル、Ｍ2…第２学習済モデル、Ｍb…境界推定モデル、Ｍc…コード遷移モデル。
【図１】
2019139209.tif 000003
【図２】
2019139209.tif 000004
【図３】
2019139209.tif 000005
【図４】
2019139209.tif 000006
【図５】
2019139209.tif 000007
【図６】
2019139209.tif 000008
【図７】
2019139209.tif 000009
【図８】
2019139209.tif 000010
【図９】
2019139209.tif 000011
【図１０】
2019139209.tif 000012
【図１１】
2019139209.tif 000013
【図１２】
2019139209.tif 000014
【図１３】
2019139209.tif 000015
【図１４】
2019139209.tif 000016
【図１５】
2019139209.tif 000017
【図１６】
2019139209.tif 000018
【図１７】
2019139209.tif 000019