サンプリングしたデータをFFT解析した結果はスペクトルウィンドウに表示されます。ここではグラフの見方と評価方法について説明します。
グラフの見方
横軸は周波数の対数を表します。周波数といっても音の周波数のことではなく、ゆらぎの周波数のことです。左へ行くほど長周期のゆらぎ、右へ行くほど短周期のゆらぎを表します。
縦軸は周波数ごとのパワースペクトルの対数を表します。パワーとは振幅の2乗と定義されています。ゆらぎアナライザーでは全周波数におけるパワーの最大値を1とする正規化を行って表示しています。
1/fゆらぎの判定
グラフ内に表示されている赤い直線は、スペクトルが1/fλの分布に従うと仮定して最小二乗法により直線近似したものです。右上に表示されているλの値はこの直線の傾きを表しています。
一般に「1/fゆらぎ」と呼ばれているのはλ=1の場合に相当します。λの値がおよそ0.9~1.1の範囲に入っていれば、その楽曲は1/fゆらぎを持っているということができます。λの値が大きい(一般的には2を超えることはほとんどありません)ほどゆらぎの程度が小さく、規則性が高いことを示します。またλの値が0に近いほどゆらぎの程度が大きく、ランダム性が高いことを示します。
上限周波数と下限周波数について
FFT解析して得られるパワースペクトルの上限周波数は、ナイキストのサンプリング定理により、理論的にはサンプリング周波数の1/2となります。たとえばサンプリング周期25msecでサンプリングした場合のサンプリング周波数は40Hzですから、上限周波数はその1/2の20Hzとなります。
しかし上限周波数に近い領域はデジタル信号処理特有の問題であるエイリアスノイズの影響により誤差を含んでいる可能性があるため、使用することは望ましくありません。特にサンプリング周期を短くするほどこの影響が大きくなります。
またもう一つの問題として、音楽のジャンルに関係なく、どんな楽曲でも高周波側はほぼ1/fに近い分布を示すことがわかっています。特に対数スケールで表した場合は高周波側の密度が非常に高くなるため、最小二乗法で回帰直線を求める際にこの部分の影響を強く受けます。したがって、どんな曲でもλ=1に近い値になってしまい、曲ごとの差が出にくくなってしまいます。
このような問題を避けるため、ゆらぎアナライザーでは回帰直線を求める際の上限周波数と下限周波数をそれぞれ指定できるようにしました。これにより、スペクトルの一部をとって傾きを評価することができます。設定はスライダーで行い、周波数はHz単位で表示されます。対数スケールになっていますので、右側へ行くほど大きく動きます。なお「かんたんモード」では解析を行うたびにデフォルト値に設定されますので、変更したい場合は再描画を行ってください。
さまざまな楽曲を分析した結果、経験的には1~2Hzより高周波側はどんな曲でもほぼ1/fゆらぎに近い傾向を示します。したがって、この部分を除外し、それより低い周波数で傾きを評価した方が曲ごとの差が出やすくなり、正しい評価が行えるものと考えられます。
解析結果の信頼性
直線の傾きから求められたλの値はゆらぎの程度を表す目安と考えられますが、前述の理由により必ずしも信頼できるとは限りません。実際、条件を変えて解析してみると結果が全く異なる場合もあり、λの値が1に近いからといって1/fゆらぎを持っていると断定するのはあまりに早計すぎます。1/fゆらぎを正しく判定するためには、スペクトルの分布をよく観察して結果の正当性を吟味する必要があります。
求められたλの値が信頼できるものかどうかはスペクトルの分布と回帰直線のずれを見るのが確実でしょう。デフォルトではスペクトルを点で描画していますが、この場合は[描画方法]を[折れ線]に切り替えた方がわかりやすいと思います。
信頼性が高い例
この場合、スペクトルの分布が直線的で、回帰直線とほぼ一致していますので、高い確度で1/fゆらぎを持っているといえます。
信頼性が低い例
λの値は比較的1に近いですが、低周波側でスペクトルの分布と回帰直線がずれているため、これだけで1/fゆらぎを持っていると結論付けるのは早計です。この場合、低周波側と高周波側でスペクトルの分布に差があるため、高周波側に引っ張られて実際より傾きが大きく出ていることがわかります。
このようにスペクトルに折れ曲がりがある場合、直線に当てはめること自体に無理がありますが、もともと高周波領域はどんな曲でもほぼ1/fゆらぎになっているため、低周波側の傾きだけで評価すれば十分とも考えられます。仮に同じ曲で上限周波数を2Hzまで下げてみると、直線の傾きはずいぶん小さくなり、低周波側ではほぼスペクトルの分布と一致しました。これではもはや1/fゆらぎを持っているとはいえないことがおわかりでしょう。
コメント
はじめまして。
素晴らしいツールを作ってくださり、本当にありがとうございます。
別の記事にてコメントのあった内容と少し被ってしまうのですが、
当方、自身の話し声(ナレーション音声)にて1/fゆらぎを解析したいと考えております。
楽曲でないと適切ではないとのご回答は拝見したのですが、ナレーションの長めの音声でも、解析は不適切になってしまいますでしょうか。
当方、10データほど話し声の解析をしたところ、0.9〜1.1の間に入っている状況でした。(周波数の範囲はデフォルト)
SNSでの配信活動にあたり、”1/fゆらぎの声を持っている”と謳ってよいものか、迷っております。
また、こちらの記事では、
解析の際の周波数を狭くすると信頼性が高くなるとの事でしたが、ナレーション音声でも、狭くする必要がありますでしょうか。
長文失礼いたしました。
とても悩んでいるため、もしよろしければ、ご返信いただけますと幸いです。
よろしくお願いいたします。
話し声の場合、何をゆらぎの対象とするかが問題です。
楽曲と違って周波数の変化が少ないので、周波数に注目するのは適切でない気がします。もちろん多少の抑揚はありますし、それがゆらぎと言えるのかもしれません。
むしろ音量の変化に注目して音量モードで解析してみるのが良いかもしれません。
信頼性の判定は回帰直線とグラフがどの程度ずれているかによります。あまりずれていなければデフォルトのままで良いし、大きくずれている場合は周波数範囲を調整してずれが小さくなるように補正します。
管理人様、
ご返信いただき、ありがとうございます…!
大変勉強になり、感謝の気持ちでいっぱいです。
早速、ご教示いただいた”音量モード”にて、
音程モードでλ=0.9〜1.1に該当していた10データを再解析し、うち5データ程が該当しておりました。
話し声でSNS活動をがんばっていきたいため、音量モードでも該当するデータが複数あり、少し安心しております。
最近は、YouTube等で”1/fゆらぎを持つ声です”と明記して活動していらっしゃる方々を多くお見かけし、自身も明記してみたいと考えていました。
もう少し該当データを増やして信憑性を高めたうえで、SNS活動へも活かしたいと思います。
この度は、本当にありがとうございました。