Saltar al contenido principal

Introducción a reSpeaker Flex

pir

reSpeaker Flex es un sistema de procesamiento de voz modular con arquitectura dividida, construido alrededor del procesador XMOS XVF3800, diseñado específicamente para robots y terminales de interacción inteligente. A diferencia de las matrices de micrófonos todo en uno convencionales, Flex separa la placa de procesamiento principal de la placa de matriz de micrófonos; ambas se conectan mediante un cable flexible FPC, lo que permite incrustar la matriz en cualquier posición física dentro de la carcasa de un producto mientras se mantienen los componentes electrónicos de procesamiento en otro lugar. El sistema admite dos configuraciones intercambiables de matriz de micrófonos: una matriz circular de 4 micrófonos para captura omnidireccional de 360°, y una matriz lineal de 4 micrófonos para captación direccional frontal con supresión trasera. Ambas placas se conectan a la misma placa principal a través de una interfaz FPC estandarizada de 24 pines, y el sistema funciona en modo USB (UAC 2.0 plug-and-play) o en modo I2S para integración embebida. Un módulo XIAO ESP32S3 opcional puede soldarse en la placa principal para conectividad inalámbrica y control ampliado.

Serie de micrófonos circulares​

reSpeaker Flex XVF3800 Circular reSpeaker Flex XVF3800 Circular con XIAO ESP32S3

Serie de micrófonos lineales​

reSpeaker Flex XVF3800 LinearreSpeaker Flex XVF3800 Linear con XIAO ESP32S3

Características​

  • Diseño modular dividido: la placa principal y la placa de matriz de micrófonos están físicamente separadas, conectadas mediante un cable FPC para una colocación flexible en cualquier chasis de producto

  • Elección de configuraciones de micrófonos: cambia entre la matriz circular de 4 micrófonos (captación de 360°, separación de 44 mm) o la matriz lineal de 4 micrófonos (directividad frontal de 180°, separación de 33 mm) usando la misma placa principal

  • Procesamiento de audio XMOS XVF3800: conjunto completo de AEC, AGC, DoA, conformación de haz multicanal, VAD, supresión de ruido y desreverberación

  • Dos modos de funcionamiento: USB UAC 2.0 para plug-and-play con PC y SBC; modo I2S para integración embebida directa

  • Conectividad USB dual: el puerto USB-C y el puerto con conector de bloqueo PH2.0 admiten audio UAC 2.0 y actualización de firmware DFU

  • Compatibilidad con XIAO ESP32S3 (opcional): el módulo soldado añade Wi-Fi/Bluetooth, con buses I2S e I2C conectados directamente al XVF3800 para control inalámbrico y reenvío de audio

  • Flexibilidad de firmware: variantes de firmware USB dual (2 canales y 6 canales), firmware I2S, actualización DFU mediante dfu-util y persistencia de configuración entre ciclos de encendido

  • SDK de Python: formato de grabación, volumen, parámetros de algoritmo y enrutamiento de canales ajustables mediante Python

  • Amplificador de altavoz integrado: admite el accionamiento de altavoces de 10 W y 4 Ohmios mediante conector JST, con salida de auriculares AUX de 3,5 mm

nota

Cuando el conector de audio de 3,5 mm y el altavoz están conectados al mismo tiempo, solo se reproduce a través del conector de audio de 3,5 mm

Componentes principales​

pir

Placa principal​

Componente / CaracterísticaDescripción
Procesador de audio principalXMOS XVF3800 (firmware v3.2.1), gestiona todo el DSP de audio incluyendo AEC, conformación de haz, DoA y supresión de ruido
Códec de audioTLV320AIC3104, gestiona la conversión de audio y la salida DAC
AmplificadorTPA3139D2 , amplificador Clase D
Interfaz de matriz de micrófonos FPCConector FPC de 24 pines con pestillo de bloqueo, admite matrices de hasta 8 micrófonos con 2 líneas GPIO
Puerto USB-CAudio UAC 2.0, actualización de firmware DFU y alimentación
Puerto PH2.0Conector con pestillo de bloqueo; proporciona el mismo audio UAC 2.0 y soporte DFU que el puerto USB-C
Conector AUX de 3,5 mmSalida de auriculares lateral impulsada por el DAC integrado
Conector JST para altavozConector de montaje vertical que acciona altavoces de hasta 10 W a 4Ω; pad de soldadura reservado para conexión de altavoz cableada
Terminal de alimentación externaSuministra 12 V a todo el sistema y admite cargas de altavoz de 10 W (prioridad P1)
Botón RSTReinicio por hardware para el XVF3800
Botón SafeMode (Boot)Mantener pulsado durante el encendido para entrar en modo seguro para recuperación de firmware
LED PWRIndicador verde de encendido
Pad de depuraciónPad reservado para XMOS XTAG4 (no soldado en fábrica)
Cabeceras de E/S XMOS 3800Pines/campos expuestos para I2C, I2S, 5V/GND, pines de altavoz y E/S restantes del XVF3800
Orificios de montaje4 × orificios de montaje M3
XIAO ESP32S3Admite soldar XIAO ESP32S3 cuando se utiliza como dispositivo host
GPIO de XIAO ESP32S3Los GPIO restantes pueden utilizarse para expansión de E/S y periféricos

Placa de matriz circular​

pir

Componente / CaracterísticaDescripción
Micrófonos4× micrófonos PDM MEMS con separación de 44 mm dispuestos en un diseño circular
Patrón de captaciónCaptura de audio omnidireccional de 360°
InterfazConector FPC hacia la placa principal
Montaje3 × orificios de montaje M3 para fijación a carcasa o alojamiento

Placa de matriz lineal​

pir

Componente / CaracterísticaDescripción
Micrófonos4× micrófonos PDM MEMS con separación de 33 mm dispuestos en un diseño lineal
InterfazConector FPC; el cable puede enrutarse desde el lateral o la parte trasera
Montaje2 × orificios de montaje M3

Compatibilidad con XIAO ESP32S3​

pir

pir

La placa principal de reSpeaker Flex incluye una huella dedicada para soldar un módulo Seeed Studio XIAO ESP32S3, lo que habilita conectividad Wi-Fi y Bluetooth además de la canalización de procesamiento de audio del XVF3800. Los SKU que incluyen XIAO (-C4-1 y -L4-1) se envían con este módulo preinstalado; los SKU base (-C4-0 y -L4-0) dejan la huella sin poblar. Cuando se monta el XIAO, se establecen las siguientes conexiones entre este y el XVF3800:

  • Bus I2S — bus dual (reproducción y grabación) con BCLK, MCLK y LRCLK compartidos para transmisión de audio en ambas direcciones
  • Bus I2C — para leer y escribir parámetros de configuración del XVF3800 desde el XIAO
  • Línea RST — XIAO puede activar un reinicio por hardware en el XVF3800 mediante un pin de E/S dedicado
  • E/S restantes de XIAO — llevadas a cabeceras/pads de pines etiquetados para expansión por parte del usuario

Cabecera de pines​

pir

pir

Cable FPC de 24 pines​

La interfaz de matriz de micrófonos FPC es un conector de 24 pines y paso de 0,5 mm con pestillo de bloqueo, y el cable plano FPC de 20 cm incluido en la caja está codificado para este conector.

pir

PinNombre de señalTipoDescripción de la funciónNotas
1MIC_VDDAlimentaciónFuente de alimentación del micrófonoAlimentación de 3.3V
2MIC_VDDAlimentaciónFuente de alimentación del micrófonoPin doble para mayor estabilidad de alimentación
3GNDGNDTierra de retorno de alimentaciónGND de alimentación
4MIC_CLKSalidaSeñal de reloj globalSeñal principal, 2–4 MHz
5GNDGNDTierra de apantallamiento del relojTierra dedicada para el reloj
6MIC_D1EntradaLínea de datos 1Micrófono CH1
7GNDGNDTierra de aislamiento D1
8MIC_D2EntradaLínea de datos 2Micrófono CH2
9GNDGNDTierra de aislamiento D2
10MIC_D3EntradaLínea de datos 3Micrófono CH3
11GNDGNDTierra de aislamiento D3
12MIC_D4EntradaLínea de datos 4Micrófono CH4
13GNDGNDTierra de aislamiento D4
14MIC_D5EntradaLínea de datos 5Micrófono CH5
15GNDGNDTierra de aislamiento D5
16MIC_D6EntradaLínea de datos 6Micrófono CH6
17GNDGNDTierra de aislamiento D6
18MIC_D7EntradaLínea de datos 7Micrófono CH7
19GNDGNDTierra de aislamiento D7
20MIC_D8EntradaLínea de datos 8Micrófono CH8
21GNDGNDTierra de aislamiento D8
22GPIO_1E/SEntrada/salida de propósito generalFunción de expansión
23GPIO_2E/SEntrada/salida de propósito generalFunción de expansión
24GNDGNDTierra de apantallamiento de GPIOAbsorbe el ruido de GPIO

Primeros pasos​

Preparación de hardware​

  • Cable USB tipo C
  • Ordenador host o Raspberry Pi

Preparación de software​

Uso fuera de la caja​

nota

Para garantizar un rendimiento óptimo de captación de voz y el funcionamiento adecuado de los algoritmos de audio, asegúrate de que el Puerto de Micrófono (Entrada de Micrófono / Orificio de Sonido) en la parte posterior del dispositivo esté orientado hacia la fuente de sonido. El puerto del micrófono se encuentra en el lado donde está impreso el logotipo de Seeed Studio.

pir

Reinicio​

El botón de reinicio (RST) proporciona un reinicio por hardware para el reSpeaker Flex cuando se pulsa; reinicia el chip y vuelve a inicializar el sistema desde el principio, igual que un ciclo completo de encendido.

Conexión del altavoz​

pir

Aquí puedes ver cómo conectar altavoces usando 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.

Conexión FPC​

pir

Antes de conectar el cable FPC, identifica el lado de contacto y el lado del refuerzo. Al insertar el cable en el Conector MIC, asegúrate de que los contactos expuestos estén orientados hacia los contactos metálicos dentro del conector, mientras que el lado del refuerzo quede hacia afuera.

pir

Abre la pestaña de bloqueo en el Conector MIC, inserta el cable FPC con la orientación correcta y cierra la pestaña para asegurar la conexión.

Modo seguro​

Safe Mode es un modo especial de recuperación en el reSpeaker Flex que te permite flashear firmware mediante USB DFU o I2C para dispositivos como ESP32.

Si has flasheado previamente el firmware I2S y quieres volver al firmware USB, puedes entrar en Safe Mode y volver a flashear el firmware USB usando USB DFU.

nota
  • Firmware USB
    • Solo admite USB DFU.
    • Puedes actualizar el dispositivo a través de una conexión USB.
    • No admite I2C DFU.
  • Firmware I2S
    • Admite I2C DFU.
    • Permite actualizaciones de firmware a través de la interfaz I2C.
    • No admite USB DFU.
  • Firmware de Safe Mode
    • Almacenado en la partición Factory.
    • Admite tanto USB DFU como I2C DFU.
    • Este es el firmware de recuperación más flexible.

Usa Safe Mode en las siguientes situaciones

  • Tu firmware no funciona correctamente (por ejemplo, no se detecta el USB).
  • Necesitas volver a flashear un nuevo firmware, pero el firmware actual no responde.
  • Flasheaste accidentalmente el firmware equivocado y quieres recuperar el dispositivo.

Cómo entrar en Safe Mode

  • Apaga completamente el dispositivo.
  • Mantén pulsado el botón Boot.
  • Mientras mantienes pulsado el botón Boot, vuelve a conectar la alimentación. Usa la herramienta de línea de comandos DFU util para comprobar las particiones DFU; consulta la sección Install DFU Util más abajo para más detalles.

Actualizar firmware​

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

nota

Asegúrate de que necesitas descargar todo el repositorio.

El firmware USB está diseñado para su uso con sistemas operativos host como Windows, Linux y macOS cuando se comunica a través de la interfaz de hardware USB. Puedes explorar estos archivos de firmware en este enlace

FirmwareCanalesNotas
respeaker_flex_ua-io16-6ch-cir.bin6 Canales16 kHz, 6 canales usando arreglo de micrófonos circular
respeaker_flex_ua-io16-6ch-lin.bin6 Canales16 kHz, 6 canales usando arreglo de micrófonos lineal
respeaker_flex_ua-io16-cir.bin2 Canales16 kHz, salida de 2 canales usando arreglo de micrófonos circular
respeaker_flex_ua-io16-lin.bin2 Canales16 kHz, salida de 2 canales usando arreglo de micrófonos lineal
respeaker_flex_ua-io48-cir.bin2 Canales48 kHz, salida de 2 canales usando arreglo de micrófonos circular
respeaker_flex_ua-io48-lin.bin2 Canales48 kHz, salida de 2 canales usando arreglo de micrófonos lineal

Conecta el reSpeaker Flex a tu PC mediante el cable USB. Ten en cuenta que debes usar el puerto XMOS USB-C (cerca del botón RST) 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 Dispositivo (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\
    Download Link

  • 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 Flex 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 a continuación.

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

Flashear firmware​

Descarga el repositorio completo de firmware desde GitHub aquí reSpeaker Flex 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

Grabar y reproducir con firmware USB​

Configurar Audacity (Windows)​

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

pir

  1. Configura:
    • Host: Windows WASAPI
    • Recording Device: reSpeaker XVF3800 Flex
    • Channels: 2 (Stereo)
    • Sample Rate: 16000 Hz (para ambos Project y Default Sample Rate)
    • Sample Format: 16-bit

pir

  1. Haz clic en OK
  2. Todo listo: ¡empieza a grabar!

pir

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

Python Control Directory

Usando los scripts de Python proporcionados, puedes:

  • Configurar parámetros de los algoritmos de audio integrados
  • Obtener datos de DoA (Direction of Arrival)
  • Obtener datos de VAD (Voice Activity Detection)
  • 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 de sistema libusb

Instalación y dependencias​

Instala la dependencia de Python requerida usando:

pip install pyusb

Según tu sistema operativo, puede 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

OptionDescription
-l, --listList all supported commands with detailed information
--vidSet USB Vendor ID (default: 0x2886)
--pidSet USB Product ID (default: 0x001A)
--valuesProvide values for write commands (optional)

Ejemplos de uso​

1. Listar todos los comandos disponibles

python xvf_host.py --list

Muestra todos los comandos compatibles y sus descripciones.


2. Leer información de la versión del firmware

python xvf_host.py VERSION

Lee y muestra la información de la versión de firmware actual desde el dispositivo.


3. Leer valores de DOA (Direction of Arrival)

python xvf_host.py DOA_VALUE

Recupera el valor actual de Direction of Arrival (DOA) detectado por la matriz de micrófonos.

Solución de problemas​

¿La reproducción desde la salida del altavoz no es suficiente?​

Si el volumen de salida del altavoz de reSpeaker Flex 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 Flex

  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 Flex.
  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 reSpeaker Flex, ejecuta el siguiente comando para guardar tu configuración:
   sudo alsactl store

Paso 5: Opción adicional (usando 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.

¿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 reSpeaker Flex relacionados, 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.

pir

¿Se puede alimentar reSpeaker Flex con 12V mientras está conectado a un PC por USB?​

Sí. reSpeaker Flex admite entrada de alimentación de 12V DC simultánea y conexión USB-C a un PC. La entrada de 12V alimenta el dispositivo, mientras que USB-C proporciona la interfaz de audio USB (UAC) y de control.

Hemos probado esta configuración usando una fuente de alimentación de 12V/2A conectada al terminal de entrada de 12V y un cable USB-C conectado a un PC. Reproducimos música correctamente a través de un altavoz Mono Enclosed (4Ω, 5W) conectado a reSpeaker Flex.

Si suministro 12V a través del terminal y uso USB solo para datos (UAC + control), ¿USB sigue necesitando VBUS (5V) para enumerar?​

No. Cuando reSpeaker Flex se alimenta a través del terminal de entrada de 12V, USB VBUS (5V) no es necesario para la enumeración. Puedes conectar USB a un PC para audio UAC y control mientras alimentas el dispositivo con 12V.

Recursos​

Soporte técnico y debate sobre productos​

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 distintas preferencias y necesidades.

Loading Comments...