How to develop iphone application with reverb function?

I am developing an application for the iPhone (e.g. Audio Processing). I have a little influence on the audio. If this is a desktop application , there are many options. We can get good examples and a complete project, like courage. But I want to develop for the iPhone.

I have an application with a reverb option; (see the following link). I just watch the “video” , I have not tested this application on my iPhone device.
http://www.appstorehq.com/reverb-iphone-89870/app

My question is: How can I develop an application with reverb features? Is there any documentation for this? If so, just share with us.

NOTE. We can use AudioUnit to develop an application with a reverb function (I don't understand this).

EDIT: I don't like using a third-party library.

If anyone knows about this, please share with us.

Thanks.

+6
iphone audio signal-processing core-audio
source share
7 answers

if your targeting is on ios5 you can use the audio device subtype kAudioUnitSubType_Reverb2 of the sound effect block.

reverb unit

AudioComponentDescription auEffectUnitDescription; auEffectUnitDescription.componentType = kAudioUnitType_Effect; auEffectUnitDescription.componentSubType = kAudioUnitSubType_Reverb2; auEffectUnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple; AUGraphAddNode( processingGraph, &auEffectUnitDescription, &auEffectNode), 

Otherwise, you can simply write your own reverb code in the remoteio callback. A simple delay can be easier to do and will sound the same.

+4
source share

iOS 5.0 supports native OpenAL support, so it’s now much easier - you don’t need to program the algorithm yourself. It also supports many reverb spaces:

  • Small room
  • Middle number
  • Large room (2 configurations)
  • Medium Hall (3 configurations)
  • Great Hall (2 configurations)
  • Plate
  • Middle camera
  • Grand Chamber
  • Cathedral

I suggest you try the ObjectAL wrapper, which already has great support for the reverb effect: https://github.com/kstenerud/ObjectAL-for-iPhone

Take the source from this repository, download "ObjectAL.xcodeproj" and run the ObjectALDemo target on any iOS 5.0 device (should also work on the simulator). This will give you a good starting point and a sense of what the reverb effect is capable of.

If you are still not using any third-party library, you can simply take the appropriate snippets from ObjectAL. Look for reverb related code in the following source files (and corresponding headers):

Good luck with your project!

+3
source share

AU is a good place to start.

write your own AU reverb that contains the reverb implementation. There are many ways to implement reverb. the medium or long convolutional reverb will ask a lot from the phone, but something like FDN (network with delayed feedback) will not require a lot of memory or processor.

Both implementations are easy to implement if you are familiar with audio programming and optimization. The tough part actually makes one that sounds very good and works well.

if you cannot write the optimal low-level code, or if you do not understand (currently) the basic processing of the audio signal, then you will have several obstacles to overcome - in this case it can be a long way.

+1
source share

Searching for iOS documentation for “reverb” creates a link to the Overview of the main sound , which refers to reverb as a “effects block”. Perhaps it is worth continuing to study?

0
source share

It’s not good, I tried to approach the audio block, and even though it is in the documentation, it has not yet been “implemented” by apple engineers. Each time you call a function to set the reverb property, you will only get a failure status code. You will have to realize your own reverb effect. Try reading some DSP book and you can find the key.

0
source share

you need to learn DSP level coding, the DSP cookbook book is fine, and there are others. But basically, you need to be comfortable with processing the audio signal in the frequency domain and things like FFT. Once you do this, the reverb filter implementation should be straightforward.

0
source share

This is the answer I gave earlier, but I believe that it is relevant here. I agree with others and say that you will need to get a little used to core-audio if you want to do it right.

I highly recommend this basic audio book. He will teach you what you need to do it right and save you a lot of frustration.

A chapter on sound effects has not yet been published, but if it's something like the rest of the book, it's worth the wait.

EDIT

You will most likely need to do this using the audio effect (which is a form of audio device).

0
source share

All Articles