(57)【要約】【課題】  楽曲信号から適切に拍を推定する。【解決手段】  楽曲解析システム１０は、時系列の音の強度を示す情報を含んで構成される２つのチャネルの信号を含むステレオの楽曲信号を入力する入力部１１と、ステレオの楽曲信号から、両チャネルの信号を加算した加算信号、及び一方のチャネルの信号からもう一方のチャネルの信号を減算した減算信号を生成する生成部１２と、加算信号から、予め設定した長さのフレーム単位で強度の自己相関を計算する加算信号計算部１３と、減算信号から、予め設定した長さのフレーム単位でコードを解析し、解析したコードに基づいて時系列的なコードの変更に係る値を計算する減算信号計算部１４と、各計算結果に基づいて、楽曲信号に係る楽曲の拍を推定する推定部１５とを備える。【選択図】  図１
2020095200.tif 000002
【特許請求の範囲】
【請求項１】
時系列の音の強度を示す情報を含んで構成される２つのチャネルの信号を含むステレオの楽曲信号を入力する入力部と、
前記入力部によって入力されたステレオの楽曲信号から、両チャネルの信号を加算した加算信号、及び一方のチャネルの信号からもう一方のチャネルの信号を減算した減算信号を生成する生成部と、
前記生成部によって生成された加算信号から、予め設定した長さのフレーム単位で強度の自己相関を計算する加算信号計算部と、
前記生成部によって生成された減算信号から、前記予め設定した長さのフレーム単位でコードを解析し、解析したコードに基づいて時系列的なコードの変更に係る値を計算する減算信号計算部と、
前記加算信号計算部による計算結果、及び前記減算信号計算部による計算結果に基づいて、前記楽曲信号に係る楽曲の拍を推定する推定部と、
を備える楽曲解析システム。
【請求項２】
前記推定部は、所定の重み付けを行って、前記加算信号計算部による計算結果、及び前記減算信号計算部による計算結果を足し合わせて、前記楽曲信号に係る楽曲の拍を推定する請求項１に記載の楽曲解析システム。
【請求項３】
前記推定部は、拍の推定結果、及び前記減算信号計算部による計算結果に基づいて、前記楽曲信号に係る楽曲の小節を推定する請求項１又は２に記載の楽曲解析システム。
【請求項４】
前記推定部は、楽曲の小節の推定を区間毎に行って、区間毎の小節の推定結果から小節の平滑化を行う請求項３に記載の楽曲解析システム。
【請求項５】
前記推定部は、小節の推定結果、及び前記減算信号計算部によるフレーム単位のコードの解析結果に基づいて、前記楽曲信号に係る当該小節毎のコードを推定する請求項３又は４に記載の楽曲解析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲を解析する楽曲解析システムに関する。
【背景技術】
【０００２】
特許文献１には、楽曲信号に基づいて楽曲のコード（和音）の進行を検出してそれをデータ化する発明が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１８４５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、スマートフォン及びアプリケーション等の発展により、楽器の演奏が譜面通り弾けているか否かを判定するアプリケーションが開発されている。このようなアプリケーションでは、コードの進行を示すコード譜が必要になる。楽曲のコード譜が得られておらず、楽曲信号のみが得られている状況では、楽曲信号からコード譜を作成する必要がある。例えば、人手で楽曲信号を聞いてコード譜を作成することが考えられる。しかしながら、膨大な楽曲のコード譜を人手で作成することは困難であるため、コード譜作成の自動化技術が望まれる。例えば、特許文献１に示される方法を用いてコード譜を作成することが考えられる。
【０００５】
楽曲のコードの解析において、単純にある区間のコードを解析することは、その区間の信号をフーリエ変換等で周波数解析することである程度の解析が可能である。しかし、コード譜を作成するにあたっては、どこからどこまでの区間がどのコードかという識別をする必要があり、そのためには楽曲の拍の識別が必要不可欠である。拍の認識には、楽曲信号の強弱及びコードの切り替わり等を手掛かりに推定する必要がある。しかしながら、楽曲によっては、強弱があまり無いものや、またコード感があまり無いものもあり、どの手掛かりを使えば精度の良い解析ができるかは楽曲によって異なり、幅広い楽曲に対応するのが難しいという課題がある。
【０００６】
本発明は、上記に鑑みてなされたものであり、楽曲信号から適切に拍を推定することができる楽曲解析システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明に係る楽曲解析システムは、時系列の音の強度を示す情報を含んで構成される２つのチャネルの信号を含むステレオの楽曲信号を入力する入力部と、入力部によって入力されたステレオの楽曲信号から、両チャネルの信号を加算した加算信号、及び一方のチャネルの信号からもう一方のチャネルの信号を減算した減算信号を生成する生成部と、生成部によって生成された加算信号から、予め設定した長さのフレーム単位で強度の自己相関を計算する加算信号計算部と、生成部によって生成された減算信号から、予め設定した長さのフレーム単位でコードを解析し、解析したコードに基づいて時系列的なコードの変更に係る値を計算する減算信号計算部と、加算信号計算部による計算結果、及び減算信号計算部による計算結果に基づいて、楽曲信号に係る楽曲の拍を推定する推定部と、を備える。
【０００８】
本発明に係る楽曲解析システムでは、加算信号から計算された強度の自己相関、及び減算信号から計算されたコードの変更に係る値の両方が考慮されて楽曲の拍が推定される。従って、本発明に係る楽曲解析システムによれば、楽曲信号から適切に拍を推定することができる。
【発明の効果】
【０００９】
本発明では、加算信号から計算された強度の自己相関、及び減算信号から計算されたコードの変更に係る値の両方が考慮されて楽曲の拍が推定される。従って、本発明によれば、楽曲信号から適切に拍を推定することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る楽曲解析システムの構成を示す図である。
【図２】加算信号に基づく計算を説明するための図である。
【図３】自己相関の算出を説明するための図である。
【図４】減算信号に基づく計算を説明するための図である。
【図５】本発明の実施形態に係る楽曲解析システムで実行される処理を示すフローチャートである。
【図６】本発明の実施形態に係る楽曲解析システムのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面と共に本発明に係る楽曲解析システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１２】
図１に本実施形態に係る楽曲解析システム１０を示す。楽曲解析システム１０は、楽曲を再生することができる楽曲信号（楽曲音源、ステレオ音源）を入力して解析するシステムである。楽曲解析システム１０は、楽曲の拍を推定して推定した拍に基づいて楽曲のコードの進行を推定する。推定されたコードの進行は、例えば、コード譜として出力される。即ち、楽曲解析システム１０による解析によれば、楽曲信号からコード譜を得ることができ、例えば、楽曲信号に係る楽曲を演奏したい人にコード譜を提供することができる。
【００１３】
本実施形態に係る楽曲解析システム１０の解析対象となる楽曲信号は、時系列の音の強度を示す情報を含んで構成される２つのチャネルの信号を含むステレオの信号である。２つのチャネルは、通常のステレオの信号と同様の左チャネル及び右チャネルである。それぞれのチャネルの信号は、例えば、再生した際の１秒当たり４４１００サンプルの音の強度（振幅強度）の値を含んでいる。
【００１４】
楽曲信号に係る楽曲は、複数の楽器によって演奏される楽曲である。例えば、ドラムス、ギター及びキーボード（あるいはピアノ）等によって演奏された楽曲である。但し、楽曲が演奏される楽器は、特定のものである必要はなく、任意の楽器を含んでいてもよい。また、楽曲には、ボーカルが含まれていてもよい。
【００１５】
楽曲解析システム１０は、例えば、サーバ装置によって実現される。また、楽曲解析システム１０は、複数のサーバ装置、即ち、コンピュータシステムによって実現されてもよい。
【００１６】
引き続いて、本実施形態に係る楽曲解析システム１０の機能を説明する。図１に示すように楽曲解析システム１０は、入力部１１と、生成部１２と、加算信号計算部１３と、減算信号計算部１４と、推定部１５とを備えて構成される。
【００１７】
入力部１１は、ステレオの楽曲信号を入力する機能部である。入力部１１は、他の装置から楽曲信号を受信したり、楽曲解析システム１０に予め記憶されている楽曲信号を読み出したりすることで楽曲信号を入力する。なお、入力部１１による楽曲信号の入力方法は、上記に限られず任意の方法であってもよい。入力部１１は、入力した楽曲信号を生成部１２に出力する。
【００１８】
生成部１２は、入力部１１によって入力されたステレオの楽曲信号から、両チャネルの信号を加算した加算信号、及び一方のチャネルの信号からもう一方のチャネルの信号を減算した減算信号を生成する機能部である。
【００１９】
生成部１２は、入力部１１から楽曲信号を入力する。生成部１２は、入力した楽曲信号を左右のチャネルの信号に分離する。生成部１２は、左チャネルの信号と右チャネルの信号とを加算して加算信号を生成する。生成部１２は、左チャネルの信号から右チャネルの信号を差し引いて減算信号を生成する。なお、減算信号は、右チャネルの信号から左チャネルの信号を差し引いたものであってもよい。何れのチャネルの信号から何れのチャネルの信号を差し引くかは、予め設定されて生成部１２に記憶されている。各チャネルの信号の加算又は減算は、各チャネルの信号に含まれる同一のタイミングのサンプルの強度を加算又は減算することで行われる。生成部１２は、生成した加算信号を加算信号計算部１３に出力する。生成部１２は、生成した減算信号を減算信号計算部１４に出力する。
【００２０】
加算信号計算部１３は、生成部１２によって生成された加算信号から、予め設定した長さのフレーム単位で強度の自己相関を計算する機能部である。フレームは、予め設定された数のサンプルを含む。フレームの長さは、推定する拍に比べて十分に短いものとする。例えば、フレームは、１０２４サンプルを含む。この場合、フレームの長さは、１０２４／４４１００秒≒２３．２ｍ秒である。
【００２１】
図２に示すように、加算信号計算部１３は、加算信号をフレーム分割して（その先頭からフレームＦの長さで区切って）、フレームＦ単位の信号強度Ｓ（ｔ）（時刻ｔの信号強度）を算出する。例えば、加算信号計算部１３は、フレームＦ単位の信号強度Ｓ（ｔ）として、フレームＦ内のサンプルの強度（サンプル値）の絶対値の平均を算出する。加算信号計算部１３は、フレームＦ単位の信号強度Ｓ（ｔ）の系列の自己相関を計算する。具体的には、以下のように自己相関を計算する。
【００２２】
加算信号計算部１３は、加算信号全体のＳ（ｔ）から、自己相関の算出対象となる、解析区間の尤度シーケンスを設定する。解析区間の尤度シーケンスは、予め設定された数（長さ）の連続するフレームＦである。解析区間の尤度シーケンスは、例えば、６０秒程度の長さとされる。この場合、解析区間の尤度シーケンスは、６０／（２３．２／１０００）＝２５８６フレームを含む。
【００２３】
加算信号計算部１３は、加算信号の先頭から、１０秒おきに解析区間の尤度シーケンスを設定する。図３に示すように、加算信号計算部１３は、解析区間の尤度シーケンスを後方にｐフレームからｑフレームまで１フレームずつずらしながら、加算信号である全体の尤度シーケンスに対して自己相関値を算出する。自己相関値の計算は、解析区間の尤度シーケンスのフレームＦの信号強度Ｓ（ｔ）と、加算信号である尤度シーケンスのフレームＦの信号強度Ｓ（ｔ＋ｋ）とを掛け算したものをｔ＝０からｔ＝ｎまで足し合わせたものである。なお、解析区間の尤度シーケンスの先頭のフレームＦをｔ＝０とし、解析区間の尤度シーケンスのフレーム数をｎとする。自己相関の算出の際にフレームＦをずらす範囲、即ちｐからｑまでの範囲は、予め設定され、拍の長さを含み得る範囲とする。例えば、ｐ，ｑは、解析する楽曲の最大テンポ及び最小テンポから予め設定される。通常の楽曲では、テンポ（１分間における拍の数）は８０〜１６０の範囲に含まれるため、ｐ，ｑはそれぞれ１６（（６０×１／１６０）／（２３．２／１０００）），３３（（６０×１／８０）／（２３．２／１０００））程度とされる。
【００２４】
加算信号計算部１３は、上記のように解析区間の尤度シーケンスについて、ｐ〜ｑの範囲でｋフレームずらして算出した自己相関値Ｒｓ（ｋ）を算出する。即ち、加算信号計算部１３は、１つの解析区間の尤度シーケンスについて、ｑ−ｐ＋１個の自己相関値Ｒｓ（ｋ）を算出する。加算信号計算部１３は、１つの解析区間の尤度シーケンスについて、自己相関値Ｒｓ（ｋ）を最大値と最小値とから、最大値のものが１に最小値のものが０になるように正規化する。自己相関値Ｒｓ（ｋ）は、信号強度Ｓ（ｔ）の強弱の周期が何フレーム毎に起きているかを示す値である。加算信号計算部１３は、算出した自己相関値Ｒｓ（ｋ）を推定部１５に出力する。また、加算信号計算部１３は、フレームＦ毎の信号強度Ｓ（ｔ）を推定部１５に出力する。
【００２５】
減算信号計算部１４は、生成部１２によって生成された減算信号から、予め設定した長さのフレーム単位でコードを解析し、解析したコードに基づいて時系列的なコードの変更（コードの切り替わり）に係る値を計算する機能部である。減算信号計算部１４は、加算信号計算部１３が用いた長さと同様のフレームを用いる。
【００２６】
図４に示すように、減算信号計算部１４は、減算信号をフレーム分割して（その先頭からフレームＦの長さで区切って）、フレームＦ毎にコード解析を行う。コード解析は、例えば、フレームＦに含まれるサンプルに基づいて、各コード（Ｃ、Ｃｍ、Ｃ＃、…、Ｂｍ）について当該フレームＦのコード尤度Ｐ（コード名）を算出するものである。コード尤度は、フレームＦの音がそのコードである尤もらしさを示す値であり、例えば、値が大きい程、そのコードである尤もらしさが高いことを示している。コード尤度の算出対象となるコードは、予め設定されている。フレーム毎のコード解析は、フーリエ変換等の周波数解析といった従来方法、又はそれ以外の任意の方法で実施することができる。また、フレーム毎のコード解析には、より正確な解析を行うため、解析対象のフレームに含まれるサンプルに加えて当該フレームに後続するフレームのサンプルを用いてもよい。
【００２７】
減算信号計算部１４は、算出した各フレームＦのコード尤度から、コードチェンジ尤度Ｐ（ｃｈ｜コード名）を算出する。コードチェンジ尤度は、フレームＦ及びコード毎に算出される値である。コードチェンジ尤度は、そのフレームＦで別のコードからそのコードに変更した、即ち、コードチェンジが発生した尤もらしさを示す値であり、例えば、値が大きい程、そのフレームＦでコードチェンジが発生した尤もらしさが高いことを示している。
【００２８】
コードチェンジ尤度は、時刻ｔのフレームＦにおいては、時刻ｔのフレームＦのコードがｔ＋１，ｔ＋２のフレームのコードと同じ、かつｔ−１，ｔ−２のコードと違うという指標で算出される。減算信号計算部１４は、時刻ｔのフレームＦのコードチェンジ尤度Ｐ（ｃｈ｜コード名）を、計算式Ｐｔ（コード名）＋Ｐｔ＋１（コード名）＋Ｐｔ＋２（コード名）＋（１−Ｐｔ−１（コード名））＋（１−Ｐｔ−２（コード名））で算出する。ここで、Ｐｔ（コード名）は、時刻ｔにおけるコード名のコードのコード尤度である。減算信号計算部１４は、全てのコードの種類で各フレームＦのコードチェンジ尤度Ｐ（ｃｈ｜コード名）を算出する。減算信号計算部１４は、フレームＦ毎に最も尤度の高いコードチェンジ尤度Ｐ（ｃｈ｜コード名）をそのフレームＦのコードチェンジ尤度Ｐ（ｔ）とする。本実施形態では、コードチェンジ尤度Ｐ（ｔ）を、拍及び小節の境界（区切り）を示す指標として考える。これはコードが、拍及び小節の境界で変わることが多いことを前提としている。
【００２９】
減算信号計算部１４は、フレームＦ単位のコードチェンジ尤度Ｐ（ｔ）の自己相関を計算する。具体的には、減算信号計算部１４は、加算信号計算部１３による信号強度Ｓ（ｔ）の自己相関値の算出と同様にコードチェンジ尤度Ｐ（ｔ）の自己相関を計算する。コードチェンジ尤度Ｐ（ｔ）の解析区間の長さ、及び自己相関の算出の際にフレームＦをずらす範囲等も加算信号計算部１３による算出と同様に設定される。自己相関値Ｒｃ（ｋ）は、解析したコードに基づく時系列的なコードの変更に係る値であり、コードチェンジの周期が何フレーム毎に起きているかを示す値である。減算信号計算部１４は、算出した自己相関値Ｒｃ（ｋ）を推定部１５に出力する。また、減算信号計算部１４は、フレームＦ毎のコード尤度Ｐ及びコードチェンジ尤度Ｐ（ｔ）を推定部１５に出力する。
【００３０】
推定部１５は、加算信号計算部１３による計算結果、及び減算信号計算部１４による計算結果に基づいて、楽曲信号に係る楽曲の拍を推定する機能部である。推定部１５は、所定の重み付けを行って、加算信号計算部１３による計算結果、及び減算信号計算部１４による計算結果を足し合わせて、楽曲信号に係る楽曲の拍を推定する。推定部１５は、拍の推定結果、及び減算信号計算部１４による計算結果に基づいて、楽曲信号に係る楽曲の小節を推定する。推定部１５は、小節の推定結果、及び減算信号計算部１４によるフレーム単位のコードの解析結果に基づいて、楽曲信号に係る当該小節毎のコードを推定する。具体的には、推定部１５は、以下の推定を行う。
【００３１】
上述したように、本実施形態で推定対象となる楽曲は複数の楽器によって演奏される。本実施形態では、ステレオの楽曲信号が、以下のような構成を有していることを想定している。ステレオの楽曲信号の両方のチャネルの信号には、テンポを刻む演奏がそれぞれ同等に含まれている。例えば、両方のチャネルの信号にテンポを刻むドラムス等の打楽器の演奏が含まれている。これは、楽曲の録音の際に両方のチャネルそれぞれを録音するマイクから同じくらいの位置にドラムス等の打楽器が位置しているためである。そのような両方のチャネルの信号の加算信号は、拍のタイミングの音が強調されたものとなる。即ち、加算信号は、拍の解析がしやすい信号である。従って、上述した加算信号から得られた自己相関値Ｒｓ（ｋ）は、拍のタイミングで大きな値となる。
【００３２】
一方で、ステレオの楽曲信号の一方のチャネルの信号には、もう一方のチャネルの信号と比べて、偏ってコードを奏でる演奏が含まれている。例えば、一方のチャネルの信号に偏って、コードを奏でるギター及びキーボード（あるいはピアノ）等の演奏が含まれている。これは、楽曲の録音の際に両方のチャネルそれぞれを録音するマイクに対して一方のマイクに偏った位置でギター及びキーボード（あるいはピアノ）等が演奏されているためである。そのような両方のチャネルの信号の減算信号は、コードに係る音が強調されたものとなる。即ち、減算信号は、コードの解析がしやすい信号である。楽曲では、コードは、通常、拍、特にそのうち小節のタイミングで変更されることが多い。従って、上述した減算信号から得られた自己相関値Ｒｃ（ｋ）は、拍のタイミング、特にそのうち小節のタイミングで大きな値となる。
【００３３】
推定部１５は、上記に基づいて楽曲の拍を推定する。推定部１５は、加算信号計算部１３から自己相関値Ｒｓ（ｋ）を入力する。推定部１５は、減算信号計算部１４から自己相関値Ｒｃ（ｋ）を入力する。推定部１５は、これらの自己相関値Ｒｓ（ｋ）及び自己相関値Ｒｃ（ｋ）を足し合わせる。足し合わせは、同一の解析区間の同一のフレームＦをずらした数ｋの自己相関値Ｒｓ（ｋ）及び自己相関値Ｒｃ（ｋ）を足し合わせる。
【００３４】
推定部１５は、解析区間においてこの値が最大となるｋを求めて、ｋフレームＦの時間長を、その解析区間における１拍の時間長と推定する。即ち、推定部１５は、信号強度の強弱の周期とコードチェンジの周期との双方の周期から、拍を推定する。なお、上述したように解析区間は６０秒程度の長さであり１０秒毎に設定されるため、解析区間が重複する。推定部１５は、例えば、解析区間の最初の１０秒間について、当該解析区間から推定した１拍の時間長を採用することとしてもよい。あるいは、推定部１５は、解析区間が重複した部分については、重複したそれぞれの解析区間の自己相関値Ｒｓ（ｋ）及び自己相関値Ｒｃ（ｋ）を、フレームＦをずらした数ｋ毎に足し合わせて、足し合わせた値が最大となるｋを求めて、ｋフレームＦの時間長を、その区間における１拍の時間長と推定してもよい。
【００３５】
自己相関値Ｒｓ（ｋ）と自己相関値Ｒｃ（ｋ）との足し合わせ方は、１：１で足し合わせることとしてもよいが、所定の重み付けを行ってもよい。具体的には、楽曲に応じて予め設定した重み付けを行ってもよい。例えば、リズムがはっきりしている楽曲については、自己相関値Ｒｓ（ｋ）に大きな重みをつけて足し合わせてもよい。あるいは、バラード系の楽曲については、自己相関値Ｒｃ（ｋ）に大きな重みをつけて足し合わせてもよい。
【００３６】
また、推定部１５は、拍のタイミング（拍の境界となるタイミング、拍の最初のフレーム）を推定する。推定部１５は、加算信号計算部１３からフレームＦ毎の信号強度Ｓ（ｔ）を入力する。推定部１５は、減算信号計算部１４からフレームＦ毎のフレームＦ毎のコード尤度Ｐ及びコードチェンジ尤度Ｐ（ｔ）を入力する。拍のタイミングの推定は、例えば、上述したように拍のタイミングでは加算信号の信号強度Ｓ（ｔ）が大きくなりやすいことを前提として行われる。
【００３７】
推定部１５は、拍の長さの間隔おきに信号強度Ｓ（ｔ）を足し合わせる。推定部１５は、フレームを１つずつずらして、ずらしたフレーム毎に上記の足し合わせの値を算出する。従って、拍の長さのフレームの数の値が算出される。推定部１５は、足し合わせた信号強度Ｓ（ｔ）が最も高い値となる、拍の長さの間隔毎のタイミングを拍のタイミングであると推定する。即ち、上記の前提のもと、信号強度Ｓ（ｔ）が最も高い拍の長さの間隔のタイミングを拍のタイミングであると推定する。拍のタイミングの推定は、拍の長さを推定した区間毎に行う。推定部１５は、信号強度Ｓ（ｔ）ではなく、コードチェンジ尤度Ｐ（ｔ）を用いて、信号強度Ｓ（ｔ）を用いる場合と同様に拍のタイミングを推定してもよい。あるいは、信号強度Ｓ（ｔ）とコードチェンジ尤度Ｐ（ｔ）とをフレーム毎に足し合わせた値を用いて拍のタイミングを推定してもよい。
【００３８】
推定部１５は、拍の推定結果及び自己相関値Ｒｃ（ｋ）に基づいて、楽曲信号に係る楽曲の小節を推定する。具体的には、推定部１５は、小節のタイミング（小節の境界となるタイミング、小節の最初のフレーム）を推定する。小節のタイミングの推定は、上述したようにコードチェンジは小節の先頭、即ち、小節の境界で起こることが多いことを前提として行われる。小節の推定のために、小節にいくつの拍が含まれるか、即ち、楽曲が何拍子であるか予め設定して推定部１５に記憶させておく。推定部１５は、推定された拍の長さに小節に含まれる拍の数を掛けて小節の長さを算出する。例えば、４拍子と予め設定されていた場合、推定部１５は、拍の長さに４をかけて小節の長さを算出する。
【００３９】
推定部１５は、小節の長さの間隔おきに拍のタイミングのコードチェンジ尤度Ｐ（ｔ）を足し合わせる。推定部１５は、拍のタイミングを１つずつずらして、ずらした拍のタイミング毎に上記の足し合わせの値を算出する。従って、小節に含まれる拍の数（４拍であれば４つ）の値が算出される。推定部１５は、足し合わせたコードチェンジ尤度Ｐ（ｔ）が最も高い値となる、小節の長さの間隔毎のタイミングを小節のタイミングであると推定する。即ち、上記の前提のもと、全ての拍のタイミングでコードチェンジがよく起きているタイミングを拍の数のタイミング（上記の例では４拍）の中から選び、その拍を小節のタイミングであると推定する。小節のタイミングの推定は、拍の長さを推定した区間毎に行う。
【００４０】
推定部１５は、区間毎の小節の推定結果から小節の平滑化を行うこととしてもよい。区間毎の小節の推定では、信号強度及びコードチェンジ尤度等の算出をフレーム単位で行うため、小節の推定に微小なずれが生じる。この微小なずれは、次の区間の解析で調整されるが、区間をまたがる箇所で小節が変化することになる。推定部１５は、小節の推定後、予め設定した区間の区切りの部分について、予め設定した数の連続する小節の長さを平均化して平滑化し、調節を行うこととしてもよい。
【００４１】
推定部１５は、小節の推定結果、及び減算信号計算部１４によるフレーム単位のコードの解析結果に基づいて、楽曲信号に係る当該小節毎のコードを推定する。推定部１５は、小節のタイミングと推定されたフレームのコード尤度Ｐを参照して、最も高いコード尤度Ｐのコードを当該小節のコードと推定する。推定部１５は、推定した各小節のコードをコード譜として出力する。コード譜の出力としては、楽曲解析システム１０以外の装置又はシステムに対してコード譜を示す情報を送信することとしてもよいし、楽曲解析システム１０の記憶装置へ記憶させることとしてもよい。また、それ以外の出力が行われてもよい。また、推定部１５は、推定した拍及び小節の少なくとも何れかに係る情報を出力してもよい。以上が、本実施形態に係る楽曲解析システム１０の機能である。
【００４２】
引き続いて、図５のフローチャートを用いて、本実施形態に係る楽曲解析システム１０で実行される処理（楽曲解析システム１０が行う動作方法）を説明する。本処理では、まず、入力部１１によって、解析対象の楽曲信号（楽曲音源、ステレオ音源）が入力される（Ｓ０１）。続いて、生成部１２によって、ステレオの楽曲信号から、両チャネルの信号を加算した加算信号が生成される（Ｓ０２）。続いて、加算信号計算部１３によって、加算信号からフレーム単位での信号強度が算出される（Ｓ０３）。続いて、加算信号計算部１３によって、信号強度の自己相関が算出される（Ｓ０４）。
【００４３】
Ｓ０１の後、Ｓ０２が行われる一方で、生成部１２によって、一方のチャネルの信号からもう一方のチャネルの信号を差し引いた減算信号が生成される（Ｓ０５）。続いて、減算信号計算部１４によって、減算信号からフレーム単位でのコード尤度が算出される（Ｓ０６）。続いて、減算信号計算部１４によって、フレーム単位でのコードチェンジ尤度が算出される（Ｓ０７）。続いて、減算信号計算部１４によって、コードチェンジ尤度の自己相関が算出される（Ｓ０８）。
【００４４】
Ｓ０４及びＳ０８の後、推定部１５によって、双方の自己相関から楽曲信号に係る楽曲の拍が推定される（Ｓ０９）。続いて、推定部１５によって、楽曲の小節が推定される（Ｓ１０）。続いて、推定部１５によって、小節単位でのコードが推定される（Ｓ１１）。続いて、推定部１５によって、推定結果が出力される（Ｓ１２）。以上が、本実施形態に係る楽曲解析システム１０で実行される処理である。
【００４５】
本実施形態では、加算信号から計算された強度の自己相関、及び減算信号から計算されたコードの変更に係る値の両方が考慮されて楽曲の拍が推定される。即ち、本実施形態では、信号強度の強弱の周期とコードチェンジの周期との双方の周期から拍が推定される。従って、本発明に係る楽曲解析システムによれば、多種多様な楽曲に係る楽曲信号から適切に拍を推定することができる。
【００４６】
また、本実施形態のように上述したように所定の重み付けを行って、加算信号計算部１３による計算結果、及び減算信号計算部１４による計算結果を足し合わせて、楽曲信号に係る楽曲の拍を推定することとしてもよい。この構成によれば、更に適切に拍を推定することができる。例えば、テンポを刻む打楽器等が存在している楽曲においては、信号強度の周期、即ち、加算信号から得られた自己相関値Ｒｓ（ｋ）に重点を置いて推定することで適切な拍の推定が可能になる。一方で、打楽器のないバラードのような楽曲においては、コードチェンジの周期、即ち、減算信号から得られた自己相関値Ｒｃ（ｋ）に重点を置いて推定することで適切な拍の推定が可能になる。このように様々な楽曲に対応しやすくなる。但し、拍の推定において重み付けは必ずしも行う必要はなく、加算信号計算部１３による計算結果、及び減算信号計算部１４による計算結果が考慮された推定が行われればよい。
【００４７】
また、本実施形態のように推定した拍に基づいて、楽曲の小節を推定することとしてもよい。この構成によれば、小節についても適切に推定することができる。更に、本実施形態のように小節毎のコードの推定まで行うこととしてもよい。この構成によれば、本実施形態に係る楽曲解析システム１０において、楽曲からコード譜の生成までを行うことができる。但し、本実施形態に係る楽曲解析システム１０において、小節の推定及びコード譜の生成までを行う必要はない。その場合、楽曲解析システム１０は、推定結果を出力することとすればよい。
【００４８】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した１つの装置を用いて実現されてもよいし、物理的又は論理的に分離した２つ以上の装置を直接的又は間接的に（例えば、有線、無線などを用いて）接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記１つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【００４９】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知（broadcasting）、通知（notifying）、通信（communicating）、転送（forwarding）、構成（configuring）、再構成（reconfiguring）、割り当て（allocating、mapping）、割り振り（assigning）などがあるが、これらに限られない。
【００５０】
例えば、本開示の一実施の形態における楽曲解析システム１０は、本開示の方法の処理を行うコンピュータとして機能してもよい。図６は、本開示の一実施の形態に係る楽曲解析システム１０のハードウェア構成の一例を示す図である。上述の楽曲解析システム１０は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含むコンピュータ装置として構成されてもよい。
【００５１】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。楽曲解析システム１０のハードウェア構成は、図に示した各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００５２】
楽曲解析システム１０における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることによって、プロセッサ１００１が演算を行い、通信装置１００４による通信を制御したり、メモリ１００２及びストレージ１００３におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
【００５３】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）によって構成されてもよい。例えば、上述の楽曲解析システム１０における各機能は、プロセッサ１００１によって実現されてもよい。
【００５４】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュール、データなどを、ストレージ１００３及び通信装置１００４の少なくとも一方からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、楽曲解析システム１０における各機能は、メモリ１００２に格納され、プロセッサ１００１において動作する制御プログラムによって実現されてもよい。上述の各種処理は、１つのプロセッサ１００１によって実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【００５５】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つによって構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本開示の一実施の形態に係る方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００５６】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つによって構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及びストレージ１００３の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
【００５７】
通信装置１００４は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置１００４は、例えば周波数分割複信（ＦＤＤ：Frequency  Division  Duplex）及び時分割複信（ＴＤＤ：Time  Division  Duplex）の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。例えば、上述の楽曲解析システム１０における各機能は、通信装置１００４によって実現されてもよい。
【００５８】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、LEDランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００５９】
また、プロセッサ１００１、メモリ１００２などの各装置は、情報を通信するためのバス１００７によって接続される。バス１００７は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【００６０】
また、楽曲解析システム１０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つを用いて実装されてもよい。
【００６１】
情報の通知は、本開示において説明した態様／実施形態に限られず、他の方法を用いて行われてもよい。例えば、情報の通知は、物理レイヤシグナリング（例えば、ＤＣＩ（Downlink  Control  Information）、ＵＣＩ（Uplink  Control  Information））、上位レイヤシグナリング（例えば、ＲＲＣ（Radio  Resource  Control）シグナリング、ＭＡＣ（Medium  Access  Control）シグナリング、報知情報（ＭＩＢ（Master  Information  Block）、ＳＩＢ（System  Information  Block）））、その他の信号又はこれらの組み合わせによって実施されてもよい。また、ＲＲＣシグナリングは、ＲＲＣメッセージと呼ばれてもよく、例えば、ＲＲＣ接続セットアップ（RRC  Connection  Setup）メッセージ、ＲＲＣ接続再構成（RRC  Connection  Reconfiguration）メッセージなどであってもよい。
【００６２】
本開示において説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００６３】
入出力された情報等は特定の場所（例えば、メモリ）に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００６４】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：true又はfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００６５】
本開示において説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００６６】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【００６７】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００６８】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術（同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ：Digital  Subscriber  Line）など）及び無線技術（赤外線、マイクロ波など）の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【００６９】
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【００７０】
なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及びシンボルの少なくとも一方は信号（シグナリング）であってもよい。また、信号はメッセージであってもよい。
【００７１】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【００７２】
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々なチャネル（例えば、ＰＵＣＣＨ、ＰＤＣＣＨなど）及び情報要素は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
【００７３】
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking  up、search、inquiry)（例えば、テーブル、データベース又は別のデータ構造での探索）、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)（例えば、情報を受信すること）、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断（決定）」は、「想定する（assuming）」、「期待する（expecting）」、「みなす（considering）」などで読み替えられてもよい。
【００７４】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、２又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された２つの要素間に１又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、２つの要素は、１又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光（可視及び不可視の両方）領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
【００７５】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【００７６】
本開示において使用する「第１の」、「第２の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、２つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第１及び第２の要素への参照は、２つの要素のみが採用され得ること、又は何らかの形で第１の要素が第２の要素に先行しなければならないことを意味しない。
【００７７】
本開示において、「含む（include）」、「含んでいる（including）」及びそれらの変形が使用されている場合、これらの用語は、用語「備える（comprising）」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は（or）」は、排他的論理和ではないことが意図される。
【００７８】
本開示において、例えば、英語でのa,  an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【００７９】
本開示において、「ＡとＢが異なる」という用語は、「ＡとＢが互いに異なる」ことを意味してもよい。なお、当該用語は、「ＡとＢがそれぞれＣと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【００８０】
１０…楽曲解析システム、１１…入力部、１２…生成部、１３…加算信号計算部、１４…減算信号計算部、１５…推定部、１００１…プロセッサ、１００２…メモリ、１００３…ストレージ、１００４…通信装置、１００５…入力装置、１００６…出力装置、１００７…バス。
【図１】
2020095200.tif 000003
【図２】
2020095200.tif 000004
【図３】
2020095200.tif 000005
【図４】
2020095200.tif 000006
【図５】
2020095200.tif 000007
【図６】
2020095200.tif 000008