Detect frequency from microphone input

I'm building a simple string tuner app that needs to be able to take in the Hz level from the microphone input of an iOS device in real time. I've tried using a framework called AudioKit, but i've had problems with getting it to work, and I was just wondering if there was a way to do this without an external framework, through possibly CoreAudio or AVKit (I have no knowledge in this area thus far). How can I do this?

Accepted Reply

One would generally do this by using a Fourier transform to convert the audio data into frequency domain and then looking for strong signals there. iOS has APIs for the various building blocks (you can use the audio frameworks to get real-time audio data, the Accelerate framework for Fourier transforms, and so on) but I don’t think there’s a single high-level ‘guitar tuning’ API (-: I recommend that you break the problem down into a parts, and then ask specific questions about each of those parts.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Replies

One would generally do this by using a Fourier transform to convert the audio data into frequency domain and then looking for strong signals there. iOS has APIs for the various building blocks (you can use the audio frameworks to get real-time audio data, the Accelerate framework for Fourier transforms, and so on) but I don’t think there’s a single high-level ‘guitar tuning’ API (-: I recommend that you break the problem down into a parts, and then ask specific questions about each of those parts.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"