(57)【特許請求の範囲】
【請求項１】
楽曲を示す入力音信号における単位時間長を取得するステップと、
前記入力音信号から音色特徴量を計算するステップと、
前記音色特徴量に対し、前記入力音信号において前記単位時間長を基準として前記楽曲における１拍および１小節の時間長を仮定した場合に、当該仮定された時間長の妥当性を示す指標を計算するステップと、
前記指標に基づいて前記単位時間長を基準とする前記１拍および１小節の時間長を推定するステップと
を有する音信号処理方法。
【請求項２】
楽曲を示す入力音信号における単位時間長を取得するステップと、
前記入力音信号から音色特徴量を計算するステップと、
前記単位時間長を基準とする時間領域において前記音色特徴量に対し振幅離散フーリエ変換を行うステップと、
前記振幅離散フーリエ変換の結果に対し、前記時間領域において前記単位時間長を基準とする前記楽曲における１拍および１小節の時間長に対応する窓関数を適用することにより当該１拍および１小節の時間長の指標を計算するステップと、
前記指標に基づいて前記単位時間長を基準とする前記１拍の時間長および前記１小節の時間長を推定するステップと
を有する音信号処理方法。
【請求項３】
前記１拍および１小節の時間長の組み合わせに対してあらかじめ設定された優先度を用いて前記指標が計算される
請求項１または２に記載の音信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲を示す音信号から、楽曲における拍および小節の時間長を推定する技術に関する。
【背景技術】
【０００２】
音信号を解析する技術が知られている。例えば特許文献１および２には、楽曲を示す音信号からその楽曲の拍点、テンポ、小節線の位置、およびコードを、確率モデルを用いて推定する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１１４３６１号公報
【特許文献２】特開２０１５−２００８０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１および２に記載の技術においては、拍点、テンポ、拍子、およびコード進行等の遷移確率モデルをあらかじめ定義する必要があった。
【０００５】
これに対し本発明は、入力音信号から拍および小節の長さをより簡単に推定する技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、楽曲を示す入力音信号における単位時間長を取得するステップと、前記入力音信号から音色特徴量を計算するステップと、前記音色特徴量に対し、前記入力音信号において前記単位時間長を基準として前記楽曲における１拍および１小節の時間長を仮定した場合に、当該仮定された時間長の妥当性を示す指標を計算するステップと、前記指標に基づいて前記単位時間長を基準とする前記１拍および１小節の時間長を推定するステップとを有する音信号処理方法を提供する。
【０００７】
また、本発明は、楽曲を示す入力音信号における単位時間長を取得するステップと、前記入力音信号から音色特徴量を計算するステップと、前記単位時間長を基準とする時間領域において前記音色特徴量に対し振幅離散フーリエ変換を行うステップと、前記振幅離散フーリエ変換の結果に対し、前記時間領域において前記単位時間長を基準とする前記楽曲における１拍および１小節の時間長に対応する窓関数を適用することにより当該１拍および１小節の時間長の指標を計算するステップと、前記指標に基づいて前記単位時間長を基準とする前記１拍の時間長および前記１小節の時間長を推定するステップとを有する音信号処理方法を提供する。
【０００８】
前記１拍および１小節の時間長の組み合わせに対してあらかじめ設定された優先度を用いて前記指標が計算されてもよい。
【発明の効果】
【０００９】
本発明によれば、入力音信号から拍および小節の長さをより簡単に推定することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る音信号処理装置１の機能構成を例示する図。
【図２】音信号処理装置１のハードウェア構成を例示する図。
【図３】音信号処理装置１の動作を例示するフローチャート。
【図４】指標計算処理の詳細を例示するフローチャート。
【図５】ＤＦＴ結果を例示する図。
【図６】統合されたＤＦＴ結果を例示する図。
【図７】記憶されている優先度を例示する図。
【発明を実施するための形態】
【００１１】
１．構成
図１は、一実施形態に係る音信号処理装置１の機能構成を例示する図である。音信号処理装置１は、楽曲を示す音信号（以下「入力音信号」という）から、その楽曲における拍子を推定する装置である。
【００１２】
音信号処理装置１は、入力音取得手段１１、単位時間取得手段１２、特徴量計算手段１３、指標計算手段１４、推定手段１５、記憶手段１６、および出力手段１７を有する。入力音取得手段１１は、入力音信号すなわち以下の処理の対象となる楽曲を示す音信号を取得する。単位時間取得手段１２は、入力音信号における単位時間長を取得する。特徴量計算手段１３は、入力音信号から、音色特徴量を計算する。指標計算手段１４は、特徴量計算手段１３により計算された音色特徴量に対し、入力音信号において単位時間長を基準として１拍および１小節の時間長を仮定した場合に、仮定された時間長の妥当性を示す指標を計算する。推定手段１５は、指標計算手段１４により計算された指標に基づいて、単位時間長を基準とする１拍および１小節の時間長を推定する。
【００１３】
記憶手段１６は、１拍および１小節の時間長の組み合わせに対してあらかじめ設定された優先度を記憶している。この例で、推定手段１５は、記憶手段１６に記憶されている優先度に基づいて、１拍および１小節の時間長を推定する。出力手段１７は、推定手段１５により推定された１拍および１小節の時間長に関する情報を出力する。
【００１４】
図２は、音信号処理装置１のハードウェア構成を例示する図である。音信号処理装置１は、ＣＰＵ（Central Processing Unit）１０１、メモリー１０２、ストレージ１０３、通信インターフェース１０４、入力装置１０５、および出力装置１０６を有するコンピュータ装置である。ＣＰＵ１０１は、音信号処理装置１の各部を制御する制御装置である。メモリー１０２は、ＣＰＵ１０１がプログラムを実行する際のワークエリアとして機能する主記憶装置である。ストレージ１０３は、各種のプログラムおよびデータを記憶する不揮発性の記憶装置である。通信インターフェース１０４は、他の装置と所定の通信規格に従った通信を行う装置である。入力装置１０５は、音信号処理装置に情報を入力するための装置であり、例えば、マイクロフォン、タッチスクリーン、キーパッド、およびボタンの少なくとも１つを含む。出力装置１０６は、情報を出力するための装置であり、例えば、ディスプレイおよびスピーカの少なくとも一方を含む。
【００１５】
ストレージ１０３は、コンピュータ装置を音信号処理装置１として機能させるためのプログラムを記憶している。ＣＰＵ１０１がこのプログラムを実行することにより、図１に示した機能が実装される。このプログラムを実行しているＣＰＵ１０１は、入力音取得手段１１、単位時間取得手段１２、特徴量計算手段１３、指標計算手段１４、および推定手段１５の一例である。メモリー１０２およびストレージ１０３は、記憶手段１６の一例である。出力装置１０６は、出力手段１７の一例である。
【００１６】
２．動作
図３は、音信号処理装置１の動作を例示するフローチャートである。図３のフローは、例えば、上記のプログラムが起動されたことを契機として開始される。このフローは、楽曲の拍および小節の時間長を推定する音信号処理方法に係るものである。例えば、拍が八分音符の倍数であると仮定すると、拍および小節の時間長の推定は、１拍を構成する八分音符の数ｂ、および１小節を構成する拍の数ｍを求めることに相当する。パラメーターｍは、この楽曲がｍ拍子であることを示している。例えば、２拍子の楽曲ではｍ＝２であり、３拍子の楽曲ではｍ＝３であり、４拍子の楽曲ではｍ＝４である。拍および小節の時間長の推定は、詳細には以下のとおり行われる。
【００１７】
ステップＳ１において、入力音取得手段１１は、入力音信号を取得する。入力音信号は、例えば、非圧縮または圧縮形式（ｗａｖやｍｐ３等）の音データに基づく楽曲の音信号であるが、これに限定されるものではない。この音データは、ストレージ１０３にあらかじめ記憶されていてもよいし、音信号処理装置１の外部から入力されてもよい。
【００１８】
ステップＳ２において、単位時間取得手段１２は、単位時間長ｔａを取得する。単位時間長ｔａとは、楽曲における音楽的な時間の最小単位をいい、例えば、ある楽器の演奏音の繰り返し単位（一例としてはハイハットでリズムを刻んでいる場合において、ハイハットの一打から次の一打までの間隔）をいう。単位時間長ｔａは、この楽曲における例えば八分音符または十六分音符の長さに相当する。一例として、単位時間取得手段１２は、入力音信号を解析することにより、単位時間長ｔａを計算する。単位時間長ｔａの計算には公知の技術が用いられる。あるいは、単位時間長ｔａは、ユーザーの指示入力により指定されてもよい。この場合、単位時間取得手段１２は、ユーザーの指示入力に応じて単位時間長ｔａを取得する。具体的には、例えば、入力音に合せて単位時間長に相当するタイミングでユーザーがボタンを繰り返し押し（またはタッチスクリーンをタップし）、単位時間取得手段１２は、これに応じて単位時間長ｔａを決定する。
【００１９】
音信号処理装置１により自動的に計算されるにせよ、ユーザーの指示入力により指定されるにせよ、音信号における特徴が現れるタイミング（一例としてはハイハットが鳴るタイミング）は、必ずしも完全に周期的ではない。そのため、ステップＳ２において取得される単位時間長ｔａは、入力音信号のうち解析対象の全区間を通じて一定である必要はない。入力音信号は複数の区間に区分され、各区間において単位時間長ｔａは異なっていてもよい。すなわち、単位時間長ｔａは後述する音色特徴量を平滑化するための時間長の列である。あるいは、音信号処理装置１は、平均値を計算する等の手法により、解析対象の全区間を通じて一定の単位時間長ｔａを決定してもよい。この場合において、楽曲の中でこのタイミングの間隔の変化がしきい値（例えば平均値の１０％）を超えた部分（例えば曲中でテンポが変わっている部分）については、音信号処理装置１は、他の部分とは分けて処理を行ってもよい。
【００２０】
再び図３を参照する。ステップＳ３において、特徴量計算手段１３は、音色特徴量を計算する。この例で、音色特徴量としては、ＭＦＣＣ（メル周波数ケプストラム係数）が用いられる。ＭＦＣＣは、多次元（一例としては１２次元）のベクトルである。ＭＦＣＣは、音信号において音色の特徴を表すパラメーターとして広く知られており、ＭＦＣＣの計算には公知の技術が用いられる。ＭＦＣＣは、各時間フレームにおいて指定された単位時間長ｔａを単位として、時間フレーム毎に計算される。すなわち、ステップＳ３において、ＭＦＣＣの特徴系列ｘ［ｄ，ｔ］が得られる。ｘ［ｄ，ｔ］は、時刻ｔにおける第ｄ次元の特徴量を示している（ｄ∈［０，Ｄ］、ｔ∈［０，Ｔ］）。なお時刻ｔは、単位時間長ｔａを単位として表される。
【００２１】
ステップＳ４において、指標計算手段１４は、指標を計算する。この指標は、音色特徴量に対し、入力音信号において単位時間長ｔａを基準として１拍および１小節の時間長を仮定した場合に、その仮定された時間長の妥当性を示すものである。
【００２２】
図４は、ステップＳ４における指標計算処理の詳細を例示するフローチャートである。ステップＳ４１において、指標計算手段１４は、ＭＦＣＣを時間領域で離散フーリエ変換（ＤＦＴ）する。これにより、ＤＦＴの絶対値Ｒ［ｄ，ｎ］が得られる（次式（１））。なお、ｎは周波数に相当するパラメーターである（ｎ∈［０，Ｎ］）。
【数１】
0006693189.tif 000002
【００２３】
図５は、ＤＦＴ結果を例示する図である。ＤＦＴ結果は、ＭＦＣＣの次元に相当する数だけ得られる。例えばＭＦＣＣが１２次元のベクトルである場合、ＤＦＴの結果は１２個得られる。なお、このＤＦＴ結果において、縦軸はスペクトル強度を示しており、横軸は単位時間長ｔａを基準とする周期τ［ｔａ］を示している。例えば、周期τ＝３に現れているピークは、周期３ｔａの繰り返しに相当するピークである。
【００２４】
再び図４を参照する。ステップＳ４２において、指標計算手段１４は、複数のＤＦＴスペクトルから、指標Ｓ［ｌ］を計算する。指標Ｓ［ｌ］は、入力音信号において周期ｌの繰り返しが現れる強さを示している（ｌ∈［０，Ｌ］）。具体的には、指標計算手段１４は、次式（２）により積和Ｓ［ｌ］を計算する。
【数２】
0006693189.tif 000003
ここで、ｗ［ｌ，ｎ］は、
【数３】
0006693189.tif 000004
ただし
【数４】
0006693189.tif 000005
である。式（２）〜（４）は、長さＮの振幅ＤＦＴにおいて周期ｌに対応する周辺のデータを積和することを意味する。すなわち、ｗ［ｌ，ｎ］は、周期ｌの周辺のデータを切り出すための窓関数である。なお、式（４）のλは実験的に決められる定数である。すなわち、ステップＳ４２は、ＤＦＴの結果に対し、時間領域において単位時間長ｔａを基準とする楽曲における１拍および１小節の時間長に対応する窓関数を適用することにより、その１拍および１小節の時間長の指標を計算するものである。
【００２５】
図６は、指標Ｓ［ｌ］を例示する図である。ここでは説明のため、ＤＦＴ値ΣＲｄおよび窓関数ｗ［ｌ，ｎ］を併せて図示している。この図はｌ＝４の例を示している。指標Ｓ［ｌ］は、ＤＦＴスペクトルの周期ｌ周辺におけるパワー（図中のハッチングした領域の面積）に相当する。指標計算手段１４は、複数の周期ｌの各々について、指標Ｓ［ｌ］を計算する。指標計算手段１４は、計算したＳ［ｌ］を記憶手段１６に記憶する。
【００２６】
再び図４を参照する。ステップＳ４３において、指標計算手段１４は、拍および小節を構成する単位時間長ｔａの数を仮定する。より詳細には、指標計算手段１４は、１拍を構成する単位時間長ｔａの数ｂ、および１小節を構成する拍の数ｍを仮定する。すなわち、指標計算手段１４は、１拍の長さをｂ・ｔａと仮定し、１小節の長さをｍ・ｂ・ｔａと仮定する。
【００２７】
この例で、ｍおよびｂの組み合わせ（ｍ，ｂ）の候補は、音楽的な観点からあらかじめ限定されている。まず第１に、ほとんどの楽曲は２拍子、３拍子、または４拍子である。したがって、例えばｍ∈｛２，３，４｝に限定してしまっても多くの場合、問題がない。また、単位時間長ｔａが八分音符または十六分音符に対応していると考えると、ｍ∈｛２，３，４｝に限定してしまっても多くの場合、問題がない。ｍおよびｂを例えば上記のように限定すると、組み合わせ（ｍ，ｂ）の候補は９通りに限定される。記憶手段１６は、組み合わせの候補を特定する情報を記憶している。指標計算手段１４は、これら９通りの候補の中から、一の組み合わせを順次、選択する。なお、ここで説明した組み合わせ（ｍ，ｂ）の候補の限定は単なる例示でありこれに限定されるものではない。
【００２８】
ステップＳ４４において、指標計算手段１４は、選択された組み合わせ（ｍ，ｂ）に対応する優先度Ｐ０［ｍ，ｂ］を取得する。優先度Ｐ０はあらかじめ設定されており、記憶手段１６に記憶されている。
【００２９】
図７は、記憶手段１６に記憶されている優先度Ｐ０を例示する図である。ここでは、組み合わせ（ｍ，ｂ）の各々について優先度Ｐ０が設定されている。また、ここでは説明のため、備考欄に各組み合わせ（ｍ，ｂ）が何拍子であるかを記載している。なお、この備考自体は記憶手段１６に記憶されていなくてよい。この例で、優先度Ｐ０は、その値が高いほどその（ｍ，ｂ）の組み合わせが発生する可能性が高いことを意味する。例えば、（ｍ，ｂ）＝（４，２）は４／４拍子に相当する（単位時間長ｔａは八分音符に相当）。４／４拍子の楽曲は頻出であるので、ここではＰ０［４，２］＝１．０に設定されている。一方、（ｍ，ｂ）＝（４，３）は１２／８拍子に相当するが、１２／８拍子の楽曲は４／４拍子の楽曲と比較すると出現頻度が低いので、ここではＰ０［４，３］＝０．１に設定されている。指標計算手段１４は、記憶手段に記憶されている優先度の中から、選択された組み合わせ（ｍ，ｂ）を読み出す。
【００３０】
再び図４を参照する。ステップＳ４５において、指標計算手段１４は、指標Ｐ［ｍ，ｂ］を計算する。指標Ｐ［ｍ，ｂ］は、仮定された組み合わせ（ｍ，ｂ）の妥当性を示すものである。この例では、その値が大きいほど組み合わせ（ｍ，ｂ）が妥当であることを示す。具体的に、指標計算手段１４は、次式（５）により指標Ｐ［ｍ，ｂ］を計算する。
【数５】
0006693189.tif 000006
一例として、（ｍ，ｂ）＝（４，４）である場合、
【数６】
0006693189.tif 000007
である。指標計算手段１４は、計算した指標Ｐ［ｍ，ｂ］を記憶手段１６に記憶する。
【００３１】
なお、指標Ｓ［ｌ］についてはｍおよびｂの積に相当するＳ［ｍｂ］まで計算されている必要がある。すなわち、ｍおよびｂの最大値ｍｍａｘおよびｂｍａｘに対し、周期ｌは、
【数７】
0006693189.tif 000008
をカバーしている必要がある。例えば、ｍｍａｘ＝４およびｂｍａｘ＝４であった場合、
【数８】
0006693189.tif 000009
である。したがって、指標計算手段１４は、ステップＳ４２において、式（８）の範囲で指標Ｓ［ｌ］を計算する。
【００３２】
ステップＳ４６において、指標計算手段１４は、（ｍ，ｂ）の全ての組み合わせ候補について指標Ｐ［ｍ，ｂ］の計算が完了したか判断する。まだ指標Ｐ［ｍ，ｂ］を計算していない組み合わせ（ｍ，ｂ）があったと判断された場合（Ｓ４６：ＮＯ）、指標計算手段１４は、処理をステップＳ４３に移行する。以下、組み合わせ（ｍ，ｂ）を更新し、ステップＳ４４およびＳ４５の処理が繰り返し実行される。全ての組み合わせ候補について指標Ｐ［ｍ，ｂ］の計算が完了したと判断された場合（Ｓ４６：ＹＥＳ）、指標計算手段１４は、図４のフローを終了する。
【００３３】
再び図３を参照する。ステップＳ５において、推定手段１５は、入力音信号においてもっともらしい組み合わせ（ｍ，ｂ）を推定する。具体的には、指標計算手段１４は、指標Ｐ［ｍ，ｂ］が最も高い値を示した組み合わせ（ｍ，ｂ）がもっともらしいと推定する。
【００３４】
ステップＳ６において、出力手段１７は、推定手段１５により推定された組み合わせ（ｍ，ｂ）に関する情報を出力する。組み合わせ（ｍ，ｂ）に関する情報は、例えば、入力音信号に係る楽曲の拍子（４／４拍子、４／３拍子等）である。あるいは、出力手段１７は、組み合わせ（ｍ，ｂ）を特定するためのパラメーターを出力する。出力先がユーザーである場合、この情報の出力は、例えばディスプレイにおける表示である。出力先が他の音信号処理システムであった場合、この情報の出力は、例えばデータの出力である。
【００３５】
３．実施例
表１は、上記の実施形態に係る方法（実施例）と比較例に係る方法とによる拍子推定の結果を例示するものである。本願の発明者らは、実際の楽曲に対し実施例に係る方法および比較例に係る方法を用いて拍子推定を行い、その正解率を評価した。比較例としては、楽曲の拍子をすべて４／４拍子と推定するアルゴリズムが用いられた。拍子推定の対象として、いわゆるポピュラー音楽系の楽曲を１００曲準備した。なお、楽曲は４拍子系（拍子の分子が２の倍数）と３拍子系（拍子の分子が３の倍数）とに分類した。
【表１】
0006693189.tif 000010
実施例では４拍子系の楽曲に対する正解率が比較例よりも若干低下しているが、３拍子系の楽曲に対する正解率が劇的に向上しており、全体としては正解率が比較例よりも大幅に改善した。
【００３６】
４．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００３７】
指標Ｐ［ｍ，ｂ］の具体的な計算方法は実施形態で例示したものに限定されない。例えば、優先度Ｐ０は考慮されなくてもよい。すなわち、式（５）の右辺第３項は省略されてもよい。
【００３８】
実施形態においては組み合わせ（ｍ，ｂ）の候補が音楽的な観点から限定されている例を説明したが、このような限定は行われなくてもよい。例えば、ｍおよびｂはそれぞれ取り得る値の範囲が個別に設定されており、これらの範囲内で可能な組み合わせ（ｍ，ｂ）が全て組み合わせの候補とされてもよい。なおこの場合において、優先度Ｐ０により、音楽的に意味の無い組み合わせ（ｍ，ｂ）がもっともらしいと推定される可能性を排除してもよい。例えば、（ｍ，ｂ）＝（７，３）の組み合わせは７／８拍子に相当するが、７／８拍子の楽曲は存在自体が少ないので、優先度Ｐ０を低い値、例えば負の値に設定してもよい。
【００３９】
実施形態の例では数ｍは１小節に含まれる拍の数を表していたが、数ｍは１小節に含まれる単位時間長ｔａの数を表していてもよい。この場合、数ｍは数ｂの整数倍でなければならないので、組み合わせ（ｍ，ｂ）の候補を限定する際に数ｍが数ｂの整数倍でないものを除外してもよい。あるいは、組み合わせ（ｍ，ｂ）の候補は限定せずに、数ｍが数ｂの整数倍でない組み合わせ（ｍ，ｂ）に対応する優先度Ｐ０を極端に低い値、例えば−∞に設定してもよい。
【００４０】
音色特徴量は実施形態で説明したものに限定されない。例えば、フォルマント周波数、ＬＰＣ（Linear Predictive Coding）ケプストラム等、ＭＦＣＣ以外の特徴量が用いられてもよい。
【００４１】
窓関数は式（３）で例示されたものに限定されない。周期ｌの周辺のスペクトルを切り出すことができるものであれば関数の形式はどのようなものであってもよい。
【００４２】
実施形態の例では単一の装置が図１の機能をすべて有していたが、図１の機能は、クライアント装置およびサーバ装置に分けて実装されていてもよい。例えば、特徴量計算手段１３、指標計算手段１４、推定手段１５、および記憶手段１６がサーバ装置に実装され、入力音取得手段１１、単位時間取得手段１２、および出力手段１７がクライアント装置に実装されてもよい。
【００４３】
音信号処理装置１のＣＰＵ１０１等により実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリーなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。また、このプログラムは、図３のすべてのステップを備える必要はない。例えば、このプログラムは、ステップＳ１、ステップＳ２およびステップＳ６のみを備えていてもよい。また、このプログラムは、ステップＳ１、ステップＳ２およびステップＳ３のみを備えるようにしてもよい。さらに、このプログラムは、ステップＳ１およびステップＳ６のみを備えるようにしてもよい。
【符号の説明】
【００４４】
１…音信号処理装置、１１…入力音取得手段、１２…単位時間取得手段、１３…特徴量計算手段、１４…指標計算手段、１５…推定手段、１６…記憶手段、１７…出力手段、１０１…ＣＰＵ、１０２…メモリー、１０３…ストレージ、１０４…通信インターフェース、１０５…入力装置、１０６…出力装置
【図１】
0006693189.tif 000011
【図２】
0006693189.tif 000012
【図３】
0006693189.tif 000013
【図４】
0006693189.tif 000014
【図５】
0006693189.tif 000015
【図６】
0006693189.tif 000016
【図７】
0006693189.tif 000017