Un sistema capaz de capturar la voz del profesional, transcribirla en distintos idiomas y hacer una llamada a un LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude. que devuelve la información estructurada en distintos formatos. Es mi Trabajo Final de Grado, integrado en Streamly, la plataforma de gestión clínica en la que trabajo.
Antes de entrar en los detalles, esto es todo lo que hace el sistema. Cuatro pasos, donde el profesional tiene la última palabra.
El profesional habla, durante la visita o fuera de ella: en directo por el micrófono o subiendo un audio ya grabado.
Faster-WhisperModelo de reconocimiento de voz de OpenAI que pasa audio a texto. Faster-Whisper es una versión más rápida que funciona en nuestro propio servidor. la convierte en texto dentro de nuestro propio servidor, con el modelo adecuado para cada idioma. El audio no sale nunca de ahí.
caesen
Recibe el texto con una instrucción adaptada al idioma y a la especialidad del centro. Solo saca lo que se ha dicho; no se inventa nada.
Vuelve en el formato que elige el profesional, que la revisa y la guarda. Nada se guarda sin que él lo valide.
Ficha clínicaResumenDiagnósticoPlan terapéutico
1,68 spara transcribir un minuto de audio en catalán con GPUGPU: Graphics Processing Unit (unidad de procesamiento gráfico). La tarjeta gráfica: hace miles de cálculos a la vez, y por eso ejecuta los modelos de IA mucho más rápido que el procesador normal.1,43 sde media para generar la ficha con el LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude.
El objetivo era: automatizar una tarea para dar tiempo al profesional.
Que no tenga que pasar rato redactando la visita o el informe, ni durante la sesión ni después, y que ese tiempo vaya al paciente. En el sector de la salud, el tiempo no es simplemente un recurso, es la medida directa de la calidad de la atención.
Grabación completa de la defensa: desde la activación del módulo hasta la ficha clínica guardada en la visita del paciente.
Entré en Streamly haciendo prácticas, y el TFGTFG: Trabajo de Fin de Grado. El proyecto final de la carrera, que se presenta y se defiende ante un tribunal. llegó en el momento justo. Los usuarios repetían una queja: rellenar la ficha de cada visita cuesta tiempo, y ese tiempo se lo quitas al paciente.
Al mismo tiempo, la empresa quería meter inteligencia artificial en el producto, pero no como un adorno. Quería que sirviera para algo concreto. Juntar las dos cosas dio forma al proyecto.
Era buscar una solución a un problema real.
Fueron casi seis meses, de febrero a julio de 2026: analizar el problema, construir el motor de transcripción, conectar el modelo de lenguaje, desplegarlo en la nube y, al final, contarlo todo en una memoria.
Durante la sesión, la mayoría de los profesionales apuntan solo el motivo de la visita o la marcan como hecha. El diagnóstico, el plan y la evolución quedan para después, en el rato entre paciente y paciente y tirando de memoria. El resultado: historias clínicas incompletas.


Lo diseñé para que la IA no haga nunca nada por su cuenta. El profesional activa el módulo, decide si quiere pasar el texto por el LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude. y, pase lo que pase, revisa el resultado antes de guardarlo. Si el módulo está apagado, la visita se rellena a mano, como siempre.

El audio entra por dos caminos: un fichero ya grabado o el micrófono, en directo. Los dos acaban en el mismo texto transcrito, y ahí el profesional elige entre quedarse con la transcripción tal cual o pedirle al LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude. una de las cuatro salidas: resumen, diagnóstico, plan terapéutico o ficha clínica.

Un fisioterapeuta y un podólogo no apuntan lo mismo. Por eso la ficha no está escrita en el código: los campos llegan desde la configuración de cada centro en Streamly, y con ellos se construye la instrucción que recibe el LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude.. Si un centro añade un campo, la ficha lo incluye sin tocar nada.
Todas las instrucciones llevan la misma regla: sacar solo lo que se dice en la transcripción, sin inventar nada. Si un campo no se menciona, se queda vacío. Y la temperaturaTemperatura: el parámetro que decide cuánto se arriesga el LLM al elegir cada palabra. Baja (cerca de 0): elige casi siempre la más probable y es previsible. Alta: se arriesga más y es más creativo. del LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude. está baja (0,3) para que se ciña al texto y no se ponga creativo.
Para decidirlo preparé veinte audios de voz real de un minuto, diez en catalán y diez en castellano. Cada uno lee un texto clínico escrito a propósito con las palabras donde estos modelos suelen fallar: términos como cervicalgia o gonartrosis, referencias anatómicas y nombres de paciente. La medida es el WERWER: Word Error Rate (tasa de error por palabra). La proporción de palabras que la transcripción cambia, añade o se deja respecto a lo que se dijo de verdad. Cuanto más bajo, más fiel.: de cada cien palabras, cuántas salen mal.
El error de cada audio en la GPU de producción (Tesla T4). Pasa por encima de un audio o tócalo para leerlo solo.
El modelo del Barcelona Supercomputing Center pasa de cerca de una palabra errónea de cada tres a una de cada ocho. En nueve de los diez audios catalanes, AINAModelo de reconocimiento de voz especializado en catalán, del proyecto AINA del Barcelona Supercomputing Center. Es Whisper large-v3 ajustado con 710 horas de audio en catalán. se equivoca menos que whisperModelo de reconocimiento de voz de OpenAI que pasa audio a texto. Faster-Whisper es una versión más rápida que funciona en nuestro propio servidor.-small; solo pierde en el ca_04. Para el castellano no hacía falta: whisper-small ya obtiene un 13,53 %, así que el modelo especializado solo se aplica al catalán.
Uno de los veinte audios daba un error superior al 100 %. Parecía un fallo de medida, pero no lo era: al llegar a un tramo final con poca voz, el modelo entraba en bucle y se inventaba texto que no estaba en el audio.
De aquí salen dos decisiones. La cifra que se publica es la mediana, porque este único caso empujaba la media hasta el 18,78 %. Y la revisión del profesional quedó como paso obligatorio: ningún sistema de transcripción automática está libre de fallar en un caso concreto, por bueno que sea su error medio.
AINAModelo de reconocimiento de voz especializado en catalán, del proyecto AINA del Barcelona Supercomputing Center. Es Whisper large-v3 ajustado con 710 horas de audio en catalán. es más preciso, pero también mucho más pesado. La diferencia entre procesarlo con el procesador normal o con una tarjeta gráfica decide si el sistema se puede usar durante la consulta o no.
Transcribir un audio de un minuto con AINA
Tesla T4Tarjeta gráfica (GPU) de NVIDIA pensada para servidores. Es la que lleva el servidor de AWS donde se hace la transcripción.. Suficientemente rápido para transcribir mientras dura la visita.
Veintinueve veces más lento. Inviable con el paciente delante.
Animación acelerada ×8. Los segundos son los medidos.
La primera versión corría entera en mi portátil: el servidor, la transcripción, un LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude. local y una capa para anonimizar el texto. Funcionaba, pero era lenta y no se la podía enseñar a nadie. La versión final vive en un servidor con GPUGPU: Graphics Processing Unit (unidad de procesamiento gráfico). La tarjeta gráfica: hace miles de cálculos a la vez, y por eso ejecuta los modelos de IA mucho más rápido que el procesador normal. en AWSAWS: Amazon Web Services. La nube de Amazon: alquila servidores y servicios por horas, sin tener que tener máquinas propias., empaquetada en DockerHerramienta que empaqueta una aplicación con todo lo que necesita en un «contenedor», para que funcione igual en cualquier servidor., y solo el texto sale hacia Azure OpenAIServicio de Microsoft que da acceso a los modelos de OpenAI, como GPT, desde sus servidores. Aquí es el LLM que genera la ficha en producción. para generar la ficha.


Una de las decisiones que más me enseñó fue quitar algo que ya funcionaba: la capa de anonimización.
Sobre el papel era buena idea: antes de enviar el texto al LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude., Microsoft PresidioHerramienta de código abierto de Microsoft que busca datos personales en un texto (nombres, teléfonos, DNI…) y los oculta. buscaba nombres, teléfonos o DNI y los sustituía. Pero con textos clínicos en catalán fallaba por los dos lados. Marcaba como datos personales palabras como «pàdel» o «drenatge» y, en cambio, dejaba pasar nombres y apellidos reales. Estropeaba el texto que recibía el LLM y encima daba una falsa sensación de seguridad. Una protección que funciona a medias puede ser peor que no tenerla, así que la quité y cambié el enfoque: el audio no sale nunca de la infraestructura, y el texto viaja con garantías contractuales.
El RGPDRGPD: Reglamento General de Protección de Datos. La ley europea que regula cómo se pueden usar los datos personales; los de salud tienen la protección más estricta. clasifica los datos de salud como categoría especial, el régimen más estricto. Esto condiciona la arquitectura antes que cualquier decisión de modelo: la transcripción se ejecuta siempre dentro de la infraestructura controlada y, hoy, el audio no viaja nunca a ningún tercero.
Audio, siempre local
Faster-WhisperModelo de reconocimiento de voz de OpenAI que pasa audio a texto. Faster-Whisper es una versión más rápida que funciona en nuestro propio servidor. corre dentro de la misma máquina que recibe la grabación. El fichero de audio no sale en ningún momento de la infraestructura del proyecto.
Hoy la pieza cara es el servidor con GPUGPU: Graphics Processing Unit (unidad de procesamiento gráfico). La tarjeta gráfica: hace miles de cálculos a la vez, y por eso ejecuta los modelos de IA mucho más rápido que el procesador normal.: está encendido todo el día, se use o no, y transcribe los audios de uno en uno. Por eso los objetivos finales del trabajo apuntaban a quitar ese coste fijo de en medio.
476€/mes
Coste operativo
Instancia con GPUGPU: Graphics Processing Unit (unidad de procesamiento gráfico). La tarjeta gráfica: hace miles de cálculos a la vez, y por eso ejecuta los modelos de IA mucho más rápido que el procesador normal. y LLMLLM: Large Language Model (modelo de lenguaje grande). Una IA entrenada con muchísimo texto que entiende instrucciones y escribe texto nuevo, como ChatGPT o Claude., en un escenario de mil consultas diarias.
0€
Transcripción
No hay coste por uso: el modelo corre en la infraestructura propia.
El sistema está integrado en Streamly y funciona en el entorno de preproducción. Lo que falta para usarlo con pacientes no es tecnología.
Hay dos barreras. La primera es el coste: la GPUGPU: Graphics Processing Unit (unidad de procesamiento gráfico). La tarjeta gráfica: hace miles de cálculos a la vez, y por eso ejecuta los modelos de IA mucho más rápido que el procesador normal. transcribe los audios de uno en uno, así que cuando muchos profesionales lo usan a la vez no basta con pagar un poco más; hay que añadir otro servidor entero, unos 443 € más al mes cada vez. La segunda es legal: trabajar con datos de salud de pacientes reales exige firmar el contrato con el proveedor, hacer una evaluación de impacto y definir cómo se pide el consentimiento.
El prototipo demuestra que el camino es viable. Recorrerlo depende de decisiones de empresa, no de código.
Y queda una pregunta sin respuesta: cuántos minutos ahorra de verdad en cada visita. Para eso hace falta un estudio con profesionales usándolo en su día a día, y es lo primero que haría antes de desplegarlo.
A medir antes de decidir. Elegir AINAModelo de reconocimiento de voz especializado en catalán, del proyecto AINA del Barcelona Supercomputing Center. Es Whisper large-v3 ajustado con 710 horas de audio en catalán. para el catalán no fue una intuición: fueron veinte audios y una tabla.
Que quitar también es diseñar. PresidioHerramienta de código abierto de Microsoft que busca datos personales en un texto (nombres, teléfonos, DNI…) y los oculta. me costó tiempo, y descartarlo fue una de las mejores decisiones del proyecto.
Y que en salud la IA propone, pero firma una persona. Por eso todo lo que genera el sistema llega como borrador.
small · aina-large-v3-ca del Barcelona Supercomputing Center qwen2.5:3b en desarrollo · Azure OpenAIServicio de Microsoft que da acceso a los modelos de OpenAI, como GPT, desde sus servidores. Aquí es el LLM que genera la ficha en producción. gpt-4.1-mini en producción g4dn.xlarge con Tesla T4Tarjeta gráfica (GPU) de NVIDIA pensada para servidores. Es la que lleva el servidor de AWS donde se hace la transcripción.La memoria del TFGTFG: Trabajo de Fin de Grado. El proyecto final de la carrera, que se presenta y se defiende ante un tribunal. se presentó en catalán; por eso los esquemas de esta página tienen los textos en catalán.