Week 8 Augmented Reality

I created a 2D AR VJ Camera app that uses audio input to animate camera filters.

To access audio data from microphone, I used AVAudioRecorder, and followed this tutorial to get the averagePower from the recorder.

I used my own map function to scale audio level to parameters of different types of filters.

I went through the entire list of Core Image Filter Reference , and found a few that are interesting for VJ purposes, and referred to this post to set the value of filter parameters.

One issue I encountered was not all the filter parameters I saw on Core Image Filter Reference has a relative Filter Parameter keys, and I wasn’t be able to set parameters dynamically using self.currentFilter!.setValue(inputCount, forKey: ???). Later I figured out I could just use the parameter string for key.

Github link


Here’s a screen capture of the app demo, with camera facing a TV screen playing a festival set.