Skip to main content

Introducción a ReSpeaker XVF3800

Descripción general

El ReSpeaker XVF3800 USB 4-Mic Array es una matriz circular profesional de 4 micrófonos con XMOS XVF3800, que incorpora AEC, AGC, DoA, conformación de haz, VAD, supresión de ruido, desreverberación, captura de voz de 360° (hasta 5 m) y modos de funcionamiento duales para aplicaciones de voz avanzadas.

pir

Características

  • Actualización de chip :De XVF3000 a XVF3800

  • Matriz de cuatro micrófonos :4 micrófonos de alto rendimiento en un patrón circular para captura de voz de campo lejano de 360° hasta 5 metros

  • Procesamiento de audio avanzado :Impulsado por XVF3800 con AEC, conformación de haz múltiple, desreverberación, detección de DoA, supresión de ruido dinámica, rango de AGC de 60 dB

  • Número de serie único del dispositivo :El SN integrado permite implementaciones con múltiples dispositivos y gestión avanzada de dispositivos

  • Modos de funcionamiento duales :Modo USB plug-and-play para conectividad instantánea con PC y modo INT-Device (I2S) para integración con sistemas embebidos, configurable mediante comandos USB o I2C cambiando el firmware en consecuencia

  • Compatible con código abierto :Funciona con hosts USB (Windows, macOS, Raspberry Pi OS) y hosts I2S (XIAO Serie, ESP32, Arduino).

  • Retroalimentación visual :LED RGB programables e indicadores de estado muestran los estados del dispositivo y la actividad de voz

  • Calidad de audio igual o mejor :en comparación con el modelo anterior

Descripción del hardware

pir

Componentes principales

Componente / CaracterísticaDescripción
Procesador de audio principalXMOS XVF3800, gestiona el procesamiento de audio incluyendo AEC, conformación de haz, supresión de ruido, etc.
Matriz de micrófonosMicrófonos MEMS PDM cuádruples en un patrón circular, que admiten captura de voz de campo lejano de 360° (5 m).
Códec de audioTLV320AIC3104, gestiona la conversión y salida de audio.
LED RGB12x WS2812 LED RGB direccionables individualmente para retroalimentación visual (por ejemplo, estado, actividad de voz).
Botón de silencioPresione para activar/desactivar el silencio de la entrada del micrófono.
LED indicador de silencioSe enciende (normalmente en rojo) para mostrar que el audio está silenciado.
Botón de reinicioReinicio por hardware para la placa/sistema.
Puerto USB tipo CSe utiliza tanto para alimentación como para datos (compatible con USB Audio Class 2.0).
Conector de auriculares AUX de 3,5 mmSalida de audio para auriculares o altavoces activos.
Conector de altavozInterfaz de altavoz JST, admite altavoces amplificados de 5 W.
Pads de depuraciónAcceso de depuración para XTAG4 u otros programadores.
Cabeceras I2C e I2SCabeceras expuestas para comunicación I2C e I2S con dispositivos externos.
Pads de IO sin usar (XIAO)Pads de E/S adicionales soldados conectados al módulo XIAO.
Comunicación I2S e I2CAdmite conexión a hosts externos como Raspberry Pi, PC, etc. utilizando estos protocolos.
Modos USB e INT-DeviceFuncionamiento de modo dual: USB plug-and-play o modo de dispositivo interno INT mediante I2S.
Número de serie únicoSN del dispositivo integrado para identificación y gestión de múltiples dispositivos.
Compatibilidad con código abiertoFunciona con Arduino, Raspberry Pi, PC/Mac y es compatible con XIAO Serie.
Funciones avanzadas de audioAEC, conformación de haz, desreverberación, detección de DoA, supresión de ruido basada en DNN, AGC de 60 dB.
Retroalimentación visualEl estado del dispositivo y la actividad de audio se muestran mediante patrones de LED RGB e indicadores de estado.
Calidad de audioIgual o mejor que los diseños anteriores basados en XVF3000.
note

El ReSpeaker XVF3800 se ofrece en dos variantes: una sin XIAO y otra con el XIAO ESP32S3 integrado. La versión sin XIAO funciona con el firmware USB predeterminado. Para utilizar la versión con XIAO integrado, debes grabar firmware creado para el modo INT-Device (I2S). Para obtener instrucciones de configuración detalladas, consulta la guía oficial del wiki.

Compatibilidad con XIAO ESP32S3

  • Entrada/salida I2S estéreo con múltiples opciones de salida; interfaz I2C para configurar y gestionar los parámetros del XVF3800.
  • Reinicio de XIAO mediante pin de IO
  • Interfaz y pads de soldadura

Distribución de pines

pir

pir

Descripción general de los GPIO

El reSpeaker XVF3800 expone 3 pines de entrada (GPI) y 5 pines de salida (GPO) para control externo. Puedes utilizarlos para leer estados de botones o controlar hardware como el LED de silencio, el amplificador o los LED.

Nombre del pinDirecciónFunción
X1D09Entrada (RO)Estado del botón de silencio (alto cuando está liberado)
X1D13Entrada (RO)Flotante
X1D34Entrada (RO)Flotante
X0D11Salida (RW)Flotante
X0D30Salida (RW)Control del LED de silencio + silencio del micrófono (alto = silencio)
X0D31Salida (RW)Habilitación del amplificador (bajo = habilitado)
X0D33Salida (RW)Control de alimentación del LED WS2812 (alto = encendido)
X0D39Salida (RW)Flotante

Primeros pasos

Preparación de hardware

  • Cable USB tipo C
  • Ordenador host o Raspberry Pi

Preparación de software

Uso fuera de la caja

DOA (Direction of Arrival)

Puedes experimentar cómo la matriz de LED sigue la dirección de la voz entrante.

Botón de silencio

pir

El botón de silencio de tu ReSpeaker se utiliza para desactivar temporalmente la captura de voz de la matriz de micrófonos. ¿Qué ocurre cuando presionas el botón de silencio?

  • Los micrófonos se silencian: las voces externas ya no se capturarán ni procesarán.
  • Se enciende un LED rojo para indicar que el modo de silencio está activo.
  • Esto significa que el ReSpeaker no enviará ninguna entrada de audio a tu ordenador o dispositivo host.

Pruébalo tú mismo con Audacity

pir

Botón de reinicio

El botón de reinicio (RST) proporciona un reinicio por hardware para el XVF3800; cuando se presiona, reinicia el chip y vuelve a inicializar el sistema desde el principio, como en un ciclo completo de encendido.

pir

Conexión de altavoz

Aquí puedes ver cómo conectar altavoces utilizando ya sea el conector de auriculares AUX de 3,5 mm o la interfaz de altavoz JST integrada, según tu preferencia de salida de audio.

pir

pir

Modo seguro

El modo seguro es un modo especial de recuperación en el ReSpeaker XVF3800 que te permite grabar firmware mediante USB DFU o I2C, para dispositivos como Raspberry Pi y ESP32. Si has grabado previamente el firmware I2S y quieres volver al firmware USB, puedes entrar en modo seguro y volver a grabar el firmware USB utilizando USB DFU.

note

Cada tipo de firmware en el ReSpeaker XVF3800 admite diferentes métodos de actualización:

  • El firmware USB solo admite USB DFU, lo que significa que puedes actualizar el dispositivo utilizando una conexión USB. Sin embargo, no admite I2C DFU.

  • El firmware I2S es lo contrario: admite I2C DFU, lo que permite actualizaciones de firmware a través de una interfaz I2C, pero no admite USB DFU.

  • El firmware de Modo Seguro, que se almacena en la partición Factory, es el más flexible. Es compatible tanto con USB DFU como con I2C DFU.

Cuándo usar el Modo Seguro

  • Tu firmware no funciona correctamente (por ejemplo, el USB no se detecta, el LED no se enciende como se espera).
  • Necesitas volver a grabar un nuevo firmware pero el actual no responde.
  • Grabaste algo incorrecto por accidente y quieres recuperarlo.

Cómo entrar en Modo Seguro

  • Apaga el dispositivo por completo.
  • Mantén pulsado el botón Mute.
  • Mientras mantienes pulsado el botón Mute, vuelve a conectar la alimentación.
  • El LED rojo empezará a parpadear; esto confirma que el dispositivo está ahora en Modo Seguro.
  • Ahora el dispositivo ejecuta el firmware de Modo Seguro almacenado en la partición Factory.

Actualizar firmware

Hay tres versiones de firmware disponibles en el repositorio oficial de GitHub. Puedes elegir y grabar el firmware adecuado según los requisitos de tu aplicación. Para más detalles y descargas, consulta el Github Link

note

Asegúrate de descargar el repositorio completo.

El firmware USB está diseñado para usarse con sistemas operativos host como Windows, Linux y macOS cuando se comunica a través de la interfaz de hardware USB.

Hay dos variantes de firmware disponibles: respeaker_xvf3800_usb_dfu_firmware_v2.0.x.bin, que proporciona audio de 2 canales, y respeaker_xvf3800_usb_dfu_firmware_6chl_v2.0.x.bin, que proporciona audio de 6 canales. Ambas versiones de firmware funcionan a una frecuencia de muestreo de 16 kHz con una profundidad de 32 bits.

Puedes explorar estos archivos de firmware en este enlace

FirmwareCanalesNotas
respeaker_xvf3800_usb_dfu_firmware_v2.0.x.bin2Salida procesada de 2 canales
Canal 0: Conferencia
Canal 1: ASR
respeaker_xvf3800_usb_dfu_firmware_6chl_v2.0.x.bin6Canal 0: Audio procesado (Conferencia)
Canal 1: Audio procesado (ASR)
Canal 2: Datos en bruto del Mic 0
Canal 3: Datos en bruto del Mic 1
Canal 4: Datos en bruto del Mic 2
Canal 5: Datos en bruto del Mic 3

Conecta el reSpeaker XVF3800 a tu PC mediante el cable USB. Ten en cuenta que debes usar el puerto XMOS USB-C (cerca del puerto jack de 3,5 mm) para grabar el firmware de XMOS.

Instalar DFU Util

dfu-util es una herramienta de línea de comandos para la actualización de firmware de dispositivos (Device Firmware Upgrade) vía USB.

  • Descarga dfu-util-0.11-binaries.tar.xz y extráelo, por ejemplo, en D:\dfu-util-0.11-binaries\win64\
    Enlace de descarga

  • Añade la ruta a dfu-util.exe a la variable de sistema Path:
    My Computer > Properties > Advanced > Environment Variables > Path

  • Abre Command Prompt (cmd) y verifica la instalación:

dfu-util -V

pir

  • Conecta el ReSpeaker XVF3800 y comprueba la detección del dispositivo:
dfu-util -l

pir

Si obtienes:
Cannot open DFU device 2886:001a ... (LIBUSB_ERROR_NOT_SUPPORTED)
Continúa con el paso de instalación del controlador que aparece a continuación.

  • Instala Zadig
    • Abre Zadig → Options > List All Devices
    • Selecciona reSpeaker 3800 o reSpeaker XVF3800 4-Mic Array
    • Instala el controlador WinUSB
    • Apaga y enciende de nuevo el dispositivo
    • Ejecuta dfu-util -l otra vez para confirmar la detección.

Grabar firmware

Descarga el repositorio completo de firmware desde GitHub aquí XMOS XVF 3800

  • Ejecuta el siguiente comando para grabar el firmware

dfu-util -R -e -a 1 -D /path/to/dfu_firmware.bin
  • En Linux, ejecútalo con sudo
sudo dfu-util -R -e -a 1 -D /path/to/dfu_firmware.bin
  • La opción -R reiniciará automáticamente la placa después de la grabación.

pir

  • Vuelve a comprobar la versión del firmware con el comando dfu-util -l, para asegurarte de que el nuevo firmware se ha grabado

Grabación y reproducción

Configurar Audacity (Windows)

  1. Abre Audacity
  2. Ve a Audio Setup > Audio Settings

pir

  1. Configura:
    • Host: Windows WASAPI
    • Recording Device: reSpeaker 3800
    • Channels: 2 (Stereo)
    • Sample Rate: 16000 Hz (tanto para Project como para Default Sample Rate)
    • Sample Format: 24-bit

pir

  1. Haz clic en OK
  2. Ya está todo listo: ¡empieza a grabar!

pir

Cómo controlar reSpeaker XVF3800

El reSpeaker XVF3800 está equipado con una interfaz de control que permite a los usuarios configurar el funcionamiento del dispositivo, establecer o leer datos de parámetros y guardar datos de parámetros en el dispositivo. Los usuarios pueden controlar el dispositivo mediante la interfaz USB o I2C. Se proporciona una aplicación host de ejemplo, xvf_host (para Linux, macOS y Raspberry Pi OS) o xvf_host.exe (para Windows), para conectarse fácilmente a la interfaz de control del reSpeaker XVF3800.

Descargar desde aquí

note

Si deseas explorar más sobre el control mediante xvf_host, lee este artículo.

Usuarios de Windows

  • Asegúrate de que ReSpeaker XVF3800 esté conectado por USB
  • Descomprime xvf_host.exe en una carpeta como:
C:\Tools\xvf_host\

Verificar la instalación

cd C:\Tools\xvf_host
xvf_host.exe --help

Comprobar la conexión del dispositivo

xvf_host.exe VERSION

Salida esperada:

Device (USB)::device_init() -- Found device VID: 10374 PID: 26 interface: 3
VERSION 2 0 2

Control de LED

CommandExampleDescription
led_effectxvf_host.exe led_effect 10=off, 1=breath, 2=rainbow, 3=solid, 4=DoA
led_colorxvf_host.exe led_color 0xff8800Set hex color (orange)
led_speedxvf_host.exe led_speed 1Set effect speed
led_brightnessxvf_host.exe led_brightness 255Set brightness
led_gammifyxvf_host.exe led_gammify 1Enable gamma correction
led_doa_colorxvf_host.exe led_doa_color 0x0000ff 0xff0000Set DoA base/directional color

🟠 Ejemplo (respiración naranja):

xvf_host.exe led_effect 1
xvf_host.exe led_color 0xff8800
xvf_host.exe led_speed 1
xvf_host.exe led_brightness 255

Configuración

xvf_host.exe save_configuration 1
xvf_host.exe clear_configuration 1

Control de GPIO

Leer entradas:

xvf_host.exe GPI_READ_VALUES

Ejemplo de salida: GPI_READ_VALUES 1 0 0

En este ejemplo, el retorno 1 0 0 significa que el Pin X1D09 está en nivel alto, el Pin X1D13 está en nivel bajo y el Pin X1D34 está en nivel bajo.

Leer salidas:

xvf_host.exe GPO_READ_VALUES

Ejemplo de salida: GPO_READ_VALUES 0 1 1 0 0

En este ejemplo, el retorno 0 0 0 1 0 significa que el Pin X0D11 está en nivel bajo, el Pin X0D30 está en nivel bajo, el Pin X0D31 está en nivel alto, el Pin X0D33 está en nivel alto y el Pin X0D39 está en nivel bajo.

Configurar salida:

xvf_host.exe GPO_WRITE_VALUE 30 1  # Turn ON mute LED
xvf_host.exe GPO_WRITE_VALUE 30 0 # Turn OFF mute LED

Dirección de llegada (DoA)

  • DoA te indica desde qué dirección está hablando alguien.
  • El anillo de LED en el ReSpeaker XVF3800 muestra la dirección usando luces.
  • También puedes leer los valores de DoA usando la herramienta xvf_host.

Comando para comprobar los valores de DoA

xvf_host.exe AEC_AZIMUTH_VALUES

Ejemplo de salida

Device (USB)::device_init() -- Found device VID: 10374 PID: 26 interface: 3
AEC_AZIMUTH_VALUES 0.91378 (52.36 deg) 0.00000 (0.00 deg) 1.57080 (90.00 deg) 0.91378 (52.36 deg)
  • Focused beam 1: Primera dirección fija de escucha
  • Focused beam 2: Segunda dirección fija de escucha
  • Free running beam: Dirección que se escanea continuamente
  • Auto selected beam: Haz final elegido para el mejor audio (usado para la indicación de DoA)

Indicador de voz

  • La energía de voz muestra qué tan fuerte es la señal de voz, como un medidor de volumen de voz.
  • Se utiliza para detectar si alguien está hablando y qué tan fuerte/cerca está.
  • El ruido, el eco y la distancia pueden afectar el valor de energía.

Comando para comprobar la energía de voz:

xvf_host.exe AEC_SPENERGY_VALUES

Ejemplo de salida

Device (USB)::device_init() -- Found device VID: 10374 PID: 26 interface: 3
AEC_SPENERGY_VALUES 2080656 0 2083455 2080656
  • Focused beam 1: Energía del primer haz
  • Focused beam 2: Energía del segundo haz
  • Free running beam: Energía del haz de exploración
  • Auto selected beam: Energía del haz elegido para la salida final

Canales de salida de audio

  • El XVF3800 proporciona 2 canales de audio:
    • Canal izquierdo: Audio limpio y postprocesado
    • Canal derecho: Haz de ASR o datos de eco/referencia

Puedes redirigir estos canales para sacar diferentes fuentes.

Comandos de ejemplo

Configurar el canal izquierdo a Micrófono Amplificado 0

xvf_host.exe AUDIO_MGR_OP_L 3 0

Configurar el canal derecho a datos de Far End (referencia)

xvf_host.exe AUDIO_MGR_OP_R 5 0

Ejemplo de salida:

Device (USB)::device_init() -- Found device VID: 10374 PID: 26 interface: 3

Parámetros de ajuste (¡Haz que suene mejor!)

  • Estos ajustes ayudan a mejorar la cancelación de eco, la reducción de ruido, la ganancia, etc.
  • Úsalos cuando la configuración predeterminada no sea suficiente.

Parámetros comunes:

ParameterMeaning
AUDIO_MGR_REF_GAINGanancia de entrada del altavoz (señal de eco)
AUDIO_MGR_MIC_GAINGanancia de entrada del micrófono (qué tan fuerte oye el micrófono)
AUDIO_MGR_SYS_DELAYRetardo entre las señales del micrófono y del altavoz
PP_AGCMAXGAINNivel máximo de control automático de ganancia
AEC_ASROUTGAINGanancia para la salida del haz de ASR

Para documentación más detallada y comandos avanzados, visita el repositorio oficial de GitHub:
ReSpeaker XVF3800 Host Control README


Solución de problemas

¿El sonido de reproducción desde la salida del altavoz no es suficiente?

Si el volumen de salida del altavoz del ReSpeaker XVF3800 es demasiado bajo en Linux, puede que necesites ajustar los niveles del mezclador ALSA para la tarjeta de sonido XVF3800. Sigue los pasos a continuación para aumentar el volumen de salida.

Paso 1: Abrir ALSA Mixer

  1. Abre una terminal.

  2. Escribe el siguiente comando y pulsa Enter:

    alsamixer

Paso 2: Seleccionar la tarjeta de sonido XVF3800

  1. Pulsa F6 para abrir el menú de selección de tarjeta de sonido.
  2. Usa las teclas de flecha arriba/abajo para resaltar la tarjeta de sonido XVF3800.
  3. Pulsa Enter para confirmar la selección.

Paso 3: Ajustar el volumen de PCM-1

  1. Usa las teclas de flecha izquierda/derecha para navegar hasta PCM-1.
  2. Usa la tecla de flecha arriba para aumentar el nivel de volumen hasta 100%.

pir

Paso 4: Guardar la configuración de ALSA

  1. Pulsa ESC para salir de alsamixer.
  2. Antes de desconectar el XVF3800, ejecuta el siguiente comando para guardar tu configuración:
   sudo alsactl store

Paso 5: Opción adicional (usar PulseAudio)

Si aún no puedes oír el sonido con claridad después de ajustar los niveles de ALSA, intenta instalar PulseAudio Volume Control para realizar ajustes de volumen más detallados:

sudo apt install pavucontrol -y

Después puedes abrir pavucontrol y aumentar el volumen de salida más allá del 100% si es necesario.

Después de reinstalar los controladores USB, mi ReSpeaker no graba ni reproduce

Desinstala todos los controladores asociados con el ReSpeaker en el Administrador de dispositivos. Esto resolvió el problema.

¿No se puede usar como dispositivo de sonido en Windows después de flashear el firmware?

Abre el menú de inicio y escribe Device manager. Busca los dispositivos relacionados con reSpeaker XVF 3800, haz clic derecho sobre ellos y selecciona Uninstall devices. Después de eso, reinicia el dispositivo (conecta y desconecta el USB) y Windows volverá a instalar el controlador de tarjeta de sonido correcto para él.

pir

Recursos

Soporte técnico y debate sobre el producto

Gracias por elegir nuestros productos. Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...