Audio processing in iOS

I'm going to start developing an iOS application for audio processing. At the moment, it is not entirely clear what requirements for the application are, since this is a research project. But the basic requirements, at least for detecting cords, are sets from the microphone input. Therefore, I appreciate your opinion on the available libraries, which, in your opinion, are good for this kind of work. I would like to stay away from third-party libraries as much as possible.

+4
source share
4 answers

I am using audio devices.
There are no third-party things, just audio devices, which in any case are the best audio interface on iOS.
It's a little hard to get started, but read the docs and you'll be well off.

+5
source

I would recommend using the Novocaine library. Audio material is a real pain if you do it yourself from scratch ...

https://github.com/alexbw/novocaine

Here is what they say:

Really fast sound in iOS and Mac OS X using audio devices is heavy and it will leave you scarred and bloody. Now you can use several lines of code.

Receiving audio

Novocaine *audioManager = [Novocaine audioManager]; [audioManager setInputBlock:^(float *newAudio, UInt32 numSamples, UInt32 numChannels) { // Now you're getting audio from the microphone every 20 milliseconds or so. How that for easy? // Audio comes in interleaved, so, // if numChannels = 2, newAudio[0] is channel 1, newAudio[1] is channel 2, newAudio[2] is channel 1, etc. }]; 
+8
source

The audiograph ( https://github.com/tkzic/audiograph ) demonstrates how to read audio from a microphone, audio files, and MIDI files. It also processes them both in the time domain and in the frequency domain (you may need some analysis in the frequency domain to detect a chord). As a modification of the Apple MixerHost example, it does not use third-party libraries.

Apple's Aurio Touch ( https://developer.apple.com/library/ios/samplecode/aurioTouch2/Introduction/Intro.html ) from Apple is a little harder to learn, but it contains what you need to get started. And this is not related to third-party libraries.

+3
source

Core Audio and the Accelerate platform are built into iOS. No need for any third-party libraries. A lot if the documentation is on the Apple Developer website. For real-time low-latency audio input, try the RemoteIO Audio Unit, also built into iOS Core Audio.

There is also a book about learning Core Audio.

The Accelerate structure contains many basic DSP blocks, such as FFT, matrix math, and biquad filters.

+1
source

Source: https://habr.com/ru/post/1444587/


All Articles