Antes de entrar en detalles, permítame decir que probablemente he diseñado más profesional , audio sobre hardware de Ethernet que nadie más, tanto en términos de cantidad de diseños de PCB diferentes como en cantidad de PCBs fabricados y enviados a clientes finales. Las probabilidades de que haya escuchado productos en los que he diseñado el circuito de audio a través de Ethernet son muy altas. (Esto es solo para audio profesional y no incluye VOIP u otros productos que no sean profesionales).
Empecemos con los problemas:
Software: El hardware es honestamente la parte fácil. El software es difícil. Cuanto más cerca quieras del rendimiento de audio profesional, más difícil será. Su aplicación no suena como pro-audio, pero la tarea del software aún no es trivial.
Reloj de audio: la transmisión de datos de audio desde el punto A al punto B es relativamente fácil. Hacerlo de manera que los dos dispositivos tengan un reloj de audio sincronizado es difícil. Las aplicaciones no profesionales resuelven esto haciendo una conversión de frecuencia de muestreo o simplemente soltar / duplicar muestras a medida que los relojes de audio se desvían. Hay dificultades y efectos secundarios de ambos, lo que aumenta enormemente la dificultad del software. Guardar los datos en un archivo en el lado de la PC es fácil: usarlos en tiempo real es difícil.
Baja latencia: el tiempo que tarda el audio en pasar del micrófono, a través de la red a la PC, y luego a la PC la llama latencia. Cuanto más corta es la latencia, más difíciles son las cosas. El solo hecho de guardar datos de audio en un archivo es un buen ejemplo de latencia súper larga, y es una de las razones por las que eso también es lo más fácil de hacer. Una latencia de < 2.5 mS es muy difícil de hacer correctamente y de forma robusta. Cuanto más corta sea la latencia, menos problemas habrá con cosas como el eco de audio y esas cosas.
Ancho de banda: lo más fácil es enviar audio de calidad telefónica con alta latencia. La calidad de audio profesional con baja latencia es súper difícil. El uso de la interfaz de micrófono, MCU y Ethernet que propuso lo pondrá en el lado de la calidad del teléfono. Hay muchos casos en los que los bits en bruto por segundo de la interfaz Ethernet no son el único problema. Otros temas como la velocidad de IRQ, el tiempo de transmisión / recepción de paquetes (no solo el ancho de banda general) y, a veces, la sincronización de paquetes son muy importantes.
Topología de red: a medida que aumenta la calidad del audio (y disminuye la latencia), la topología de su red se vuelve realmente importante. Me refiero al número de conmutadores Ethernet, el tipo de conmutadores, cómo están conectados y el número / tipo de dispositivos Ethernet que no son de audio también en la red. Para ti esto probablemente no sería un problema, pero nunca se sabe.
Creo que su solución propuesta funcionaría para la calidad de audio del teléfono con una alta latencia. Es probable que tenga que hacer muestreos / repeticiones para tratar con los relojes de audio no sincronizados. Y no será tan genial. Puede que estés muy decepcionado por el audio. También creo que tendrás mucho software para escribir en el lado de la PC. Dicho esto, no haría el proyecto con eso.
Si estuviera haciendo el proyecto, vería uno de los nuevos dispositivos ARM Cortex-M3 o M4 de TI o Freescale que incluyen un controlador de Ethernet de 100 Mbps o gigabit. Muchas de estas cosas cuestan menos de US $ 10 cada una y pueden funcionar hasta 100 MHz. La cantidad de RAM y Flash hace que la tarea de escribir software sea mucho más fácil.
Para diversión, mi proyecto actual de Audio Over Ethernet utiliza un ARM Cortex-A8 de 800 MHz con puertos Ethernet de dos gigabits y ejecuta una versión personalizada de Linux. El sistema en su conjunto (no solo este dispositivo Cortex-A8) puede manejar más de 2048 canales de audio a 48 KHz, 32 bits, con una latencia general del sistema de solo 2,5 mS (incluido ADC, DAC, dos veces a través de la red y muchos tratamiento). Los dispositivos de audio en la red tienen sus relojes de muestra sincronizados a menos de 1 uS, incluso si hay más de 8 interruptores en el medio.