LyraFlow es una aplicación de dictado inteligente construida con Kotlin Multiplatform y Compose Multiplatform. Captura tu voz mediante un atajo global, la convierte en texto contextualizado y la inserta en la aplicación activa.
- Atajo global
Ctrl + Espacioen Windows, personalizable con combinaciones de 2 o 3 teclas. - Captura WAV mono a 16 kHz con nivel y duración visibles.
- Transcripción y corrección contextual mediante Gemini o cualquier API OpenAI-compatible cuyo modelo acepte audio.
- Comprobación automática de actualizaciones desde GitHub Releases con sanitización del body y toast flotante global.
- Modal e insignia "Acerca de la Aplicación" con opciones de apoyo oficial y donación directa.
- Compatibilidad prevista con Whisper local mediante sidecar.
- Inserción directa usando portapapeles y simulación de teclado.
- Temas automático, claro y oscuro con Material 3 Expressive.
- Preferencias persistentes para tema, modelo, atajo e inyección automática.
- Escritorio Windows/Linux y base compartida para Android.
- Kotlin Multiplatform 2.3.10.
- Compose Multiplatform 1.11.1.
- Gradle 9.4.1.
- Ktor para APIs multimodales nativas y OpenAI-compatible.
- JNA para integraciones de escritorio.
Requiere JDK 17 o posterior. El proyecto está verificado con Temurin 25.
.\gradlew.bat :composeApp:runDesde Ajustes puedes seleccionar Gemini o OpenAI / compatible, escribir el identificador del modelo y configurar el endpoint completo. La clave puede definirse mediante LYRAFLOW_API_KEY, GEMINI_API_KEY u OPENAI_API_KEY, o introducirse desde Ajustes. En Windows se conserva cifrada con DPAPI por proveedor; borrar el campo elimina también la copia persistida.
El adaptador compatible envía audio y la instrucción en una sola solicitud Chat Completions usando input_audio. Esto permite conectar OpenAI, gateways, Qwen, servidores vLLM/SGLang y otros servicios con ese contrato. La compatibilidad del protocolo no garantiza que todos los modelos acepten audio: el modelo y la ruta elegidos deben soportarlo.
La tarjeta Whisper local instala bajo demanda el binario x64 desde la última release oficial de ggml-org/whisper.cpp y el modelo base en los datos locales del usuario. La interfaz muestra el progreso y permite reintentar si la descarga falla.
$env:ANDROID_HOME = Join-Path $env:LOCALAPPDATA "Android\Sdk"
.\gradlew.bat :composeApp:desktopTest :composeApp:compileDebugKotlinAndroid.\build-release.ps1 -LocalOnlyGenera y valida EXE, MSI y MSIX firmados sin modificar Git ni GitHub. Para publicar la versión activa desde main:
.\build-release.ps1El flujo automático crea el commit de release, el tag, realiza un push atómico y publica los artefactos junto con SHA256SUMS.txt en GitHub Releases.
- Windows: hotkey, audio, Gemini, OpenAI-compatible, Whisper local e inyección disponibles.
- Linux: paquetes configurados; hotkey e inyección nativos aún en desarrollo.
- Android: interfaz compartida compilable; captura y permisos aún pendientes.
Licencia MIT · Biglex J, 2026.