音の高さを調べるソフトといえば、「おんかいくん」などが上げられますが、
今日はJavaで製作された「drawwave」というソフトを紹介します。(*^U^*)
何をするソフトかというと、リアルタイム(実時間)で音声を目で見るソフトです。
音声の波形を描く ということで draw wave というわけです。
まずは、メイン画面です。(o^∇^o)ノ
赤いボタンは、おなじみの録音ボタンです。これを押すと解析が始まります。
(現在、解析中なので赤く光ってます!!)
緑のボタンは、音圧レベルを解析するときのキャリブレーションを行うためのボタンです。
(アイコンが分かりづらい上、このボタンは消える可能性も。)
青いのは、設定ボタンです。色々いぢれます。
SPLは、「Sound Pressure Level」の略で音圧レベルの表示ウィンドウを表示します。
Pitchは、音高(基本周波数)の表示ウィンドウを表示します。
つまり、「音圧レベル」と「音高」を調べることができます。
(将来機能増えることもあると思いますが)
ということは、drawwave と言う名前なのに、音声波形の表示はサポートしていないのです。εミ(っ>_<)っ
言語機能で、日本語を選べます。
←解析していない場合は、赤いボタンが点灯していません!
辞書ファイルはxmlで、
決められた書式にのっとって作成した辞書ファイルを
同ディレクトリに置けば対応言語を増やすことが出来ます。
では早速、解析中のウィンドウを紹介していきます。
これが音圧レベルです。
音の大きさをデシベルで表示します。目盛りがついていて分かりやすいですね。
時間軸もあるので、どんな感じで音圧レベルが変わっていくか分かります。
また、騒音計のように動特性があります。
次は、音の高さの表示ウィンドウです。
音の高さは、1音のみに対応しています。
表示形式は色々と設定できて、上のやつはMIDIのノートナンバーで高さを表現しています。
ピアノでC4(60)を鳴らしているのですが、60.2と大体あっていますね。
周波数からMIDIノートナンバーへの変換は、
「SMFプレイヤーをつくろう!リベンジ「出力ポート、MIDIと周波数の関係」」で紹介しています。
ちなみに音の高さなのですが、1オクターブの間違いが結構あったりする。
次は設定の紹介です。
デバイス→波形入力です
デバイスは、使用する音声入力用デバイスを変えることが出来ます。
チャンネルでは、そのデバイスの両チャンネル(モノラル)、Lチャンネル、Rチャンネルと選ぶことが出来ます。
FireFace 800とか大きなオーディオインターフェイスだと「Analog (9+10) (RME Fireface 800)」など、
LとRとで別々の入力があるので、こういう設定は助かります。
音圧レベルの設定ウィンドウです。
動特性は、騒音計と同じように、FAST(=125[ms])とSLOW(=1000[ms])とで変更が可能です。
同じく騒音計と同じように、A特性と高域強調のIIRフィルタを通した後に表示しています。
といっても、マイクの周波数特性は考慮していないので、騒音計代わりに使う場合は、考慮する必要があります。
さらに、周波数別感度が±0[dB]である1[KHz]のサイン波で、キャリブレーションする必要があります。
音の高さの設定です。
アルゴリズムは、基本ケプストラムを利用しているのですが、
FFTからケプストラムを求める方法と、LPCから求める方法の2種類選択できます。
メディアンフィルタの大きさを変えることで、誤表示を減らすことも出来ます。
最後に、表示の設定
結構いろいろと設定できます。
音の高さの表現では、MIDIノートナンバー以外に、
基本周波数表示や、オクターブ、セント、メルスケールでの表示が可能です。
コメント
nice