初の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以外にするとずれ、結構困る。