WindowsとMacだと、周波数特性が変わる
»
前回の記事で、ギターチューナーを作ったというのを紹介したのですが、そのデバッグの過程で少々困惑したことがありました。
まあ、他愛もないことですが、報告。
それは、Windows とMacで、同じハードにも関わらずマイクから拾った音の周波数特性が若干違うことです。
チューニングメータを作るためには、マイクから音を拾って、それをフーリエ変換して分解し、基底波長を抽出し、それを論理的な周波数(たとえばA=440Hzとか)と比較するのですが、同じ音を入力してもWindowsとMac で抽出される周波数が微妙にずれます。
その差は、0.1Hz 以下なのですが、ずれます・・・。
ハードは、Bootcamp 上のWindows 7 とMac OS Xなので同じ環境です。もちろん、表面上は同じサンプリングレート(44.1KHz)、ビット数(16bit)です。
最初気づかずに少々はまりました。
ドライバ回りなのか、Silverlight のランタイムのせいなのかはいまひとつわかりませんが、とりあえず、KORG製のちゃんとしたチューニングメーターとの差を分析し、補正フィルタを作成することに・・・。
うーん。
音楽まわりのプログラミングしている人にとっては常識なんですかね。
というか、タダのバグ(私のアプリの)かな。
SpecialPR