洋書「iPhone SDK Application Development」の翻訳本です。
日本語版はCore Graphics、オーディオセッションとオーディオユニットについて追記されています。
Core Graphicsについては、探せばドキュメントが無い訳ではないですが、Audio Unitについては、英語でもなかなかドキュメントが無い状態で、さらに日本語で読めるドキュメントとなると、ほとんどない状態なので貴重な一冊です。
以前、3DMixer + remoteIOで、Reverb、Chorus、Distortionなどのサウンドエフェクターを作ってみましたが、参考になるドキュメントが無くて、結構苦労しました。
その時に参考にさせて頂いたサイト「My Codex Leicester」の方が寄稿されているとの事なので、内容的には間違いなさそうですが、iPhoneOS 2.2.1から3.0になった時に、一部バッファのフォーマットが変わっていたので、そのあたりまでフォローされているのかが気になる所です。
元々APIのかなりの部分を網羅している書籍なので、これからiPhoneプログラミングを始める人にとっては、持っていて損の無い一冊だと思います。
※iPhoneアプリ開発に関する投稿を今から始めるiPhoneアプリ開発にまとめました。
はじめまして永野です。
>一部バッファのフォーマットが変わっていたので、そのあたりまでフォローされているのかが気になる所です。
これですが、全部書く余裕は無かったので、Audio Unit正準形(32bit基準)のASBDを紹介して、それをAudioUnitSetPropertyする形式を紹介しています。
(16bit基準もやりだすと、インターリーブ、ノンインターリーブ両方のやり方を書かないとだし、デフォルトのASBDがこうなってるとか、書いたらと結構な量になるもので)
プログラミングガイドにもAudio UnitはAudio Unit正準形がデフォルトなのだ!と書いてあるので、そっちのがいいかなと。
そんなわけで、2.2.1も3.0も動くようになっています。
永野さま
コメントありがとうございます。
iPhoneOS 2.2.1で動いていたものが、3.0では動かなかったので色々と試行錯誤したのですが、3.0以降でも32bitで動かすことができたのですね。
知りませんでした。
勉強になります。
コメントありがとうございました!
> 以前、3DMixer + remoteIOで、Reverb、Chorus、Distortionなどのサウンドエフェクターを作ってみましたが、参考になるドキュメントが無くて、結構苦労しました。
このサウンドエフェクターのプログラムを公開して欲しいです。
Reverbを実現するには、k3DMixerParam_Distanceの値を振動させれば良いのでしょうか?
また、Androidにも、iPhoneのAudio Unitの3DMixerやMultiChannel Mixerに相当するAPIがあるのでしょうか?
StoneDeram1 様
コメントありがとうございます。
サウンドエフェクターのソースについては、ToyDrumで使っていることもあったり、諸々事情もあったりで、今の所公開するつもりはありません。
サウンドエフェクターのアルゴリズムもネット上にあったりするので、AudioUnitの仕組みが分かれば、試せると思います。
Androidについては、まだ詳しくは見れてないですが、Audio Unitのようなサウンドデータを直に触れるようなAPIは無いようです。
ただ、JET engineというサウンド再生エンジンは、MIDIデータも使えるようで、色々とできそうです。