説明

楽器音分離装置、及びプログラム

【課題】混合音から楽器音を分離・抽出する際の精度を向上させた楽器音分離装置、及びプログラムの提供。
【解決手段】音源分離処理では、スペクトル振幅値tusp(twi,fi)に対して、1つの特定音から導出されたスペクトル振幅値ntsp(twi,fi)の相関値が最大となる、特定音範囲に対応する対応範囲を特定する。そして、特定された対応範囲において、振幅比率krを導出して、その導出された振幅比率krを、スペクトル振幅値ntsp(twi,fi)に乗算することで、特定音に対応する楽音推移tuwfでの楽器音の複素スペクトルを表す分離スペクトルを導出する(S310)。その分離スペクトルを逆フーリエ変換して、区間推移を導出し(S320)、その導出された区間推移にて、楽器音推移trwfにおける対応範囲を置換することで、楽器音推移trwfを新たに更新する(S330)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の音が重畳した混合音から楽器音を分離する楽器音分離装置、及びプログラムに関する。
【背景技術】
【0002】
従来、楽曲を構成する楽音の音圧が時間軸に沿って推移した既知の楽音波形を用いて、音声や物音といった主要音に、楽曲(例えば、BGMとして演奏された楽曲)にて演奏された楽器音が重畳した混合音から、楽曲の楽器音を除去する音源分離装置が知られている(特許文献1参照)。
【0003】
この特許文献1に記載された音源分離装置においては、混合音に含まれている楽曲の楽器音の音圧が時間軸に沿って推移した楽器音波形が、既知の楽音波形に時間軸に沿って一致している(即ち、波形が合同である)と仮定している。そして、特許文献1に記載された音源分離装置では、混合音の音圧と既知の楽音波形における音圧との差が最小となるタイミングを、楽器音波形と既知の楽音波形との双方の開始位置として、既知の楽音波形全体を混合音から減算することで、楽曲の楽器音全体を混合音から除去している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4274418号
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、楽曲が同一であっても、当該楽曲を演奏する演奏者によっては、その楽曲を構成する各楽音の出力タイミングや各楽音の音高は異なることが多い。また、各楽音の出力タイミングや各楽音の音高は、演奏者が同一であっても、当該楽曲が演奏される毎にアレンジされることがある。
【0006】
このように、各楽音の出力タイミングや各楽音の音高が、楽曲が演奏される毎に異なると、混合音に含まれる当該楽曲の楽器音波形は、既知の楽音波形との間にズレを有する(即ち、楽器音波形は、既知の楽音波形に合同とはならない)可能性が高い。したがって、特許文献1に記載された音源分離装置にて混合音から分離・抽出した楽器音は、出力タイミングや音高が異なる区間について、実際に演奏された楽音と異なるという問題があった。
【0007】
つまり、特許文献1に記載の音源分離装置では、楽器音を混合音から分離・抽出する際の精度が低いという問題があった。
そこで、本発明は、混合音から楽器音を分離・抽出する際の精度を向上させた楽器音分離装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するためになされた本発明の楽器音分離装置は、楽音取得手段と、楽音解析手段と、特定音取得手段と、特定音解析手段と、範囲特定手段と、振幅比率導出手段と、区間推移導出手段と、楽器音分離手段とを備えている。
【0009】
この本発明の楽器音分離装置では、楽音取得手段が、楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得し、その取得された楽音推移に含まれる周波数と各周波数の強さとを表す周波数スペクトルを時間軸に沿って配した楽音スペクトログラムを、楽音解析手段が導出する。そして、少なくとも一種類の楽器の楽器音を模擬した特定音を出力する音源モジュールにて演奏される楽曲の楽譜を表す演奏データに基づいて、特定音取得手段が、規定された一種類の楽器である対象楽器の特定音の音圧が時間軸に沿って推移する特定音推移を取得し、その取得された特定音推移に含まれる周波数と各周波数の強さとを表す周波数スペクトルを時間軸に沿って配した特定音スペクトログラムを、特定音解析手段が、音源モジュールにて対象楽器の各特定音が演奏される時間長である分析区間毎に導出する。
【0010】
さらに、本発明の楽器音分離装置では、範囲特定手段が、特定音解析手段にて導出された特定音スペクトログラムそれぞれを楽音解析手段にて導出された楽音スペクトログラムに照合して、周波数軸及び時間軸に沿って特定音スペクトログラムが最も一致する楽音スペクトログラムでの範囲である対応範囲を特定し、その特定された対応範囲それぞれでの楽音スペクトログラムの周波数の強さと、特定音スペクトログラムの周波数の強さとの比を表す振幅比率を、振幅比率導出手段が、各周波数について導出する。これと共に、その導出された振幅比率それぞれを、当該分析区間に対応する楽音スペクトログラムを構成する周波数スペクトルの各周波数の強さに乗じた結果である分離スペクトルから、区間推移導出手段が、時間軸に沿った音圧の推移である区間推移を導出して、その導出された区間推移を楽曲の時間軸に沿って配することで、楽器音分離手段が、楽音推移において対象楽器の楽器音の音圧が時間軸に沿って推移した楽器音推移を生成する。
【0011】
このような本発明の楽器音分離装置によれば、楽音推移から、楽器音推移を生成(抽出)することができる。
また、本発明の楽器音分離装置にて特定される対応範囲は、楽音スペクトログラムと特定音スペクトログラムとが、周波数軸及び時間軸の両方の軸に沿って最も一致する範囲である。このため、本発明の楽器音分離装置によれば、楽音取得手段にて取得する楽音推移が、各楽音の出力タイミングや音高が演奏データにおける特定音推移とは異なるようにアレンジされたものであっても、そのアレンジされた楽音の出力タイミングや音高に対応する範囲を対応範囲として特定することができる。
【0012】
よって、本発明の楽器音分離装置によれば、楽音推移から生成した楽器音推移を、その楽曲にて実際に演奏された楽器音に近づけることができる。この結果、楽音推移から楽器音推移を生成する際の精度を向上させることができる。
【0013】
ところで、演奏データに、音源モジュールから特定音の出力を開始するタイミングを表す発音タイミング、及び発音タイミングに対応し、かつ特定音の出力を終了するタイミングを表す終了タイミングが規定されていても良い。この場合、本発明の楽器音分離装置における特定音解析手段は、請求項2に記載のように、発音タイミングから、当該発音タイミングに対応する終了タイミングまでの期間それぞれを、分析区間として規定しても良い。
【0014】
このような本発明の楽器音分離装置によれば、区間推移を、発音タイミングから終了タイミングまでの期間、即ち、演奏データにおける音符毎に導出することができる。この結果、本発明の楽器音分離装置によれば、楽音推移が、楽曲において一つの音符のみがアレンジされたものであっても、楽器音推移を精度良く生成することができる。
【0015】
さらに、本発明の楽器音分離装置において、範囲特定手段が特定音スペクトログラムを照合する楽音スペクトログラムでの区間は、請求項3に記載されたように、発音タイミングから、当該発音タイミングに対応する終了タイミングまでの期間に対応する楽音推移上の期間を時間軸に沿って始端及び終端が挟むように規定される楽音スペクトログラムでの区間であっても良い。この区間は、特定音スペクトログラムとの一致度が高いと予測される区間を包含したものとなる。
【0016】
このため、本発明の楽器音分離装置によれば、特定音スペクトログラムを楽音スペクトログラムに照合して対応区間を特定するまで、ひいては、楽器音推移を生成するまでに要する処理量を低減できる。
【0017】
また、本発明の楽器音分離装置では、請求項4に記載のように、特定音解析手段にて特定音スペクトログラムを導出する毎に、範囲特定手段が、対応範囲を特定し、その範囲特定手段にて対応範囲を特定する毎に、振幅比率導出手段が、振幅比率を導出し、その振幅比率導出手段にて振幅比率を導出する毎に、区間推移導出手段が、区間推移を導出しても良い。
【0018】
このような楽器音分離装置によれば、反復して処理を実行することなく、楽音推移及び特定音推移の時間軸に沿った一連の処理によって楽器音推移を生成することができる。
この結果、本発明の楽器音分離装置によれば、楽器音推移を生成するまでに要する処理量を低減することができ、ひいては、楽器音推移を生成するまでに要する時間を短縮できる。
【0019】
そして、本発明の楽器音分離装置における特定音取得手段では、請求項5に記載のように、演奏データに従って音源モジュールが出力する特定音に対応する各楽器が、それぞれ、対象楽器として規定されていても良い。
【0020】
このような楽器音分離装置によれば、演奏データに従って音源モジュールが出力する全ての楽器の楽器音推移を、楽音推移から生成(分離・抽出)することができる。
さらに、本発明の楽器音分離装置では、請求項6に記載のように、記憶制御手段が、区間推移導出手段にて導出された区間推移を楽音推移から減算した残留楽音推移を導出して、その導出した残留楽音推移を記憶装置に記憶し、推移導出手段が、演奏データに従って音源モジュールが出力する特定音に対応する各楽器についての区間推移を順次導出すると共に、推移導出手段にて区間推移が導出される毎に、更新手段が、その導出された区間推移それぞれを記憶装置に記憶された残留楽音推移から減算して、当該記憶装置に記憶された残留楽音推移を更新しても良い。
【0021】
このような本発明の楽器音分離装置によれば、楽音として歌声が含まれた楽音推移を取得した場合、その楽音推移から全ての楽器音についての区間推移(即ち、楽器音推移)を減算すれば、歌声の音圧の時間軸に沿った推移が残る。つまり、本発明の楽器音分離装置によれば、楽曲における歌声の音圧の推移を抽出することができる。
【0022】
なお、本発明は、コンピュータを楽器音分離装置として機能させるためのプログラムであっても良い。
本発明が、このようなプログラムとしてなされている場合、本発明のプログラムは、請求項8に記載されたように、楽音推移を取得する楽音取得手順と、その取得された楽音推移から、楽音スペクトログラムを導出する楽音解析手順と、演奏データに基づいて、特定音推移を取得する特定音取得手順と、その取得された特定音推移から、特定音スペクトログラムを分析区間毎に導出する特定音解析手順と、その導出された特定音スペクトログラムそれぞれを楽音スペクトログラムに照合して、対応範囲を特定する範囲特定手順と、その特定された対応範囲それぞれでの振幅比率を、各周波数について導出する振幅比率導出手順と、その導出された振幅比率それぞれを、当該分析区間に対応する楽音スペクトログラムを構成する周波数スペクトルの各周波数の強さに乗じた結果である分離スペクトルから、時間軸に沿った音圧の推移である区間推移を導出する区間推移導出手順と、その導出された区間推移を楽曲の時間軸に沿って配することで、楽器音推移を生成する楽器音分離手順とを実行させる必要がある。
【0023】
本発明のプログラムが、このようになされていれば、例えば、DVD−ROM、CD−ROM、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードさせて起動することや、必要に応じて通信回線を介してコンピュータに取得させて起動することにより用いることができる。そして、コンピュータに各手順を実行させることで、そのコンピュータを、請求項1に記載された楽器音分離装置として機能させることができる。
【図面の簡単な説明】
【0024】
【図1】実施形態における楽器音分離装置の概略構成を示すブロック図である。
【図2】楽音推移の概要、及び楽譜データのデータ構造を示す説明図である。
【図3】音源分離装置の制御部が実行する音源分離処理の処理手順を示すフローチャートである。
【図4】音源分離処理において導出される楽音スペクトログラム、及び特定音推移の概要を示す説明図である。
【図5】音源分離処理において導出される特定音スペクトログラム、及び時間周波数ズレを補正する方法の概要を示す説明図である。
【図6】第一実施形態において、制御部が実行する楽器音分離処理の処理手順を示すフローチャートである。
【図7】楽器音分離処理において、分離スペクトルを導出する方法の概要を示す説明図である。
【図8】楽器音分離処理において、楽器音波形を更新する方法の概要を示す説明図である。
【図9】第二実施形態において、制御部が実行する楽器音分離処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下に本発明の実施形態を図面と共に説明する。
[第一実施形態]
本発明が適用された楽器音分離装置は、楽曲において演奏された複数種類の楽器の楽器音が重畳した楽音の音圧が時間軸に沿って推移した音響データから、一種類の楽器音の音圧が時間軸に沿って推移した楽器音推移trwfを分離・抽出する装置であり、図1に示す情報処理装置10によって構成されている。
【0026】
〈楽器音分離装置の構成について〉
図1に示すように、情報処理装置10は、通信部11と、音響データ読取部12と、入力受付部13と、表示部14と、音声入力部15と、音声出力部16と、音源モジュール17と、記憶部18と、制御部20とを備えている。
【0027】
このうち、通信部11は、情報処理装置10をネットワーク(例えば、専用回線やWAN)に接続し、その接続されたネットワークを介して外部と通信を行うものである。
音響データ読取部12は、記憶媒体に記憶されている音響データから、当該音響データに対応する楽曲を時間軸に沿って順次読み取る装置(例えば、CDやDVDの読取装置)である。その音響データは、図2(A)に示すような楽音の音圧が時間軸に沿って推移したアナログ波形を標本化(サンプリング)することで生成されている。
【0028】
そして、入力受付部13は、外部からの操作に従って情報や指令の入力を受け付ける入力機器(例えば、キーボードやポインティングデバイス)である。表示部14は、画像を表示する表示装置(例えば、液晶ディスプレイやCRT等)である。また、音声入力部15は、音声を電気信号に変換して制御部20に入力する装置(いわゆるマイクロホン)である。音声出力部16は、制御部20からの電気信号を音声に変換して出力する装置(いわゆるスピーカ)である。
【0029】
さらに、音源モジュール17は、楽曲の楽譜を表す演奏データに基づいて、予め登録された楽器(以下、模擬楽器とする)の楽器音を模擬した音(以下、特定音とする)を出力する装置であり、本実施形態では、周知のMIDI(Musical Instrument Digital Interface)音源によって構成されている。一般的に、模擬楽器には、鍵盤楽器(例えば、ピアノやパイプオルガンなど)、弦楽器(例えば、バイオリンやビオラ、ギター、琴など)、打楽器(例えば、ドラムやシンバル、ティンパニー、木琴など)、及び管楽器(例えば、クラリネットやトランペット、フルート、尺八など)が少なくとも含まれている。
【0030】
また、記憶部18は、記憶内容を読み書き可能に構成された不揮発性の記憶装置(例えば、ハードディスク装置)である。この記憶部18には、処理プログラムや演奏データが少なくとも格納される。
【0031】
〈演奏データの構造について〉
次に、演奏データは、周知のMIDI規格によって表されたデータであり、楽曲を区別するデータである識別データと、音源モジュール17にて演奏される当該楽曲の楽譜を表す楽譜データとを少なくとも有している。
【0032】
このうち、楽譜データは、当該楽曲にて演奏される模擬楽器の種類毎に用意されるものであり、模擬楽器の種類に応じてインデックス番号mti(mti=1〜MTN)が割り振られている。その各楽譜データは、図2(B)に示すように、音源モジュール17が特定音を出力する期間(以下、音符長)、及び各特定音の音高(図2中、ノートナンバー)NNniを表す音符NOniを羅列したものである。さらに、楽譜データには、音源モジュール17が出力する各特定音の強さ(いわゆるアタック、ベロシティ、ディケイなど)が、当該特定音に対応する音符NOni毎に含まれている。
【0033】
このうち、楽譜データの音符長は、当該特定音の出力を開始するまでの当該楽曲の演奏開始からの時刻を表す発音タイミング(図2中、ノートオンタイミング)ONniと、当該特定音の出力を終了するまでの当該楽曲の演奏開始からの時刻を表す終了タイミング(図2中、ノートオフタイミング)OFFniとによって規定されている。つまり、音符NOniの音符長は、発音タイミングONniから終了タイミングOFFniまでの時間長である。
【0034】
なお、本実施形態において、符合niは、当該音符NOniに対応する特定音が楽曲の演奏開始から何番目に演奏されるものであるかを表すインデックス番号である。
〈制御部の構成について〉
さらに、制御部20は、ROM21と、RAM22と、CPU23とを少なくとも有した周知のコンピュータを中心に構成されている。
【0035】
このうち、ROM21は、電源が切断されても記憶内容を保持する必要がある処理プログラムやデータを格納するものである。また、RAM22は、処理プログラムやデータを一時的に格納するものである。そして、CPU23は、ROM21やRAM22に記憶された処理プログラムに従って各処理(各種演算)を実行する。
【0036】
なお、本実施形態では、制御部20が実行する処理プログラムとして、音響データから楽器音推移trwfを分離・抽出するものが予め用意されている。以下、本実施形態では、音響データから楽器音推移trwfを分離・抽出する処理を音源分離処理と称す。
【0037】
〈音源分離処理の処理内容について〉
次に、制御部20が実行する音源分離処理について説明する。
この音源分離処理は、入力受付部13を介して、当該音源分離処理を起動するための起動指令が入力されると、実行が開始されるものである。
【0038】
そして、図3に示すように、音源分離処理は、起動されると、入力受付部13を介して入力された情報によって指定される楽曲に対応する演奏データ(即ち、楽譜データ)を取得する(S110(Sは、ステップを意味する))。
【0039】
続いて、音響データに基づいて、楽音の音圧が時間軸に沿って推移した波形である楽音推移tuwf(ti)を取得する(S120)。具体的に、本実施形態では、音響データ読取部12にて読み取った当該楽曲を再生して、その再生した音声(即ち、複数の楽器の楽器音)を音声出力部16から出力する。そして、音声入力部15を介して入力された音声をサンプリングすることで楽音推移tuwf(ti)を取得する。なお、符合tiは、時間軸に沿ってサンプリングした順番である。
【0040】
ただし、本実施形態では、本音源分離処理が起動される前に、S110にて取得する演奏データでの楽曲と同一な楽曲の音響データが記憶された記憶媒体が、音響データ読取部12に配置されているものとする。
【0041】
続いて、S120にて取得した楽音推移tuwfを、予め規定された時間長WLである分析時間窓twi毎に周波数解析し、その周波数解析の結果をRAM22(または記憶部18)に記憶する。(S130)。
【0042】
ただし、本実施形態の周波数解析は、周知の離散フーリエ変換(DFT:discrete Fourier transform)によって実施される。その離散フーリエ変換は、楽音推移tuwfの開始時刻から終了時刻までの期間を、予め規定された時間長であるシフト幅WSL(ただし、シフト幅WSL<<分析時間窓の時間長WL)で、時間軸に沿って分析時間窓twiをシフトすることを繰り返しながら実行される。このため、S130での周波数解析の結果、楽音推移tuwfの各分析時間窓twiに含まれている周波数毎に、その周波数の強さ(以下、スペクトル振幅値とする)tusp(twi,fi)が、周波数解析の結果として導出される。ただし、本実施形態では、スペクトル振幅値tuspは、実数部及び虚数部それぞれについて導出される。また、符合fiは、周波数の区分(即ち、DFTによって導出される周波数区分:単位[bin])である。
【0043】
すなわち、本実施形態では、スペクトル振幅値tusp(twi,fi)を、対数軸にて表した周波数軸に沿って配置することで複素(周波数)スペクトルを導出する。そして、その複素スペクトルのスペクトル振幅値tusp(twi,fi)を絶対値とした振幅スペクトルを、時間軸に沿って配置したスペクトログラム(図4(A)参照、以下、楽音スペクトログラムとする)を導出する。なお、図4(A)に示す楽音スペクトログラムでは、スペクトル振幅値tusp(twi,fi)の大きさを色の濃淡によって表した。
【0044】
そして、S110にて取得した楽譜データのインデックス番号mtiを初期値(本実施形態では、初期値=0)に設定する(S140)。続いて、設定されている楽譜データのインデックス番号(以下、設定インデックスとする)mtiが、楽譜データにおいて最大のインデックス番号(以下、最終インデックス)MTN未満であるか否かを判定する(S150)。
【0045】
そのS150での判定の結果、設定インデックスmtiが最終インデックスMTN未満であれば(S150:YES)、設定インデックスmtiを1つインクリメントする(S160)。続いて、楽器音推移trwf(mti,ti)を初期値に設定する(S170)。本実施形態において、楽器音推移trwfの初期値は、音圧が時間軸に沿って全て「0」に設定されたゼロ波形である。
【0046】
そして、設定インデックスmtiに対応する楽譜データにおける音符NOのインデックス番号(以下、音符インデックスとする)niを初期値(本実施形態では、0とする)に設定する(S180)。続いて、音符インデックスniが、設定インデックスmtiに対応する楽譜データでの最大のインデックス番号(以下、最終音符とする)NNPT(mti)未満であるか否かを判定する(S190)。
【0047】
そのS190での判定の結果、音符インデックスniが、最終音符NNPT(mti)未満であれば(S190:YES)、音符インデックスniを1つインクリメントする(S200)。そのインクリメントされた音符インデックスniを有した音符(以下、対象音符とする)NOniに対応する1つの特定音の音圧が、図4(B)に示すような時間軸に沿って推移した波形である特定音推移ntwf(ti)を取得する(S210)。具体的に、本実施形態のS210では、対象音符NOniに対応する特定音を音源モジュール17に出力させ、音声入力部15を介して受け付けることで特定音推移ntwf(ti)を取得する。
【0048】
そして、取得した特定音推移ntwf(ti)を周波数解析する(S220)。ただし、本実施形態の周波数解析は、離散フーリエ変換によって実施され、その離散フーリエ変換は、特定音推移ntwf(ti)(即ち、1つの特定音)の開始から終了までの期間について、分析時間窓twiをシフト幅WSLで時間軸に沿ってシフトさせることを繰り返しながら実行される。
【0049】
このような周波数解析の結果、S220では、特定音推移ntwf(ti)における各分析時間窓twiに含まれる周波数毎に、その周波数の強さ(即ち、スペクトル振幅値)ntsp(twi,fi)が、実数部及び虚数部の両方について導出される。すなわち、本実施形態では、スペクトル振幅値ntsp(twi,fi)を周波数軸に沿って配置することで複素(周波数)スペクトルを導出する。そして、その複素スペクトルのスペクトル振幅値ntspを絶対値とした振幅スペクトルを、時間軸に沿って配置したスペクトログラム(図5(A)参照、以下、特定音スペクトログラムと称す)を導出する。なお、図5(A)の特定音スペクトログラムでは、スペクトル振幅値ntsp(twi,fi)の大きさを色の濃淡によって表した。
【0050】
続いて、RAM22(または記憶部18)に記憶されているスペクトル振幅値tusp(twi,fi)に対して、S220にて導出されたスペクトル振幅値ntsp(twi,fi)の相関値が最大となる時間軸方向の補正量(以下、ズレ量とする)dtwi及び周波数軸に沿ったズレ量dfiを導出する(S230)。
【0051】
具体的に、本実施形態のS230では、対象音符NOniの発音タイミングONniに対応する楽音推移tuwfでの分析時間窓notwiを、下記(1)式により特定する。なお、(1)式に示す関数roundは、小数点以下を四捨五入した整数値を返す関数である。
【0052】
【数1】

そして、下記(2)式により、楽音スペクトログラムを構成する全範囲でのスペクトル振幅値tuspに対して、S220にて導出された特定音スペクトログラムを構成するスペクトル振幅値ntsp(twi,fi)の相関値が最大となる分析時間窓twi及び周波数区分fiを特定する。ただし、下記(2)式にて導出されるズレ量dtwiは、上述した相関値が最大となる分析時間窓twiが、分析時間窓notwiから時間軸に沿って何番目であるかを表し、ズレ量dfiは、上述した相関値が最大となる周波数区分fiが、最小の周波数区分fiMINから周波数軸に沿って何番目であるかを表す。なお、(2)式に示す関数argmaxは、括弧内の関数(本実施形態では、相関値)が最大となる変数(p,q)を返す関数である。
【0053】
【数2】

すなわち、(2)式では、図5(B)に示すように、(1)式によって特定された分析時間窓notwiを原点として、S220にて導出された特定音スペクトログラムを構成するスペクトル振幅値ntsp(twi,fi)を、周波数軸及び時間軸に沿ってシフトさせながら相関値が最大となるズレ量dtwi及びズレ量dfiを導出する。
【0054】
続いて、S230にて導出されたズレ量dtwi,dfiに基づいて、楽音スペクトログラムを構成する全範囲でのスペクトル振幅値tusp(twi,fi)の中で、S220にて導出された特定音スペクトログラムを構成するスペクトル振幅値ntsp(twi,fi)に対応する範囲(以下、対応範囲とする)を特定する(S240)。具体的に、本実施形態では、先のS230にて導出されたズレ量dtwiを分析時間窓notwiに加えた分析時間窓notwi+dtwi、及び最小の周波数区分fiMINにズレ量dfiを加えた周波数区分fi+dfiを原点として、特定音スペクトログラムを構成するスペクトル振幅値ntsp(twi,fi)に対応する楽音スペクトログラム上での範囲を対応範囲とする。
【0055】
続いて、対応範囲でのスペクトル振幅値tusp(twi,fi)と、特定音スペクトログラムを構成するスペクトル振幅値ntsp(twi,fi)との比を表す振幅比率kr(twi,fi)を導出する(S250)。なお、特定音スペクトログラムを構成するスペクトル振幅値ntsp(twi,fi)は、最小の周波数区分fiMINから、先のS230にて導出されたズレ量dfiシフトしたものである。
【0056】
具体的に、S250では、振幅比率Krは、複素スペクトルの絶対値に対して、各分析時間窓twiにおける周波数区分fi毎に導出する。ただし、本実施形態における振幅比率krは、特定音スペクトログラムを構成するスペクトル振幅値ntsp(twi,fi)が、スペクトル振幅値tusp(twi,fi)よりも大きければ、その値を「1」とし、スペクトル振幅値ntsp(twi,fi)が、スペクトル振幅値tusp(twi,fi)よりも小さければ、両スペクトル振幅値の比としている。
【0057】
そして、S250にて導出された振幅比率krに基づいて、対応範囲に対応する楽音推移tuwfの期間である特定期間にて、楽器音の音圧が時間軸に沿って推移した波形である区間推移ntcpwf(ti)を導出すると共に、楽器音推移trwf(mti,ti)での特定期間を、その導出された区間推移ntcpwf(ti)へと更新する楽器音分離処理を実行する(S260)。
【0058】
その後、S190へと戻り、対象音符NOniの音符インデックスniが、設定インデックスmtiにおける最終音符NNPT(mti)未満であれば(S190:YES)、S190からS260のステップを繰り返す。そして、対象音符NOniの音符インデックスniが、設定インデックスmtiにおける最終音符NNPT(mti)以上となると(S190:NO)、S260での楽器音分離処理にて更新された楽器音推移trwf(mti,ti)を記憶部18に記憶する(S270)。すなわち、音響データから、楽譜データにおける最初の音符NO1に対応する楽器音から最後の音符NONNPT(mti)に対応する楽器音まで分離し終えると、S270を経てS150へと戻る。
【0059】
そのS270を経て戻ったS150では、設定インデックスmtiが、最終インデックスMTN未満であれば(S150:YES)、S150からS270のステップを繰り返す。そして、設定されている設定インデックスmtiが、最終インデックスMTN以上となると(S150:NO)、本音源分離処理を終了する。すなわち、演奏データに対応する楽曲にて演奏された全ての楽器について、音響データから楽器音推移trwf(mti,ti)を生成して分離し終えると、本音源分離処理を終了する。
【0060】
〈楽器音分離処理の処理について〉
次に、音源分離処理のS260にて起動される楽器音分離処理について説明する。
図6に示すように、この楽器音分離処理は、起動されると、楽音推移tuwfでの特定期間に含まれる対象音符NOniに対応する楽器音の周波数毎に、各周波数の強さを表すスペクトル振幅値(本発明の分離スペクトルに相当)ntcpsp(twi,fi)を導出する(S310)。
【0061】
本実施形態のS310では、RAM22(または記憶部18)に記憶されている楽音スペクトログラムを構成する全範囲でのスペクトル振幅値tusp(twi,fi)のうち、対応範囲のスペクトル振幅値tusp(twi,fi)に、振幅比率krを乗算してスペクトル振幅値ntcpsp(twi,fi)を導出する。具体的に、図7(A)、及び図7(B)に示すように、複素スペクトルの実数部と虚数部とにおける分析時間窓twiのスペクトル振幅値tuspに、各分析時間窓twiと周波数区分fiとの組み合わせに対応する振幅比率krを乗算する。この振幅比率krの乗算は、周波数毎に実行される。なお、図7中において、実線は、分離スペクトルとして導出されたスペクトル振幅値ntcpsp(twi,fi)であり、破線は、楽音スペクトログラムにおけるスペクトル振幅値tusp(twi,fi)である。
【0062】
そして、S310にて導出された分離スペクトルのスペクトル振幅値ntcpsp(twi,fi)を逆離散フーリエ変換(IDFT:inverse discrete Fourier transform)して、区間推移ntcpwfを導出する(S320)。その導出した区間推移ntcpwfに基づいて、下記(3)式に従って、楽器音推移trwfoldを楽器音推移trwfnewへと更新する(S330)。ただし、添え字oldは、更新前の楽器音推移trwfであることを表し、添え字newは、更新後の楽器音推移trwfであることを表す。
【0063】
【数3】

すなわち、本実施形態のS330では、図8(A)に示すように、初期値に設定されていた特定期間での楽器音推移trwfoldを、図8(B)に示すように、区間推移ntcpwfへと置き換えることで、楽器音推移trwfnewへと更新している。
【0064】
そして、その後、音源分離処理へと戻り、S190へと進む。
つまり、本実施形態の音源分離処理では、スペクトル振幅値tusp(twi,fi)に対して、1つの特定音から導出されたスペクトル振幅値ntsp(twi,fi)の相関値が最大となる対応範囲を特定する。そして、特定された対応範囲から振幅比率krを導出して、その導出された振幅比率krを、スペクトル振幅値tusp(twi,fi)に乗算することで、特定音に対応する楽音推移tuwfでの楽器音の複素スペクトルを表すスペクトル振幅値ntcpsp(twi,fi)を導出する。
【0065】
さらに、そのスペクトル振幅値ntcpsp(twi,fi)を逆フーリエ変換して、区間推移ntcpwfを導出し、その導出された区間推移ntcpwfにて、楽器音推移trwfにおける対応範囲を置換することで、楽器音推移trwfを更新する。
【0066】
[第一実施形態の効果]
以上説明したように、本実施形態の楽器音分離装置10によれば、楽音推移tuwfから、楽器音推移trwfを生成(抽出)することができる。
【0067】
特に、楽器音分離装置10にて特定される対応範囲は、楽音スペクトログラムと特定音スペクトログラムとが、周波数軸及び時間軸の両方の軸に沿って最も一致する範囲である。このため、楽器音分離装置10によれば、取得された楽音推移tuwfにおいて各楽音の出力タイミングや音高が、演奏データにおける発音タイミングや音高とは異なるようにアレンジされたものであっても、そのアレンジされた出力タイミングや音高に対応する範囲を対応範囲として特定することができる。
【0068】
よって、楽器音分離装置10によれば、楽音推移tuwfから生成した楽器音推移trwfを、その楽曲にて実際に演奏された楽器音に近づけることができる。この結果、楽音推移tuwfから楽器音推移trwfを生成する際の精度を向上させることができる。
【0069】
しかも、本実施形態の楽器音分離装置10によれば、区間推移ntcpwfを演奏データにおける音符NO毎に導出しているため、一つの音符NOのみがアレンジされた楽曲の楽音推移tuwfであっても、楽器音推移trwfを精度良く生成することができる。
【0070】
さらに、本実施形態の音源分離処理では、対象音符NOniの発音タイミングONniに対応する楽音推移tuwfにおける分析時間窓twiのインデックス番号notwiを特定した後に、ズレ量dtwiを導出している。このため、楽器音分離装置10によれば、対応区間を特定するまで、ひいては、区間推移ntcpwfを生成するまでに要する処理量を低減できる。
【0071】
そして、本実施形態の音源分離処理によれば、演奏データに従って音源モジュール17が出力する全ての楽器の楽器音推移trwfを、楽音推移tuwfから分離・抽出することができる。
【0072】
なお、本実施形態の音源分離処理によれば、楽音推移tuwf及び特定音推移ntwfの時間軸に沿った一連の処理によって、1つの模擬楽器に対する楽器音推移trwfを生成することができる。この結果、楽器音推移trwfを生成するまでに要する処理量を低減することができる。
【0073】
[第二実施形態]
次に、本発明の第二実施形態について説明する。
本実施形態における楽器音分離装置は、第一実施形態における楽器音分離装置10と楽器音分離処理の処理内容が異なるのみである。このため、本実施形態における楽器音分離装置では、第一実施形態における楽器音分離装置10と同様の構成及び処理については、同一符合を付して説明を省略し、第一実施形態における楽器音分離装置10とは異なる楽器音分離処理を中心に説明する。
〈楽器音分離処理の処理について〉
図9に示すように、本実施形態の楽器音分離処理は、起動されると、楽音推移tuwfでの特定期間に含まれる対象音符NOniに対応する楽器音の周波数毎に、各周波数の強さを表すスペクトル振幅値ntcpsp(twi,fi)を導出する(S410)。このS410におけるスペクトル振幅値ntcpsp(twi,fi)の導出方法は、第一実施形態の楽器音分離処理におけるS310と同様であるため、ここでの詳しい説明は省略する。
【0074】
さらに、記憶部18に記憶されているスペクトル振幅値tusp(twi,fi)を、下記(4)式に基づいて更新する(S420)。
【0075】
【数4】

すなわち、S410にて導出されたスペクトル振幅値ntcpsp(twi,fi)を、対応範囲のスペクトル振幅値tuspから減算して、新たなスペクトル振幅値tuspを導出している。なお、(4)式において、添え字oldは、更新前のスペクトル振幅値tuspであることを表し、添え字newは、更新後のスペクトル振幅値tuspであることを表す。
【0076】
続いて、S410にて導出されたスペクトル振幅値ntcpsp(twi,fi)を逆離散フーリエ変換(IDFT)して、区間推移ntcpwfを導出する(S430)。その導出した区間推移ntcpwfに基づいて、上記(3)式に従って、楽器音推移trwfoldを楽器音推移trwfnewへと更新する(S440)。
【0077】
そして、その後、音源分離処理へと戻り、S190へと進む。
[第二実施形態の効果]
つまり、本実施形態の楽器音分離処理では、スペクトル振幅値ntcpsp(twi,fi)を導出する際に、振幅比率krを乗算する対象が、模擬楽器に対するスペクトル振幅値ntcpspが減算されたスペクトル振幅値tuspであるという点で、第一実施形態の楽器音分離処理とは異なる。
【0078】
したがって、本実施形態の楽器音分離装置10では、楽音として歌声が含まれた楽音推移tuwfを取得した場合、その楽音推移tuwfから全ての模擬楽器についての区間推移ntcpwf(即ち、楽器音推移trwf)を減算すると、歌声の音圧の時間軸に沿った推移が残る。つまり、楽器音分離装置10によれば、楽曲における歌声の音圧の推移を抽出することができる。
【0079】
[その他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【0080】
例えば、上記実施形態では、演奏データ及び音響データを、それぞれ個別のデータとして情報処理装置10にて取得していたが、演奏データ及び音響データの取得方法は、これに限るものではなく、演奏データ及び音響データを、対応する楽曲毎に1つの組として、通信部11を介して外部から組単位で取得しても良い。
【0081】
また、演奏データに基づいて特定音推移ntwfを取得する方法は、音源モジュール17から出力された特定音が音声入力部15を介して入力されることに限らない。例えば、特定音の時間軸に沿った波形を表す音響信号(電気信号)を音源モジュール17が生成し、その生成された音響信号に従って音声出力部16が鳴動するように、情報処理装置10が構成されている場合、音源モジュール17が生成する音響信号を特定音推移ntwfとして取得しても良い。
【0082】
さらに、音響データに基づいて楽音推移tuwfを取得する方法は、音声出力部16から出力された音声が音声入力部15を介して入力されることに限らない。例えば、音声の時間軸に沿った波形を表す楽音信号(電気信号)を、音響データ読取部12や制御部20が生成し、その生成された楽音信号に従って音声出力部16が鳴動するように、情報処理装置10が構成されている場合、音響データ読取部12や制御部20が生成した楽音信号を楽音推移tuwfとして取得しても良い。
【0083】
また、上記実施形態では、楽曲スペクトログラム及び特定音スペクトログラムを構成する振幅スペクトルの周波数区分を、対数軸にて表現したが、対応範囲を導出する際に、周波数の比が保持したまま、相関値を導出可能であれば、振幅スペクトルの周波数成分は、実数にて表記しても良い。
[実施形態と特許請求の範囲との対応関係]
最後に、上記実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【0084】
上記実施形態の音源分離処理におけるS120が、本発明の楽音取得手段に相当し、音源分離処理のS130が、本発明の楽音解析手段に相当し、音源分離処理のS210が、本発明の特定音取得手段に相当し、音源分離処理のS220が特定音解析手段に相当する。さらに、上記実施形態の音源分離処理におけるS230,S240が、本発明の範囲特定手段に相当し、音源分離処理のS250が、本発明の振幅比率導出手段に相当する。
【0085】
また、楽器音分離処理のS310,S320が、本発明の区間推移導出手段に相当し、楽器音分離処理のS330が、本発明の楽器音分離手段に相当する。なお、楽器音分離処理のS410,S430,S440が、本発明の推移導出手段に相当し、楽器音分離処理のS420が、本発明の記憶制御手段、及び更新手段に相当する。
【符号の説明】
【0086】
10…情報処理装置(楽器音分離装置) 11…通信部 12…音響データ読取部 13…入力受付部 14…表示部 15…音声入力部 16…音声出力部 17…音源モジュール 18…記憶部 20…制御部 21…ROM 22…RAM 23…CPU

【特許請求の範囲】
【請求項1】
楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得する楽音取得手段と、
前記楽音取得手段で取得された楽音推移に含まれる周波数と各周波数の強さとを表す周波数スペクトルを時間軸に沿って配した楽音スペクトログラムを導出する楽音解析手段と、
少なくとも一種類の楽器の楽器音を模擬した特定音を出力する音源モジュールにて演奏される前記楽曲の楽譜を表す演奏データに基づいて、規定された一種類の楽器である対象楽器の特定音の音圧が時間軸に沿って推移する特定音推移を取得する特定音取得手段と、
前記特定音取得手段で取得した特定音推移に含まれる周波数と各周波数の強さとを表す周波数スペクトルを時間軸に沿って配した特定音スペクトログラムを、前記音源モジュールにて対象楽器の各特定音が演奏される時間長である分析区間毎に導出する特定音解析手段と、
前記特定音解析手段にて導出された特定音スペクトログラムそれぞれを前記楽音解析手段にて導出された楽音スペクトログラムに照合して、周波数軸及び時間軸に沿って前記特定音スペクトログラムが最も一致する前記楽音スペクトログラムでの範囲である対応範囲を特定する範囲特定手段と、
前記範囲特定手段にて特定された対応範囲それぞれでの前記楽音スペクトログラムの周波数の強さと、前記特定音スペクトログラムの周波数の強さとの比を表す振幅比率を、各周波数について導出する振幅比率導出手段と、
前記振幅比率導出手段で導出された振幅比率それぞれを、当該分析区間に対応する前記楽音スペクトログラムを構成する周波数スペクトルの各周波数の強さに乗じた結果である分離スペクトルから、時間軸に沿った音圧の推移である区間推移を導出する区間推移導出手段と、
前記区間推移導出手段にて導出した区間推移を前記楽曲の時間軸に沿って配することで、前記楽音推移において前記対象楽器の楽器音の音圧が時間軸に沿って推移した楽器音推移を生成する楽器音分離手段と
を備えることを特徴とする楽器音分離装置。
【請求項2】
前記演奏データは、
前記音源モジュールから前記特定音の出力を開始するタイミングを表す発音タイミング、及び前記発音タイミングに対応し、かつ前記特定音の出力を終了するタイミングを表す終了タイミングが規定されており、
前記特定音解析手段は、
前記発音タイミングから、当該発音タイミングに対応する前記終了タイミングまでの期間それぞれを、前記分析区間として規定することを特徴とする請求項1に記載の楽器音分離装置。
【請求項3】
前記範囲特定手段は、
前記発音タイミングから、当該発音タイミングに対応する前記終了タイミングまでの期間に対応する前記楽音推移上の期間を時間軸に沿って始端及び終端が挟むように規定される前記楽音スペクトログラムでの区間に、前記特定音スペクトログラムを照合することを特徴とする請求項2に記載の楽器音分離装置。
【請求項4】
前記範囲特定手段は、
前記特定音解析手段にて特定音スペクトログラムを導出する毎に、前記対応範囲を特定し、
前記振幅比率導出手段は、
前記範囲特定手段にて対応範囲を特定する毎に、前記振幅比率を導出し、
前記区間推移導出手段は、
前記振幅比率導出手段にて振幅比率を導出する毎に、前記区間推移を導出する
ことを特徴とする請求項1から請求項3のいずれか一項に記載の楽器音分離装置。
【請求項5】
前記特定音取得手段は、
前記演奏データに従って前記音源モジュールが出力する特定音に対応する各楽器を、それぞれ、前記対象楽器として規定することを特徴とする請求項1から請求項4のいずれか一項に記載の楽器音分離装置。
【請求項6】
前記区間推移導出手段にて導出された区間推移を前記楽音推移から減算した残留楽音推移を導出して、その導出した残留楽音推移を記憶装置に記憶する記憶制御手段と、
前記演奏データに従って前記音源モジュールが出力する特定音に対応する各楽器についての前記区間推移を、順次導出する推移導出手段と、
前記推移導出手段にて区間推移が導出される毎に、その導出された区間推移それぞれを前記記憶装置に記憶された残留楽音推移から減算して、当該記憶装置に記憶された残留楽音推移を更新する更新手段と
を備えることを特徴とする請求項1から請求項5のいずれか一項に記載の楽器音分離装置。
【請求項7】
楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得する楽音取得手順と、
前記楽音取得手順で取得された楽音推移に含まれる周波数と各周波数の強さとを表す周波数スペクトルを時間軸に沿って配した楽音スペクトログラムを導出する楽音解析手順と、
少なくとも一種類の楽器の楽器音を模擬した特定音を出力する音源モジュールにて演奏される前記楽曲の楽譜を表す演奏データに基づいて、規定された一種類の楽器である対象楽器の特定音の音圧が時間軸に沿って推移する特定音推移を取得する特定音取得手順と、
前記特定音取得手順で取得した特定音推移に含まれる周波数と各周波数の強さとを表す周波数スペクトルを時間軸に沿って配した特定音スペクトログラムを、前記音源モジュールにて対象楽器の各特定音が演奏される時間長である分析区間毎に導出する特定音解析手順と、
前記特定音解析手順にて導出された特定音スペクトログラムそれぞれを前記楽音解析手順にて導出された楽音スペクトログラムに照合して、周波数軸及び時間軸に沿って前記特定音スペクトログラムが最も一致する前記楽音スペクトログラムでの範囲である対応範囲を特定する範囲特定手順と、
前記範囲特定手順にて特定された対応範囲それぞれでの前記楽音スペクトログラムの周波数の強さと、前記特定音スペクトログラムの周波数の強さとの比を表す振幅比率を、各周波数について導出する振幅比率導出手順と、
前記振幅比率導出手順で導出された振幅比率それぞれを、当該分析区間に対応する前記楽音スペクトログラムを構成する周波数スペクトルの各周波数の強さに乗じた結果である分離スペクトルから、時間軸に沿った音圧の推移である区間推移を導出する区間推移導出手順と、
前記区間推移導出手順にて導出した区間推移を前記楽曲の時間軸に沿って配することで、前記楽音推移において前記対象楽器の楽器音の音圧が時間軸に沿って推移した楽器音推移を生成する楽器音分離手順と
コンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図3】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図2】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−209592(P2011−209592A)
【公開日】平成23年10月20日(2011.10.20)
【国際特許分類】
【出願番号】特願2010−78665(P2010−78665)
【出願日】平成22年3月30日(2010.3.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)