
5. 特徴量抽出
5.6 スペクトル重心
スペクトル重心は、音や振動のスペクトル(周波数ごとの強さの分布)について「重さの中心が周波数軸のどこにあるか」を示す指標である。直感的には、低い周波数の成分が多ければ低めの値になり、高い周波数の成分が増えるほど高めの値になるため、音の“明るさ”や“高域寄りか低域寄りか”を1つの数で要約できる特徴量として広く使われている。数式の考え方は単純で、フーリエ変換で得た周波数ビンごとの大きさを重みとして周波数の重み付き平均をとる(分子が「周波数×大きさ」の総和、分母が「大きさ」の総和)という形になる。[1][2][3][4]
この指標が役に立つ理由は、聴感的な「明るさ(brightness)」とよく対応するからである。一般の音響解析では、重心が高いほど高周波が多く“明るい”、低いほど低周波が多く“暗い”音色として感じられることが知られており、音楽情報処理や音色解析、分類タスクの基本特徴として定番化している。実践的な解説でも「スペクトルの中心(中心の質量)」という説明とともに、明るさを表す自動指標として利用されることが示されている。また、演奏音や歌声などの研究では、重心が上がると“明るさ”が増すという説明が繰り返し使われている。[5][3][6][7][4][1]
計算方法をもう少し丁寧に整理する。まず短い時間で切り出したフレームごとにフーリエ変換(FFT)を行い、各周波数ビンkの中心周波数f(k)と、スペクトルの大きさ|X(k)|(しばしば振幅やパワー)を用意する。スペクトル重心SCは、SC = Σ f(k)|X(k)| / Σ |X(k)| の形で計算でき、時間に沿ってフレームごとの値を並べれば、音の“明るさ”の時間変化が追える[1][2][3]。プログラミング記事でも、実装の最小例として「正の周波数側の振幅スペクトルを取り、周波数との重み付き平均を返す」という関数が紹介されており、基本はこの定義である[2]。なお、重心を“平均”ではなく“中央値”で捉える用語の使い方も文献上にはあるが、統計量としては別物(平均と中央値の違いに相当)であり、典型的な音スペクトルでは両者が大きく異なることがある点に注意が必要である[1]。
この特徴量の解釈は、単体でも有効だが、他の特徴と組み合わせるとさらに強力になる。例えばRMS(強さ)と並べると「どれくらい大きく、どれくらい明るいか」を二軸で見られ、音色や状態のまとまりが見つけやすい。音楽や音響の応用において、スペクトル重心はジャンル分類や楽器識別、音質設計などで“ timbre(音色)”の手掛かりとして使われ、時系列でのジャンプや変動はセクション変化や演奏法の切り替えなどと対応づけられると解説されている。打撃音や素材識別の研究でも、重心は代表的な音響特徴量の1つとして取り上げられている。[8][9][3][10][4]
故障予知・設備音への応用を具体化する。摩耗や潤滑悪化、緩みの進行で高周波成分が相対的に増えると、スペクトル重心は上がりやすい。逆に、低域ゆらぎが支配的なら下がる。したがって「同一条件で測ったデータのスペクトル重心のトレンド」を見ると、周波数バランスの長期変化が捉えやすい。さらに、対象帯域をあらかじめ限定してから重心を計算すると、目的の部位に関係する周波数帯だけに焦点を当てられる。たとえば、歯車噛合や軸受の高周波励起が問題となる範囲でバンド制限し、その帯域の重心を監視する設計は、無関係な低域・超高域の影響を抑え、指標の解釈を明快にする助けになる。音色・明るさに対応するという報告は人の聴感研究や歌声評価でも示されており、設備音でも“高域の増減”を見る代表的な要約指標として位置づけられる。[7][5]
導入の実務ポイントを挙げる。第一に、前処理として必要に応じて窓関数(ハン等)を用いてリーケージを抑え、フレーム長とホップ(ずらし量)を目的に合わせて選ぶ(短い窓は時間変化に敏感、長い窓は帯域分解能が細かい)。第二に、重心は“比”で定義されるため絶対スケールに過度に依存しないが、ノイズが強いと高域が持ち上げられて過大評価されることがある。ローパス・バンドパスや、ノイズ床の安定化(Welch平均など)の併用で頑健性が増す。第三に、帯域限定の重心(バンド内重心)を併用する。目的帯域ごとにSCを計算すると、全体値だけでは見えない“どの帯域が明るくなったか”が分かる。第四に、RMSやパワースペクトル密度(PSD)の帯域エネルギーと合わせて監視する。重心が上がる一方で総エネルギーも上がっているのか、あるいは総エネルギーは変わらず配分だけが高域寄りに動いたのか、解釈の精度が高まる。
注意点も明確にしておきたい。- スペクトル重心は「中心の位置」を表すため、単一の鋭い高域ピークに引っ張られやすい。帯域限定での計算や、ロバストな統計(中央値重心の参考観察)を補助的に使うと、外れ的なピークの影響を評価しやすい。- 「平均」と「中央値」の混同に注意。重心の一般的定義は“重み付き平均”であり、中央値とは異なる。- 聴感の“明るさ”と定量の一致は経験的に良好だが、聴感尺度のシャープネス等とは定義が異なるため、目的に応じて使い分ける(シャープネスは音響心理モデルを伴う別の尺度であり、計算の前提が違う)。- 測定条件(サンプリング、窓、FFTサイズ、帯域上下限)を固定し、比較の公平性を保つ。ツールや実装により細部(振幅/パワーどちらで重み付けするか等)が異なるため、仕様を明記して再現性を確保する。[11][2][4][1]
読み方のコツをまとめる。- 値が高い=高域寄り、低い=低域寄り、という一次近似の理解を出発点に、時間推移を見る。急な上昇は高域イベント(衝撃、摩擦増加など)に対応することが多い。- 同一運転条件・同一マイク・同一配置での比較を原則とし、装置別や季節・負荷の違いは別系列で扱う。- スペクトルグラフやスペクトログラムと併読して、重心変化の根拠(どの帯域の強さが変わったか)を必ず確認する。- 重要度の高い監視では、重心のトレンドにしきい値を設けるだけでなく、帯域エネルギー比(高域/低域)やスペクトル傾斜などと併用して誤警報を抑える。[4][12]
最後に、実装と教材化の手順を簡潔に示す。1) データを短時間フレーミング、窓関数を適用しFFT。2) 目的帯域を決め、各フレームで重心SC=Σ f|X| / Σ|X| を計算(必要ならパワー|X|^2で重み付け)。3) 時系列のSCを平滑化してトレンドを描く。4) 併せてRMS、帯域エネルギー、スペクトル平坦度や傾斜も出し、相関や差分を確認。5) 正常データで基準レンジを定め、逸脱検知のルールを設計。定義・計算式・明るさとの対応・アプリケーションは信号処理の基本資料や実装記事、音響ツールのドキュメントでも共通して説明されており、教育用途でもそのまま活用できる内容である[1][2][4][3]。
[1] https://en.wikipedia.org/wiki/Spectral_centroid [2] https://qiita.com/Naoki0929/items/4c67e8265c7c8ba26b7f [3] https://taylorandfrancis.com/knowledge/Engineering_and_technology/Electrical_&_electronic_engineering/Spectral_centroid/ [4] https://www.mathworks.com/help/audio/ug/spectral-descriptors.html [5] https://www.jsise.org/wp-content/uploads/2023/01/2022_hokushinetsu_a11.pdf [6] http://www.arch.eng.osaka-u.ac.jp/~labo4/www/paper-top.files/2010_pdf/2010other/10-o-02.pdf [7] https://tsukuba.repo.nii.ac.jp/record/2001789/files/M044942.pdf [8] https://repository.dl.itc.u-tokyo.ac.jp/record/54478/files/K-07730.pdf [9] https://www.numberanalytics.com/blog/ultimate-guide-to-spectral-centroid [10] https://www.jstage.jst.go.jp/article/itetr/41.12/0/41.12_261/_pdf [11] https://www.onosokki.co.jp/HP-WK/c_support/newreport/soundquality/soundquality_3.htm [12] https://www.jstage.jst.go.jp/article/jasj/75/9/75_538/_pdf [13] https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1221131307 [14] https://www2.mazda.com/ja/technology/gihou/2019/wbbook/pageindices/index271.html [15] https://zenn.dev/kthrlab_blog/articles/4e69b7d87a2538 [16] https://www.info.kindai.ac.jp/~takasi-i/thesis/2024_21-1-037-0003_N_Uga.pptx [17] https://chocottopro.com/?p=621 [18] https://www.info.kindai.ac.jp/~takasi-i/thesis/2024_21-1-037-0003_N_Uga_thesis.pdf [19] https://www.sciencedirect.com/topics/engineering/spectral-centroid [20] https://www.jstage.jst.go.jp/article/jscejam/75/2/75_I_613/_pdf※本ページは、AIの活用や研究に関連する原理・機器・デバイスについて学ぶために、個人的に整理・記述しているものです。内容には誤りや見落としが含まれている可能性もありますので、もしお気づきの点やご助言等ございましたら、ご連絡いただけますと幸いです。
※本ページの内容は、個人的な学習および情報整理を目的として提供しているものであり、その正確性、完全性、有用性等についていかなる保証も行いません。本ページの情報を利用したこと、または利用できなかったことによって発生した損害(直接的・間接的・特別・偶発的・結果的損害を含みますが、これらに限りません)について、当方は一切責任を負いません。ご利用は利用者ご自身の責任でお願いいたします。