Entrada por voz

Estado: Activo desde Phase 62 (2026-06-05). whisper.cpp auto-hospedado en Contabo — sin dependencia de OpenAI, el audio no sale de tu servidor.

Arc OS admite dos capas de entrada por voz en el compositor del chat:

Capa Requiere Funciona en
L1 — Web Speech API Chrome o Edge (Chromium) Todos los planes de Arc
L2 — whisper auto-hospedado Cualquier navegador (MediaRecorder WebM/WAV) Arc Standard Cloud, On-premise

Ambas capas alimentan el mismo cuadro de texto del compositor y son transparentes para el worker de IA.


Usar la voz en el chat

  1. Abre el workspace de cualquier proyecto y pon el foco en el compositor del chat.
  2. Haz clic en el botón de micrófono (abajo a la izquierda del compositor) o pulsa Ctrl+Shift+V (funciona con cualquier distribución de teclado — el atajo corresponde a la tecla física V, no al carácter de la distribución).
  3. Habla. Una animación de onda + un borde naranja indican que está grabando.
  4. Haz clic en el botón del micrófono de nuevo (o pulsa el atajo) para parar.
  5. El texto transcrito aparece en el compositor — edítalo si hace falta y luego envía.

Modo continuo: L1 sigue escuchando hasta que pares; L2 graba un único clip y lo envía para transcripción.


L1 — Web Speech API (Chrome/Edge)

Usa la API de reconocimiento de voz integrada del navegador. Funciona al instante, sin ida y vuelta al servidor.

Idioma: se establece automáticamente desde tu preferencia de idioma en Arc. Códigos BCP-47 admitidos: uk-UA, en-US, de-DE, es-ES, fr-FR, pl-PL, ru-RU, pt-BR.

Permisos: el navegador pide acceso al micrófono en el primer uso. Si lo bloqueaste por accidente, ve a Site settings → Microphone → Allow para arc-os.co. El header Permissions-Policy de arc-os.co usa microphone=(self) — se permite el acceso same-origin mientras los embeds cross-origin quedan bloqueados.

Limitaciones:


L2 — whisper.cpp auto-hospedado

Arc OS ejecuta un arc-whisper.service persistente en Contabo con el modelo ggml-base (142 MB) precargado. Cuando el navegador no admite la Web Speech API, el compositor recurre a esta capa automáticamente:

  1. El navegador graba un clip WebM vía MediaRecorder.
  2. Al parar, el clip se envía por POST a /api/crm/voice/transcribe (multipart, máx 25 MB).
  3. El servidor lo reenvía al whisper-server local en 127.0.0.1:19214 — los bytes de audio nunca salen de Contabo.
  4. El texto transcrito vuelve y se inserta en el compositor.

Latencia: ~3.4 s para un clip de 11 segundos (modelo caliente, 3.1× tiempo real en la máquina actual EPYC de 6 vCPU).

Concurrencia: el whisper-server tiene un semáforo de 2 slots. Si ambos están ocupados, la API devuelve 429 ("server busy") y la UI muestra un toast — inténtalo de nuevo en unos segundos.


Cuota diaria

Cada usuario tiene un límite blando de 60 min/día en transcripciones L2. El servidor estima la duración del clip a partir del tamaño de la subida (asumiendo códec de voz de ~32 kbps, precisión de ±30%). Al alcanzar el límite:

L1 (Web Speech API) no está sujeta a este límite — usa el servicio propio del navegador.


Solución de problemas

Síntoma Causa probable Solución
Botón del micrófono atenuado Cuota diaria alcanzada Espera hasta medianoche UTC
"Microphone access blocked" El navegador bloqueó el micrófono Site settings → Microphone → Allow para arc-os.co
L1 no funciona en Firefox Firefox no admite la Web Speech API Pasa a L2 automáticamente
429 "server busy" Otros dos usuarios transcribiendo Reintenta tras ~5 s
Mala calidad de transcripción Ruido de fondo / modelo base de L2 Habla con claridad; la transcripción Pro (modelo más grande) es una fase futura
Ctrl+Shift+V no hace nada El foco no está en el compositor Haz clic primero dentro del textarea del compositor

Referencias