Cocoaにおけるメモリ管理の作法、超適当なまとめ(基礎編)

自分自身が最初に勉強した時もそうでしたが、iPhoneアプリケーションの開発方法を新しく勉強するにあたって、最初の難関はメモリー管理の部分にあります。周りで勉強をはじめた人のコードを読んでいても、メモリーリークやリリースし過ぎているケースをよく見ます。

iPhoneにおけるメモリ管理は非常に重要な問題で、正しく学ぶためには時間をかけて詳解Objective-C 2.0等を熟読して内部の動きを理解する必要があると思うのですが、本だけを読んで理解するには結構なエネルギーと時間と想像力が必要だと思います。(そのために一回読んだだけでは把握しきれず、上記のような実装上の問題を抱えてしまっているように思います)。スムーズに勉強を進めるためには、色々な資料があった方が理解しやすいと思うので、ここでは自分が重要だと思うCocoaにおけるメモリ管理のポイント/具体的な作法を超適当に記述していきます。決してこの記事だけですべてを理解できるわけではないですが、メモリ管理のやり方を理解するための一助となれば幸いです。

“Cocoaにおけるメモリ管理の作法、超適当なまとめ(基礎編)” の続きを読む

vDSPを使う(高速フーリエ変換編 その6)

vDSPを使ったFFTをより簡単に使うためにラッパークラスを作っています。前回の記事の続きで、実際に作ったクラスの内容は下記のようになります。 “vDSPを使う(高速フーリエ変換編 その6)” の続きを読む

vDSPを使う(高速フーリエ変換編 その5)

その4までで、一応窓関数も使った高速フーリエ変換が実現できました。しかし実際にオーディオのリアルタイム解析などで使おうとすると、このままでは使いにくいし効率も悪いので、後々使いやすい形に実装しなおします。 “vDSPを使う(高速フーリエ変換編 その5)” の続きを読む

vDSPを使う(高速フーリエ変換編 その4)

簡単な高速フーリエ変換ができるようになりましたが、なにも考えずに信号をフーリエ変換すると周波数特性がきれいにでない場合があります。これは信号に含まれる成分の波長がフーリエ変換する長さに会わなかった場合に発生するのですが、「窓」と呼ばれるものを使うとこの問題を低減できます。「窓」を作る機能もvDSPには用意されているので使ってみます。 “vDSPを使う(高速フーリエ変換編 その4)” の続きを読む

vDSPを使う(高速フーリエ変換編 その3)

前の記事で、高速フーリエ変換を行うことができました。とはいえ、フーリエ変換された結果は複素数の配列になっているので、周波数特性や位相特性を見るためにはもう一段階処理をする必要があります。 “vDSPを使う(高速フーリエ変換編 その3)” の続きを読む

vDSPを使う(高速フーリエ変換編 その2)

いよいよvDSPを使って高速フーリエ変換してみます。※この記事はObjective-Audioさんのこちらの記事を参考に書いています。 “vDSPを使う(高速フーリエ変換編 その2)” の続きを読む

vDSPを使う(高速フーリエ変換編 その1)

加減乗除ができたところで、早速ですが高速フーリエ変換に挑戦してみます。高速フーリエ変換では複素数を扱う事もあって、加減乗除に比べて若干手間がかかりますがそこまで難しくはありません。

“vDSPを使う(高速フーリエ変換編 その1)” の続きを読む

vDSPを使う(加減乗除編)

実際にvDSPを使って信号処理をしてみます。まずは、扱いが簡単な加減乗除の方から見ていきます。英語が読める方、詳しく把握したい方はこちらの記事がとてもよくできているので、是非見てみてください。 “vDSPを使う(加減乗除編)” の続きを読む

iPhoneで楽器アプリを作るときに抑えておきたいvDSPの概要

Mac/iPhoneで音楽アプリを作りたいとき、音響合成を行う時にvDSPを使うと高いパフォーマンスを出す事ができます。使い方は簡単ですがウェブ上に情報が少ないので、後で調べる方と自分のためにここに記事として情報を残しておきます。 “iPhoneで楽器アプリを作るときに抑えておきたいvDSPの概要” の続きを読む