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

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

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

特許7243147コード推定方法、コード推定装置およびプログラム
<>
  • 特許-コード推定方法、コード推定装置およびプログラム 図1
  • 特許-コード推定方法、コード推定装置およびプログラム 図2
  • 特許-コード推定方法、コード推定装置およびプログラム 図3
  • 特許-コード推定方法、コード推定装置およびプログラム 図4
  • 特許-コード推定方法、コード推定装置およびプログラム 図5
  • 特許-コード推定方法、コード推定装置およびプログラム 図6
  • 特許-コード推定方法、コード推定装置およびプログラム 図7
  • 特許-コード推定方法、コード推定装置およびプログラム 図8
  • 特許-コード推定方法、コード推定装置およびプログラム 図9
  • 特許-コード推定方法、コード推定装置およびプログラム 図10
  • 特許-コード推定方法、コード推定装置およびプログラム 図11
  • 特許-コード推定方法、コード推定装置およびプログラム 図12
  • 特許-コード推定方法、コード推定装置およびプログラム 図13
  • 特許-コード推定方法、コード推定装置およびプログラム 図14
  • 特許-コード推定方法、コード推定装置およびプログラム 図15
  • 特許-コード推定方法、コード推定装置およびプログラム 図16
  • 特許-コード推定方法、コード推定装置およびプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-13
(45)【発行日】2023-03-22
(54)【発明の名称】コード推定方法、コード推定装置およびプログラム
(51)【国際特許分類】
   G10H 1/38 20060101AFI20230314BHJP
   G10G 3/04 20060101ALI20230314BHJP
   G10L 25/51 20130101ALI20230314BHJP
【FI】
G10H1/38 Z
G10G3/04
G10L25/51 300
【請求項の数】 16
(21)【出願番号】P 2018223837
(22)【出願日】2018-11-29
(65)【公開番号】P2019139209
(43)【公開日】2019-08-22
【審査請求日】2021-09-21
(31)【優先権主張番号】P 2018022004
(32)【優先日】2018-02-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100125689
【弁理士】
【氏名又は名称】大林 章
(74)【代理人】
【識別番号】100128598
【弁理士】
【氏名又は名称】高田 聖一
(74)【代理人】
【識別番号】100121108
【弁理士】
【氏名又は名称】高橋 太朗
(72)【発明者】
【氏名】須見 康平
(72)【発明者】
【氏名】藤島 琢哉
【審査官】中村 天真
(56)【参考文献】
【文献】特表2010-538335(JP,A)
【文献】特開2017-215520(JP,A)
【文献】特開2015-031738(JP,A)
【文献】米国特許出願公開第2014/0140536(US,A1)
【文献】森篤史,新井イスマイル,既存曲から学習した遷移確率に基づくコード付与手法の検討,情報処理学会研究報告,2016年10月,Vol.2016-MUS-113,No.17,p.1-4
(58)【調査した分野】(Int.Cl.,DB名)
G10G 1/00- 3/04
G10H 1/00- 1/46
G10L 25/00-25/93
G09B 7/00- 7/12
(57)【特許請求の範囲】
【請求項1】
音響信号から第1コードを推定し、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力することにより、第2コードを推定する
コンピュータにより実現されるコード推定方法であって、
前記学習済モデルは、
コードに対する変更の内容の傾向を学習した第1学習済モデルと、
コードに対する変更の有無の傾向を学習した第2学習済モデルとを含み、
前記第2コードの推定においては、前記第1学習済モデルに前記第1コードを入力したときの出力と、前記第2学習済モデルに前記第1コードを入力したときの出力と、に応じて前記第2コードを推定する
コード推定方法。
【請求項2】
音響信号から第1コードを推定し、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードと前記音響信号の第2特徴量とを入力することにより、第2コードを推定し、
前記第2特徴量は、複数の音階音の各々について、前記音響信号のうち当該音階音に対応する成分の強度に応じた成分強度の時間変化に関する指標を含む
コンピュータにより実現されるコード推定方法。
【請求項3】
前記第1コードの推定においては、前記成分強度を音階音毎に含む第1特徴量から、前記第1コードを推定する
請求項2のコード推定方法。
【請求項4】
前記第1特徴量は、前記音響信号の強度を含み、
前記第2特徴量は、前記音響信号の強度の時間変化に関する指標を含む
請求項3のコード推定方法。
【請求項5】
音響信号から第1コードを推定し、
第1特徴量の時系列と、コードが継続する連続区間の境界を表す境界データとの関係を学習した境界推定モデルに前記音響信号の第1特徴量の時系列を入力することにより境界データを推定し、
前記境界データが表す連続区間毎に前記第1特徴量の時系列から第2特徴量を生成し、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードと前記第2特徴量とを入力することにより、第2コードを推定する
コンピュータにより実現されるコード推定方法。
【請求項6】
音響信号から第1コードを推定し、
特徴量の時系列とコードを表すコードデータの時系列との関係を学習したコード遷移モデルに前記音響信号の特徴量の時系列を入力することによりコードデータの時系列を推定し、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力したときの出力と、前記コードデータとに基づいて、第2コードを推定する
コンピュータにより実現されるコード推定方法。
【請求項7】
音響信号から第1コードを推定する第1コード推定部と、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力することにより、第2コードを推定する第2コード推定部とを具備し、
前記学習済モデルは、
コードに対する変更の内容の傾向を学習した第1学習済モデルと、
コードに対する変更の有無の傾向を学習した第2学習済モデルとを含み、
前記第2コード推定部は、前記第1学習済モデルに前記第1コードを入力したときの出力と、前記第2学習済モデルに前記第1コードを入力したときの出力と、に応じて前記第2コードを推定する
コード推定装置。
【請求項8】
音響信号から第1コードを推定する第1コード推定部と、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードと前記音響信号の第2特徴量とを入力することにより、第2コードを推定する第2コード推定部と
を具備し、
前記第2特徴量は、複数の音階音の各々について、前記音響信号のうち当該音階音に対応する成分の強度に応じた成分強度の時間変化に関する指標を含む
コード推定装置。
【請求項9】
前記第1コード推定部は、前記成分強度を音階音毎に含む第1特徴量から、前記第1コードを推定する
請求項8のコード推定装置。
【請求項10】
前記第1特徴量は、前記音響信号の強度を含み、
前記第2特徴量は、前記音響信号の強度の時間変化に関する指標を含む
請求項のコード推定装置。
【請求項11】
音響信号から第1コードを推定する第1コード推定部と、
第1特徴量の時系列と、コードが継続する連続区間の境界を表す境界データとの関係を学習した境界推定モデルであって、前記音響信号の第1特徴量の時系列の入力により境界データを出力する境界推定モデルと、
前記境界データが表す連続区間毎に前記第1特徴量の時系列から第2特徴量を抽出する抽出部と、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードと前記第2特徴量とを入力することにより、第2コードを推定する第2コード推定部と
を具備するコード推定装置。
【請求項12】
音響信号から第1コードを推定する第1コード推定部と、
特徴量の時系列とコードを表すコードデータの時系列との関係を学習したコード遷移モデルであって、前記音響信号の特徴量の時系列の入力によりコードデータの時系列を出力するコード遷移モデルと、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力したときの出力と、前記コードデータとに基づいて、第2コードを推定する第2コード推定部と
を具備するコード推定装置。
【請求項13】
音響信号から第1コードを推定する第1コード推定部、および、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力することにより、第2コードを推定する第2コード推定部、
としてコンピュータを機能させるプログラムであって、
前記学習済モデルは、
コードに対する変更の内容の傾向を学習した第1学習済モデルと、
コードに対する変更の有無の傾向を学習した第2学習済モデルとを含み、
前記第2コード推定部は、前記第1学習済モデルに前記第1コードを入力したときの出力と、前記第2学習済モデルに前記第1コードを入力したときの出力と、に応じて前記第2コードを推定する
プログラム。
【請求項14】
音響信号から第1コードを推定する第1コード推定部、および、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードと前記音響信号の第2特徴量とを入力することにより、第2コードを推定する第2コード推定部、
としてコンピュータを機能させるプログラムであって、
前記第2特徴量は、複数の音階音の各々について、前記音響信号のうち当該音階音に対応する成分の強度に応じた成分強度の時間変化に関する指標を含む
プログラム。
【請求項15】
音響信号から第1コードを推定する第1コード推定部、
第1特徴量の時系列と、コードが継続する連続区間の境界を表す境界データとの関係を学習した境界推定モデルであって、前記音響信号の第1特徴量の時系列の入力により境界データを出力する境界推定モデル、
前記境界データが表す連続区間毎に前記第1特徴量の時系列から第2特徴量を抽出する抽出部、および、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードと前記第2特徴量とを入力することにより、第2コードを推定する第2コード推定部、
としてコンピュータを機能させるプログラム。
【請求項16】
音響信号から第1コードを推定する第1コード推定部、
特徴量の時系列とコードを表すコードデータの時系列との関係を学習したコード遷移モデルであって、前記音響信号の特徴量の時系列の入力によりコードデータの時系列を出力するコード遷移モデル、および、
コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力したときの出力と、前記コードデータとに基づいて、第2コードを推定する第2コード推定部、
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声または楽音等の音響を表す音響信号からコード(和音)を判別する技術に関する。
【背景技術】
【0002】
楽曲の歌唱音または演奏音等の音響を表す音響信号からコード名を特定する技術が従来から提案されている。例えば特許文献1には、入力楽音の波形データから解析した周波数スペクトルに基づいて和音を判定する技術が開示されている。周波数スペクトルに関する情報と、事前に用意された和音パターンとのマッチングにより和音が特定される。また、特許文献2には、入力音の基本周波数の確率密度関数にピークが観測される基本周波数の構成音を含む和音を同定する技術が開示されている。特許文献3には、機械学習済のニューラルネットワークを利用してコードを推定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2000-298475号公報
【文献】特開2008-209550号公報
【文献】特開2017-215520号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1の技術では、解析した周波数スペクトルに関する情報が、事前に用意された和音パターンから極端に乖離している場合に適切な和音パターンを高精度に推定することができない。本発明は、高精度にコードを推定することを目的とする。
【課題を解決するための手段】
【0005】
以上の課題を解決するために、本発明の好適な態様に係るコード推定方法は、音響信号から第1コードを推定し、コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力することにより、第2コードを推定する。
【図面の簡単な説明】
【0006】
図1】本発明の第1実施形態に係るコード推定装置の構成を示すブロック図である。
図2】コード推定装置の機能的な構成を示すブロック図である。
図3】音響信号から第2コードが推定されるまでに生成される各データの概略図である。
図4】第1特徴量および第2特徴量の模式図である。
図5】機械学習装置の機能的な構成を示すブロック図である。
図6】コード推定処理のフローチャートである。
図7】第2コードを推定する処理のフローチャートである。
図8】第2実施形態に係るコード推定部のブロック図である。
図9】第3実施形態に係るコード推定部のブロック図である。
図10】第4実施形態に係るコード推定部のブロック図である。
図11】第5実施形態に係るコード推定装置の機能的な構成を示すブロック図である。
図12】境界データの説明図である。
図13】第5実施形態におけるコード推定処理のフローチャートである。
図14】第5実施形態における境界推定モデルの機械学習の説明図である。
図15】第6実施形態に係るコード推定装置の機能的な構成を示すブロック図である。
図16】第6実施形態において第2コードを推定する処理のフローチャートである。
図17】第6実施形態におけるコード遷移モデルの機械学習の説明図である。
【発明を実施するための形態】
【0007】
<第1実施形態>
図1は、本発明の第1実施形態に係るコード推定装置100の構成を例示するブロック図である。第1実施形態のコード推定装置100は、楽曲の演奏音(例えば歌唱音声または楽音等)を表す音響信号Vからコードを推定するコンピュータシステムである。第1実施形態では、端末装置300が送信した音響信号Vからコードの時系列を推定して、推定したコードの時系列を端末装置300に送信するサーバ装置がコード推定装置100として利用される。端末装置300は、例えば携帯電話機もしくはスマートフォン等の可搬型の情報端末、またはパーソナルコンピュータ等の可搬型または据置型の情報端末であり、移動体通信網またはインターネット等を含む通信網を介してコード推定装置100と通信可能である。
【0008】
具体的には、コード推定装置100は、通信装置11と制御装置12と記憶装置13とを具備する。通信装置11は、通信網を介して端末装置300と通信する通信機器である。なお、通信装置11による通信は有線通信および無線通信の何れでもよい。第1実施形態の通信装置11は、端末装置300から送信された音響信号Vを受信する。制御装置12は、例えばCPU(Central Processing Unit)等の処理回路であり、コード推定装置100を構成する各要素を統括的に制御する。制御装置12は、少なくとも1個の回路を含んで構成される。第1実施形態の制御装置12は、端末装置300から送信された音響信号Vからコードの時系列を推定する。
【0009】
記憶装置(メモリ)13は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または、複数種の記録媒体の組合せで構成され、制御装置12が実行するプログラムと制御装置12が使用する各種のデータとを記憶する。なお、コード推定装置100とは別体の記憶装置13(例えばクラウドストレージ)を用意し、移動体通信網またはインターネット等の通信網を介して制御装置12が記憶装置13に対する書込および読出を実行してもよい。すなわち、記憶装置13はコード推定装置100から省略され得る。
【0010】
図2は、制御装置12の機能的な構成を例示するブロック図である。制御装置12は、記憶装置13に記憶されたプログラムに従って複数のタスクを実行することにより、音響信号Vからコードを推定するための複数の機能(第1抽出部21,解析部23,第2抽出部25およびコード推定部27)を実現する。なお、複数の装置の集合(すなわちシステム)で制御装置12の機能を実現してもよいし、制御装置12の機能の一部または全部を専用の電子回路(例えば信号処理回路)で実現してもよい。
【0011】
第1抽出部21は、音響信号Vから当該音響信号Vの第1特徴量Y1を抽出する。第1特徴量Y1は、図3に例示される通り、単位期間T(T1,T2,T3,…)毎に抽出される。単位期間Tは、例えば楽曲の1拍分に相当する期間である。すなわち、音響信号Vから第1特徴量Y1の時系列が生成される。なお、楽曲の拍点とは無関係に固定長または可変長の単位期間Tを画定してもよい。
【0012】
第1特徴量Y1は、音響信号Vのうち各単位期間Tに対応した部分について音響的な特徴を表す指標である。図4には、第1特徴量Y1が模式的に図示されている。一例として、第1特徴量Y1は、複数の音階音(例えば平均律の12半音)にそれぞれ対応する複数の要素を含むクロマベクトル(PCP:Pitch Class Profile)と、音響信号Vの強度Pvを含む。音階音は、オクターブの相違を無視した音名(ピッチクラス)である。クロマベクトルのうち任意の音階音に対応する要素は、音響信号Vのうち当該音階音に対応する成分の強度を複数のオクターブにわたり加算した強度(以下「成分強度」という)Pqに設定される。第1実施形態の第1特徴量Y1は、所定の周波数よりも低域側の帯域と高域側の帯域との各々について、クロマベクトルおよび強度Pvを含む。つまり、音響信号Vのうち低域側の帯域に関するクロマベクトルと、当該帯域内の音響信号Vの強度Pvと、音響信号Vのうち高域側の帯域に関するクロマベクトルと、当該帯域内の音響信号Vの強度Pvとが第1特徴量Y1に含まれる。すなわち、第1特徴量Y1は、全体として26次元のベクトルで表現される。
【0013】
図2の解析部23は、第1抽出部21が抽出した第1特徴量Y1から第1コードX1を推定する。図3に例示される通り、第1特徴量Y1毎(すなわち単位期間T毎)に第1コードX1が推定される。すなわち、第1コードX1の時系列が生成される。第1コードX1は、音響信号Vに応じた初期的ないし暫定的なコードである。例えば、相異なるコードが対応付けられた複数の第1特徴量Y1のうち、第1抽出部21が抽出した第1特徴量Y1に最も類似する第1特徴量Y1に対応付けられたコードが第1コードX1として推定される。なお、音響信号Vの入力により第1コードX1を生成する統計的推定モデル(例えば隠れマルコフモデルまたはニューラルネットワーク)を第1コードX1の推定に利用してもよい。以上の説明から理解される通り、第1抽出部21と解析部23とは、音響信号Vから第1コードX1を推定する前処理部20として機能する。前処理部20は、「第1コード推定部」の一例である。
【0014】
図2の第2抽出部25は、音響信号Vから第2特徴量Y2を抽出する。第2特徴量Y2は、音響的な特徴を音響信号Vの時間変化を加味して表す指標である。一例として、第2抽出部25は、第1抽出部21が抽出した第1特徴量Y1と、解析部23が推定した第1コードX1とから第2特徴量Y2を抽出する。図3に例示される通り、同じ第1コードX1が推定された一連の区間(以下「連続区間」という)毎に第2特徴量Y2が抽出される。例えば第1コードX1として「F」が推定された連続区間(単位期間T1-T4に相当する区間)について、1個の第2特徴量Y2が抽出される。図4には、第2特徴量Y2が模式的に図示されている。第1実施形態の第2特徴量Y2は、音階音毎の成分強度Pqの時系列に関する分散σqおよび平均μqと、音響信号Vの強度Pvの時系列に関する分散σvおよび平均μvとを、低域側の帯域と高域側の帯域との各々について含む。第1実施形態の第2抽出部25は、図4に例示される通り、連続区間内の複数の第1特徴量Y1の各々に含まれる成分強度Pq(つまり連続区間内における成分強度Pqの時系列)の分散σqおよび平均μqと、連続区間内の複数の第1特徴量Y1の各々に含まれる強度Pv(つまり連続区間内における強度Pvの時系列)の分散σvおよび平均μvとを算定することにより、第2特徴量Y2を抽出する。第2特徴量Y2は、全体として52次元のベクトルで表現される。以上の説明から理解される通り、第2特徴量Y2は、各音階音の成分強度Pqの時間変化に関する指標(典型的には分散σq等の散布度)と、音響信号Vの強度Pvの時間変化に関する指標(典型的には分散σv等の散布度)とを含む。
【0015】
ところで、前処理部20が推定した第1コードX1の時系列を端末装置300に送信することも可能である。しかし、前処理部20により推定された第1コードX1には、利用者Uが変更する余地がある。例えば、第1コードX1が誤推定された場合、または、第1コードX1が利用者Uの嗜好に適合しない場合には、第1コードX1を変更する必要がある。以上の事情を考慮して、図2のコード推定部27は、学習済モデルMを利用して、第1コードX1および第2特徴量Y2から第2コードX2を推定する。図3に例示される通り、第1コードX1に対応した第2コードX2の時系列が推定される。学習済モデルMは、第1コードX1に対する変更の傾向を学習した予測モデルであり、多数の利用者が第1コードX1を変更した結果を示す教師データを利用した機械学習で生成される。つまり、第2コードX2は、多数の利用者によるコードの変更の傾向のもとで第1コードX1に対して統計的に妥当性の高いコードである。コード推定部27は、「第2コード推定部」の一例である。
【0016】
コード推定部27は、図2に例示される通り、学習済モデルMと推定処理部70とを含んで構成される。第1実施形態の学習済モデルMは、第1学習済モデルM1と第2学習済モデルM2とで構成される。第1学習済モデルM1は、多数の利用者による第1コードX1に対する変更の内容に関する傾向(以下「第1傾向」という)を学習した予測モデルである。第1傾向は、第1コードX1がどのようなコードに変更されるのかという傾向である。他方、第2学習済モデルM2は、第1傾向とは異なるコードの変更の傾向(以下「第2傾向」という)を学習した予測モデルである。具体的には、第2傾向は、コードに対する変更の有無の傾向、および、コードに対する変更の内容に関する傾向を含む傾向である。例えば、第2傾向は、第1コードX1が変更されるか否か、および、第1コードX1が変更されるとすればどのようなコードに変更されるのか、という傾向である。すなわち、第1傾向は第2傾向に包含される関係にある。
【0017】
第1学習済モデルM1は、第1コードX1および第2特徴量Y2の入力に対し、第2コードX2の候補となる複数のコード(以下「候補コード」という)の各々について出現確率λ1を出力する。具体的には、根音と種類(例えばメジャーまたはマイナー等のコードタイプ)とベース音との組合せが異なるQ個の候補コードの各々について出現確率λ1が出力される(Qは2以上の自然数)。第1傾向のもとで第1コードX1から変更される可能性が高い候補コードの出現確率λ1は相対的に高い数値となる。他方、第2学習済モデルM2は、第1コードX1および第2特徴量Y2の入力に対し、Q個の候補コードの各々について出現確率λ2を出力する。第2傾向のもとで第1コードX1から変更される可能性が高い候補コードの出現確率λ2は相対的に高い数値となる。なお、Q個の候補コードのうちのひとつとして「コード無し」を含めてもよい。
【0018】
推定処理部70は、第1学習済モデルM1による推定の結果と、第2学習済モデルM2による推定の結果とに基づいて第2コードX2を推定する。第1実施形態では、第1学習済モデルM1が出力した出現確率λ1と、第2学習済モデルM2が出力した出現確率λ2とに基づいて第2コードX2が推定される。具体的には、推定処理部70は、出現確率λ1と出現確率λ2とを候補コード毎に統合することにより候補コード毎の出現確率λ0を算定し、Q個の候補コードのうち出現確率λ0が高い候補コードを第2コードX2として推定する。すなわち、第1傾向および第2傾向の双方のもとで第1コードX1に対して統計的に妥当な候補コードが第2コードX2として出力される。各候補コードの出現確率λ0は、例えば出現確率λ1と出現確率λ2との加重和である。なお、出現確率λ1と出現確率λ2とを加算すること、または、出現確率λ1と出現確率λ2とを所定の関数に入力することにより、出現確率λ0を算定してもよい。コード推定部27により推定された第2コードX2の時系列は、利用者Uの端末装置300に送信される。
【0019】
第1学習済モデルM1は、例えばニューラルネットワーク(典型的にはディープニューラルネットワーク)であり、複数の係数K1で規定される。同様に、第2学習済モデルM2は、例えばニューラルネットワーク(典型的にはディープニューラルネットワーク)であり、複数の係数K2で規定される。複数の係数K1および複数の係数K2は、多数の利用者によるコードの変更の傾向を示す教師データLを利用した機械学習により設定される。図5は、複数の係数K1と複数の係数K2とを設定するための機械学習装置200の構成を示すブロック図である。機械学習装置200は、教師データ生成部51と学習部53とを具備するコンピュータシステムで実現される。教師データ生成部51および学習部53は、例えばCPU(Central Processing Unit)等の制御装置(図示略)により実現される。なお、コード推定装置100に機械学習装置200を搭載してもよい。
【0020】
機械学習装置200の記憶装置(図示略)は、教師データLを生成するための複数の変更データZを記憶する。変更データZは事前に多数の端末装置から収集される。例えば、利用者の端末装置において解析部23が音響信号Vから第1コードX1の時系列を推定した場合を想定する。利用者は、解析部23により推定された複数の第1コードX1の各々について、変更するか否かを確認し、変更がある場合には変更後のコードを入力する。すなわち、各変更データZは、利用者の第1コードX1に対する変更の履歴を表すデータである。複数の第1コードX1の確認を利用者が完了すると、変更データZが生成され、機械学習装置200に送信される。多数の利用者の端末装置から各変更データZが機械学習装置200に送信される。なお、機械学習装置200が変更データZを生成してもよい。
【0021】
各変更データZは、利用者による第1コードX1に対する変更の有無および内容を、音響信号Vから推定された第1コードX1の時系列毎に表す。具体的には、任意の1個の変更データZは、図5に例示される通り、端末装置において推定された各第1コードX1に、当該第1コードX1に対応する確認済コードおよび第2特徴量Y2を対応付けて登録されたデータテーブルである。すなわち、第1コードX1の時系列と、確認済コードの時系列と、第2特徴量Y2の時系列とで変更データZが構成される。確認済コードは、第1コードX1に対する変更の有無および内容を示すコードである。具体的には、第1コードX1を利用者が変更した場合には変更後のコードが確認済コードして設定され、第1コードX1を利用者が変更しなかった場合には、当該第1コードX1が確認済コードとして設定される。なお、第1コードX1に対応する第2特徴量Y2は、第1コードX1と第1特徴量Y1とから生成されて変更データZに登録される。
【0022】
機械学習装置200の教師データ生成部51は、変更データZから教師データLを生成する。第1実施形態の教師データ生成部51は、図5に例示される通り、選択部512と処理部514とを具備する。選択部512は、複数の変更データZのうち教師データLを生成するのに適した変更データZを選択する。例えば、第1コードX1が変更された箇所の総数が多い変更データZは、利用者によるコードの変更の傾向を表すデータとして信頼性が高いと評価できる。以上の傾向を考慮して、例えば、第1コードX1が変更された箇所の総数が所定の閾値を上回る変更データZが選択される。具体的には、複数の変更データZのうち、第1コードX1とは異なる確認済コードの個数が例えば10個以上である変更データZが選択される。
【0023】
図5の処理部514は、選択部512が選択した変更データZから教師データLを生成する。教師データLは、図5に例示される通り、第1コードX1と、当該第1コードX1に対応する確認済コードと、当該第1コードX1に対応する第2特徴量Y2との組合せである。すなわち、選択部512が選択した任意の1個の変更データZから、複数の教師データLが生成される。以上に説明した処理により、教師データ生成部51は、N個の教師データLを生成する。
【0024】
N個の教師データLは、N1個の教師データLとN2個の教師データLとに区分される(N=N1+N2)。N1個の教師データL(以下「変更済教師データL1」という)は、利用者による変更の対象となった第1コードX1を含む。すなわち、N1の変更済教師データL1の各々に含まれる確認済コードは、第1コードX1に対する変更後のコード(すなわち第1コードX1とは異なるコード)である。N1個の変更済教師データL1は、前述の第1傾向を表す学習用のビッグデータである。他方、N2個の教師データL(以下「未変更教師データL2」という)は、利用者による変更の対象とならなかった第1コードX1を含む。すなわち、N2個の未変更教師データL2の各々に含まれる確認済コードは、第1コードX1と同様のコードである。N1個の変更済教師データL1とN2個の未変更教師データL2とを含むN個の教師データLは、前述の第2傾向を表す学習用のビッグデータに相当する。
【0025】
学習部53は、教師データ生成部51が生成したN個の教師データLから、係数K1および係数K2を生成する。第1実施形態の学習部53は、第1学習部532と第2学習部534とを具備する。第1学習部532は、N個の教師データLのうちN1個の変更済教師データL1を利用した機械学習(深層学習)により、第1学習済モデルM1を規定する複数の係数K1を生成する。すなわち、第1傾向が反映された複数の係数K1が生成される。複数の係数K1により規定される第1学習済モデルM1は、N1個の変更済教師データL1が表す傾向のもとで、第1コードX1および第2特徴量Y2と、確認済コード(第2コードX2)との間の関係を学習した予測モデルである。
【0026】
第2学習部534は、N個の教師データ(N1個の変更済教師データL1およびN2個の未変更教師データL2)を利用した機械学習により、第2学習済モデルM2を規定する複数の係数K2を生成する。すなわち、第2傾向が反映された複数の係数K2が生成される。複数の係数K2により規定される第2学習済モデルM2は、N個の教師データLが表す傾向のもとで、第1コードX1および第2特徴量Y2と、確認済コードとの間の関係を学習した予測モデルである。機械学習装置200により生成された複数の係数K1および複数の係数K2が、コード推定装置100の記憶装置13に記憶される。
【0027】
図6は、コード推定装置100の制御装置12が第2コードX2を推定する処理(以下「コード推定処理」という)のフローチャートである。コード推定処理は、例えば端末装置300から送信された音響信号Vの受信を契機として開始される。コード推定処理を開始すると、第1抽出部21は、音響信号Vから第1特徴量Y1を抽出する(Sa1)。解析部23は、第1抽出部21が抽出した第1特徴量Y1から第1コードX1を推定する(Sa2)。第2抽出部25は、第1抽出部21が抽出した第1特徴量Y1と、解析部23が推定した第1コードX1とから第2特徴量Y2を抽出する(Sa3)。コード推定部27は、学習済モデルMに第1コードX1および第2特徴量Y2を入力することにより、第2コードX2を推定する(Sa4)。
【0028】
図7は、コード推定部27の処理(Sa4)の詳細なフローチャートである。コード推定部27は、第1傾向を学習した第1学習済モデルM1により、候補コード毎の出現確率λ1を生成する(Sa4-1)。コード推定部27は、第2傾向を学習した第2学習済モデルM2により、候補コード毎の出現確率λ2を生成する(Sa4-2)。なお、出現確率λ1の生成(Sa4-1)と出現確率λ2の生成(Sa4-2)との順序を逆転してもよい。コード推定部27は、第1学習済モデルM1により生成した出現確率λ1と、第2学習済モデルM2により生成した出現確率λ2とを候補コード毎に統合することにより、候補コード毎の出現確率λ0を算定する(Sa4-3)。コード推定部27は、Q個の候補コードのうち出現確率λ0が高い候補コードを第2コードX2として推定する(Sa4-4)。
【0029】
以上の説明から理解される通り、第1実施形態では、コードに対する変更の傾向を学習した学習済モデルMに第1コードX1および第2特徴量Y2を入力することにより、第2コードX2が推定されるから、音響信号Vから第1コードX1を推定するだけの構成と比較して、コードに対する変更の傾向を加味した第2コードX2を高精度に推定することができる。
【0030】
第1実施形態では、第1傾向を学習した第1学習済モデルM1による推定結果(出現確率λ1)と、第2傾向を学習した第2学習済モデルM2による推定結果(出現確率λ2)とに基づいて第2コードX2が推定される。例えば第1学習済モデルM1による推定結果および第2学習済モデルM2による推定結果の何れか一方に基づいて第2コードX2を推定する方法では、コードに対する変更の傾向を適切に反映した第2コードX2が推定されないという問題がある。具体的には、第1学習済モデルM1による推定結果のみに基づいて第2コードX2を推定する方法では、入力した第1コードX1が必ず変更されてしまう。また、第2学習済モデルM2による推定結果のみに基づいて第2コードX2を推定する方法では、第1コードX1が変更の対象になりにくい。第1学習済モデルM1および第2学習済モデルM2を利用して第2コードX2を推定する第1実施形態の構成によれば、例えば第1学習済モデルM1および第2学習済モデルM2の何れか一方を利用して第2コードX2を推定する方法と比較して、コードに対する変更の傾向を適切に反映した第2コードX2を推定することができる。
【0031】
第1実施形態では、成分強度Pqの時系列における分散σqおよび平均μqと、音響信号Vの強度Pvの時系列における分散σvおよび平均μvとを含む第2特徴量Y2を学習済モデルに入力することにより、第2コードX2が推定されるから、音響信号Vの時間変化を加味して高精度に第2コードX2を推定することができる。
【0032】
<第2実施形態>
本発明の第2実施形態を説明する。なお、以下に例示する各態様において機能または作用が第1実施形態と同様である要素については、第1実施形態の説明で使用した符号を流用して各々の詳細な説明を適宜に省略する。第1実施形態では、学習済モデルMに第1コードX1および第2特徴量Y2を入力することにより、第2コードX2を推定したが、学習済モデルMに入力するデータは、以下に例示する各形態のように変更される。
【0033】
図8は、第2実施形態におけるコード推定部27の構成図である。第2実施形態では、学習済モデルMに第1コードX1を入力することにより、第2コードX2を推定する。すなわち、第2実施形態の学習済モデルMは、第1コードX1と第2コードX2(確認済コード)との間の関係を学習した予測モデルである。学習済モデルMに入力される第1コードX1は、第1実施形態と同様の方法で生成される。第2実施形態においては、第2特徴量Y2の抽出(第2抽出部25)が省略される。
【0034】
<第3実施形態>
図9は、第3実施形態におけるコード推定部27の構成図である。第3実施形態では、学習済モデルMに第1特徴量Y1を入力することにより、第2コードX2を推定する。すなわち、第3実施形態の学習済モデルMは、第1特徴量Y1と第2コードX2(確認済コード)との間の関係を学習した予測モデルである。学習済モデルMに入力される第1特徴量Y1は、第1実施形態と同様の方法で生成される。第3実施形態においては、第1コードX1の推定(解析部23)と第2特徴量Y2の抽出(第2抽出部25)とが省略される。学習済モデルMに第1特徴量Y1を入力する第3実施形態の構成によれば、利用者によるコードの変更の傾向が考慮されるから、処理部20を使用する場合と比較して高精度に第2コードX2を特定することができる。
【0035】
<第4実施形態>
図10は、第4実施形態におけるコード推定部27の構成図である。第3実施形態では、学習済モデルMに第2特徴量Y2を入力することにより、第2コードX2を推定する。すなわち、第4実施形態の学習済モデルMは、第2特徴量Y2と第2コードX2(確認済コード)との間の関係を学習した予測モデルである。学習済モデルMに入力される第2特徴量Y2は、第1実施形態と同様の方法で生成される。
【0036】
以上の説明から理解される通り、音響信号Vから第2コードX2を推定するために学習済モデルMに入力するデータは、音響信号Vの音響的な特徴を表す指標(以下「音響信号Vの特徴量」という)として包括的に表現される。音響信号Vの特徴量としては、第1特徴量Y1、第2特徴量Y2および第1コードX1の何れか、または、それらの組合せが例示される。なお、音響信号Vの特徴量は、第1特徴量Y1、第2特徴量Y2または第1コードX1に限定されない。例えば周波数スペクトルを音響信号Vの特徴量として利用してもよい。以上の説明から理解される通り、音響信号Vの特徴量は、コードの相違が反映される特徴量であれば任意である。
【0037】
以上の説明から理解される通り、学習済モデルMは、音響信号Vの特徴量とコードとの間の関係を学習した統計的推定モデルとして包括的に表現される。学習済モデルMに音響信号Vの特徴量を入力することにより、当該音響信号Vから第2コードX2を推定する前述の各形態の構成によれば、学習済モデルMにより学習された傾向に沿ったコードが推定される。したがって、事前に用意されたコードと音響信号Vの特徴量(例えば特許文献1では周波数スペクトル)との比較によりコードを推定する構成と比較して、音響信号Vの多様な特徴量から高精度にコードを推定できる。すなわち、特許文献1の技術では、音響信号Vの特徴量が、事前に用意されたコードから極端に乖離している場合に適切なコードを高精度に推定することができない。それに対して、前述の各形態の構成によれば、学習済モデルMにより学習された傾向に沿ってコードが推定されるから、音響信号Vの特徴量の内容に関わらず適切なコードを高精度に推定できる。
【0038】
音響信号Vの特徴量とコードとの間の関係を学習した学習済モデルMのうち、第1コードを入力する学習済モデルM(例えば第1実施形態および第2実施形態で例示した学習済モデルM)は、コードに関する変更を学習した学習済モデルMとして包括的に表現される。
【0039】
<第5実施形態>
図11は、本発明の第5実施形態のコード推定装置100における制御装置12の機能的な構成を例示するブロック図である。第5実施形態の制御装置12は、第1実施形態と同様の要素(前処理部20,第2抽出部25およびコード推定部27)に加えて境界推定モデルMbとして機能する。第1抽出部21が生成した第1特徴量Y1の時系列が境界推定モデルMbに入力される。境界推定モデルMbは、第1特徴量Y1の時系列と境界データBとの関係を学習した学習済モデルである。すなわち、境界推定モデルMbは、第1特徴量Y1の時系列に応じた境界データBを出力する。境界データBは、時間軸上における各連続区間の境界を表す時系列データである。連続区間は、音響信号Vにおいて同じコードが継続する一連の区間である。例えば時系列データの処理に好適な長短期記憶(LSTM:Long Short Term Memory)等の再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)が境界推定モデルMbとして好適に利用される。
【0040】
図12は、境界データBの説明図である。境界データBは、時間軸上の各単位期間Tに対応する単位データbの時系列を含む。各単位期間Tの第1特徴量Y1毎に境界推定モデルMbから1個の単位データbが出力される。各単位期間Tに対応する単位データbは、当該単位期間Tに対応する時点が連続区間の境界に該当するか否かを2値的に表すデータである。例えば単位データbは、単位期間Tの始点が連続区間の境界である場合に数値1に設定され、当該単位期間Tの始点が連続区間の境界に該当しない場合に数値0に設定される。すなわち、単位データbの数値1は、当該単位データbに対応する単位期間Tが連続区間の先頭であることを意味する。以上の説明から理解される通り、境界推定モデルMbは、第1特徴量Y1の時系列から各連続区間の境界を推定する統計的推定モデルである。また、境界データBは、時間軸上の複数の時点の各々が連続区間の境界に該当するか否かを2値的に表す時系列データである。
【0041】
境界推定モデルMbは、第1特徴量Y1の時系列から境界データBを生成する演算を制御装置12に実行させるプログラム(例えば人工知能ソフトウェアを構成するプログラムモジュール)と、当該演算に適用される複数の係数Kbとの組合せで実現される。複数の係数Kbは、複数の教師データLbを利用した機械学習(特に深層学習)により設定されて記憶装置13に記憶される。
【0042】
第1実施形態の第2抽出部25は、解析部23が解析した第1コードX1が連続する区間を連続区間として第2特徴量Y2を連続区間毎に抽出した。第5実施形態の第2抽出部25は、境界推定モデルMbから出力される境界データBが表す連続区間毎に第2特徴量Y2を抽出する。具体的には、第2抽出部25は、境界データBが表す連続区間内の1個以上の第1特徴量Y1から第2特徴量Y2を生成する。したがって、第2抽出部25に対する第1コードX1の入力は省略される。第2特徴量Y2の内容は第1実施形態と同様である。
【0043】
図13は、第5実施形態におけるコード推定処理の具体的な手順を例示するフローチャートである。コード推定処理を開始すると、第1抽出部21は、音響信号Vから第1特徴量Y1を単位期間T毎に抽出する(Sb1)。解析部23は、第1抽出部21が抽出した第1特徴量Y1から第1コードX1を単位期間T毎に推定する(Sb2)。
【0044】
境界推定モデルMbは、第1抽出部21が抽出した第1特徴量Y1の時系列から境界データBを生成する(Sb3)。第2抽出部25は、第1抽出部21が抽出した第1特徴量Y1と、境界推定モデルMbが生成した境界データBとから第2特徴量Y2を抽出する(Sb4)。具体的には、第2抽出部25は、境界データBが表す連続区間毎に、当該連続区間内の1個以上の第1特徴量Y1から第2特徴量Y2を生成する。コード推定部27は、学習済モデルMに第1コードX1および第2特徴量Y2を入力することにより第2コードX2を推定する(Sb5)。第2コードX2の推定(Sb5)の具体的な手順は第1実施形態(図7)と同様である。なお、解析部23による第1コードX1の推定(Sb2)と境界推定モデルMbによる境界データBの生成(Sb3)との順序を逆転してもよい。
【0045】
図14は、境界推定モデルMbの複数の係数Kbを設定する機械学習装置200の構成を例示するブロック図である。第5実施形態の機械学習装置200は、第3学習部55を具備する。第3学習部55は、複数の教師データLbを利用した機械学習により複数の係数Kbを設定する。図14に例示される通り、複数の教師データLbの各々は、第1特徴量Y1の時系列と境界データBxとを含んで構成される。境界データBxは、各第1特徴量Y1に対応する既知の単位データbの時系列(すなわち正解値)で構成される。すなわち、境界データBxの複数の単位データbのうち、各連続区間の先頭の単位期間Tに対応する単位データbは数値1に設定され、各連続区間の先頭以外の単位期間Tに対応する単位データbは数値0に設定される。
【0046】
第3学習部55は、教師データLbの第1特徴量Y1の時系列を入力することにより暫定的な境界推定モデルMbから出力される境界データBと、当該教師データLbの境界データBxとの相違が低減されるように、境界推定モデルMbの複数の係数Kbを更新する。具体的には、第3学習部55は、境界データBと境界データBxとの相違を表す評価関数が最小化されるように、例えば誤差逆伝播法により複数の係数Kbを反復的に更新する。以上の手順で機械学習装置200が設定した複数の係数Kbがコード推定装置100の記憶装置13に記憶される。したがって、境界推定モデルMbは、複数の教師データLbにおける第1特徴量Y1の時系列と境界データBxとの間に潜在する傾向のもとで、未知の第1特徴量Y1の時系列に対して統計的に妥当な境界データBを出力する。なお、第3学習部55をコード推定装置100に搭載してもよい。
【0047】
以上に説明した通り、第5実施形態によれば、第1特徴量Y1の時系列と境界データBとの関係を学習した境界推定モデルMbを利用して、未知の音響信号Vに関する境界データBが生成される。したがって、境界データBに応じて生成された第2特徴量Y2を利用することにより、第2コードX2を高精度に推定することが可能である。
【0048】
<第6実施形態>
図15は、本発明の第6実施形態のコード推定装置100における制御装置12の機能的な構成を例示するブロック図である。第6実施形態のコード推定部27は、第1実施形態と同様の要素(学習済モデルMおよび推定処理部70)に加えてコード遷移モデルMcを含む。第2抽出部25が出力する第2特徴量Y2の時系列がコード遷移モデルMcに入力される。コード遷移モデルMcは、コードの遷移の傾向を学習した学習済モデルである。コードの遷移の傾向は、例えば既存の多数の楽曲に出現し易いコードの配列である。具体的には、コード遷移モデルMcは、第2特徴量Y2の時系列とコードを表すコードデータCの時系列との関係を学習した学習済モデルである。すなわち、コード遷移モデルMcは、第2特徴量Y2の時系列に応じたコードデータCを連続区間毎に出力する。例えば時系列データの処理に好適な長短期記憶(LSTM)等の再帰型ニューラルネットワーク(RNN)がコード遷移モデルMcとして好適に利用される。
【0049】
第6実施形態のコードデータCは、Q個の候補コードの各々について出現確率λcを表す。任意の1個の候補コードに対応する出現確率λcは、音響信号Vのうち連続区間内のコードが当該候補コードに該当する確率(または尤度)を意味する。出現確率λcは、0以上かつ1以下の範囲内の数値に設定される。以上の説明から理解される通り、コードデータCの時系列はコードの遷移を表す。すなわち、コード遷移モデルMcは、第2特徴量Y2の時系列からコードの遷移を推定する統計的推定モデルである。
【0050】
第6実施形態の推定処理部70は、第1学習済モデルM1が出力する出現確率λ1と、第2学習済モデルM2が出力する出現確率λ2と、コード遷移モデルMcが出力するコードデータCとに基づいて第2コードX2を推定する。具体的には、推定処理部70は、出現確率λ1と出現確率λ2とコードデータCの出現確率λcとを候補コード毎に統合することにより各候補コードの出現確率λ0を算定する。各候補コードの出現確率λ0は、例えば出現確率λ1と出現確率λ2と出現確率λcとの加重和である。推定処理部70は、Q個の候補コードのうち出現確率λ0が高い候補コードを第2コードX2として単位期間T毎に推定する。以上の説明から理解される通り、第6実施形態においては、学習済モデルMの出力(すなわち出現確率λ1および出現確率λ2)とコードデータC(出現確率λc)とに基づいて第2コードX2が推定される。すなわち、前述の第1傾向および第2傾向に加えて、コード遷移モデルMcが学習したコードの遷移の傾向を加味した第2コードX2が推定される。
【0051】
コード遷移モデルMcは、第2特徴量Y2の時系列からコードデータCの時系列を生成する演算を制御装置12に実行させるプログラム(例えば人工知能ソフトウェアを構成するプログラムモジュール)と、当該演算に適用される複数の係数Kcとの組合せで実現される。複数の係数Kcは、複数の教師データLcを利用した機械学習(特に深層学習)により設定されて記憶装置13に記憶される。
【0052】
図16は、第6実施形態のコード推定部27が第2コードX2を推定する処理(Sa4)の具体的な手順を例示するフローチャートである。第6実施形態では、図7を参照して説明した第1実施形態の処理のうちステップSa4-3が、図16のステップSc1およびステップSc2に置換される。
【0053】
出現確率λ1および出現確率λ2を候補コード毎に生成すると(Sa4-1,Sa4-2)、コード推定部27は、第2抽出部25が抽出した第2特徴量Y2の時系列をコード遷移モデルMcに入力することによりコードデータCの時系列を生成する(Sc1)。なお、出現確率λ1の生成(Sa4-1)と出現確率λ2の生成(Sa4-2)とコードデータCの生成(Sc1)との順序は任意に変更される。
【0054】
コード推定部27は、出現確率λ1および出現確率λ2と、コードデータCが表す出現確率λcとを候補コード毎に統合することにより、候補コード毎の出現確率λ0を算定する(Sc2)。コード推定部27は、Q個の候補コードのうち出現確率λ0が高い候補コードを第2コードX2として推定する(Sa4-4)。第6実施形態において第2コードX2を推定する処理の具体的な手順は以上の通りである。
【0055】
図17は、コード遷移モデルMcの複数の係数Kcを設定する機械学習装置200の構成を例示するブロック図である。第6実施形態の機械学習装置200は、第4学習部56を具備する。第4学習部56は、複数の教師データLcを利用した機械学習により複数の係数Kcを設定する。図17に例示される通り、複数の教師データLcの各々は、第2特徴量Y2の時系列とコードデータCxの時系列とを含んで構成される。コードデータCxは、相異なる候補コードに対応するQ個の出現確率λcで構成され、既知の楽曲におけるコードの遷移に応じて生成される。すなわち、コードデータCxのQ個の出現確率λcのうち、既知の楽曲に実際に出現する1個の候補コードに対応する出現確率λcは数値1に設定され、残余の(Q-1)個の候補コードに対応する出現確率λcは数値0に設定される。
【0056】
第4学習部56は、教師データLcの第2特徴量Y2の時系列を入力することにより暫定的なコード遷移モデルMcから出力されるコードデータCの時系列と、当該教師データLcのコードデータCxの時系列との相違が低減されるように、コード遷移モデルMcの複数の係数Kcを更新する。具体的には、第4学習部56は、コードデータCの時系列とコードデータCxの時系列との相違を表す評価関数が最小化されるように、例えば誤差逆伝播法により複数の係数Kcを反復的に更新する。以上の手順で機械学習装置200が設定した複数の係数Kcがコード推定装置100の記憶装置13に記憶される。したがって、コード遷移モデルMcは、複数の教師データLcにおける第2特徴量Y2の時系列とコードデータCxの時系列との間に潜在する傾向(すなわち既存の楽曲に出現するコードの遷移の傾向)のもとで、未知の第2特徴量Y2の時系列に対して統計的に妥当なコードデータCの時系列を出力する。なお、第4学習部56をコード推定装置100に搭載してもよい。
【0057】
以上に説明した通り、第6実施形態によれば、第2特徴量Y2の時系列とコードデータCの時系列との関係を学習したコード遷移モデルMcを利用して、未知の音響信号Vに関する第2コードX2が推定される。したがって、コード遷移モデルMcを利用しない第1実施形態と比較して、多数の楽曲に採用される聴感的に自然な配列の第2コードX2を推定することが可能である。なお、第6実施形態において境界推定モデルMbを省略してもよい。
【0058】
<変形例>
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2個以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
【0059】
(1)前述の各形態では、利用者Uの端末装置300とは別体のコード推定装置100を利用したが、コード推定装置100を端末装置300に搭載してもよい。端末装置300とコード推定装置100とが一体の構成によれば、音響信号Vをコード推定装置100に送信することが不要になる。ただし、端末装置300とコード推定装置100とが別体である前述の各形態の構成によれば、端末装置300での処理負荷が低減される。なお、音響信号Vの特徴量を抽出する要素(例えば第1抽出部21、解析部23および第2抽出部25)を端末装置300に搭載してもよい。端末装置300は、音響信号Vの特徴量をコード推定装置100に送信し、コード推定装置100は、端末装置300から送信された特徴量から推定した第2コードX2を端末装置300に送信する。
【0060】
(2)前述の各形態では、第1学習済モデルM1と第2学習済モデルM2とで学習済モデルMを構成したが、学習済モデルMの態様は以上の例示に限定されない。例えばN個の教師データLを利用して、第1傾向および第2傾向を学習した統計的推定モデルを学習済モデルMとして利用してもよい。学習済モデルMは、例えば第1傾向および第2傾向を踏まえてコード毎の出現確率を出力する。すなわち、推定処理部70における出現確率λ0を算定する処理は、省略され得る。
【0061】
(3)前述の各形態では、第2学習済モデルM2は第2傾向を学習したが、第2学習済モデルM2が学習する傾向は以上の例示に限定されない。例えばコードに対する変更の有無のみを第2学習済モデルM2が学習してもよい。すなわち、第1傾向が第2傾向に包含される関係になくてもよい。
【0062】
(4)前述の各形態では、学習済モデル(M1,M2)は各コードの出現確率(λ1,λ2)を出力したが、学習済モデルMが出力するデータは、出現確率(λ1,λ2)に限定されない。例えば第1学習済モデルM1および第2学習済モデルM2は、コードそのものを出力してもよい。
【0063】
(5)前述の各形態では、第1コードX1に対応する1個の第2コードX2を推定したが、第1コードX1に対応する複数の第2コードX2を推定してもよい。推定処理部70が算出した各コードの出現確率λ0のうち、出現確率λ0が上位の複数のコードを第2コードX2として端末装置300に送信してもよい。利用者Uは、送信された複数の第2コードX2から所望のコードを特定する。
【0064】
(6)前述の各形態では、任意の1個の単位期間Tに対応する特徴量を学習済モデルMに入力したが、任意の1個の単位期間Tに対応する特徴量とともに、当該単位期間Tの前方または後方の特徴量を学習済モデルMに入力してもよい。
【0065】
(7)前述の各形態では、複数の音階音の各々に対応する複数の成分強度Pqを含むクロマベクトルと、音響信号Vの強度Pvを含む第1特徴量Y1を例示したが、第1特徴量Y1の内容は以上の例示に限定されない。例えば、クロマベクトルを第1特徴量Y1として利用してもよい。また、クロマベクトルが示す音階音毎の成分強度Pqの時系列に関する分散σqおよび平均μqを第2特徴量Y2としてもよい。第1特徴量Y1および第2特徴量Y2の内容は、コードの相違が反映される特徴量であれば任意である。
【0066】
(8)前述の各形態では、コード推定装置100は、音響信号Vの特徴量から学習済モデルMにより第2コードX2を推定したが、第2コードX2を推定する方法は以上の例示に限定されない。例えば、相異なるコードが対応付けられた複数の第2特徴量Y2のうち、第2抽出部25が抽出した第2特徴量Y2に最も類似する第2特徴量Y2に対応付けられたコードを第2コードX2として推定してもよい。
【0067】
(9)前述の第5実施形態では、各単位期間Tが連続区間の境界に該当するか否かを2値的に表す境界データBを例示したが、境界データBの内容は以上の例示に限定されない。例えば、各単位期間Tが連続区間の境界である尤度を表す境界データBを境界推定モデルMbが出力してもよい。具体的には、境界データBの各単位データbは0以上かつ1以下の範囲内の数値に設定され、複数の単位データbが表す数値の合計は所定値(例えば1)となる。第2抽出部25は、境界データBの各単位データbが表す尤度から連続区間の境界を推定し、当該連続区間毎に第2特徴量Y2を抽出する。
【0068】
(10)前述の第6実施形態では、第2特徴量Y2の時系列とコードデータCの時系列との関係を学習したコード遷移モデルMcを例示したが、コード遷移モデルMcに入力される特徴量は第2特徴量Y2に限定されない。例えば、第1特徴量Y1の時系列とコードデータCの時系列との関係をコード遷移モデルMcが学習した構成では、第1抽出部21が抽出した第1特徴量Y1の時系列がコード遷移モデルMcに入力される。コード遷移モデルMcは、第1特徴量Y1の時系列に応じたコードデータCの時系列を出力する。第1特徴量Y1および第2特徴量Y2とは異なる種類の特徴量の時系列とコードデータCの時系列との関係を学習したコード遷移モデルMcを、コードデータCの時系列に推定に利用してもよい。
【0069】
(11)前述の第6実施形態では、Q個の候補コードの各々について0以上かつ1以下の出現確率λcを表すコードデータCを例示したが、コードデータCの具体的な内容は以上の例示に限定されない。例えば、Q個の候補コードの何れかの出現確率λcが数値1に設定され、残余の(Q-1)個の出現確率λcが数値0に設定されたコードデータCをコード遷移モデルMcが出力してもよい。すなわち、コードデータCは、Q個の候補コードの何れかをone-hot形式で表現するQ次元ベクトルである。
【0070】
(12)第6実施形態では、学習済モデルMと境界推定モデルMbとコード遷移モデルMcとを具備するコード推定装置100を例示したが、境界推定モデルMbおよびコード遷移モデルMcの各々を単独で利用してもよい。例えば、境界推定モデルMbを利用して第1特徴量Y1の時系列から各連続区間の境界を推定する情報処理装置(境界推定装置)において、学習済モデルMおよびコード遷移モデルMcは必須ではない。コード遷移モデルMcを利用して第2特徴量Y2の時系列からコードデータCを推定する情報処理装置(コード遷移推定装置)において、学習済モデルMおよび境界推定モデルMbは必須ではない。また、境界推定モデルMbとコード遷移モデルMcとを具備する情報処理装置において学習済モデルMは省略される。すなわち、出現確率λ1および出現確率λ2の生成は必須ではない。例えばQ個の候補コードのうち、コード遷移モデルMcが出力する出現確率λcが高い候補コードが、第2コードX2として単位期間T毎に出力される。
【0071】
(13)前述の各形態に係るコード推定装置100および機械学習装置200は、各形態での例示の通り、コンピュータ(具体的には制御装置)とプログラムとの協働により実現される。前述の各形態に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含み得る。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供することも可能である。また、プログラムの実行主体はCPUに限定されず、Tensor Processing UnitおよびNeural Engine等のニューラルネットワーク用のプロセッサ、または、信号処理用のDSP(Digital Signal Processor)がプログラムを実行してもよい。また、以上の例示から選択された複数種の主体が協働してプログラムを実行してもよい。
【0072】
(14)学習済モデル(第1学習済モデルM1、第2学習済モデルM2、境界推定モデルMbまたはコード遷移モデルMc)は、制御装置(コンピュータの例示)により実現される統計的推定モデル(例えばニューラルネットワーク)であり、入力Aに応じた出力Bを生成する。具体的には、学習済モデルは、入力Aから出力Bを特定する演算を制御装置に実行させるプログラム(例えば人工知能ソフトウェアを構成するプログラムモジュール)と、当該演算に適用される複数の係数との組合せで実現される。学習済モデルの複数の係数は、入力Aと出力Bとを対応させた複数の教師データを利用した事前の機械学習(深層学習)により最適化されている。すなわち、学習済モデルは、入力Aと出力Bとの間の関係を学習した統計的推定モデルである。制御装置は、学習済の複数の係数と所定の応答関数とを適用した演算を未知の入力Aに対して実行することにより、複数の教師データに潜在する傾向(入力Aと出力Bとの間の関係)のもとで入力Aに対して統計的に妥当な出力Bを生成する。
【0073】
(15)以上に例示した形態から、例えば以下の構成が把握される。
【0074】
本発明の好適な態様(第1態様)に係るコード推定方法は、音響信号から第1コードを推定し、コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力することにより、第2コードを推定する。以上の態様によれば、コードに対する変更の傾向を学習した学習済モデルに音響信号から推定した第1コードを入力することにより第2コードが推定されるから、音響信号から第1コードを推定するだけの構成と比較して、コードに対する変更の傾向を加味した第2コードを高精度に推定することができる。
【0075】
第1態様の好適例(第2態様)において、前記学習済モデルは、コードに対する変更の内容の傾向を学習した第1学習済モデルと、コードに対する変更の有無の傾向を学習した第2学習済モデルとを含み、前記第2コードの推定においては、前記第1学習済モデルに前記第1コードを入力したときの出力と、前記第2学習済モデルに前記第1コードを入力したときの出力と、に応じて前記第2コードを推定する。以上の態様によれば、例えば第1学習済モデルおよび第2学習済モデルの何れか一方を利用して第2コードを推定する方法と比較して、コードに対する変更の傾向を適切に反映した第2コードを推定することができる。
【0076】
第1態様の好適例(第3態様)では、前記第1コードの推定においては、前記音響信号のうち音階音に対応する成分の強度に応じた成分強度を音階音毎に含む第1特徴量から、前記第1コードを推定し、前記第2コードの推定においては、前記各音階音の前記成分強度の時間変化に関する指標を含む第2特徴量と、前記第1コードとを、前記学習済モデルに入力することにより、前記第2コードを推定する。以上の態様によれば、各音階音の成分強度の時系列に関する分散および平均を含む第2特徴量を学習済モデルに入力することにより、第2コードが推定されるから、音響信号の時間変化を加味して高精度に第2コードを推定することができる。
【0077】
第3態様の好適例(第4態様)において、前記第1特徴量は、前記音響信号の強度を含み、前記第2特徴量は、前記音響信号の強度の時系列に関する分散および平均を含む。以上の態様によれば、音響信号の時間変化を加味して高精度に第2コードを推定できるという前述の効果は格別に顕著である。
【0078】
第1態様の好適例(第5態様)において、第1特徴量の時系列と、コードが継続する連続区間の境界を表す境界データとの関係を学習した境界推定モデルに前記音響信号の第1特徴量の時系列を入力することにより境界データを推定し、前記境界データが表す連続区間毎に前記第1特徴量の時系列から第2特徴量を抽出し、前記第2コードの推定においては、前記第1コードと前記第2特徴量とを前記学習済モデルに入力することにより第2コードを推定する。以上の態様では、第1特徴量の時系列と境界データとの関係を学習した境界推定モデルを利用して、未知の音響信号に関する境界データが生成される。したがって、境界データに応じて生成された第2特徴量を利用することにより、第2コードを高精度に推定することが可能である。
【0079】
第1態様の好適例(第6態様)において、特徴量の時系列とコードを表すコードデータの時系列との関係を学習したコード遷移モデルに前記音響信号の特徴量の時系列を入力することによりコードデータの時系列を推定し、前記第2コードの推定においては、前記学習済モデルの出力と前記コードデータとに基づいて前記第2コードを推定する。以上の態様によれば、特徴量の時系列とコードデータの時系列との関係を学習したコード遷移モデルを利用して、未知の音響信号に関する第2コードが推定される。したがって、コード遷移モデルを利用しない構成と比較して、多数の楽曲において観測される聴感的に自然な第2コードの配列を推定することが可能である。
【0080】
第1態様から第6態様の好適例(第7態様)において、前記音響信号を端末装置から受信し、前記音響信号から推定した前記第1コードを前記学習済モデルに入力することにより前記第2コードを推定し、当該第2コードを前記端末装置に送信する。以上の態様によれば、例えば利用者の端末装置に搭載された学習済モデルによりコードを推定する方法と比較して、端末装置での処理負荷が低減される。
【0081】
以上に例示した各態様のコード推定方法を実行するコード推定装置、または、以上に例示した各態様のコード推定方法をコンピュータに実行させるプログラムとしても、本発明の好適な態様は実現される。例えば、本発明の好適な態様に係るコード推定装置は、音響信号から第1コードを推定する第1コード推定部と、コードに対する変更の傾向を学習した学習済モデルに前記第1コードを入力することにより、第2コードを推定する第2コード推定部とを具備する。
【符号の説明】
【0082】
100…コード推定装置、200…機械学習装置、300…端末装置、11…通信装置、12…制御装置、13…記憶装置、20…前処理部、21…第1抽出部、23…解析部、25…第2抽出部、27…コード推定部、51…教師データ生成部、512…選択部、514…処理部、53…学習部、532…第1学習部、534…第2学習部、55…第3学習部、56…第4学習部、70…推定処理部、M…学習済モデル、M1…第1学習済モデル、M2…第2学習済モデル、Mb…境界推定モデル、Mc…コード遷移モデル。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17