Búsqueda de archivos de audio para la transcripción por lotes

La transcripción por lotes se usa para transcribir una gran cantidad de audio en el almacenamiento. La transcripción por lotes puede acceder a archivos de audio dentro o fuera de Azure.

Cuando los archivos de audio de origen están almacenados fuera de Azure, se puede acceder a ellos mediante un identificador URI público (por ejemplo, "https://crbn.us/hello.wav""). Los archivos deben ser accesibles directamente; no se admiten identificadores URI que requieran autenticación o que invoquen scripts interactivos antes de que se pueda acceder al archivo.

Se puede acceder a los archivos de audio almacenados en Azure Blob Storage mediante uno de estos dos métodos:

Puede especificar uno o varios archivos de audio al crear una transcripción. Se recomienda proporcionar varios archivos por solicitud o apuntar a un contenedor de Azure Blob Storage que tenga los archivos de audio que se van a transcribir. El servicio transcripción por lotes puede controlar un elevado número de transcripciones enviadas. El servicio transcribe los archivos simultáneamente, lo que reduce el tiempo de respuesta.

Códecs y formatos de archivo admitidos

La API de transcripción por lotes admite muchos formatos y códecs diferentes, como los siguientes:

  • WAV
  • MP3
  • OPUS/OGG
  • FLAC
  • WMA
  • AAC
  • ALAW en un contenedor WAV
  • MULAW en un contenedor WAV
  • AMR
  • WebM
  • M4A
  • SPEEX

Nota:

El servicio de transcripción por lotes integra GStreamer y puede aceptar más formatos y códecs sin devolver errores, aunque se recomienda usar formatos sin pérdida, como WAV (codificación PCM) y FLAC para garantizar la mejor calidad de transcripción.

Carga con Azure Blob Storage

Cuando los archivos de audio se encuentran en una cuenta de Azure Blob Storage, puede solicitar la transcripción de archivos de audio individuales o de un contenedor de Azure Blob Storage completo. También puede escribir los resultados de la transcripción en un contenedor de blobs.

Nota:

Para conocer los límites de blobs y contenedores, consulte los límites y cuotas de transcripción por lotes.

Siga estos pasos para crear una cuenta de almacenamiento y cargar archivos wav desde el directorio local a un nuevo contenedor.

  1. Vaya a Azure Portal e inicie sesión con su cuenta de Azure.
  2. Cree un recurso de cuenta de almacenamiento en Azure Portal. Utilice la misma suscripción y grupo de recursos que el recurso de Voz.
  3. Seleccione la cuenta de almacenamiento.
  4. En el grupo Almacenamiento de datos del panel izquierdo, seleccione Contenedores.
  5. Seleccione + Contenedor.
  6. Escriba un nombre para el nuevo contenedor y seleccione Crear.
  7. Seleccione el nuevo contenedor.
  8. Seleccione Cargar.
  9. Elija los archivos que se van a cargar y seleccione Cargar.

Mecanismo de seguridad de servicios de Azure de confianza

En esta sección, se explica cómo configurar y limitar el acceso a los archivos de audio de origen de la transcripción por lotes en una cuenta de Azure Storage mediante el mecanismo de seguridad de servicios de Azure de confianza.

Nota

Con el mecanismo de seguridad de servicios de Azure de confianza, debe usar Azure Blob Storage para almacenar los archivos de audio. No se admite el uso de Azure Files.

Si realiza todas las acciones de esta sección, la cuenta de almacenamiento se configura de la siguiente manera:

  • Está prohibido el acceso a todo el tráfico de red externo.
  • Está prohibido el acceso a la cuenta de almacenamiento mediante la clave de cuenta de almacenamiento.
  • Está prohibido el acceso al almacenamiento de blobs de la cuenta de almacenamiento mediante firmas de acceso compartido (SAS).
  • Está permitido el acceso al recurso de Voz seleccionado mediante la identidad administrada asignada por el sistema del recurso.

Por lo tanto, la cuenta de almacenamiento queda completamente "bloqueada" y no se puede usar en ningún escenario aparte de transcribir los archivos de audio que ya estaban presentes en el momento en el que se aplicó la nueva configuración. Debe considerar esta configuración como un modelo en lo que respecta a la seguridad de los datos de audio y personalizarla según sus necesidades.

Por ejemplo, puede permitir el tráfico desde direcciones IP públicas y redes virtuales de Azure seleccionadas. También puede configurar el acceso a la cuenta de almacenamiento mediante puntos de conexión privados (consulte también este tutorial), volver a habilitar el acceso mediante la clave de la cuenta de almacenamiento, permitir el acceso a otros servicios de confianza de Azure, etc.

Nota:

No es necesario usar puntos de conexión privados para Voz para proteger la cuenta de almacenamiento. Puede usar un punto de conexión privado para las solicitudes de API de transcripción por lotes al mismo tiempo que accede por separado a los archivos de audio de origen desde una cuenta de almacenamiento segura o al revés.

Al seguir los pasos que se indican a continuación, restringe de forma estricta el acceso a la cuenta de almacenamiento. A continuación, asignará los permisos mínimos necesarios para que la identidad administrada del recurso de Voz acceda a la cuenta de almacenamiento.

Habilitación de la identidad administrada asignada por el sistema del recurso de Voz

Siga estos pasos para habilitar la identidad administrada asignada por el sistema del recurso de Voz que usa para la transcripción por lotes.

  1. Vaya a Azure Portal e inicie sesión con su cuenta de Azure.

  2. Seleccione el recurso de Voz.

  3. En el grupo Administración de recursos del panel izquierdo, seleccione Identidad.

  4. En la pestaña Asignado por el sistema, seleccione Activado para el estado.

    Importante

    Una identidad administrada asignada por el usuario no cumplirá los requisitos del escenario de cuenta de almacenamiento de transcripción por lotes. Asegúrese de habilitar la identidad administrada asignada por el sistema.

  5. Seleccione Guardar.

Ahora, se puede conceder acceso a la identidad administrada del recurso de Voz a la cuenta de almacenamiento.

Restricción del acceso a la cuenta de almacenamiento

Siga estos pasos para restringir el acceso a la cuenta de almacenamiento.

Importante

Cargue los archivos de audio en un contenedor de blobs antes de bloquear el acceso a la cuenta de almacenamiento.

  1. Vaya a Azure Portal e inicie sesión con su cuenta de Azure.
  2. Seleccione la cuenta de almacenamiento.
  3. En el grupo Configuración del panel izquierdo, seleccione Configuración.
  4. Seleccione Deshabilitado para Permitir el acceso público a blobs.
  5. Seleccione Deshabilitado para Permitir el acceso a la clave de la cuenta de almacenamiento.
  6. Seleccione Guardar.

Para más información, consulte Impedir el acceso de lectura público anónimo a contenedores y blobs e Impedir la autorización con clave compartida para una cuenta de Azure Storage.

Configuración del firewall de Azure Storage

Una vez restringido a la cuenta de almacenamiento, debe conceder acceso a identidades administradas específicas. Siga estos pasos para agregar acceso al recurso de Voz.

  1. Vaya a Azure Portal e inicie sesión con su cuenta de Azure.

  2. Seleccione la cuenta de almacenamiento.

  3. En el grupo Seguridad y redes del panel izquierdo, seleccione Redes.

  4. En la pestaña Firewalls y redes virtuales, seleccione Habilitado desde redes virtuales y direcciones IP seleccionadas.

  5. Anule la selección de todas las casillas.

  6. Asegúrese de que esté seleccionada la opción Enrutamiento de red de Microsoft.

  7. En la sección Resource instances (Instancias de recursos), seleccione Microsoft.CognitiveServices/accounts como tipo de recurso y seleccione el recurso de Voz como nombre de instancia.

  8. Seleccione Guardar.

    Nota

    Los cambios de red pueden tardar hasta 5 minutos en propagarse.

Aunque ahora se permite el acceso de red, el recurso de Voz aún no puede acceder a los datos de la cuenta de almacenamiento. Debe asignar un rol de acceso específico para la identidad administrada del recurso de Voz.

Asignación del rol de acceso al recurso

Siga estos pasos para asignar el rol Lector de datos de Storage Blob a la identidad administrada del recurso de Voz.

Importante

Debe tener asignado el rol Propietario de la cuenta de almacenamiento o un ámbito superior (por ejemplo, la suscripción) para realizar la operación de los pasos siguientes. Esto se debe a que solo el rol Propietario puede asignar roles a otros usuarios. Consulte los detalles aquí.

  1. Vaya a Azure Portal e inicie sesión con su cuenta de Azure.

  2. Seleccione la cuenta de almacenamiento.

  3. Seleccione Control de acceso (IAM) en el panel izquierdo.

  4. Seleccione Adición de asignación de roles en el icono ¿Quiere conceder acceso a este recurso?.

  5. Seleccione Lector de datos de Storage Blob en Rol y, a continuación, seleccione Siguiente.

  6. Seleccione Identidad administrada en Miembros>Asignar acceso a.

  7. Asigne la identidad administrada del recurso de Voz y, a continuación, seleccione Revisar y asignar.

    Screenshot of the managed role assignment review.

  8. Después de confirmar la configuración, seleccione Revisar y asignar.

Ahora, la identidad administrada del recurso de Voz tiene acceso a la cuenta de almacenamiento y puede acceder a los archivos de audio para la transcripción por lotes.

Con la identidad administrada asignada por el sistema, usa una dirección URL de cuenta de almacenamiento sin formato (sin SAS ni otras adiciones) al crear una solicitud de transcripción por lotes. Por ejemplo:

{
    "contentContainerUrl": "https://<storage_account_name>.blob.core.windows.net/<container_name>"
}

De lo contrario, podría especificar archivos individuales del contenedor. Por ejemplo:

{
    "contentUrls": [
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_1>",
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_2>"
    ]
}

Dirección URL de SAS para la transcripción por lotes

Una Firma de acceso compartido (SAS) es un identificador URI que concede acceso restringido a un contenedor de Azure Storage. Utilícela cuando desee conceder acceso a los archivos de transcripción por lotes durante un intervalo de tiempo específico sin compartir la clave de la cuenta de almacenamiento.

Sugerencia

Si únicamente el recurso de Voz debe acceder al contenedor con los archivos de origen de la transcripción por lotes, use en su lugar el mecanismo de seguridad de servicios de Azure de confianza.

Siga estos pasos para generar una dirección URL de SAS que puede usar para la transcripciones por lotes.

  1. Complete los pasos que se describen en Carga con Azure Blob Storage para crear una cuenta de almacenamiento y cargar archivos de audio en un nuevo contenedor.

  2. Seleccione el nuevo contenedor.

  3. En el grupo Configuración del panel izquierdo, seleccione Shared access tokens (Tokens de acceso compartido).

  4. Seleccione + Contenedor.

  5. Seleccione Leer y Enumerar en Permisos.

    Screenshot of the container SAS URI permissions.

  6. Escriba las horas de inicio y expiración del identificador URI de SAS o deje los valores predeterminados.

  7. Seleccione Generar URL y token de SAS.

Usa la dirección URL de SAS al crear una solicitud de transcripción por lotes. Por ejemplo:

{
    "contentContainerUrl": "https://<storage_account_name>.blob.core.windows.net/<container_name>?SAS_TOKEN"
}

De lo contrario, podría especificar archivos individuales del contenedor. Debe generar y usar otra dirección URL de SAS con permisos de lectura (r) para cada archivo. Por ejemplo:

{
    "contentUrls": [
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_1>?SAS_TOKEN_1",
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_2>?SAS_TOKEN_2"
    ]
}

Pasos siguientes