Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Voz por UDP

Qué tal... estoy realizando una comparación de protocolos UDP y TCP en cuanto a voz... no tiene que ser dual tengo unos programas realizados para TCP y he encontrado otros para UDP... el problema es que los de UDP nunca me han funcionado... hasta el momento sólo estos que he encontado en un disco que venía con un libro... el programa funciona bien sólo es que la calidad de audio es muy mala. He leido en el libro que este programa hace una escalamiento de la señal de entrada lo cual le reduce la calidad a la señal transmitida... he tratado de modificar este escalamiento pero tengo problemas en la computadora que recibe la señal... el error que aparece es 113... al parecer la señal es muy grande para ser transmitida o algo así entiendo del asunto.... adjunto los archivos que encontré en este libro para que me entiendan mejor... espero puedan ayudarme.
Descargar todos
0 kudos
Mensaje 1 de 3
3.941 Vistas
Hola Jargoz, aquí el problema más que los programas es que el protocolo UDP no es el ideal para transmitir este tipo de información.Cuando trabajas por TCP hay una conexión establecida, manejo de errores incorporado en el protocolo. Sin embargo cuando trabajas con UDP en este no hay manejo de error ni sesión de conexión al que envía la información no sabe si le llego. En forma adicional cuando recibes la información los paquetes no necesariamente llegan en el orden que se enviaron.En Help Find Examples puedes encontrar algunos programas que envían información por UDP, puedes simplemente cambiar los datos a que sea sonido, pero en generar para enviar este tipo de información es mucho más recomendable TCP /IP. UDP puede ser ideal para que envíes información genérica como que publiques cual es el puerto disponible para la conexión TCP o para que te puedan encontrar.Aquí hay un foro en el que envían audio por TCP:http://forums.ni.com/ni/board/message?board.id=170&message.id=308179&requireLogin=FalseAhora con respecto a tus programas puede haber dos problemas con la calidad de audio una como dices es la parte de compresión para ver que solo sea esto. Comprime y descomprime la información en la misma computadora sin mandarla por la Red. Si se repercute en forma correcta, la parte de red es la que genera el ruido. Si no modifica tu algoritmo de compresión.Saludos

Saludos

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 2 de 3
3.932 Vistas

Qué tal... muchas gracias por tu repuestas en verdad me han puesto a depurar las cosas.

Tocante a usar UDP muchas de las cosas que dices son ciertas... pero también he encontrado en la literatura que debido a que este protocolo no se "preocupa" por dejar los paquetes con acuso de recibo es ideal para aplicaciones de video y sonido ya que tratar de recuperar un paquete perdido como lo hace TCP en estas aplicaciones no tiene sentido... no imporata ver cosas o escuchar segmentos de la voz que ya tuvieron que estar dentro de una secuencia para formar una imagen o palabras...

Ahora bien...

Cuando intento la prueba que me recomendaste de hacerlo en la misma computadora... entendí 2 cosas.. hacerlo corriendo los 2 VIs poniendo la ip de misma computadora en el "envia.vi" y "recibe.vi" me ha arrojado error 56... que específicamente dice: "The network operation exceeded the user-specified or system time limit." lo intenté codificando ahora con una conversión de "to byte integer" a "to word integer" y ese fue el resultado... además que me traba el "envia.vi" al grado de tener que quitarlo con el adminstrador de tareas.

También hice "enviasin multicast.vi" es decir tuve que poner "localhost" y el micrófono funcionaba muy bien (lo noté por la gráfica), pero no se recibía nada en la bocina... además que después de un rato se me traba la pc también ...

Intenté otro vi que llamé "y.vi" donde meto los 2 procesos en un sólo while loop... esto me hizo darme cuenta que el tiempo de adquisición de datos del micrófono es realmente el problea... se escucha cortado porque este tiempo es de 0.05 segundos.. cuando lo elevo a más segundos deja de escucharse así ... mala calidad pero deja de escucharse cortado...
Para tratar de solucionar esto hice otro vi que llamé "x.vi" en el cual uso otra configuración para tener que evitar poner un tiempo de adquisición de datos... pero me aparece el error -10846... que se refiere a algo del buffer...

Ahora que sé que el verdadero problema está en el tiempo de duración de adquisición de datos cómo podría evitar esto... o cómo podría arreglar el problema del buffer del que uso en "y.vi" esta configuración la uso para tcp y funciona de maravilla...

 

Descargar todos
0 kudos
Mensaje 3 de 3
3.921 Vistas