Catégories :

Fonctions de fichiers (Fonctions AI)

AI_TRANSCRIBE

Transfère le texte d’un fichier audio avec des horodatages et des libellés de locuteur facultatifs. AI_TRANSCRIBE prend en charge de nombreuses langues, et l’audio peut contenir plus d’une langue. Les horodatages et les libellés de locuteur sont extraits en fonction de la granularité d’horodatage spécifiée, comme indiqué dans le tableau ci-dessous.

Granularité de l’horodatage

Résultat

Par défaut

Transcription de l’intégralité du fichier audio en une seule fois

Mot

Transcription avec des horodatages pour chaque mot

Locuteur

Indique qui parle, et un horodatage, à chaque changement de locuteur

Syntaxe

AI_TRANSCRIBE( <audio_file> [ , <options> ] )
Copy

Arguments

Obligatoire :

audio_file

Un objet de type FILE représentant un fichier audio. Utiliser la fonction TO_FILE pour créer une référence à votre fichier en zone de préparation.

Facultatif :

options

Une valeur OBJECT contenant zéro ou plusieurs des champs suivants.

  • timestamp_granularity : Chaîne spécifiant la granularité d’horodatage souhaitée. Les valeurs possibles sont les suivantes :

    • "word" : Le fichier est transcrit sous forme d’une série de mots, chacun avec son propre horodatage.

    • "speaker" : Le fichier est transcrit sous forme d’une série de « tours » de parole , chacun avec son propre horodatage et son propre nom de locuteur.

    Si ce champ n’est pas spécifié, le fichier entier est transcrit en un seul segment sans horodatages par défaut.

Renvoie

Une chaîne contenant une représentation JSON du résultat de la transcription. L’objet JSON contient les champs suivants :

  • "audio_duration" : La durée totale du fichier audio en secondes.

  • "text" : La transcription du fichier audio complet, fournie lorsque le champ timestamp_granularity n’est pas spécifié.

  • "segments" : Un tableau de segments, fourni lorsque le champ timestamp_granularity est défini sur "word" ou "speaker". Chaque segment est un objet JSON contenant les champs suivants :

    • "start" : Heure de début du segment en secondes.

    • "end" : Heure de fin du segment en secondes.

    • "text" : Texte de la transcription du segment.

    • "speaker_label" : Le nom du locuteur du segment, fourni lorsque le champ timestamp_granularity est défini sur speaker. Les noms prennent la forme « SPEAKER_00 », « SPEAKER_01 », etc. et sont attribués dans l’ordre où les locuteurs sont détectés dans le fichier audio.

Exigences en matière de contrôle d’accès

Les utilisateurs doivent utiliser un rôle auquel le rôle de base de données SNOWFLAKE.CORTEX_USER a été accordé. Voir Privilèges requis pour plus d’informations sur ce rôle.

Notes sur l’utilisation

  • AI_TRANSCRIBE prend en charge les langues suivantes :

    • Arabe

    • Bulgare

    • Cantonais

    • Catalan

    • Chinois

    • Tchèque

    • Néerlandais

    • Anglais

    • Français

    • Allemand

    • Grec

    • Hongrois

    • Indonésien

    • Italien

    • Japonais

    • Coréen

    • Letton

    • Polonais

    • Portugais

    • Roumain

    • Russe

    • Serbe

    • Slovène

    • Espagnol

    • Suédois

    • Thaïlandais

    • Turc

    • Ukrainien

    Les langues prises en charge sont automatiquement détectées. Pour une détection précise de la langue, l’audio doit commencer dans les cinq premières secondes du fichier.

  • Les formats audio suivants sont pris en charge. Des facteurs tels que le taux d’échantillonnage, la profondeur de bits et le nombre de canaux n’ont pas d’incidence sur la transcription, bien que pour les formats sans perte et/ou non compressés, ces facteurs puissent rendre le fichier trop volumineux pour être traité. En interne, AI_TRANSCRIBE utilise un son monophonique de 16 KHz, et convertit les fichiers d’entrée dans ce format si nécessaire.

    • FLAC

    • MP3

    • Ogg

    • WAV

    • WebM

  • La taille maximale d’un fichier audio est de 700 MB.

  • La durée maximale d’un fichier audio est de 60 minutes lorsque la granularité de l’horodatage est définie sur « mot » ou « locuteur ». Si la granularité de l’horodatage n’est pas utilisée, la durée maximale est de 120 minutes.

Exemples

Pour des exemples, voir exemples Audio AI.

Résolution des problèmes

Si la fonction échoue, elle renvoie une réponse d’erreur. Les messages d’erreur courants sont les suivants :

Message d’erreur

Situation et solution

Objet d’options non valide

L’option prévue pour le champ timestamp_granularity, s’il est fourni, doit être « mot » ou « locuteur ».

Aucune réponse du serveur

Le fichier audio ne peut pas être récupéré, peut-être en raison d’une URL définie expirée.

Fichier trop important. La taille maximale est de 734 003 200 octets, le fichier dépasse cette limite.

Le fichier audio fourni dépasse la taille maximale du fichier.

Format de fichier non valide. Seuls les fichiers [“flac”, “mp3”, “ogg”, “wav”, “webm”] sont pris en charge, ou le fichier WebM ne contient pas de flux audio.

Le fichier audio ne correspond pas à l’un des formats pris en charge, qui sont répertoriés dans le message d’erreur. Les fichiers WebM prennent en charge plusieurs types de médias, assurez-vous donc que le fichier contient un flux audio. Si le fichier est dans un format pris en charge, vérifiez qu’il n’est pas corrompu.

Le fichier sera trop volumineux après rééchantillonnage à 16 000 hertz. La taille attendue est de 3 355 444 448 000,0 octets.

Le fichier audio fourni est trop volumineux après le rééchantillonnage à 16 KHz. Si l’audio fourni dispose d’un taux d’échantillonnage plus faible, sa taille rééchantillonnée est plus importante que la taille d’origine et peut potentiellement dépasser la taille maximale du fichier autorisé.

Durée de l’enregistrement trop longue : 6 052,10 secondes Maximum autorisé : 3 600 secondes ou durée de l’enregistrement trop longue : 7 335,28 secondes. Maximum autorisé : 7 200 secondes.

Le fichier audio fourni est trop long. Si vous utilisez la granularité de l’horodatage, la durée maximale est de 60 minutes (3 600 secondes).

Langue détectée non prise en charge

Le fichier audio contient une langue qui n’est pas prise en charge par AI_TRANSCRIBE.

Disponibilité régionale

AI_TRANSCRIBE est disponible dans les régions suivantes :

  • AWS US Ouest 2 (Oregon)

  • AWS US East 1 (N. du Nord)

  • AWS EU Central 1 (Francfort)

  • Azure US Est 2 (Virginie)

Limitations

Les fonctions de Snowflake Cortex ne prennent pas en charge les tables dynamiques.