初のiphoneプログラム
最初は、iphoneで開発を始めた
iphoneなんか触った事も無かったが。
iphoneのプログラムは、macじゃないと開発が出来ない。
しかも1年間有料のライセンスを買う。
なんか気が障る感じがするが、仕方がない。
xcodeというツールでobjective-CというほぼC言語で作る。
昔は、makefile書いてgccでコンパイルして、実機に転送して、gdbでdebugするスタイルだった。eclipseさえ使わない、化石みたいな環境。
xcodeだと、関数クリックすればリファレンス見れるしdebugもソース見ながらできるし進化しているんだなぁ~と感心。あまり覚える事が無く楽。時代が変わった。
ausio session / audio unit とか、audio関係のAPIを一通り試す。
sin波生成して鳴らしてみるとか、そんなところから始まる。
サンプリング周波数44100Hzとした。
音声だけであればそんな高くする必要は無いのだが、
ios内部では44100Hz固定で、16000Hzや48000Hzに指定してもOS側がCPUで変換しているようだ。
補完とかするわけでもなく、離散的に値を拾っているだけで、ノイズがでる。
よって、44100Hz一択なのである。
音声圧縮、最初はCELTというcodecを使ってみた。
CELTは44100Hzが標準で、iosと相性が良かった。
iosは、正確にコールバック発生する。マイクとスピーカー同期している。
micだけdropする事が無いのがよい。
しかしサンプリング周波数44100Hz以外にするとずれ、結構困る。