Introducción: en este artículo describimos cómo implementar conversión de voz a texto en tiempo real en una aplicación .NET 8 usando Deepgram y AssemblyAI. Ambas plataformas ofrecen alta precisión y bajo retardo, pero con fortalezas distintas: Deepgram destaca en transcripción streaming de baja latencia y AssemblyAI aporta funciones avanzadas como diarización de locutores y análisis de sentimiento.
Requisitos y paquetes: añade los paquetes NuGet necesarios con los comandos dotnet add package Deepgram y dotnet add package AssemblyAI. Guarda las claves de API en la configuración de la aplicación, por ejemplo en appsettings bajo las claves Deepgram ApiKey y AssemblyAI ApiKey.
Interfaz común: se recomienda definir una interfaz ISTTProvider que exponga dos operaciones principales: una operación asincrónica TranscribeAsync que recibe un Stream de audio y devuelve texto, y otra operación StreamTranscribeAsync que devuelve un IAsyncEnumerable de texto para transcripciones parciales o por segmentos en tiempo real.
Implementación con Deepgram: DeepgramClient se inicializa con la clave desde la configuración. Para audio pregrabado se usa la API de Prerecorded Transcription con opciones como modelo nova-2, idioma en-US, puntuación activada y diarización desactivada si no se necesita. Para streaming en vivo se crea una conexión de Live Transcription, se configuran opciones como InterimResults true y endpointing en milisegundos para detectar pausas, y se transmiten fragmentos de audio en buffers de tamaño apropiado. En el evento de TranscriptReceived se diferencian resultados parciales y finales y se exponen al consumidor del IAsyncEnumerable.
Implementación con AssemblyAI: el flujo típico para audio pregrabado consiste en subir el fichero al servicio, crear una transcripción con parámetros como language code en, puntuación habilitada y speaker labels para diarización, y esperar a que la transcripción esté lista. Para transcripción en tiempo real AssemblyAI ofrece un transcriber en tiempo real con eventos SessionBegins PartialTranscriptReceived FinalTranscriptReceived y ErrorReceived; se conecta, envía audio en bloques y recoge los textos finales enviados por los callbacks.
Registro en inyección de dependencias: registra la implementación deseada del proveedor ISTTProvider en el contenedor DI, por ejemplo registrar DeepgramSTTProvider o AssemblyAISTTProvider como implementación singleton de ISTTProvider. Así la capa de control no depende de la implementación concreta y puede cambiarse fácilmente por fallback o para pruebas.
Uso desde un controlador: expón un endpoint HTTP POST para transcribir archivos subidos que abra el IFormFile como Stream y llame a TranscribeAsync. Para escenarios en vivo puedes exponer un endpoint WebSocket que reciba datos binarios de audio, acumule o reenvíe esos fragmentos y, al cerrar la conexión, invoque StreamTranscribeAsync para enviar los resultados al cliente en tiempo real.
Mecanismo de fallback y tolerancia a fallos: implementa un proveedor compuesto que intente primero la transcripción con el proveedor primario y, en caso de excepción, reinicie el stream y reintente con un proveedor secundario. Para streaming, capturar la excepción al inicializar y reenviar el stream reseteando la posición permite conmutar a la alternativa sin pérdida de datos.
Pruebas unitarias: en pruebas unitarias se puede simular IConfiguration y ILogger e instanciar el proveedor Deepgram con claves de prueba. Usa ficheros de audio de prueba y verifica que la función TranscribeAsync devuelve texto no vacío. Para streaming se pueden crear streams en memoria y comprobar la secuencia de resultados parciales y finales.
Consejos de rendimiento y buenas prácticas: para conversaciones en vivo usar siempre la ruta streaming StreamTranscribeAsync; para lotes y archivos grabados usar TranscribeAsync; preferir formatos PCM16 a 16 kHz para mejor compatibilidad; emplear buffers de 8 KB para un streaming eficiente; ajustar endpointing a alrededor de 300 ms para finalizar frases naturales; usar reconexión y reintentos exponenciales ante errores de red.
Comparación rápida: Deepgram ofrece latencias típicas de 200 a 400 ms y es excelente para streaming en tiempo real; AssemblyAI suele presentar latencias de 300 a 500 ms y aporta funcionalidad integrada de diarización y análisis avanzado. En precisión ambas plataformas son excelentes y la elección depende de requisitos de latencia, funciones adicionales y coste.
Ejemplos de arquitectura y despliegue: al desplegar en producción conviene ejecutar el procesado en contenedores y orquestarlo con servicios en la nube, integrando pipelines de ingestión, colas para procesamiento asíncrono y almacenamiento seguro de ficheros. Para integración con servicios cloud puedes apoyarte en soluciones escalables y seguras de proveedores como AWS y Azure; si te interesa una migración o despliegue gestionado revisa nuestra oferta de servicios cloud aws y azure.
Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial ciberseguridad y servicios cloud. Ofrecemos soluciones de software a medida y aplicaciones a medida adaptadas a las necesidades de negocio, desde integraciones con modelos de IA para transcripción y agentes IA hasta proyectos de inteligencia de negocio y Power BI. Si buscas potenciar tus productos con IA para empresas o crear agentes IA personalizados podemos ayudarte con consultoría y desarrollo. Conoce nuestros servicios de desarrollo en Desarrollo de aplicaciones y software a medida y nuestras capacidades en inteligencia artificial.
Palabras clave y posicionamiento: aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi son términos que describen nuestro foco y experiencia. Si quieres una solución de transcripción en tiempo real integrada en tu producto, con opciones de fallback y despliegue seguro, Q2BSTUDIO puede acompañarte desde el prototipo hasta la puesta en producción.
Contacto y siguiente paso: evalúa tus requisitos de privacidad latencia y funcionalidades avanzadas como diarización o análisis de sentimiento y solicita una consultoría para elegir entre Deepgram AssemblyAI u otras alternativas. Nuestro equipo puede diseñar la arquitectura adecuada integrar el proveedor elegido y construir la solución escalable y segura que tu empresa necesita.

.jpg)

.jpg)