Skip to content
biglexjPublic

About

Lyra Flow es una app que te permite escribir con la voz, tu hablas por el micrófono y Lyra Flow ordenara tus ideas en un formato mucho más legible

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

LyraFlow 🎙️✨

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.

📸 Capturas de Pantalla

Inicio claro Inicio oscuro
Inicio claro Inicio oscuro
Ajustes Modelo Whisper local
Ajustes Modelo Whisper local

Organización de recursos

El icono canónico de identidad se conserva en assets/branding/icons/icon-transparent.png. Los recursos derivados deben generarse desde esa fuente conforme al Asset Organization Standard; las capturas documentales viven en docs/screenshots/.

Funciones actuales

  • Atajo global Ctrl + Espacio en 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, MiniMax o cualquier API OpenAI-compatible cuyo modelo acepte audio.
  • Atajo global independiente para cancelar un dictado en curso sin transcribirlo.
  • 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, atajos e inyección automática.
  • Escritorio Windows/Linux y base compartida para Android.

Tecnologías

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

Ejecutar en escritorio

Requiere JDK 17 o posterior. El proyecto está verificado con Temurin 25.

.\gradlew.bat :composeApp:run

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

MiniMax usa su transcriptor dedicado: el audio entra por POST /speech_to_text (modelo asr-1.0) y el texto resultante se refina después con MiniMax-M3.1-Flash mediante /chat/completions. No es el mismo camino que el adaptador OpenAI-compatible porque MiniMax no acepta audio en Chat Completions. El endpoint que LyraFlow guarda es la URL base (https://api.minimax.io/v1) y la clave se lee de MINIMAX_API_KEY. MiniMax limita cada audio a 500 segundos y 50 MB.

Los dos atajos globales por defecto son Ctrl + Espacio para alternar grabar/detener y Ctrl + Shift + Espacio para cancelar el dictado en curso. Ambos se editan en Ajustes y no pueden coincidir entre sí; si coinciden, LyraFlow vuelve al valor por defecto.

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.

Verificación

$env:ANDROID_HOME = Join-Path $env:LOCALAPPDATA "Android\Sdk"
.\gradlew.bat :composeApp:desktopTest :composeApp:compileDebugKotlinAndroid

Distribución

.\scripts\release\build-release.ps1 -LocalOnly

Genera y valida el instalador EXE firmado sin modificar Git ni GitHub. Para publicar la versión activa desde main:

.\scripts\release\build-release.ps1

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

Estado de plataforma

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

About

Lyra Flow es una app que te permite escribir con la voz, tu hablas por el micrófono y Lyra Flow ordenara tus ideas en un formato mucho más legible

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages