Saltar al contenido principal
Version: 0.0.14

Uso

El SDK Sofya Transcription proporciona una solución robusta y flexible para la transcripción de audio en tiempo real. Esta guía le ayudará a comenzar a usar el SDK en sus proyectos.

Uso Básico

Aquí hay un ejemplo básico de cómo usar Sofya Transcription en su proyecto:

  1. Importe la Biblioteca:

    import { MediaElementAudioCapture, SofyaTranscriber } from 'sofya.transcription';
  2. Cree una Instancia del Servicio de Transcripción:

    // Usando conexión con clave de API
    const transcriber = new SofyaTranscriber({
    apiKey: 'SU_CLAVE_API',
    config: {
    language: 'es-419'
    }
    });

    // O usando un proveedor específico
    const transcriber = new SofyaTranscriber({
    provider: 'sofya_compliance',
    endpoint: 'SU_ENDPOINT',
    config: {
    language: 'es-419',
    token: 'SU_TOKEN',
    compartmentId: 'SU_COMPARTMENT_ID',
    region: 'SU_REGION'
    }
    });
  3. Inicialice e Inicie la Transcripción:

    // Espere a que el transcriber esté listo
    transcriber.on('ready', () => {
    // Obtenga el flujo de medios
    navigator.mediaDevices.getUserMedia({ audio: true })
    .then(mediaStream => {
    // Inicie la transcripción
    transcriber.startTranscription(mediaStream);
    })
    .catch(error => {
    console.error('Error al acceder al micrófono:', error);
    });
    });
  4. Gestione Eventos de Transcripción:

    transcriber.on('recognizing', (text) => {
    console.log('Reconociendo: ' + text);
    });

    transcriber.on('recognized', (text) => {
    console.log('Reconocido: ' + text);
    });

    transcriber.on('error', (error) => {
    console.error('Error en la transcripción:', error);
    });

    transcriber.on('stopped', () => {
    console.log('Transcripción detenida');
    });
  5. Controle la Transcripción:

    // Pause la transcripción
    transcriber.pauseTranscription();

    // Reanude la transcripción
    transcriber.resumeTranscription();

    // Detenga la transcripción
    transcriber.stopTranscription();

Manejo de Errores

El SDK Sofya Transcription proporciona manejo de errores integral para garantizar una experiencia de transcripción robusta y confiable. El SDK utiliza una combinación de lanzamiento de errores, emisión de eventos y registro para manejar errores en diferentes etapas del proceso de transcripción.

Estrategias de Manejo de Errores

  1. Errores de Validación

    • Clave de API faltante
    • Endpoint faltante para conexión con proveedor
    • Configuración faltante para conexión con proveedor
    • Objeto de conexión inválido
  2. Errores de Conexión

    • Fallo de autenticación
    • Problemas de conectividad de red
    • Indisponibilidad del servicio del proveedor
    • Configuración inválida del proveedor
  3. Errores de Transcripción

    • Acceso al micrófono denegado
    • Errores de procesamiento de audio
    • Errores del servicio del proveedor durante la transcripción

Mejores Prácticas para el Manejo de Errores

  1. Siempre Escuche Eventos de Error

    transcriber.on('error', (error) => {
    console.error('Error en la transcripción:', error);
    // Maneje el error apropiadamente
    });
  2. Use Bloques Try-Catch para Inicialización

    try {
    const transcriber = new SofyaTranscriber({
    apiKey: 'SU_CLAVE_API',
    config: {
    language: 'es-419'
    }
    });

    // Use el transcriber
    } catch (error) {
    console.error('Error al inicializar el transcriber:', error);
    // Maneje el error apropiadamente
    }
  3. Verifique el Evento Ready Antes de Iniciar la Transcripción

    transcriber.on('ready', () => {
    console.log('Servicio de transcripción listo');

    // Obtenga el flujo de medios e inicie la transcripción
    navigator.mediaDevices.getUserMedia({ audio: true })
    .then(mediaStream => {
    transcriber.startTranscription(mediaStream);
    })
    .catch(error => {
    console.error('Error al acceder al micrófono:', error);
    // Maneje el error apropiadamente
    });
    });
  4. Implemente Lógica de Reintento para Operaciones Críticas

    function startTranscriptionWithRetry(transcriber, mediaStream, maxRetries = 3) {
    let retryCount = 0;

    function attemptStart() {
    try {
    transcriber.startTranscription(mediaStream);
    } catch (error) {
    console.error(`Error al iniciar la transcripción (intento ${retryCount + 1}/${maxRetries}):`, error);

    if (retryCount < maxRetries) {
    retryCount++;
    setTimeout(attemptStart, 1000); // Reintente después de 1 segundo
    } else {
    console.error('Error al iniciar la transcripción después de múltiples intentos');
    // Maneje el error apropiadamente
    }
    }
    }

    attemptStart();
    }

Escenarios Comunes de Error y Soluciones

  1. Fallo en la Autenticación de la Clave de API

    • Mensaje de Error: "No se pudo autenticar. Por favor, valide su clave de API e intente nuevamente."
    • Solución: Verifique que la clave de API sea correcta y no haya expirado. Si el problema persiste, contacte al soporte de Sofya.
  2. Fallo en la Conexión con el Proveedor

    • Mensaje de Error: "Error al conectar con cualquier proveedor. Por favor, verifique su clave de API e intente nuevamente."
    • Solución: Verifique su conectividad de red y confirme que los servicios del proveedor estén disponibles. Si el problema persiste, intente usar un proveedor diferente o contacte al soporte de Sofya.
  3. Acceso al Micrófono Denegado

    • Mensaje de Error: "Error al acceder al micrófono: NotAllowedError"
    • Solución: Asegúrese de que el usuario haya otorgado permiso para acceder al micrófono. Si el permiso fue denegado, el usuario necesitará otorgar permiso a través de la configuración del navegador.
  4. Error en el Servicio de Transcripción

    • Mensaje de Error: "Error en el servicio de transcripción: [error específico del proveedor]"
    • Solución: Verifique el mensaje de error específico del proveedor para obtener detalles. Los problemas comunes incluyen configuración inválida, problemas de conectividad de red o indisponibilidad del servicio del proveedor.