Go Down

Topic: Retardo de sonidos en milisegundos. (Delay con Arduino) (Read 152 times) previous topic - next topic

saanto7

Muy buenas, soy nuevo en el foro, he buscado acerca del tema pero no he encontrado nada.

El caso es que soy nuevo en esto de los microcontroladores, pero estoy desarrollando un proyecto personal en el cual necesito añadir delay a 2 altavoces. El sistema de sonido esta formado por 4 altavoces, pues quiero retrasar el sonido en tiempo real de dos de ellos. Para ello quisiera saber si es factible realizarlo con Arduino, puesto que me recomendaron dicha placa por su facilidad de programación (C). ¿Ustedes que opinan?

Jopapa

Eso no creo que sea posible con el Arduino normal. Mejor un DUE con un AD de 12bits.

Hace muuuchos años hice un circuito de una revista.

Se necesitaba un conversor analogico-digital, una memoria y un conversor digital-analogico (todo doble estereo)

El sonido se convertia a digital, se almacenaba en la memoria y se reproducía con diferentes milisegundos de retraso.

Daba una sensación de espacios abiertos estupenda.

Pues todos esos pasos tendrán que ser realizados por el procesador.

Mirate esto muestreo

Jopapa
www.jopapa.me

uargo

Te recuerdo que el audio se muestrea como minimo a 44KHz, y en 16Bits. Y aun asi no quiere decir que vaya a tener calidad de CD, por que influyen otros muchos factores como  la calidad del ADC y la del DAC, el tratamiento de la señal, la adaptacion de la señal con operacionales etc etc.


Los arduinos de 16MHz muestrean como mucho a 8KHz (eso sin tener en cuenta el codigo añadido lo lo ralentizara y mucho), y a 8Bits, NO VALE


El Arduino Due va a estar muy cerquita de conseguir los 40KHz de muestreo, pero todo depende de lo optimizado que este el codigo, un mal codigo(lento), podria ralentizar el muestreo hasta dividirlo por 4 o mas, y a 12 Bits. Con 12 Bits podria ser aceptable si lo quieres para reproducir muestras de audio tipo "gracias su tabaco", pero para calidad CD necesitas 16Bits.

Como ADC te aconsejaria este AD7705
http://es.aliexpress.com/item/AD7705-Dual-16-bit-ADC-data-acquisition-module-programmable-input-gain-SPI-interface/32390499823.html

Y como DAC dos de este ad1851
http://es.aliexpress.com/store/product/Free-Shipping-AD1851N-16-Bit-16-x-Fs-PCM-Audio-DAC-DIP16-90-DAYS-WARRANTYOriginal/630494_2050309133.html

Los ADC y DAC asi asi buscandolos rapido, si lo miras tu igual encuentras algo mejor

surbyte

comparto con jopapa y uargo que el DUE es tu objetivo, prueba primero con el ADC y DAC que tiene disponibles. Ambos de 12 bits. Al menos te darán una buena idea de lo que puedes lograr.
Luego si te falta resolución usa la sugerencia de uargo con los ADC y DAC sugeridos.
Yo creo que el DUE puede con la tarea sin problemas.
Sino tienes BBB (Beaglebone black) o un rasPi 2 para hacerlo.

carmeloco

Yo creo que un arduino, te va a quitar calidad de audio, a parte de que va a ser difícil de conseguir el retardo exacto deseado, a no ser que uses un osciloscopio para verificarlo.

Exáctamente, ¿para que necesitas el retardo? Si es para los altavoces traseros de un sistema sorround, normalmente, el sistema incluye ajuste de retardo para los altavoces traseros, ya sea en milisegundos, o poniéndole distancias de sala.

Tu solución puede pasar por esto:

http://www.thomann.de/es/the_tracks_dl_2918_delay_line_controller.htm

uargo

Yo trabajo precisamente en el mundo del audio profesional, el delay the t. racks (la marca mas barata de thoman) que ha puesto el compañero es excaso a nivel profesional, pero a nivel particular es mejor q cualquier cosa que puedas montar tu, eso seguro, si puedes gastarte esos 150 euros ni lo pienses.

Ademas trabaja a 24Bits y 48KHz

Para hacerlo casero y decente vas a necesitar; un arduino due, pantalla lcd con botonera, ADC stero de 16Bits, DAC stereo de 16Bits, y ojo una memoria ram de 1MB como minimo(para almacenar los datos) con 1MB tienes para hacer delays de hasta 10 seg
necisitaras 4 de estos
http://es.aliexpress.com/store/product/For-UT62256CPCL-70LL-256KBIT-static-RAM-memory-DIP28/1501221_32289790843.html

Todo eso sumado te va a salir por 75€ y no es nada facil conseguirlo, ademas necesitaras circuitos con operacionales a la entrada y salida para adaptar la señal

lo mas sencillo y con mas calidad es el delay the t racks

saanto7

De acuerdo, optare por la recomendacion de uargo, muchas gracias a todos, y teneis razón, sin un dsp dedicado al audio poco voy a conseguir. Gracias.

Go Up