2つの音のそれぞれの周波数波形の概括線を求め、互いに差し引いてその音らを比較できるプログラムです。最大4組の音を同時に確認できます。
概要
本プログラムは、 2つの音が周波数上でどのような違いがあるか調べるものです。常識的には、二つの音の周波数の波形を求めた後、その両方の違い、すなわち減算を行うこととなります。しかし、現実的には周波数波形が複雑すぎてエラーが多いため実質的な使用はほとんど不可能です。これらの問題を解決するために本プログラムでは、周波数波形の概括線(Envelope)を求めた後、その二つの概括線の差(減算演算)を求めることにより、問題を解決しました。
ある音の周波数波形の概括線から他の音の周波数波形の概括線を差し引いて、その両方の違いをグラフで示すという分析法はまだ誰も試してない方法であり、したがって、これらの差引結果のグラフを指す用語もまだありません。ということでこれからは周波数波形の概括線差引結果のグラフを「HISグラフ」、また、「HISグラフ」で表示される特性を「HIS特性」と名前をつけました。
この分析法は、本人がクレモナバイオリン製作学校に通う時、卒業論文で初めて試したものであり、その当時はこの分析法の実現や適用可能かどうかを判断することが主目的だったので、簡単にCLI(Command Line Interface)プログラムで製作しましたが、CLIプログラムは、本人以外には使用が難しいので、今回より使いやすいGUI(Graphical User Interface)プログラムに改良しました。
技術的なプロセスを簡単に説明すると、二つの音、A、Bがあるとき、
Aの周波数波形(FFT:Fast Fourier Transform)を求める。
上で求めたAの周波数波形の概括線(LPC Spectral Envelope)を求める。
Bも同様に実行する。
Aの周波数波形の概括線からBの周波数波形の概括線を引いて二つの差を求める。
この手順で計算されます。周波数波形の概括線を求める方法は、LPC、MFCCなどさまざまな方法がありますが、ここではよく知られているLPC方法を使用しました。
用途
二つの音を比較する場合、または2つの音の変化や違いを知りたい場合にはすべて使用できます。
例えば、バイオリンの場合には、,
サウンドポストの位置の変化による音の変化
ブリッジの形状変化による音の変化
弦交換による音の変化
などがあり、音の比較が必要な場合は、様々な応用ができます。
また、本プログラムの開発目的であり、最も重要な使い道は
バイオリンボディー(弦を除いた)のみの音響特性
を知りたい時です。つまり弦の振動がバイオリンボディーを経て、どのように増幅(または減衰)されるか、すなわちバイオリンボディーがどのような音響(増幅)特性を持っているか調べてみることです。(この研究は本人の卒業論文のテーマだったので、今後まとめて公開する予定です。)
バイオリンの音響特性を確認する方法はいくつかありますが、それぞれ大きな問題を持っています。その中でTap tone方式は、その楽器の共鳴を確認するものであって共振周波数以外の他の周波数帯は説明することができないという欠点があります。例えば1kHz帯域で共振が確認されると仮定すれば、その帯域では音が大きくなると予測することができますが、他の周波数帯域ではどうなるのか知ることができません。バイオリンの生演奏音を分析する方法は、弦の種類によって音が変わるので、それもまたバイオリン本来の音響特性とは言い難いです。これらの現存の方法らが持つ問題を解決することが、本プログラムの最も重要な目的であり、用途であります。
まずバイオリンに限定していくつかの使い道だけ書きましたが、アイデアによってはその使い道は無限であると言えまます。バイオリンだけでなく、ギター、ピアノ、ハープなどの楽器に加え、音を比較したい場合にはどこにでも使用することができるでしょう。
インストール
本プログラムは、ポータブルバージョンであるため、インストール作業は必要ありません。解凍し「Sound_Comparing_Analyzer_v.X.X.X」フォルダにある「Sound_Comparing_Analyzer_v.X.X.X.exe」ファイルをダブルクリックすると、すぐにプログラムが実行されます。ただし、コンピュータの性能によっては実行に時間がかかる場合もあります。
HISグラフとHIS特性
HISグラフで表示される特性は、以下の5つのタイプに分類することができます。(詳細は、今後別のレポートで説明します。)
区分 名前 判別 説明
区間 Live Zone 値 > 0 増幅される区間
Suspended Zone 値 ≒ 0 増幅も減衰もない区間
Dead Zone 値 < 0 減衰される区間
地点 Live Spot 上向きに尖っ 局地的に増幅される地点
Dead Spot 下向きに尖っ 局地的に減衰される地点
Live/ Suspended/ Dead Zoneの判別は、その区間の値が正の場合 Live、`0' に近ければ Suspended、負であれば Dead Zone と判断します。Live/ Dead Spot の判別は、曲線の形状が上向きか下向きかによって判別します。 (下図参照)
Comments