La integración de modelos de inteligencia artificial (IA) en aplicaciones de Windows puede parecer un desafío complejo. Este proceso no solo requiere definir casos de uso específicos y ajustar modelos precisos, sino también perfeccionar la lógica subyacente que conecta estos componentes. A través de un ejemplo práctico presentado en el evento Build, se puede entender mejor cómo implementar estos modelos en aplicaciones, especialmente en el contexto de un Editor de Audio con IA.
El Editor de Audio, desarrollado utilizando WinUI3 y WinAppSDK, ofrece una funcionalidad básica con el objetivo de demostrar el uso práctico de la IA. Esta aplicación en particular permite el «recorte inteligente» de audio, siguiendo un flujo específico: el usuario sube un archivo de audio con discurso reconocible, proporciona una palabra o frase clave junto con la duración deseada del recorte, y el editor genera un clip de audio que contiene el segmento más relevante relacionado con el tema.
El proceso comienza con la carga del archivo de audio, seguida por la entrada de la palabra o frase temática y la duración del recorte. Una vez que se hace clic en «Generar nuevo clip», el nuevo segmento de audio se carga automáticamente en la aplicación para su reproducción y validación.
Para lograr este «recorte inteligente», la aplicación recurre a tres modelos diferentes, todos en formato ONNX, que procesan los datos del audio de entrada. El primer modelo es Silero Voice Activity Detection (VAD), que segmenta el audio en partes más pequeñas adecuadas para ser procesadas por el modelo de transcripción Whisper. Dado que Whisper solo puede manejar fragmentos de audio de hasta treinta segundos, Silero VAD corta el audio en pausas durante el discurso para crear segmentos manejables.
El segundo modelo, Whisper Tiny, transcribe el discurso segmentado en texto. Este modelo, aunque está optimizado para un mejor rendimiento, presenta algunas limitaciones, como el soporte exclusivo para el inglés y una posible disminución en la precisión. Sin embargo, su desempeño es adecuado para los propósitos del editor de audio.
Finalmente, el modelo MiniLM, un modelo de incrustación de texto, convierte las frases transcritas y la frase temática proporcionada en espacios vectoriales multidimensionales que encapsulan la información semántica de cada frase. A través del cálculo de la Similitud de Coseno entre las incrustaciones de texto, el sistema puede identificar qué secciones del audio son más relevantes y cortar el clip de acuerdo a las marcas de tiempo correspondientes.
Para aquellos interesados en explorar más sobre esta implementación, se puede acceder al repositorio del proyecto y revisar el documento de recorrido del código, que proporciona un punto de entrada detallado sobre cómo se escribió este ejemplo. El README del proyecto incluye todos los pasos necesarios para configurar los modelos en el proyecto, haciendo que la información sea accesible para quienes desean aprender más.
Invitamos a los desarrolladores y entusiastas de la IA en Windows a visitar la documentación correspondiente y sumergirse en este emocionante campo, ampliando las funcionalidades y capacidades de sus aplicaciones mediante modelos locales de IA.