Saltar al contenido principal
Version: 0.0.16

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.

Nota de migración

¿Qué cambió?

  • El método stopTranscription ahora es asíncrono y devuelve una Promise<void>.
  • Ahora debe usar await o .then() al llamar a stopTranscription para asegurarse de que el proceso de transcripción se detenga completamente antes de continuar.

¿Por qué se cambió?

  • Este cambio garantiza que todas las operaciones de limpieza (como finalizar transcripciones en curso) se completen antes de que su código continúe. Previene condiciones de carrera y fugas de recursos que podrían ocurrir si el método fuera síncrono.

Cómo migrar

Antes:

transcriber.stopTranscription();
// Continuar inmediatamente con otra lógica

Después:

await transcriber.stopTranscription();
// o
transcriber.stopTranscription().then(() => {
// Continuar con otra lógica
});

Ejemplo en React:

const stopTranscription = async () => {
if (transcriber.current) {
await transcriber.current.stopTranscription();
transcriber.current = null;
}
};

Acción requerida

  • Actualice todos los usos de stopTranscription en su base de código para manejar la Promise devuelta.
  • Si utiliza este método dentro de controladores de eventos o componentes React, haga que el controlador sea async y use await.

Resumen:
stopTranscription ahora es asíncrono. Siempre utilice await o .then() para asegurar una limpieza adecuada. Este cambio mejora la confiabilidad y la gestión de recursos en sus flujos de trabajo de transcripción.

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');
    });