iRecorder

iRecorder is an app example that utilizes core animation in conjunction with pan gesture recognizers to provide a good user experience for recording voice memos.

The UI is 100% programmatic, and the audio recording and playing is managed by AVFoundation. The voice animation is obtained by utilizing CAReplicatorLayer and CABasicAnimation responding to the average power, in decibels, for the sound being recorded.