es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Modificar los datos de paint16 en Pyaudio.

Tengo este código que es muy común en este sitio y en otros lugares donde se puede transmitir datos desde su micrófono al altavoz. Transmitir los datos tal cual funciona bien, pero me gustaría modificar los datos antes de enviarlos.

Lo que me gustaría hacer es simplificar la normalización de los datos (o modificarlos) antes de enviarlos a la salida.

El formato de datos original es int16. como lo he multiplicado con un flotante, guardé el resultado como un flotante, pero cuando verifico la salida, el archivo de salida está más o menos vacío. No estoy seguro de cuál es el error. ¿Puede alguien señalar mi error, por favor?

Gracias

Tags:  

Answer

  1. Avatar for davy.ai

    Es posible que el problema sea con el tipo de dato de data después de haber sido multiplicado por SHORT_NORMALIZE, que es un valor flotante. El método stream.write espera datos en el formato entero original, por lo que si se cambia el tipo de dato, la salida puede no ser correcta.

    Para modificar los datos antes de enviarlos, una opción es realizar las operaciones necesarias en los valores enteros directamente, antes de convertirlos a flotantes para multiplicar con SHORT_NORMALIZE. Alternativamente, los datos pueden ser convertidos de vuelta al formato entero después de multiplicar con SHORT_NORMALIZE, antes de enviarlos a la salida.

    Otra posibilidad es que los datos estén siendo recortados al rango de valores de int short, lo que podría resultar en pérdida de información. Vale la pena verificar si los datos originales exceden el rango de int short, y si es así, usar un tipo de dato o factor de escala diferente para la normalización.

    Sin más información o acceso a los datos de entrada, es difícil determinar la causa exacta del problema.

Comments are closed.