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:
-
Importe la Biblioteca:
import { MediaElementAudioCapture, SofyaTranscriber } from 'sofya.transcription'; -
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'
}
}); -
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);
});
}); -
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');
}); -
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
-
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
-
Errores de Conexión
- Fallo de autenticación
- Problemas de conectividad de red
- Indisponibilidad del servicio del proveedor
- Configuración inválida del proveedor
-
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
-
Siempre Escuche Eventos de Error
transcriber.on('error', (error) => {
console.error('Error en la transcripción:', error);
// Maneje el error apropiadamente
}); -
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
} -
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
});
}); -
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
-
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.
-
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.
-
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.
-
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.