Introducción a ReSpeaker XVF3800
Descripción general
La 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.

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 de dispositivo único :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 al 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

Componentes principales
| Componente / Característica | Descripción |
|---|---|
| Procesador de audio principal | XMOS XVF3800, gestiona el procesamiento de audio incluyendo AEC, conformación de haz, supresión de ruido, etc. |
| Matriz de micrófonos | Micró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 audio | TLV320AIC3104, gestiona la conversión y salida de audio. |
| LED RGB | 12x WS2812 LED RGB direccionables individualmente para retroalimentación visual (por ejemplo, estado, actividad de voz). |
| Botón de silencio | Presiona para silenciar/activar la entrada del micrófono. |
| LED indicador de silencio | Se enciende (normalmente en rojo) para mostrar que el audio está silenciado. |
| Botón de reinicio | Reinicio por hardware para la placa/sistema. |
| Puerto USB tipo C | Se utiliza tanto para alimentación como para datos (compatible con USB Audio Class 2.0). |
| Conector de auriculares AUX de 3,5 mm | Salida de audio para auriculares o altavoces activos. |
| Conector de altavoz | Interfaz de altavoz JST, admite altavoces amplificados de 5 W. |
| Pads de depuración | Acceso de depuración para XTAG4 u otros programadores. |
| Cabeceras I2C e I2S | Cabeceras expuestas para comunicación I2C e I2S con dispositivos externos. |
| Pads de E/S sin usar (XIAO) | Pads de E/S adicionales soldados conectados al módulo XIAO. |
| Comunicación I2S e I2C | Admite conexión a hosts externos como Raspberry Pi, PC, etc. utilizando estos protocolos. |
| Modos USB e INT-Device | Funcionamiento de modo dual: USB plug-and-play o modo de dispositivo interno INT mediante I2S. |
| Número de serie único | SN de dispositivo integrado para identificación y gestión de múltiples dispositivos. |
| Compatibilidad con código abierto | Funciona con Arduino, Raspberry Pi, PC/Mac y es compatible con XIAO Serie. |
| Funciones avanzadas de audio | AEC, conformación de haz, desreverberación, detección de DoA, supresión de ruido basada en DNN, AGC de 60 dB. |
| Retroalimentación visual | El estado del dispositivo y la actividad de audio se muestran mediante patrones de LED RGB e indicadores de estado. |
| Calidad de audio | Igual o mejor que los diseños anteriores basados en XVF3000. |
La 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 flashear firmware compilado 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 E/S
- Interfaz y pads de soldadura
Distribución de pines


Descripción general de los GPIO
La 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 de pin | Dirección | Función |
|---|---|---|
| X1D09 | Entrada (RO) | Estado del botón de silencio (alto cuando está liberado) |
| X1D13 | Entrada (RO) | Flotante |
| X1D34 | Entrada (RO) | Flotante |
| X0D11 | Salida (RW) | Flotante |
| X0D30 | Salida (RW) | Control del LED de silencio + silencio del micrófono (alto = silencio) |
| X0D31 | Salida (RW) | Habilitación del amplificador (bajo = habilitado) |
| X0D33 | Salida (RW) | Control de alimentación del LED WS2812 (alto = encendido) |
| X0D39 | Salida (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

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

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.

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.


Modo seguro
El modo seguro es un modo especial de recuperación en la ReSpeaker XVF3800 que te permite flashear firmware mediante USB DFU o I2C, para dispositivos como Raspberry Pi y ESP32. Si has flasheado previamente el firmware I2S y quieres volver al firmware USB, puedes entrar en modo seguro y volver a flashear el firmware USB utilizando USB DFU.
Cada tipo de firmware en la 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, USB no es detectado, el LED no se enciende como se espera).
- Necesitas volver a flashear un nuevo firmware pero el actual no responde.
- Flasheaste algo incorrecto por accidente y quieres recuperarlo.
Cómo entrar en Modo Seguro
- Apaga el dispositivo por completo.
- Mantén presionado el botón Mute.
- Mientras mantienes presionado el botón Mute, vuelve a conectar la alimentación.
- El LED rojo comenzará 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 flashear el firmware apropiado según los requisitos de tu aplicación. Para más detalles y descargas, consulta el Github Link
NO uses "save as" para descargar los archivos de firmware desde GitHub, ya que se corromperán. Clona el repositorio o usa "Download as ZIP" para descargar el repositorio completo (y todos los archivos incluidos) como un archivo ZIP.
- USB
- I2S
- HA
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
| Firmware | Canales | Notas |
|---|---|---|
| respeaker_xvf3800_usb_dfu_firmware_v2.0.x.bin | 2 | Salida procesada de 2 canales Canal 0: Conferencia Canal 1: ASR |
| respeaker_xvf3800_usb_dfu_firmware_6chl_v2.0.x.bin | 6 | Canal 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 |
El firmware I2S está pensado para usarse cuando el dispositivo está conectado a un host microcontrolador como el XIAO ESP32S3. En esta configuración, los datos de voz se transmiten usando el protocolo I2S.
El archivo de firmware respeaker_xvf3800_i2s_dfu_firmware_v1.0.x.bin está disponible aquí. Este firmware admite audio de 2 canales con una profundidad de 32 bits.
| Firmware | Canales | Notas |
|---|---|---|
| respeaker_xvf3800_i2s_dfu_firmware_v1.0.x.bin | 2 | Salida procesada de 2 canales Canal 0: Conferencia Canal 1: ASR |
El firmware para Home Assistant es otro firmware basado en I2S diseñado específicamente para la integración con Home Assistant. Este firmware optimizado utiliza audio de 2 canales con una frecuencia de muestreo de 48 kHz, proporcionando mejor compatibilidad y rendimiento dentro del entorno de Home Assistant. Puedes ver el firmware desde aquí
| Firmware | Canales | Notas |
|---|---|---|
| respeaker_xvf3800_i2s_master_dfu_firmware_v1.0.x_48k.bin | 2 | Salida procesada de 2 canales Canal 0: ASR Canal 1: Palabra de activación |
Conecta el reSpeaker XVF3800 a tu PC mediante el cable USB. Ten en cuenta que necesitas usar el puerto XMOS USB-C (cerca del puerto jack de 3,5 mm) para flashear 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.
- Windows
- macOS
- Linux
-
Descarga
dfu-util-0.11-binaries.tar.xzy extráelo, por ejemplo, enD:\dfu-util-0.11-binaries\win64\
Download Link -
Añade la ruta a
dfu-util.exea la variable de sistemaPath:
My Computer > Properties > Advanced > Environment Variables > Path -
Abre Command Prompt (
cmd) y verifica la instalación:
dfu-util -V

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

Si obtienes:
Cannot open DFU device 2886:001a ... (LIBUSB_ERROR_NOT_SUPPORTED)
Continúa con el paso de instalación del controlador a continuación.
- Instala Zadig
- Abre Zadig →
Options > List All Devices - Selecciona
reSpeaker 3800oreSpeaker XVF3800 4-Mic Array - Instala el controlador WinUSB
- Apaga y enciende de nuevo el dispositivo
- Ejecuta
dfu-util -lde nuevo para confirmar la detección.
- Abre Zadig →
- Instala dfu-util con Homebrew:
brew install dfu-util
- Comprueba si el dispositivo es detectado:
dfu-util -l
Salida esperada:
dfu-util -l
dfu-util 0.11
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Found DFU: [2886:001a] ver=0202, devnum=3, cfg=1, intf=4, path="2-1.1.4", alt=1, name="reSpeaker DFU Upgrade", serial="101991441000000001"
Found DFU: [2886:001a] ver=0202, devnum=3, cfg=1, intf=4, path="2-1.1.4", alt=0, name="reSpeaker DFU Factory", serial="101991441000000001"
- Instala dfu-util:
sudo apt install dfu-util
- Conecta el XVF3800 y comprueba la detección:
sudo dfu-util -l
Salida esperada:
pi@raspberrypi:~ $ sudo dfu-util -l
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Found DFU: [2886:001a] ver=0202, devnum=5, cfg=1, intf=3, path="1-1.1", alt=1, name="reSpeaker DFU Upgrade", serial="101991441000000001"
Found DFU: [2886:001a] ver=0202, devnum=5, cfg=1, intf=3, path="1-1.1", alt=0, name="reSpeaker DFU Factory", serial="101991441000000001"
Flashear firmware
Descarga el repositorio completo de firmware desde GitHub aquí XMOS XVF 3800
- Ejecuta el siguiente comando para flashear 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
-Rreiniciará automáticamente la placa después de flashear.

- Vuelve a comprobar la versión del firmware con el comando
dfu-util -l, para asegurarte de que el nuevo firmware se ha flasheado
Grabación y reproducción
- Windows
- macOS
- Raspberry Pi / Linux
Configurar Audacity (Windows)
- Abre Audacity
- Ve a Audio Setup > Audio Settings

- 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
- Host:

- Haz clic en OK
- Ya está todo listo — ¡empieza a grabar!

Configurar Audacity (macOS)
- Abre Audacity
- Ve a Audio Setup y selecciona Recording Device como reSpeaker 3800


- Ve a Audio Setting y configura:

- Recording Device:
reSpeaker 3800 - Channels:
2 (Stereo) - Sample Rate:
16000 Hz(tanto para Project como para Default Sample Rate) - Sample Format:
24-bit

- Haz clic en OK
- ¡Listo para grabar!

Grabación en Raspberry Pi (línea de comandos)
- Encontrar el número de la tarjeta de sonido:
arecord -l
Salida de ejemplo:
**** List of CAPTURE Hardware Devices ****
card 4: Array [reSpeaker XVF3800 4-Mic Array], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
En este caso, el número de tarjeta es 4
- Grabar audio (5 segundos):
arecord -D plughw:4,0 -c 2 -r 16000 -f S16_LE -d 5 output.wav
Sustituye 4 por el número real de tu tarjeta de sonido
- Ajustar el volumen para ReSpeaker XVF3800 en ALSA
alsamixer
En alsamixer, usa las teclas de flecha izquierda/derecha para navegar hasta el dispositivo de sonido correcto. Usa la tecla de flecha arriba para aumentar el volumen.

- Reproducción:
aplay -D plughw:4,0 output.wav
Grabación en Raspberry Pi (Audacity)
- Instalar Pi-Apps (si aún no está instalado)
Abre una terminal en tu Raspberry Pi. Ejecuta el siguiente comando para instalar Pi-Apps
wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
Espera a que finalice la instalación. Aparecerá un nuevo icono de Pi-Apps en tu menú.
-
Instalar Audacity mediante Pi-Apps
-
Configurar entrada y salida de audio
- Haz clic en "Audio Setup" en la barra de herramientas.
- Selecciona "Audio Settings" en el menú desplegable.
- En la ventana de Audio Settings:
- Elige el dispositivo de grabación correcto (por ejemplo, reSpeaker XVF3800).
- Elige el dispositivo de reproducción apropiado (por ejemplo, reSpeaker XVF3800).
- Asegúrate de que Host esté configurado en ALSA para una mejor compatibilidad en Raspberry Pi.
- Haz clic en OK para aplicar la configuración.
- Grabar y reproducir audio
¿Cómo ajustar parámetros?
El ajuste permite a los usuarios configurar parámetros de los algoritmos de audio integrados y comunicarse directamente con el chip XMOS.
Se proporciona una interfaz de control en Python dedicada para la configuración de parámetros y la interacción con el dispositivo.
Directorio de control en Python
Usando los scripts de Python proporcionados, puedes:
- Configurar parámetros de los algoritmos de audio integrados
- Obtener datos de DoA (Dirección de Llegada)
- Obtener datos de VAD (Detección de Actividad de Voz)
- Controlar los LED integrados
- Controlar la canalización de procesamiento de voz
- Comunicarte directamente con el dispositivo XMOS
Requisitos del sistema
Se requieren las siguientes dependencias para usar la interfaz de control en Python:
- Python 3.6 o posterior
- Biblioteca de Python
pyusb - Biblioteca del sistema
libusb
Instalación y dependencias
Instala la dependencia de Python requerida usando:
pip install pyusb
Dependiendo de tu sistema operativo, es posible que también necesites instalar el paquete libusb por separado.
Uso
Sintaxis básica
python xvf_host.py [options] command [value(s)...]
Opciones de comando
| Opción | Descripción |
|---|---|
-l, --list | Lista todos los comandos compatibles con información detallada |
--vid | Establece el ID de proveedor USB (por defecto: 0x2886) |
--pid | Establece el ID de producto USB (por defecto: 0x001A) |
--values | Proporciona valores para comandos de escritura (opcional) |
Ejemplos de uso
Listar comandos disponibles
Muestra todos los comandos de firmware compatibles.
python xvf_host.py --list
Leer versión de firmware
Obtiene la versión de firmware que se está ejecutando actualmente en el dispositivo.
python xvf_host.py VERSION
Salida de ejemplo
VERSION: [2, 0, 7]
Leer Dirección de Llegada (DOA)
Obtiene la dirección detectada de la fuente de sonido.
python xvf_host.py DOA_VALUE
Salida de ejemplo
DOA_VALUE: [135]
Configurar color del LED
Configura el color del LED usando un valor RGB hexadecimal.
python xvf_host.py LED_COLOR --values 0xFF0000
Configurar brillo del LED
Ajusta el porcentaje de brillo del LED.
python xvf_host.py LED_BRIGHTNESS --values 50
Leer geometría de la matriz de micrófonos
Obtiene las coordenadas de los micrófonos utilizadas por los algoritmos de procesamiento acústico.
python xvf_host.py AEC_MIC_ARRAY_GEO
Salida de ejemplo
AEC_MIC_ARRAY_GEO:
[0.033, -0.033, 0.000,
0.033, 0.033, 0.000,
-0.033, 0.033, 0.000,
-0.033, -0.033, 0.000]
Solución de problemas
¿La 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
-
Abre una terminal.
-
Escribe el siguiente comando y pulsa Enter:
alsamixer
Paso 2: Seleccionar la tarjeta de sonido XVF3800
- Pulsa F6 para abrir el menú de selección de tarjeta de sonido.
- Usa las teclas de flecha arriba/abajo para resaltar la tarjeta de sonido XVF3800.
- Pulsa Enter para confirmar la selección.
Paso 3: Ajustar el volumen de PCM-1
- Usa las teclas de flecha izquierda/derecha para navegar hasta PCM-1.
- Usa la tecla de flecha arriba para aumentar el nivel de volumen hasta 100%.

Paso 4: Guardar la configuración de ALSA
- Pulsa ESC para salir de
alsamixer. - 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
Luego puedes abrir pavucontrol y aumentar el volumen de salida por encima 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 (desconecta y vuelve a conectar el USB) y Windows volverá a instalar el controlador de tarjeta de sonido correcto.

Recursos
- Archivo 3D de ReSpeaker XVF3800
- Archivo ReSpeaker XVF3800 3D-Enclosure-Up
- Archivo ReSpeaker XVF3800 3D-Enclosure-Down
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.