Llevo mucho tiempo dictando a la IA. Tengo un script propio para transcripciones que monté hace años en mi Linux, reutilizando parte del código que escribí en su día para audiotranscripciones.com, un SaaS de transcripción de audio que terminé cerrando. Aquel proyecto no salió bien, pero me dejó una base de código que merecía la pena rescatar. El planteamiento del script es el clásico: pulsas un atajo de teclado, hablas, vuelves a pulsarlo y el texto aparece donde tengas el cursor. El repo sigue público en linux-voice-to-text-ai, por si alguien quiere bichear.
He iterado bastante sobre ese script con los años. En unas versiones llamaba a mi servidor casero de IA, ese que tengo bajo la mesa y no en el portátil. En otras tiraba contra Whisper de OpenAI. En otras contra Deepgram. La parte que nunca conseguí resolver era la misma: hiciera lo que hiciera, el portátil necesitaba conexión a internet sí o sí. Y la conexión, por los motivos de siempre, se cae cada cierto tiempo. Cuando se cae a mitad de transcripción, te quedas con media frase, o sin nada, o con un texto raro cortado en algún punto del que no te enteras hasta que lees el resultado. Y, sobre todo, pierdes el flujo, que es lo peor de todo.
Hace unos días alguien pasó por un grupo en el que estoy el enlace de Handy. Llevo un par de días probándolo y funciona muy bien. Va todo en local, sin internet, sin APIs externas, sin servidor remoto. Este artículo es para explicar por qué recomiendo usar este tipo de aplicaciones, y en concreto esta, sobre todo si trabajas en Linux y sobre todo si trabajas con IA.
Dictar a la IA no va de comodidad, va de contexto
Mucha gente piensa que dictar al ordenador es una cuestión de no querer teclear, o de poder trabajar más relajado. No es eso, o no del todo. La diferencia de verdad está en la cantidad de contexto que pasas al modelo.
Cuando tienes que escribirle una tarea a Claude Code, OpenCode o cualquier asistente, hay un coste implícito de redactar. Y ese coste hace que tiendas a abreviar sin darte cuenta. Le mandas un párrafo, dos como mucho, con lo justo. Si dictas, ese coste se desploma. Le mandas veinte párrafos. Una parrafada de varios minutos donde has soltado todo lo que tendrías en cuenta tú mismo para hacer esa tarea bien desde el principio.
Es la diferencia entre tirarle una frase a un junior por Slack y sentarte cinco minutos a explicarle el problema con todos sus matices: lo que quieres que haga, lo que no quieres que haga, las cosas que ya has probado, los detalles que sabes que van a chocar más adelante, los archivos que conviene mirar y los que no. Como si le estuvieras mandando un mini podcast a la IA. Y los modelos de hoy lo agradecen mucho. No les molesta que repitas, que cambies de idea a mitad de frase o que tartamudees. Lo procesan todo y le sacan partido. La calidad del output sube de forma muy notable cuando sube de forma muy notable el contexto.
En la DrupalCamp Spain 2025 ya enseñé en una diapositiva que estaba trabajando así desde hacía más de un año. Por aquel entonces era todavía algo raro. Hoy es prácticamente el estándar entre la gente que usa intensivamente asistentes de IA. Quien sigue tecleando prompts a mano está siendo menos productivo.
Por qué Handy cubre un hueco que llevaba años abierto
Probé soluciones puramente locales hace un par de años. Eran lentas y la calidad era mala. Tardaban lo suficiente como para que volver a teclear fuera más rápido. Las descarté y me quedé con la dependencia de la API, asumiendo que era el precio a pagar por una calidad y velocidad razonables. Por eso lo de Handy me ha sorprendido tanto: hace dos años esto, en local y en Linux, no era viable.
Handy es una aplicación de escritorio gratuita, open source, escrita en Rust con Tauri. Hace lo mismo que mi script: pulsas atajo, hablas, suelta, el texto aparece donde tengas el cursor. Pero todo offline. Por dentro usa whisper.cpp vía whisper-rs, o Parakeet V3 vía transcribe-rs, dependiendo del modelo que elijas. Aceleración por GPU si la tienes. Filtrado de silencios con Silero VAD. Atajos globales con rdev. Arquitectura limpia, hecha por alguien que sabe lo que hace y no se ha puesto a reinventar partes que ya están resueltas.
Lo segundo importante es que funciona en Linux. Probé varias herramientas similares en su día y todas tenían pegas: o no soportaban Wayland, o asumían un escritorio determinado, o el atajo de teclado iba a medias. Por eso acabé montando lo mío. Handy en Linux pide instalar xdotool (X11) o wtype/dotool (Wayland) para pegar el texto correctamente, y poco más.
Cómo lo tengo montado yo
Estoy con Whisper Turbo, que ocupa unos 1,6 GB y pide una máquina con cierto músculo. En mi portátil, que tiene GPU decente, la respuesta es prácticamente inmediata y la calidad de transcripción es notablemente mejor que la que me daba el Whisper de la API de OpenAI cuando hice pruebas en su día. No me lo esperaba. Si tu equipo no llega para Turbo, los modelos más pequeños (Small, Medium, o Parakeet V3 que va por CPU) son una alternativa razonable, aunque pierdas algo de inmediatez.
Lo segundo que recomiendo configurar son las Custom Words. Es un campo en ajustes donde metes los términos que el modelo se inventa o transcribe mal sistemáticamente. En mi caso me he añadido un buen puñado de palabras de Drupal y de programación que el modelo, entrenado en inglés general, no termina de pillar: nombres de hooks como hook_form_alter, conceptos como entityQuery, Paragraph, BigPipe, S3FS, módulos como simplenews, metatag, block_class, lo típico. Sin esa lista te toca corregir a mano la mitad de las transcripciones técnicas. Con ella, empieza a parecerse a tener un transcriptor que entiende tu jerga.
Para quién tiene sentido (y para quién no)
Si trabajas mucho con asistentes de IA, mandándoles tareas largas varias veces al día, dictar en lugar de teclear te cambia el ritmo de trabajo. Y, como decía antes, no es solo cuestión de velocidad: es que te permite ser mucho más detallista en el contexto que pasas. Pasas de medir cada interacción a soltarla. Pierdes la fricción mental del "voy a escribirle bien esto" y le hablas como le hablarías a un compañero. Si encima tu trabajo es programación, tener Custom Words bien afinadas hace que el output sea casi siempre usable directamente.
Para quién no tiene sentido: para quien tenga un equipo justo de potencia, sobre todo sin GPU. Los modelos pequeños funcionan, pero la sensación de inmediatez se pierde y ahí es donde se cae el caso de uso. Si tienes que esperar 30s cada vez que sueltas el atajo, vuelves al teclado en una semana. Tampoco le sacas partido si dictas poco. Si solo lo usas dos veces al día, montar el flujo entero aporta menos de lo que cuesta acordarse del atajo.
Y de aquí a un año, quién sabe
No tengo claro hasta cuándo me durará Handy como herramienta del día a día. En este sector, lo que hoy te resuelve la vida en seis meses puede haberse vuelto irrelevante porque ha aparecido otra cosa que lo hace mejor, o porque el sistema operativo lo trae integrado, o porque los modelos locales pegan otro salto. Lo que sí tengo claro es que mi script de hace años, el de la API y el servidor local, ya no lo voy a tocar más. Esa página la he pasado.
Si llevas tiempo dándole vueltas a esto y, como yo, ya has probado un par de soluciones que no acababan de cuajar, dedícale media hora a montar Handy y ver qué tal te encaja en tu flujo. La sorpresa, en mi caso, ha sido bastante positiva.