Pregunta

Tengo un módem Omni56K Duo ZyXEL USB y quiero enviar y recibir voz fluye en él, pero para llegar a una calidad adecuada probablemente que poner en práctica alguna "ZyXEL ADPCM" codificar porque PCM sin formato proporciona una velocidad de muestreo demasiado pequeño para transmitir medio, incluso calidad de voz, y no trabajo a través de USB o bien (probablemente porque incluso esta tasa de bits es demasiado alto para el convertidor USB-serie en ella).

Este misterioso figuras codec en todas las bibliotecas relacionadas con WAV Microsoft como uno de los muchos códecs soportados por el mismo en teoría, pero no encontré implementaciones.

Puede alguien ofrecer una implementación en cualquier idioma o tal vez algo de documentación? Escribir un encargo ley mu decodificación algoritmo no será un problema para mí.

Gracias.

¿Fue útil?

Solución

No estoy seguro de cómo ZyXEL ADPCM varía de otros sabores de ADPCM, pero varias implementaciones ADPCM se puede encontrar con algunas búsquedas de Google.

Sin embargo, la verdadera razón de mi post es la razón por la elección de ADPCM. ADPCM es ADPCM. Esto significa que se transmiten los datos es la diferencia en las muestras, no el valor actual (que es la razón por la que se ve tan grande compresión). En un entorno limpio, sin pérdida de bits (es decir, la unidad de disco), esto está muy bien. Sin embargo, en un entorno de transmisión, su general se supone que los bits se pueden destrozados periódicamente. Cualquier daño bits a los datos y se le oía artefactos de audio estáticas o de otro tipo muy rápidamente y por lo general, bastante mal.

mecanismo de restablecimiento de ADPCM se basa sin enmarcar, lo que significa que los problemas de audio pueden continuar durante un período prolongado de tiempo, dependiendo del codificador. El código de reinicio es un general un conjunto de 0s (16 viene a la mente, pero ha sido años desde que escribí mis propios puertos).

ADPCM en el entorno de telefonía generalmente convierte una muestra de PCM de 12 bits a una muestra ADPCM 4 bits (no está mal). En cuanto a la calidad de audio ... no está mal para conversaciones telefónicas y la palabra hablada, pero la mayoría de la gente, en una prueba a ciegas, puede detectar fácilmente la caída de la calidad.

En su última frase, se lanza una bola curva en la cuestión. Usted comienza a mencionar Mulaw. Mulaw es una aplicación PCM que toma una muestra de 12 bits y la transforma mediante una escala logarítmica a una muestra de 8 bits. Este es el mecanismo de compresión típica para TDM (teléfono) networkworks en América del Norte (la mayor parte del resto del mundo utiliza un algoritmo similar llamado ALAW).

Por lo tanto, estoy confundido lo que en realidad se está tratando de encontrar.

También mencionó Microsft y WAV implementaciones. Usted probablemente sabe, pero por si acaso, que WAV es sólo un envoltorio alrededor de los datos de audio que proporciona el formato, información sobre el muestreo, canal, tamaño y otra información útil. Sin WAV, AU u otros envoltorios involucrados, Mulaw y ADPCM normalmente se presentan como datos sin procesar.

Otro consejo si está implementando ADPCM. Como indiqué, utilizan 4 bits para representar una muestra de 12 bits. Que se salgan con la que ambas partes tienen una mesa multiplicador. Su posición en la tabla cambia en función del valor de 4 bits (en otras palabras, el valor es a la vez múltiple contra un tamaño de paso y sirve para calcular el nuevo tamaño de paso). He visto una variedad de algoritmos utilizan un poco diferentes tablas (no sé por qué, pero normalmente veo las señales enviadas y recibidas lentamente salirse del sesgo). Uno de los paquetes de sonido populares mayor era diferente a lo que normalmente sierra de los proveedores de hardware de telefonía.

Y, por curiosidades más inútil, hay múltiples sabores de ADPCM. Las variaciones implicar el tamaño de la tabla, tamaño de la muestra y la fuente de muestreo de destino, pero nunca he tenido la necesidad de trabajar con ellos. Sólo sabores documentado que he encontrado cuando hice mi búsqueda en Internet para las especificaciones de los distintos formatos de audio utilizados en la telefonía.

Otros consejos

Tubería su PCM a través ffmpeg -f u16le -i - -f wav -acodec adpcm_ms - probablemente el trabajo.

http://ffmpeg.org/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top