Skip to main content

Comenzando con ReSpeaker XVF3800

Descripción General

El ReSpeaker XVF3800 USB 4-Mic Array es un arreglo circular profesional de 4 micrófonos con XMOS XVF3800, que incluye AEC, AGC, DoA, beamforming, VAD, supresión de ruido, des-reverberación, captura de voz 360° (hasta 5m), y modos de operación dual para aplicaciones de voz avanzadas.

pir

Características

  • Actualización de chip :De XVF3000 a XVF3800

  • Arreglo de Cuatro Micrófonos :4 micrófonos de alto rendimiento en patrón circular para captura de voz de campo lejano 360° hasta 5 metros

  • Procesamiento de Audio Avanzado :Impulsado por XVF3800 con AEC, multi-beamforming, des-reverberación, detección DoA, supresión dinámica de ruido, rango AGC de 60dB

  • Número de Serie Único del Dispositivo :SN integrado permite despliegues multi-dispositivo y gestión avanzada de dispositivos

  • Modos de Operación Dual :Modo USB plug-and-play para conectividad instantánea a PC y modo INT-Device (I2S) para integración con sistemas embebidos—configurable vía comandos USB o I2C cambiando el firmware correspondiente

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

  • Retroalimentación Visual :LEDs RGB programables e indicadores de estado muestran estados del dispositivo y actividad de voz

  • Calidad de audio igual o mejor :comparada con el modelo anterior

Descripción General del Hardware

pir

Componentes Principales

Componente / CaracterísticaDescripción
Procesador de Audio PrincipalXMOS XVF3800, maneja el procesamiento de audio incluyendo AEC, beamforming, supresión de ruido, etc.
Array de MicrófonosCuatro micrófonos MEMS PDM en patrón circular, soportando captura de voz de campo lejano 360° (5m).
Códec de AudioTLV320AIC3104, maneja la conversión y salida de audio.
LEDs RGB12x WS2812 LEDs RGB direccionables individualmente para retroalimentación visual (ej., estado, actividad de voz).
Botón de SilencioPresionar para silenciar/activar la entrada del micrófono.
LED Indicador de SilencioSe enciende (típicamente rojo) para mostrar que el audio está silenciado.
Botón de ReinicioReinicio por hardware para la placa/sistema.
Puerto USB Type-CUsado tanto para alimentación como datos (compatible con USB Audio Class 2.0).
Jack de Auriculares AUX de 3.5mmSalida de audio para auriculares o altavoces activos.
Conector de AltavozInterfaz de altavoz JST, soporta altavoces amplificados de 5W.
Pads de DepuraciónAcceso de depuración para XTAG4 u otros programadores.
Headers I2C e I2SHeaders expuestos para comunicación I2C e I2S con dispositivos externos.
Pads IO No Utilizados (XIAO)Pads de soldadura I/O adicionales conectados al módulo XIAO.
Comunicación I2S e I2CSoporta conexión a hosts externos como Raspberry Pi, PC, etc. usando estos protocolos.
Modos USB e INT-DeviceOperación de modo dual: USB plug-and-play o modo de dispositivo INT interno vía I2S.
Número de Serie ÚnicoSN de dispositivo integrado para identificación y gestión de múltiples dispositivos.
Compatibilidad de Código AbiertoFunciona con Arduino, Raspberry Pi, PC/Mac, y compatible con Serie XIAO.
Características de Audio AvanzadasAEC, beamforming, desreverberación, detección DoA, supresión de ruido basada en DNN, AGC de 60dB.
Retroalimentación VisualEstado del dispositivo y actividad de audio mostrados vía patrones de LED RGB e indicadores de estado.
Calidad de AudioIgual o mejor que los diseños previos 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 opera con firmware USB predeterminado. Para usar la versión con XIAO integrado, debes flashear firmware construido para el modo INT-Device (I2S). Para instrucciones detalladas de configuración, consulta la guía wiki oficial.

Soporte para XIAO ESP32S3

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

Distribución de Pines

pir

pir

Descripción General de GPIO

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

Nombre del PinDirecciónFunción
X1D09Entrada (RO)Estado del botón de silencio (alto cuando se libera)
X1D13Entrada (RO)Flotante
X1D34Entrada (RO)Flotante
X0D11Salida (RW)Flotante
X0D30Salida (RW)LED de silencio + control de 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

Comenzando

Preparación del Hardware

  • Cable USB Type-C
  • Computadora host o Raspberry Pi

Preparación del Software

Uso Inmediato

DOA (Dirección de Llegada)

Puedes experimentar con el arreglo de LEDs siguiendo la dirección de la voz entrante.

Botón de Silencio

pir

El botón de Silencio en tu ReSpeaker se usa para deshabilitar temporalmente la captura de voz del arreglo de micrófonos. ¿Qué sucede cuando presionas el botón de Silencio?

  • Los micrófonos se silencian — las voces externas ya no serán capturadas o procesadas.
  • Un LED rojo se enciende para indicar que el modo silencio está activo.
  • Esto significa que el ReSpeaker no enviará ninguna entrada de audio a tu computadora o dispositivo host.

Pruébalo Tú Mismo con Audacity

pir

Botón de Reinicio

El botón de reinicio (RST) proporciona un reinicio de hardware para el XVF3800—cuando se presiona, reinicia el chip y reinicializa el sistema desde el principio, como un ciclo completo de energía.

pir

Conexión de Altavoces

Aquí puedes ver cómo conectar altavoces usando ya sea el conector de auriculares AUX de 3.5mm o la interfaz de altavoz JST integrada, dependiendo de tu preferencia de salida de audio.

pir

pir

Modo Seguro

El Modo Seguro es un modo de recuperación especial en el ReSpeaker XVF3800 que te permite flashear firmware vía USB DFU o I2C—para dispositivos como el Raspberry Pi y ESP32. Si previamente flasheaste el firmware I2S y quieres volver al firmware USB, puedes entrar al Modo Seguro y reflashear el firmware USB usando USB DFU.

note

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

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

  • El firmware I2S es lo opuesto—soporta I2C DFU, permitiendo actualizaciones de firmware sobre una interfaz I2C, pero no soporta USB DFU.

  • El firmware del Modo Seguro, que está almacenado en la partición Factory, es el más flexible. Soporta tanto USB DFU como I2C DFU.

Cuándo Usar el Modo Seguro

  • Tu firmware no está funcionando correctamente (ej. USB no detectado, LED no se enciende como se espera).
  • Necesitas reflashear un nuevo firmware pero el actual no responde.
  • Accidentalmente flasheaste algo incorrecto y quieres recuperarte.

Cómo Entrar al Modo Seguro

  • Apaga el dispositivo completamente.
  • Mantén presionado el botón de Silencio.
  • Mientras mantienes el botón de silencio, reconecta la energía.
  • El LED rojo comenzará a parpadear — esto confirma que el dispositivo está ahora en Modo Seguro.
  • Ahora el dispositivo ejecuta el firmware del Modo Seguro almacenado en la partición Factory.

Actualizar Firmware

Conecta el reSpeaker XVF3800 a tu PC vía el cable USB. Ten en cuenta que necesitas usar el puerto USB-C de XMOS (cerca del puerto jack de 3.5mm) para flashear el firmware de XMOS.

Instalar DFU Util

dfu-util es una herramienta de línea de comandos para Device Firmware Upgrade vía USB.

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

  • Añade la ruta a dfu-util.exe a tu variable Path del sistema:
    Mi PC > Propiedades > Avanzado > Variables de Entorno > Path

  • Abre Símbolo del sistema (cmd) y verifica la instalación:

dfu-util -V

pir

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

pir

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

  • Instala Zadig
    • Abre Zadig → Options > List All Devices
    • Selecciona reSpeaker 3800 o reSpeaker XVF3800 4-Mic Array
    • Instala el controlador WinUSB
    • Reinicia el dispositivo
    • Ejecuta dfu-util -l nuevamente para confirmar la detección.

Flashear Firmware

Descarga el Firmware Desde 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 -R reiniciará automáticamente la placa después del flasheo.

pir

  • Verifica la versión del firmware nuevamente con el comando dfu-util -l, para asegurarte de que el nuevo firmware esté flasheado

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 (para Project y Default Sample Rate)
    • Sample Format: 24-bit

pir

  1. Haz clic en OK
  2. ¡Ya estás listo — comienza a grabar!

pir

Cómo Controlar reSpeaker XVF3800

El reSpeaker XVF3800 está equipado con una interfaz de control que permite a los usuarios configurar la operación del dispositivo, establecer o leer datos de parámetros y guardar datos de parámetros en el dispositivo. Los usuarios pueden controlar el dispositivo a través de la interfaz USB o I2C. Se proporciona una aplicación host de muestra, 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 te gustaría explorar más sobre el control a través de xvf_host, por favor lee este artículo.

Usuarios de Windows

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

Verificar Instalación

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

Verificar 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

ComandoEjemploDescripción
led_effectxvf_host.exe led_effect 10=apagado, 1=respiración, 2=arcoíris, 3=sólido, 4=DoA
led_colorxvf_host.exe led_color 0xff8800Establecer color hexadecimal (naranja)
led_speedxvf_host.exe led_speed 1Establecer velocidad del efecto
led_brightnessxvf_host.exe led_brightness 255Establecer brillo
led_gammifyxvf_host.exe led_gammify 1Habilitar corrección gamma
led_doa_colorxvf_host.exe led_doa_color 0x0000ff 0xff0000Establecer color base/direccional DoA

🟠 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 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.

Establecer 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 dice desde qué dirección está hablando alguien.
  • El anillo LED en el ReSpeaker XVF3800 muestra la dirección usando luces.
  • También puedes leer los valores DoA usando la herramienta xvf_host.

Comando para verificar valores DoA

xvf_host.exe AEC_AZIMUTH_VALUES

Salida de Ejemplo

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)
  • Haz enfocado 1: Primera dirección de escucha fija
  • Haz enfocado 2: Segunda dirección de escucha fija
  • Haz de funcionamiento libre: Dirección siempre escaneando
  • Haz seleccionado automáticamente: Haz final elegido para el mejor audio (usado para indicación DoA)

Indicación 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 usa para detectar si alguien está hablando y qué tan fuerte/cerca están.
  • El ruido, el eco y la distancia pueden afectar el valor de energía.

Comando para verificar la Energía de Voz:

xvf_host.exe AEC_SPENERGY_VALUES

Salida de Ejemplo

Device (USB)::device\_init() -- Found device VID: 10374 PID: 26 interface: 3
AEC_SPENERGY_VALUES 2080656 0 2083455 2080656
  • Haz enfocado 1: Energía del primer haz
  • Haz enfocado 2: Energía del segundo haz
  • Haz de funcionamiento libre: Energía del haz de escaneo
  • Haz seleccionado automáticamente: 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 post-procesado
    • Canal derecho: Haz ASR o datos de eco/referencia

Puedes re-enrutar estos canales para generar diferentes fuentes.

Comandos de ejemplo

Configurar canal izquierdo a Micrófono Amplificado 0

xvf_host.exe AUDIO_MGR_OP_L 3 0

Establecer el canal izquierdo a datos de Far End (referencia)

xvf_host.exe AUDIO_MGR_OP_R 5 0

Salida de Ejemplo:

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

Parámetros de Ajuste (¡Hazlo Sonar Mejor!)

  • Estas configuraciones ayudan a mejorar la cancelación de eco, supresión de ruido, ganancia, etc.
  • Úsalas cuando las configuraciones predeterminadas no sean lo suficientemente buenas.

Parámetros Comunes:

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

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


Ejemplos de Python para ReSpeaker XVF3800

Hemos preparado ejemplos de Python para controlar el dispositivo vía USB o I2C.

note

Si deseas explorar más sobre el control vía xvf_host con scripts de Python, por favor lee este artículo.

Para Windows

git clone https://github.com/KasunThushara/reSpeakerXVF.git
cd reSpeakerXVF
python test.py

Asegúrate de que Python esté instalado y que el ReSpeaker XVF3800 esté conectado vía USB.

El archivo test.py se puede explorar de la siguiente manera. Esto es para tu referencia.

import subprocess
import sys
import time

# Path to your xvf_host binary
XVF_HOST_PATH = "./xvf_host" # Change this if xvf_host is in a different location

def run_command(*args):
"""Run a command using the xvf_host tool."""
command = ["sudo", XVF_HOST_PATH] + list(map(str, args))
try:
print(f"Running: {' '.join(command)}")
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True, text=True)
print("Output:\n", result.stdout)
except subprocess.CalledProcessError as e:
print("Error:\n", e.stderr)
sys.exit(1)

if __name__ == "__main__":
# Example: Get device version
run_command("VERSION")
time.sleep(0.005)

# Example: Set LED to breath mode with orange color
run_command("led_effect", 1)
time.sleep(0.005)
run_command("led_color", "0xff8800")
time.sleep(0.005)
run_command("led_speed", 1)
time.sleep(0.005)
run_command("led_brightness", 255)
time.sleep(0.005)

# Example: Save current configuration
#run_command("save_configuration", 1)

# Uncomment to clear config
run_command("clear_configuration", 1)
time.sleep(0.005)

pir

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...