▲上位のページに戻る

 1.はじめに

周波数解析は信号に含まれる様々な周波数成分分布を調べるもので, 信号の特徴を見るのによく利用されるものです。 現在,コンピュータ上の信号を周波数解析する方法としては, 高速フーリエ変換(Fast Fourier Transform)を利用した解析法が主流です。 非常に高速に解析ができ,解析結果も比較的良いものが得られます。 オーディオコンポなどでよく見かける音に合わせて上下に動くバー(いわゆるスペアナと呼ばれるもの)なんかも, おそらくFFTでしょう。

FFTは高速でハードウェアで実現可能など,様々なメリットがありますが,デメリットももちろんあります。 FFTはフーリエ級数に基づく手法であるため,その特徴を受け継いでいます。 特に周波数分解能が時間分解能に反比例する(不確定性関係)という特徴は,時間周波数分析を行う場合大きな障害になります。 また,任意の区間を解析する際その起点と終点を結ぶ周期関数としてみなされるので, それぞれを結ぶ点で不連続が生じた場合,実際の信号には含まれていない周波数成分を観測してしまいます。 その影響を減少させるために,通常は窓関数を用いますが,解析結果には常にその窓関数の影響が現れてきます。

 2.一般調和解析(Generalized Harmonic Analysis)

一般調和解析は,1958年にN.Wienerが提唱しました。 アルゴリズムとしては,解析対象信号に対して残差信号エネルギーが最小になるような正弦波を探し出し, その残差信号を新たな解析対象信号として同様の処理を繰り返すというものです。 FFTを比較すると,時分解能と周波数分解能がそれぞれ独立して設定できるため観測区間を短く設定し時間周波数分析に利用できます。 また,観測区間長が解析結果に影響しないのでFFTのように存在しない周波数が現れることもありません。 加えて,信号にノイズが多少含まれていても,ノイズを無視して解析を行うことが出来ます。

しかし,大きなデメリットとして,計算量が膨大で解析に時間がかかることがあげられます。 この解析時間の問題は深刻で,一般調和解析はこのデメリットのために積極的に利用されませんでした。 近年ではコンピュータ性能の目覚ましい発展により,パソコンでも利用できる可能性がでてきました。

 3.研究内容

私の研究は,この一般調和解析を使って音響解析を行うことをテーマにしています。 初めは,音声をMIDIで表現することを目標にしました。 一般調和解析で得られた周波数成分に最も近い音階の音符を組み合わせていくことで,MIDIで音声を鳴らそうとしました。 WAVEデータのように音波としてのデータを持つファイルは,再生品質は高いものになりますが,後からの編集にむきません。 MIDIデータにすることで,音楽制作の場で利用できるようになります。

プログラム概観
こちらは作成したプログラムの概観となっています。 このプログラムで音声ファイルを解析した後,MIDIファイルへ変換を行います。 一般調和解析は任意で周波数成分抽出本数を選ぶことができますので,利用目的に応じて変えるとデータの扱いが楽になります。


これは解析結果を利用して生成されたMIDIファイルを音楽制作ソフト(DAW)のSONAR LEで表示させたところです。 四角い散らばってるものがたくさんありますが,これがMIDIの音符です。 これを正弦波の音ににているオカリナなどの楽器を設定して再生すると元の音声に似た音が聞こえてくるというわけです。

ゆくゆくは,CDを読み込ませると,楽譜データとしてMIDIファイルを出力するようなシステムを開発したいと思っていますが,前途多難であります。 みなさまにお見せできるようなものは成果として出来上がっていませんので今しばらくお待ちくださいますようお願い申し上げます。