2009-02-16 25 views
19

Estoy buscando construir algunas interfaces de compresión para el audio de Windows, y me preguntaba si alguien podría conocer algunos consejos/trucos. Me gustaría construir mi propio ecualizador de software que funcionará con todo el sistema de audio de Windows, no solo un programa en particular. Sé que esto se puede hacer: mi tarjeta de sonido tiene una incorporada, pero no tiene suficientes canales para mi gusto.Comenzando con la programación de audio

Soy completamente nuevo en la programación de audio, pero me gustaría profundizar en él y ensuciarme las manos. Si puede pensar en tutoriales/referencias/artículos/consejos, ¡me encantaría escucharlos!

Estoy usando Visual Studio C++ 2008.

Respuesta

8

Si usted está mirando para conseguir sus manos sucias con la materia de DSP, sugeriría comenzar con la programación VST. Escribir un complemento es una buena manera de perder el tiempo con la manipulación de audio en tiempo real sin tener que preocuparse por la conexión al hardware del sistema, los controladores, etc. Básicamente, el secuenciador se encarga de todo eso por ti, y tu complemento solo recibe un buffer con datos de coma flotante que puedes manipular directamente.

Esto es, en general, mucho más fácil que tratar de escribir un complemento para manipular datos que pasan por las transmisiones de audio del sistema. Además, la API de audio de Windows ha cambiado significativamente desde Vista, y dependiendo de la versión de Windows que esté utilizando, tendrá que seguir diferentes convenciones para que sus cosas funcionen.

Pero, nuevamente, comience de manera simple. Obtenga el VST SDK, consulte algunos tutorials, y comience con pasos de bebé. :)

1

Probablemente necesites echarle un vistazo a DirectSound, pero ten en cuenta que pronto será reemplazado por XAudio2, probablemente en Windows 7. Creo que DirectSound continuará siendo compatible por un tiempo más ya que es estado por mucho tiempo.

4

Pruebe el archivo musicdsp para obtener un buen código de muestra para efectos de audio. El KvR developer forum es también un excelente lugar para obtener ayuda sobre cómo escribir VST y efectos en general.

En cuanto a las API de audio de Windows, hay muchas de ellas. El más ampliamente soportado se conoce como WinMM. Lo último y mejor es la nueva interfaz WASAPI presentada con Vista.

Por último, para lograr un efecto ecualizador de todo el sistema, puede que tenga que mirar en las interfaces de nivel inferior, tales como sAPO

6

Estos son algunos enlaces que eran muy útil para mí:

  1. Tammo Hinrichs "kb" del grupo de demostración Farbrausch articles sobre programación de audio. También hay un video de un seminario que Tammo celebró en here.

  2. Jari Kleimola trabajos fin de máster tesis "Design and Implementation of a Software Sound Synthesizer". Más de 100 páginas sobre programación de audio.

  3. The Synthesis ToolKit in C++. Un kit de herramientas de audio avanzado desarrollado en las universidades. El autor principal del kit de herramientas es Perry Cook, que también ha escrito un libro: "Síntesis de sonido real para aplicaciones interactivas".

  4. "Basic sound theory and synthesis" artículo por Dr Petter.

2

Una suave introducción a VST programación es SynthEdit ... www.synthedit.com, Prevé un arrastrar y soltar entorno de programación, progresando a escribiendo sus propios complementos para C++. Puede hacer los bits 'aburridos' (diseño de GUI) con arrastrar y soltar, y los bits algorítmicos 'divertidos' en C++.