2011/12/03

Audacity Analyze Menu (解析)

150720更新
Analyzeは、波形を分析するためのプラグインで波形を加工するものではない。波形を調べて、結果を様々な方法でアウトプットする。簡単に紹介だけしようと思う。


Contrast
Plot Spectrum ★★★
Find Clipping
Beat Finder
Regular Interval Labels
Sample Data Export
Silence Finder
Sound Finder

Contrast コントラスト


ForegroundとBackgroundの音量差を比較するツール。ウェブコンテンツ・アクセシビリティ・ガイドライン2.0によると20dB以上の差があれば合格ということらしい。「背景音は、前景にある話し言葉のコンテンツより少なくとも20デシベルは低い。ただし、時折1~2秒間だけ続く音は除く。」とある。用途はスピーチ等とバックの雑音などを比較するためのもののようだ。標準でショートカットが設定されていたりするが、個人的には使うシーンが思い当たらない。


Plot Spectrum スペクトラム ★★★


使用頻度の高いFFTによる周波数スペクトル表示。音の評価分析では欠かせないもの。これだけで1冊の本が書けてしまうぐらいの項目なのだが、ここでは簡単に紹介だけ。FFTはFast Fourier Transformの略で、日本語で高速フーリエ変換のこと。音などの信号を周波数成分に分解する信号処理。

Algorithm
以下が用意されている。
Spectrum: これの利用が一般的。
Standard、Cuberoot、Enhanced Autocorrelation: この3つは、自己相関WIKI 信号の周期的な特徴を研究するときに用いるようだ。周波数応答ぽく見えるなぁ。
Cepstrum(ケプストラム): WIKI これもなじみのないアルゴリズム。「人間の声や音楽の信号を表す特徴ベクトルとしても使われている。」ということらしい。

Function
窓関数も代表的なものが用意されていて使い分けることができる。FFTは周期関数でないと分析できないため、窓関数を使うことで、自然な周期関数に見せかけている。分析目的に応じて窓を使い分けるとよい。また重要なことだが、分析したい部分の切り出し方で結果は大きく変わる。
Rectangular:レクタンギュラー窓 方形窓のこと、つまり窓なし状態
Bartlett:バートレット窓 実際には使われない
Hamming:ハミング窓 音響関係でよく使われる 周波数分解能が高い
Hanning:ハニング窓 測定によく使われる Hammingに並んで標準的
Blackman:ブラックマン窓 ダイナミックレンジが広い
Blackman-Harris:ブラックマン-ハリス窓 上記改良型 低分解能でも正確な周波数が出せる
Welch:ウェルチ窓 知らない
Gaussian(a=2.5):ガウス窓 以下3つはガウス窓 理論上高性能らしい
Gaussian(a=3.5):ガウス窓 低分解能でもBlackman-Harris以上に正確にピーク周波数が出せる
Gaussian(a=4.5):ガウス窓 

Size
これはサンプル数で128から16384まで可能。FFTはサンプル数が2のべき乗(2n)という制約があるため、128、256、512、1024、2048、4096、8192、16384という選択肢から選ぶことになる。最も少ないサンプル数は128なので、解析したい部分の129サンプル(128だとダメだった)を選択すれば、size128でスペクトル表示が可能となる。ただしサンプル数が少ないので、精度がかなり悪い。特に低域は当てにならない。実用的には1024サンプル以上。さらに大きくすると精度は上がるが、サンプリング周波数が44.1kHzの場合、16384サンプルは0.37秒程度となり、瞬間的な音程だと、これは長すぎたりする。測りたい音の長さを見極めて、サイズを選択する必要がある。

Axis
Log(対数)とLinear(リニア)が使える。必要に応じて切り替える。音と対数は相性がよくて、オクターブの関係はグラフ上、等間隔になる。音圧も人間の耳の感度に近いとか。

Export
解析結果をテキストファイルとして書き出す。その内容は以下のように周波数とレベル。これはAlgorithm、Function、Sizeの影響を受ける。例えばSizeが128で、サンプリング周波数が44100Hzであれば、44100/128 = 344.531250Hz 間隔でプロットすることになる。最高Size(解像度)の16384であれば、44100/16384 = 2.691650Hz 間隔でプロットする。
Frequency (Hz) Level (dB)
344.531250 -6.443128
689.062500 -9.004177
1033.593750 -28.323721
1378.125000 -42.408825
1722.656250 -50.963619
2067.187500 -57.206921
2411.718750 -62.143398
・・・・
よく見たら、0Hzは含まれていないのね。直流成分なので重要なのに・・・ 表示ではちゃんと0dBも使われている。

Replot
再度選択範囲を解析する。Plot Spectrumは開きっぱなしでも他の作業が出来るので、Replotは重宝する。ただし常に手前に表示される。

Close
Plot Spectrumを閉じる。

Grids
チェックを入れると縦横の線が表示される。

その他
ピークの周波数を音階で表示。またカーソル位置の周波数表示もされるので、倍音などをチェックしやすい。

このプラグインは開き放しで、他の作業ができる。再度測るときは、Replotを押せばよい。

ちょっと不満
レベルが計測のたびに変化してしまうのだが、これを一定に出来ないのかな? 比較がしにくいのが難点。Exportして自作プログラムで表示させるしかないかな。
自作しなくてもExportファイルをフリーソフトのLibreOfficeのCalcに取り込めば下のように表示できた。これならば、Audacityでは表示し切れていないデータも全部表示される。手間ではあるが、比較するなら、こちらを使った方がいい。



Find Clipping クリッピング検出


0dBを超えている箇所を見つけて、ラベルを貼るというプラグイン。上記のスレッショルドの調整によって、引っかかるクリップを選別できる。下はクリップしている2箇所を検出してみたが、細かく見ると9箇所あることが分かる。



Beat Finder


ビートらしき部分にラベルを貼るプラグイン。試すと下のようにラベルが貼られた。ラベルをクリックすると、正確な位置がSelectionに表示されるので、何かに役立つかもしれない。



Regular Interval Labels


多くのラベルがある場合に、ラベルを整理することができるプラグイン。たとえば下の2段目は多くのラベルがあるが、これを2秒おきにラベルを付けるように設定すると3段目のようにラベル数を減らすことができる。



Sample Data Export


トラックの一部分をテキストやcsv、htmlなどで出力できる。Output folderにパスを入れれば、その場所に保存される。


Silence Finder


一定の音量以下を見つけてラベルを貼るプラグイン。下のようにわずかな隙間も検出可能。



Sound Finder


設定以上の音量が出ているところにラベルを貼るプラグイン。下記のようにラベルが貼られた。



Audacity マニュアル 目次はこちら