やれやれ2

どうもiPhone上でピッチの検出が安定しないと思ったら、マイクの入力が小さい。iPhoneのマイクは、電源とかPCにつなぐコネクタの向かって右、同じようなのが左にあるのはスピーカー、にあるのですが、ここに向かって叫べば拾えないことはありません。ただしないよな、普通。

何を根拠にそれが原因だというのかと言うと、441Hzになるデータを抽出して、それをサンプルで流したらちゃんと441を出したから。Blueの指向性マイクをデスクトップでは使っているんですが、これでとったデータで、12.20形式の次のようなサンプルです。

static const SInt32 sampleInputsAt441[1024] =
{
64,96,224,288,256,416,544,448,384,480,384,384,320,256,384,96,32,-128,128,-128,-224,-192,-256,-192,-320,-32,-128,192,288,
...
-11488,-13024,-14144,-14816,-14720,-14336,-13600,-13024,-12800,-12576,-12768,-11936,-10784,-8736,-6528,-4544,-2656,-1632,
-416,192,384,-288
};


確認のためBlueの入力ゲインを小さくしてみたら、iPhoneで見たように不安定になった。

さて、iPhone対応マイクはいろいろあるから、マイクを前提にあくまでCorrelationでいくか。
それとも、Harmonic Product SpectrumやCepstrumもやってみるか・・・。やれやれ。