IA abierta y local

Whistle lleva el reconocimiento de voz en dispositivo de 16,9 MB a los dispositivos edge

Cactus Compute lanza Whistle, un pequeño modelo de voz con pesos abiertos que se ejecuta en CPUs sin dependencias y se integra con el motor Needle para llamadas directas a herramientas.

Un pequeño microchip que representa Whistle junto a una gran piedra que representa Whisper, ilustrando la diferencia de tamaño.
Ilustración generada para este artículo

Traducido automáticamente del original en inglés.

Cactus Compute ha lanzado Whistle, un nuevo modelo de reconocimiento de voz con pesos abiertos diseñado específicamente para entornos con recursos limitados. Lanzado el 2 de octubre de 2026, este modelo de 16,9 MB funciona completamente en la CPU sin dependencias externas, dirigido a móviles, dispositivos vestibles, robots y microcontroladores. Comparte su motor C++ subyacente con Needle, lo que permite a los desarrolladores cargar capacidades tanto de texto como de voz desde un único binario.

Qué ocurrió

Whistle representa un cambio significativo hacia el procesamiento de audio ultraligero en el dispositivo. A diferencia de los modelos más grandes que requieren conectividad a la nube o un almacenamiento local sustancial, Whistle opera como un solo archivo que se carga directamente en la memoria. El modelo admite transcripción de hasta 30 segundos de audio en siete idiomas: inglés, alemán, francés, español, italiano, neerlandés y polaco. La detección del idioma es automática a menos que el desarrollador especifique uno concreto.

El lanzamiento hace hincapié en la privacidad y la eficiencia. Los datos de audio nunca abandonan el dispositivo durante el procesamiento. Más allá de la simple transcripción, Whistle proporciona marcas de tiempo a nivel de palabra con métricas de inicio, fin y probabilidad derivadas del mecanismo de atención del decodificador. También ofrece capacidades de incrustación de voz (speech embedding), generando una fila por cada fotograma de 80 ms desde el codificador sin producir una transcripción completa. Esta flexibilidad permite a los ingenieros utilizar el modelo para diversas tareas, desde el reconocimiento de comandos hasta el análisis semántico de audio.

La integración con el ecosistema existente de Needle es una función clave. La misma función needle_load puede leer modelos Whistle, modelos de texto Needle o ambos simultáneamente. Este enfoque unificado significa que un único binario de aplicación puede manejar la entrada de voz, procesarla en texto y ejecutar inmediatamente las llamadas a herramientas correspondientes sin manipulación intermedia por parte de la aplicación anfitriona.

Cómo funciona

La arquitectura depende de componentes compartidos con el modelo Needle para minimizar la duplicación de código y la huella de memoria. La etapa frontal procesa audio mono de 16 kHz utilizando una ventana de 25 ms y un salto de 10 ms, creando 80 bins log-mel limitados en banda a 250-3500 Hz. Un tallo convolucional reduce significativamente el número de fotogramas, resultando en 375 fotogramas para un clip de 30 segundos, donde cada fotograma representa 80 ms de audio.

El codificador consta de ocho bloques de Simple Attention que utilizan carriles residuales mHC y una MLP Monarch Hadamard en lugar de una red de alimentación directa tradicional. Crucialmente, el mecanismo de atención no es causal, lo que permite que los fotogramas atiendan al contexto futuro dentro del clip. El decodificador utiliza ocho bloques Laddered Simple Attention con cross-attention comunitada para leer desde el codificador. Este diseño permite que las proyecciones se ejecuten una vez por clip, lo que significa que las operaciones de búsqueda por haz (beam search) solo almacenan en caché transcripciones cortas en lugar de reprocesar el audio.

La decodificación utiliza cinco haces puntuados por probabilidad logarítmica normalizada por longitud. Un autómata Aho-Corasick se ejecuta junto a los haces para admitir el sesgo por palabras clave, aumentando la probabilidad de frases específicas durante la búsqueda. El modelo incluye un mecanismo de detección de silencio que mide el rango de volumen antes de comenzar la decodificación, devolviendo resultados vacíos para entradas silenciosas para ahorrar cómputo. La profundidad del decodificador es seleccionable en el momento de la carga mediante --audio-depth, permitiendo más compensaciones entre precisión y velocidad mientras se mantiene el codificador fijo.

Detalles clave

  • Tamaño del modelo: 16,9 MB, significativamente más pequeño que Whisper base (145,3 MB) y Moonshine tiny v2 (41,9 MB).
  • Rendimiento: Logra un tiempo hasta el primer token (time-to-first-token) de 11,1 ms y 1.319 tokens por segundo en una CPU Apple M4 Pro.
  • Idiomas: Admite inglés, alemán, francés, español, italiano, neerlandés y polaco con detección automática.
  • Salidas: Proporciona transcripción, marcas de tiempo a nivel de palabra con probabilidades e incrustaciones de voz.
  • Despliegue: Binarios precompilados disponibles para diecisiete objetivos, incluyendo macOS, Linux, Android, iOS, RISC-V y WASM.
  • Integración: Utiliza el mismo formato de contenedor .cact que Needle, habilitando flujos de trabajo combinados de voz y texto en un solo motor.

Por qué importa

Para los desarrolladores que construyen sistemas embebidos o aplicaciones móviles, Whistle elimina la necesidad de complejas APIs en la nube o bibliotecas locales pesadas. La capacidad de ejecutar reconocimiento de voz en un microcontrolador o dispositivo vestible sin conexión a internet abre nuevas posibilidades para productos centrados en la privacidad y priorizando el modo sin conexión. La pequeña huella significa que puede coexistir con otra lógica de aplicación sin consumir memoria excesiva ni vida útil de la batería.

La integración con Needle simplifica el desarrollo de agentes controlados por voz. En lugar de construir tuberías separadas para la conversión de voz a texto y el reconocimiento de intención, los desarrolladores pueden usar un solo motor para transcribir audio y activar llamadas a funciones directamente. Esto reduce la latencia y la sobrecarga de ingeniería, ya que la aplicación no necesita analizar cadenas de texto intermedias. El enfoque de binario unificado también simplifica el despliegue y las actualizaciones en diversas plataformas de hardware.

Qué puedes hacer

  • Instala el paquete vía pip usando pip install cactus-needle para empezar a experimentar con la API de Python.
  • Prueba la transcripción en tiempo real en tu terminal usando el comando needle whistle playground.
  • Compara el rendimiento frente a otros modelos usando needle whistle compare para ver las diferencias de latencia y precisión lado a lado.
  • Implementa el sesgo por palabras clave pasando una lista de términos específicos para mejorar el reconocimiento de nombres o jerga técnica.
  • Despliega binarios precompilados en dispositivos objetivo como Android, iOS o placas RISC-V utilizando las herramientas needle download proporcionadas.
  • Usa el objeto needle.Whistle() en Python para generar incrustaciones de voz para tareas de clasificación de audio sin una transcripción completa.

Herramientas de la Tienda de Bytechap

$89

DocBento

Gestión documental autoalojada que lee cada escaneo y responde con citas de página.

Demo en vivo

Seguir leyendo

Todos los artículos