Activo 2025

Glosso Studio — Entrenamiento de Pronunciación por Fonemas, Sin Conexión

App Android offline-first para entrenar pronunciación. Analiza fonemas individuales en el dispositivo con un modelo acústico wav2vec 2.0 — no solo speech-to-text. Cinco idiomas, currículo estructurado, AGPLv3 / F-Droid.

Año

2025

Stack

Kotlin MultiplatformJetpack ComposeONNX Runtimewav2vec 2.0RoomKoinKtor

Enlaces

La mayoría de apps de pronunciación pasan tu voz por speech-to-text y te dicen si las palabras coinciden. Eso dice muy poco sobre cómo suenas realmente. Glosso Studio pasa tu voz por un reconocedor fonético — un modelo acústico wav2vec 2.0, en el dispositivo vía ONNX Runtime — y te da feedback a nivel de fonemas individuales.

Lees una frase. La app te muestra qué fonemas acertaste, cuáles se desviaron y en qué punto exacto de la palabra te equivocaste. Con el tiempo registra tus fonemas débiles y los repone en ejercicios de repetición espaciada. Hay un currículo estructurado en seis niveles de dificultad, de Principiante a Maestría.

Funciona sin conexión. La inferencia ML, el procesado de audio, el currículo — todo en el dispositivo. Sin cuenta, sin viaje a la nube, sin telemetría.

El problema

Los aprendices adultos de idiomas tienen un problema de pronunciación. Las apps o lo ignoran (Duolingo, Babbel) o lo tratan de forma superficial. Las pocas que lo intentan ("¿coincide el speech-to-text con el texto objetivo?") te felicitan por arrastrar una frase de un modo en el que ningún nativo la diría.

El análisis fonético es la herramienta adecuada, y ya es lo bastante pequeño para ejecutarse en un teléfono. Glosso convierte esa viabilidad técnica en un producto usable.

Cómo funciona

Entrada de voz. El usuario graba una frase. El audio se remuestrea a 8 kHz y se pasa por una implementación MFCC (Mel-Frequency Cepstral Coefficient) propia — normalizada en RMS a un valor objetivo de ~3000 para mantener la entrada consistente independientemente de lo alto que hable el usuario.

Reconocimiento de fonemas. El audio entra en un único modelo wav2vec 2.0 multilingüe ejecutándose sobre ONNX Runtime — un solo modelo cubre todos los idiomas soportados. La salida es una secuencia de fonemas IPA para la utterance.

Comparación. Los fonemas producidos por el usuario se alinean con los fonemas esperados de la frase objetivo. Los desajustes se puntúan y la precisión por fonema se agrega en una nota para la frase, la palabra y los fonemas individuales.

Feedback. El usuario ve su nota y la transcripción IPA con código de color por fonema, más la opción de reproducir la pronunciación objetivo completa desde la referencia TTS.

Repetición espaciada. Los fonemas débiles se registran en Room (ReviewEntity / ReviewDao) y se repone en ejercicios con el algoritmo SM-2. Rachas, niveles de maestría y progreso por idioma son solo locales.

Stack

Móvil — Kotlin Multiplatform. Compose para la UI de Android. Koin para DI. Ktor para HTTP. Room para la base de datos local (actualmente en esquema v8 con historial completo de migraciones).

ML/Audio

  • ONNX Runtime para inferencia en el dispositivo
  • Un único modelo acústico wav2vec 2.0 multilingüe que cubre los cinco idiomas soportados (inglés, francés, español, alemán, latín)
  • Implementación MFCC propia, sin librería DSP de terceros
  • Controlador de voz propio con normalización RMS
  • ~318 MB de pesos ONNX, almacenados vía Git LFS

Capa TTS

  • Qwen3-TTS (Apache-2.0) para el audio de referencia principal
  • Piper TTS para voces específicas por idioma
  • Inworld TTS 1.5 Max vía DeepInfra para la voz española “Diego”

Distribución — Play Store, F-Droid y GitLab Releases. Totalmente gratis en todos los canales — sin paywall, sin compras integradas. Licencia AGPLv3. Metadatos de F-Droid en formato fastlane.

Lo más destacado

Análisis fonético de calidad nube, offline. wav2vec 2.0 + ONNX Runtime te da precisión por fonema en un teléfono Android de gama media. Sin servidor, sin llamadas a API, sin límites. Este es el verdadero diferenciador frente a cualquier otra app de pronunciación del mercado.

Carga dinámica de assets. Las bases de datos del currículo inflarían el APK si se enviaran juntas. En su lugar, el APK base es pequeño y los assets de currículo específicos por idioma se descargan bajo demanda del GitLab Package Registry la primera vez que el usuario abre ese nivel.

Pipeline de audio real. Normalización RMS, MFCC propio a 8 kHz, soporte para varias velocidades de reproducción, ejercicios basados en fonemas. Nada de esto es prefabricado.

Repetición espaciada SM-2 con seguimiento de fonemas débiles. No solo repaso por frases — la base de datos registra los fonemas individuales con los que el usuario lucha y sesga la selección de ejercicios hacia ellos.

Limpio en F-Droid. Builds reproducibles, sin SDKs propietarios, AGPLv3, metadatos fastlane completos. Revisado y aceptado en F-Droid.

Estado

En producción. Actualmente v2.2.6 (versionCode 2207). Disponible en Play Store, F-Droid y vía GitLab Releases. Totalmente gratis en todos los canales, AGPLv3.

Cinco idiomas hoy: inglés (US/GB), francés, español, alemán, latín. El de latín es una pequeña alegría.

GitLab: shirobyte421/glosso-studio. Mirror en GitHub: IgnacioLD/glosso-studio.