2010-10-27 5 views
8

¿Alguien sabe cómo hacer una unidad de audio EQ simple (3 bandas - baja, media, alta) con iOS? Sé cómo agregar una unidad de audio para iPod EQ a mi AU Graph. Pero solo le da acceso a preajustes y necesito un control adecuado del ecualizador.¿Cómo hacer un EQ AudioUnit simple (graves, medios, agudos) con iOS?

He buscado algunos tutoriales o explicaciones, pero no tuve suerte.

Gracias.

André

Respuesta

1

Esta antigua Motorola AN2110 App Note explica cómo escribir su propio ecualizador de 10 bandas totalmente controlable (y 10 bandas de filtros IIR de audio en tiempo real consumirá menos del 10% de la CPU ARM de un iPod Touch). No estoy seguro de cómo integrar esto con un AU Graph, pero este tipo de EQ se puede integrar fácilmente en las devoluciones de llamada del buffer de PCM Audio Queue.

+0

Gracias! Parece complicado pero parece la dirección correcta para seguir. André. –

+0

Ese documento realmente no explica cómo integrar eso en un entorno iOS. – Zigglzworth

14

El iPhone no es exactamente compatible con AudioUnits personalizadas. O, más precisamente, it doesn't allow you to register an AudioUnit's identifier para que pueda cargarlo en un AUGraph. Sin embargo, puede registrar una devolución de llamada de renderizado, obtener datos PCM brutos y procesarlos en consecuencia. Así es como he implementado el procesamiento de efectos en el iPhone.

+1

Esto es de hecho lo que hago. ¿Tendría algún tipo de ejemplo de un código EQ simple para señalarme por casualidad? Gracias. –

+1

El mejor recurso para el código DSP de muestra es musicdsp.org. Aquí puede encontrar un ejemplo de EQ de 3 bandas: http://musicdsp.org/archive.php?classid=3#236 No se olvide de marcar una respuesta como correcta si encuentra que ayuda a resolver su problema. ;) –

+0

¡Gran lista! Gracias. –

3

He escrito dos entradas de blog sobre este tema y cómo obtener la igualación en el funcionamiento de iOS. Utiliza la biblioteca libsox (compilada cruzada).

Primer post explica cómo se construye libsox: http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-making-it-a-framework

El segundo explica cómo usarlo: http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-doing-effects

complacer a la respuesta si le ayudó! ¡Gracias!

+0

Tu primer enlace fue cortado. El enlace correcto es http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-making-it-a-framework El script funciona muy bien por cierto. Gracias por publicar eso. –

+1

Puede que le interese mi biblioteca que escribí para iOS para hacer todo tipo de filtros en unas pocas líneas de código: https://github.com/bartolsthoorn/NVDSP – bartolsthoorn

2

puede implementar el uso de las mismas clases que se utilizan en el código de ejemplo speak here, solo para generar propiedades como peak powervalue y powervalue promedio que necesita hacer el cálculo en la función de devolución de llamada y funciona.

6

, lo recomiendo que utilice mi NVDSP library, permite DSP'ing de audio fácil, incluyendo los filtros necesarios para hacer un ecualizador en IOS: https://github.com/bartolsthoorn/NVDSP

+0

Gracias por el enlace. Se ve muy interesante. –

+0

Estoy bastante seguro de que responderá a su pregunta, avíseme si tiene algún problema con la biblioteca. También agregué las piezas de código requeridas para hacer un ecualizador de 10 bandas: https://github.com/bartolsthoorn/NVDSP/blob/master/Examples/Equalizer.mm Además, veo que has estado tratando de descifrar CoreAudio últimamente, te recomiendo que eches un vistazo a Novocaine, puede que sea todo lo que necesitas: http://alexbw.github.com/novocaine/ Probablemente ya estés descubrió que CoreAudio es bastante complejo. – bartolsthoorn

Cuestiones relacionadas