説明

音割れ検出装置、及び音割れ検出方法

【課題】 本発明は楽曲信号を符号化し、更に復号化した際の音割れ検出装置、及び音割れ検出方法に関し、特に音割れの検出を自動的に行い、音割れする直前の音量を推定し、熟練者を必要としない音割れ検出装置、及び音割れ検出方法を提供するものである。
【解決手段】 本発明は符号化前の音量のみが異なる同一の楽曲信号に対して、一定時間ごとの振幅ペクトルを計算する振幅スペクトル計算手段と、音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を計算する2乗距離計算手段と、該計算結果が一定のしきい値を越えるか判定する判定手段と、前記判定結果に基づいて、前記計算結果が一定のしきい値を越える直前の音量の楽曲信号を音割れのない楽曲信号であると推定する推定手段で構成される音割れ検出装置である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は楽曲信号を符号化し、復号化した楽曲信号に対するの音割れ検出装置、及び音割れ検出方法に関する。
【背景技術】
【0002】
楽曲信号を符号化(エンコード)すると、入力信号に対応した符号が出力される。また、この符号を復号化器(デコーダ)に入力すると対応する楽曲信号波形を出力する。この楽曲信号波形をスピーカに入力することにより、対応する音波がスピーカより出力される。
【0003】
上記過程において、楽曲信号を符号化する符号化器への入力の大きさには限度がある。すなわち、一定以上の大きさの信号が入力すると正確に符号化できない。これはどのような符号化器にも共通の制限であり、ダイナミックレンジを超えた大きさの信号が入力すると、出力される符号は正確な値とならず、歪んだ信号となる。
【0004】
また、信号が正確に符号化された場合でも、その信号が大きい場合、復号化してスピーカで再生する際、正確な再生音を出力することができない。それはスピーカにもダイナミックレンジがあり、この範囲を超えた大きな信号が入力すると、再生される音が歪み、人間の耳には「割れた」様な不快音となって聞こえる。
【0005】
尚、スピーカからの再生音が不快な感覚を与える要素は上記以外にもあり、例えばいくつかの楽器の特定の位相が重なった場合や、急激な音量変化等のいくつかの要素があり、総称して「音割れ現象」と呼ばれている。
【0006】
ここで、特許文献1は配信元あるいは音楽の種類に関係なく、音楽データの再生時の音割れの発生を無くし、適切な音量に調整された音楽を自動再生する携帯端末装置の発明を開示する。
【特許文献1】特開2007−6370号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
符号にも多数の種類があり、例えば楽曲信号をMIDI(MusicalInstrument Digital Interface)符号に変換する場合、人間が手作業で行う必要があり、信号を完全に自動的にMIDI符号化する装置はまだ実現されていない。
【0008】
また、人間が手作業で符号化するとスピーカのダイナミックレンジを越える符号にしてしまう可能性がある。また、MIDI符号においては複数の楽器の音量と音程を別々に符号化し、同時に再生することにより合奏した信号を再生することができる。このような場合、前述のように、いくつかの楽器の特定の位相が重なってしまい、再生したときに音割れの印象を与える符号を生成する場合もある。
具体的には、「音割れ現象」が発生する直前の音量となるよう符号化するのが最も良い符号化である。
【0009】
しかしながら、上記MIDI符号はそれを見ただけでは「音割れ」しているかどうか検出できない。このため、従来符号を再生して音割れしているか否かを人間が聞いて判断する必要があった。しかし、この作業は熟練した人間が耳で聞いて判断しなければならず、人件費が掛かり、MIDI符号化のコストが高くなるという問題があった。
【0010】
また、特許文献1の発明は、入力レベルが所定値以下の間、予め設定されているデータ再生特性に従った出力を行い、入力レベルが所定値よりも大きい値となったとき、音楽データ再生特性を変更し、適切な音量に調整する発明である。
【0011】
そこで、本発明は音割れの検出を自動的に行い、音割れする直前の音量で符号化処理を行い、熟練者を必要とせず、再生音に不快な要素を含ませない音割れ検出装置、及び音割れ検出方法を提供するものである。
【課題を解決するための手段】
【0012】
上記課題は第1の発明によれば、符号化前の音量のみが異なる同一の楽曲信号を符号化し、復号化した楽曲信号に対して、一定時間ごとの振幅ペクトルを計算する振幅スペクトル計算手段と、音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を計算する2乗距離計算手段と、該計算結果が一定値を越えるか判断し、該一定値を越える期間が一定数以上ある場合、又は前記一定値を越えている間における、前記計算結果と前記一定値との差の総和が所定値を超える場合、楽曲信号に音割れがあると判定する判定手段と、該判定結果に基づいて、音割れ直前の音量の楽曲信号を音割れのない楽曲信号であると推定する推定手段とを有する音割れ検出装置を提供することによって達成できる。
【0013】
また、前記振幅スペクトル計算手段は、窓関数掛算回路と、フーリエ変換回路と、振幅計算回路で構成されている。
さらに、上記課題は第2の発明によれば、符号化前の音量のみが異なる同一の楽曲信号を符号化し、復号化した楽曲信号に対して、一定時間ごとの振幅ペクトルを計算する振幅スペクトル計算処理と、音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を計算する2乗距離計算処理と、該計算結果が一定値を越えるか判断し、該一定値を越える期間が一定数以上ある場合、又は前記一定値を越えている間における、前記計算結果と前記一定値との差の総和が所定値を超える場合、楽曲信号に音割れがあると判定する判定処理と、該判定結果に基づいて、音割れ直前の音量の楽曲信号を音割れのない楽曲信号であると推定する推定処理とを行う音割れ検出方法を提供することによって達成できる。
【0014】
また、前記振幅スペクトル計算処理は、例えば窓関数の掛算処理と、フーリエ変換処理と、振幅計算処理とを行う構成である。
【0015】
さらに、上記課題は第3の発明によれば、符号化前の音量のみが異なる同一の楽曲信号を符号化し、復号化した楽曲信号に対して、一定時間ごとの振幅ペクトルを計算する振幅スペクトル計算処理と、音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を計算する2乗距離計算処理と、該計算結果が一定値を越えるか判断し、該一定値を越える期間が一定数以上ある場合、又は前記一定値を越えている間における、前記計算結果と前記一定値との差の総和が所定値を超える場合、楽曲信号に音割れがあると判定する判定処理と、該判定結果に基づいて、音割れ直前の音量の楽曲信号を音割れのない楽曲信号であると推定する推定処理とを行うプログラムであって、コンピュータが実行可能なプログラムを提供することによって達成できる。
【0016】
また、前記振幅スペクトル計算処理は、例えば窓関数の掛算処理と、フーリエ変換処理と、振幅計算処理を行うプログラムであって、コンピュータが実行可能なプログラムである。
【0017】
さらに、上記課題は第4の発明によれば、楽曲信号を符号化し、復号化して再生するシステムにおいて、符号化前の音量のみが異なる同一の楽曲信号を符号化し、復号化した楽曲信号に対して一定時間ごとの振幅スペクトルを計算し、音量の異なるもの間の関係を利用して、再生した場合に人間にとって不快であるか否かを推定する音割れ検出装置を提供することによって達成できる。
【0018】
また、音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を利用して推定をする構成である。
また、最も小さい音量の楽曲信号から、特定の音量の楽曲信号までの各音量段階のすべての楽曲信号のそれぞれの振幅スペクトルを平均した値と、該特定の音量の楽曲信号の振幅スペクトルを比較して推定する構成である。
【0019】
また、音量が異なる同一の楽曲信号に対して、一定時間ごとの振幅スペクトルを計算し、その値を表示する構成である。
【発明の効果】
【0020】
上記課題の解決手段によれば、音割れの検出を自動的に行う装置、及び方法を提供する。それにより、音割れする直前の音量で符号化することが可能となり、熟練者を必要とせず、MIDI符号化された楽曲の制作コストを低下させることができる。
【発明を実施するための最良の形態】
【0021】
以下、図面を参照しながら本発明の実施の形態について説明する。
図2は本例の音割れ検出装置、及び音割れ検出方法を説明する為の楽曲信号の符号化、及び復号化の過程を示す図である。
【0022】
同図において、エンコーダ1には楽曲信号が供給され、符号化処理が行われる。この符号化信号はデコーダ2に供給され、楽曲信号波形に復号され、スピーカ3に出力される。スピーカ3は楽曲信号波形に従った音波を外部に出力する。
【0023】
図1は上記構成において、本発明の音割れ検出装置の一例を示す図である。同図において、本例の装置は、振幅スペクトル計算装置5、2乗距離計算装置6、及び判定装置7で構成されている。振幅スペクトル計算装置5には楽曲信号S(0),S(1),S(2),・・・S(i-1),S(i)が入力されるが、これらは同一楽曲の信号で音量だけが異なる信号を符号化し、それを復号化したものである。すなわち、S(0)が最も小さい音量の信号であり、S(1),S(2), ・・・の順に一定比率で音量が大きくなる信号である。
【0024】
先ず、振幅スペクトル計算装置5について説明する。
振幅スペクトル計算装置5には上記楽曲信号S(0),S(1),S(2),・・・S(i-1),S(i)が入力し、振幅スペクトル計算装置5は入力された信号、例えばS(i)に対して、それぞれ振幅スペクトルP(i)を計算する。楽曲信号S(i)は時間tの関数であり、振幅スペクトルは一般的には周波数ωの関数である。
【0025】
しかし、図3に示すように信号S(i)、31の時刻t付近の一部分(例えば、T秒間)を部分的にフーリエ変換して振幅スペクトルを求めると、図4の41に示す様に、P(i)はT秒単位で時間的指標nの関数になる。すなわち、S(i)とP(i)の関係は、以下に示す数1の通りである。
【数1】

【0026】
但し、Wn(t)は窓関数と呼ばれ、図5のようにt=(n-1/2)T〜t=(n+1/2)Tまでの区間では正の値を持ち、他の区間では0である関数である。また、| |は絶対値を意味する。
【0027】
図6は上記振幅スペクトル計算装置5の構成を詳しく説明する図である。同図において、50〜53は、窓関数を入力信号に掛け算する回路である。すなわち、以下に示す数2を計算する回路である。また、60〜63は、入力信号をフーリエ変換する回路であり、以下に示す数3を計算する回路である。さらに、70〜73は、入力信号の振幅を計算する回路であり、以下に示す数4を計算する回路である。
【数2】

【数3】

【数4】

【0028】
上記50〜53は、それぞれ異なる窓関数を乗ずるので振幅スペクトル計算装置5iの出力P0(i),P1(i),・・・Pn(i)は、信号S(i)の異なる部分のパワーとなる。
【0029】
図6は、i番目の音量の信号S(i)に対する処理の部分だけを図示したものであるが、図1の振幅スペクトル計算装置5は、これを0番目〜n番目の音量の信号S(0)〜S(i)まで、それぞれに対して実装した全体構成である。
【0030】
次に、2乗距離計算装置6の構成について説明する。
2乗距離計算装置6は振幅スペクトルの2乗距離を計算する回路であり、入力されたP(i)に対して、以下に示す数5、及び数6の計算を行う。
【数5】

【数6】

【0031】
但し、D(i) = {D1(i), D2(i), …, D3(i)} であり、Dn(i)は音量 i の信号の振幅スペクトルと i+1 の信号の振幅スペクトルとの2乗距離である。
図7は上記数5、数6の計算を行う装置、即ち2乗距離計算装置6の内部構成を説明する図である。80〜83は2乗距離の計算装置である。振幅スペクトルPn(0)、Pn(1)、Pn(2)・・・, Pn(i)が入力されると、隣り合うもの同士の2乗距離を計算し、90〜93にて閾値と照合される。このような装置の出力は、振幅スペクトル計算装置5に対する入力信号が楽曲信号の場合は人間が不快に感ずる音量となるmにおいてAn(i) は一般的に数7のような傾向を持つことが実験的に確認された。
【数7】

【0032】
即ち、ある一定の値kを境にAn(k)の値が閾値より大きくなるという傾向である。この現象を利用して人間にとって不快な要素が入り込まない最大の音量を機械的に推定することができる。
【0033】
図8と図9は、実際の楽曲信号2曲をMIDIコードで符号化し、復号化した信号Sn(i)の振幅スペクトルPn(i)の値の隣同士の差分Dn(i)をそれぞれ図示したものである。
両図において、手前右上の方向は数1のn、即ち時間軸である。また、手前から左上への方向は数1のi、即ち音量の軸である。さらに、縦方向はDn(i)の値の大きさである。同図から分かるように、1つの曲の中では時間に関わらず、ある一定の音量から大きい信号はDn(i)も大きくなっている。
【0034】
図10は、図8を等高線で表したものである。図中の黒の太線で囲まれた領域は人間が音割れしていると感じる領域である。同図を見ると、人間は音割れしていると感じる領域と、Dn(i)がある一定の値を越す領域とはかなり相関があることが分かる。
【0035】
図11と図12は、図8と図9の楽曲にそれぞれ対応する図である。これら2曲において人間が音割れしていると感ずる領域と、Dn(i)が一定の値以上となる領域を図示したものである。これらを見ても人間が音割れしていると感ずる領域は、Dn(i)が一定値を越す領域にほぼ含まれていることが分かる。
【0036】
以上から、音割れしないような音量iを自動的に特定することが可能であることが分かる。すなわち、音量が異なる同一楽曲について、一定時間ごとに振幅スペクトルを計算し、音量が隣り合う値の楽曲信号の振幅スペクトルの2乗距離を算出し、この2乗距離が一定値Hを超えたらその時刻について音割れしていると判断する。そして同一信号について音割れしている期間が一定数K以上ある場合、即ち数8を満たす場合その信号が音割れしていると判断する、もしくは音割れしている間における、2乗距離と一定値Hとの差の総和が一定値Lを超える場合、即ち数9を満たす場合音割れしていると判断することにより、人間による判断をしなくても音割れを検出することができる。
【数8】

【数9】

【0037】
判定装置7は上記数8、又は数9の計算を行う装置である。入力A(i)に対してF(i)を計算する。即ち、A(i)が数8を満たしていればF(i)を1とし、満たしていなければ0とする。数8の代わりに数9を使うこともできる。
【0038】
図13は本方式を用いて音割れ検出を自動的に行った場合と、人間が聞いて検出した場合の比較をした図である。判定に数9を使用した例である。
横軸は曲目であり、1番から13番まで13種類の曲について判定を行った結果である。縦軸は各楽曲の符号化前の音量である。実線が本方式を用いて自動的に判定した場合であり、点線が人間が判定した場合である。この結果から自動判定結果は人間の判定結果と統計的にほぼ同一であることが分かる。
【0039】
したがって、本方式を利用してどのくらいの音量信号を符号化すると再生時に音割れするかを自動的に判定することができる。
【0040】
尚、上記数5のDn(i)の代わりに、数10のE(i)を利用しても同様の結果が統計的に得られることが確認された。
【数10】

【図面の簡単な説明】
【0041】
【図1】本発明の音割れ検出を行う装置の一例を示す図である。
【図2】本発明を説明する図である。
【図3】信号S(i)の時刻t付近の波形を示す図である。
【図4】フーリエ変換した振幅スペクトルを示す図である。
【図5】窓関数を説明する図である。
【図6】振幅スペクトル計算装置の構成を詳しく説明する図である。
【図7】2乗距離計算装置の内部構成を説明する図である。
【図8】実際の楽曲信号をMIDIコードで符号化し、復号化した信号S(i)の振幅スペクトルの値の隣同士の差分を示す図である。
【図9】実際の楽曲信号をMIDIコードで符号化し、復号化した信号S(i)の振幅スペクトラムの値の隣同士の差分を示す図である。
【図10】図8を等高線で表した図である。
【図11】図8の楽曲を等高線で表した図である。
【図12】図9の楽曲を等高線で表した図である。
【図13】本発明の方式を用いて音割れ検出を自動的に行った場合と、人間が聞いて検出した場合の比較をした図である。
【符号の説明】
【0042】
1・・・エンコーダ
2・・・デコーダ
3・・・スピーカ
5・・・振幅スペクトル計算装置
6・・・2乗距離計算装置
7・・・判定装置
50〜53・・掛算回路
60〜63・・フーリエ変換回路
70〜73・・振幅計算回路
80〜83・・2乗距離計算回路
90〜93・・閾値照合回路

【特許請求の範囲】
【請求項1】
符号化前の音量のみが異なる同一の楽曲信号を符号化し、復号化した楽曲信号に対して、一定時間ごとの振幅ペクトルを計算する振幅スペクトル計算手段と、
音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を計算する2乗距離計算手段と、
該計算結果が一定値を越えるか判断し、該一定値を越える期間が一定数以上ある場合、又は前記一定値を越えている間における、前記計算結果と前記一定値との差の総和が所定値を超える場合、楽曲信号に音割れがあると判定する判定手段と、
該判定結果に基づいて、音割れ直前の音量の楽曲信号を音割れのない楽曲信号であると推定する推定手段と、
を有することを特徴とする音割れ検出装置。
【請求項2】
前記振幅スペクトル計算手段は、窓関数掛算回路と、フーリエ変換回路と、振幅計算回路で構成されていることを特徴とする請求項1記載の音割れ検出装置。
【請求項3】
符号化前の音量のみが異なる同一の楽曲信号を符号化し、復号化した楽曲信号に対して、一定時間ごとの振幅ペクトルを計算する振幅スペクトル計算処理と、
音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を計算する2乗距離計算処理と、
該計算結果が一定値を越えるか判断し、該一定値を越える期間が一定数以上ある場合、又は前記一定値を越えている間における、前記計算結果と前記一定値との差の総和が所定値を超える場合、楽曲信号に音割れがあると判定する判定処理と、
該判定結果に基づいて、音割れ直前の音量の楽曲信号を音割れのない楽曲信号であると推定する推定処理と、
を行うことを特徴とする音割れ検出方法。
【請求項4】
前記振幅スペクトル計算処理は、窓関数の掛算処理と、フーリエ変換処理と、振幅計算処理を行うことを特徴とする請求項3記載の音割れ検出方法。
【請求項5】
符号化前の音量のみが異なる同一の楽曲信号を符号化し、復号化した楽曲信号に対して、一定時間ごとの振幅ペクトルを計算する振幅スペクトル計算処理と、
音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を計算する2乗距離計算処理と、
該計算結果が一定値を越えるか判断し、該一定値を越える期間が一定数以上ある場合、又は前記一定値を越えている間における、前記計算結果と前記一定値との差の総和が所定値を超える場合、楽曲信号に音割れがあると判定する判定処理と、
該判定結果に基づいて、音割れ直前の音量の楽曲信号を音割れのない楽曲信号であると推定する推定処理と、
を行うプログラムであって、コンピュータが実行可能なプログラム。
【請求項6】
前記振幅スペクトル計算処理は、窓関数の掛算処理と、フーリエ変換処理と、振幅計算処理を行うプログラムであって、コンピュータが実行可能な請求項5記載のプログラム。
【請求項7】
楽曲信号を符号化し、復号化して再生するシステムにおいて、
符号化前の音量のみが異なる同一の楽曲信号を符号化し、復号化した楽曲信号に対して一定時間ごとの振幅スペクトルを計算し、音量の異なるもの間の関係を利用して、再生した場合に人間にとって不快であるか否かを推定することを特徴とする音割れ検出装置。
【請求項8】
音量が隣接する楽曲信号の振幅スペクトル同士の2乗距離を利用して推定することを特徴とする請求項7記載の音割れ検出装置。
【請求項9】
最も小さい音量の楽曲信号から、特定の音量の楽曲信号までの各音量段階のすべての楽曲信号のそれぞれの振幅スペクトルを平均した値と、該特定の音量の楽曲信号の振幅スペクトルを比較して推定することを特徴とする請求項7記載の音割れ検出装置。
【請求項10】
音量が異なる同一の楽曲信号に対して、一定時間ごとの振幅スペクトルを計算し、その値を表示することを特徴とする音割れ検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−256758(P2008−256758A)
【公開日】平成20年10月23日(2008.10.23)
【国際特許分類】
【出願番号】特願2007−95874(P2007−95874)
【出願日】平成19年3月31日(2007.3.31)
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【出願人】(599126800)株式会社エムティーアイ (17)