¿Cómo puedo hacer una panorámica de audio digital controlada por un microcontrolador?

-1

He estado tratando de panoramizar una señal de audio entre 2 altavoces, de manera que pueda programarla para crear un efecto de reproducción automática.

Parece algo fácil de hacer, pero he estado luchando mucho con eso y se agradecería algo de ayuda. Esto es lo que he tratado de hacer:

1: usando Arduino con una olla digital:

Intenté usar el potenciómetro digital MCP4141 (100K) con un Arduino a través de la comunicación SPI. Funcionó, pero la resistencia no es suficiente, ya que en su máxima resistencia el sonido sigue siendo audible. Incluso intenté usar 2 potes en paralelo para duplicar la resistencia, aún así, 200K no fue suficiente y me di cuenta de que necesitaba un valor mucho más alto. Intenté usar un potenciómetro de 1000K, el AD5241BRZ1M, que es el único que parece estar disponible con una resistencia de 1000K (1M). Sin embargo, no hay mucha información disponible al respecto y no pude hacer que funcione con un Arduino. Después de muchos intentos tuve que rendirme.

Ahora estoy considerando usar un Teensy, pero parece caro para mi proyecto (teensy + audio board) y no sé si funcionaría.

¿Hay alguna otra solución? ¿Hay otros tipos de potenciómetros que me faltan?

Gracias.

A continuación se muestra mi intento de usarlo con MCP4141 (con solo 1 pot y 1 altavoz, como si hiciera este trabajo, puedo agregar el otro más adelante).

simular este circuito : esquema creado usando CircuitLab

hoja de datos MCP4141: enlace

    
pregunta Chu

4 respuestas

3
  

¿Cómo puedo hacer una panoramización de audio digital controlada por un   microcontrolador?

Intenta usar este circuito: -

Peroescalalasresistenciasparaadaptarlasatuolla.Elladonegativodeusarunaolladigitaleslaresistenciadellimpiador.ParaelMCP4141(100K)queusó,tieneunaresistenciaallimpiadordehasta300ohmios,porloquehabráunapequeñacantidaddefugasenelcanal"silenciado". Estimo que será de aproximadamente 0.3 / 164 kohm si el 8k2 se escala a 162 kohm. En términos logísticos eso es alrededor de -55 dB. ¿Es suficiente? Sólo tú puedes decir.

    
respondido por el Andy aka
2

Como dice que el audio ya está en formato digital, realice los ajustes de ganancia digitalmente. Para cada muestra entrante, multiplíquelo por (1-PAN) al primer altavoz y PAN al segundo. PAN es una variable que va de 0 a 1 para controlar cuánto se panea el sonido desde el primer altavoz al segundo.

Añadido

Estaba tratando de mostrar la forma conceptualmente simple de hacer esto. Sin embargo, como señaló Colin en un comentario, la mezcla lineal de la tensión no le dará una amplitud constante durante el panorama. Debe mantener constante la suma de los cuadrados de los voltajes, no la suma de los voltajes como en el ejemplo anterior.

Una vez más, sin embargo, ya tienes un procesador digital, por lo que es muy fácil de hacer. Puede calcular la fracción correcta en cada orador sobre la marcha o usar una tabla de búsqueda precalculada.

Tenga en cuenta que hacer una cacerola de potencia constante es algo que las soluciones analógicas no hacen bien, al menos no fácilmente. Esto es mejor y más fácil de hacer digitalmente.

    
respondido por el Olin Lathrop
1

Como alternativa al potenciómetro digital, considere usar un VCA analógico (amplificador controlado por voltaje). Puede controlar la entrada de control de voltaje con una salida analógica de su micro.

Puede encontrar VCA integrados diseñados para la industria del audio que tienen una ley de control de registro inherente; esto abordará las dificultades y limitaciones asociadas con los R-DAC lineales. Echa un vistazo a esa corporación.

Este enfoque tendrá algunos desafíos de diseño analógico asociados, pero ¡descargará la cantidad de trabajo que se debe hacer en el dominio digital!

    
respondido por el user49628
1

Desde su dibujo, parece que está utilizando el potenciómetro como una resistencia de serie simple. Para un control de volumen de rango completo, necesita usar el potenciómetro como un divisor de voltaje, como por ejemplo:

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Peter Bennett

Lea otras preguntas en las etiquetas