Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

144
Visualizações
La transmisión de PCM sin procesar a través de socket.io genera ruido

Estoy trabajando con la muestra fantástica aquí .

En esencia, estoy capturando el audio del micrófono usando getUserMedia y luego reduciendo la resolución de cada cuadro a un Int16Array de 16000 muestras por segundo.

En el lado del servidor, puedo recibir el audio y usando el paquete wav , también puedo guardar archivos WAV.

El problema es cuando no quiero reducir la resolución (sí, conozco la implicación del ancho de banda, pero ese es mi requisito).

Puedo transmitir audio sin procesar (en Float32Array ) y guardarlo como WAV. Sin embargo, se agrega mucho ruido blanco.

Cuando reduzco la muestra en el lado del servidor, el paquete WAV no puede manejarlo porque ya no es un marco WAV viable.

Traté de envolver las muestras de micrófono usando

 var samples = new Float32Array(e.inputBuffer.getChannelData(0)) socket.emit('binaryData',samples.buffer);

y lo recibió en el lado del servidor con

 socket.on('binaryData',function (data){ var recovered = new Float32Array(data); wavFileWriter.write(recovered.buffer); });

Pero eso tampoco funciona.

Ahora me pregunto si Socket.io hace algo con los datos que disparan la función de reducción de resolución .

¿O me estoy perdiendo algo obvio aquí?

Edición 1: en mi búsqueda para descartar problemas de Socket.io, creé el servidor con esta configuración sin ninguna mejora:

 { perMessageDeflate: false, httpCompression: false, maxHttpBufferSize:1e8 }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Lo resolvió con:

 const f32 = new Float32Array(data.buffer, 0, data.byteLength / Float32Array.BYTES_PER_ELEMENT);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda