- Catégories :
Fonctions de fichiers (Fonctions AI)
AI_TRANSCRIBE¶
Transcrit le texte d’un fichier audio ou vidéo 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¶
Arguments¶
Obligatoire :
audio_fileUn 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 :
optionsUne 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.
return_error_detailsUn indicateur BOOLEAN qui indique s’il faut renvoyer les détails de l’erreur en cas d’erreur. Lorsqu’il est défini sur TRUE, la fonction renvoie un OBJECT qui contient la valeur et le message d’erreur, dont l’un est NULL selon que la fonction réussit ou échoue. Consultez Comportement d’erreur pour plus de détails.
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 champtimestamp_granularityn’est pas spécifié."segments": Un tableau de segments, fourni lorsque le champtimestamp_granularityest 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 champtimestamp_granularityest défini surspeaker. 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.
Comportement d’erreur¶
Par défaut, si AI_TRANSCRIBE ne peut pas traiter l’entrée, la fonction renvoie NULL. Si la requête traite plusieurs lignes, les lignes contenant des erreurs renvoient NULL et n’empêchent pas l’achèvement de la requête.
La valeur de retour sur l’erreur dépend de l’argument return_error_details. La table suivante indique la valeur de retour basée sur l’argument return_error_details :
return_error_detailsValeur de retour
Description
FALSENon transmiseNULL
TRUE
OBJECT avec les champs
valueeterrorvalue: Une valeur VARCHAR contenant le résultat de la transcription, ou NULL si une erreur s’est produite.error: Une valeur VARCHAR qui contient le message d’erreur si une erreur s’est produite, ou NULL si la fonction a fonctionné.
Pour plus d’informations sur le traitement des erreurs pour les fonctions AI, consultez Snowflake Cortex AI Function: Multirow error handling improvements.
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 LLM Cortex pour plus d’informations sur ce rôle.
Notes sur l’utilisation¶
Pour une liste des langages pris en charge, voir:ref:
Langues prises en charge <label-cortex_ai_audio_supported_languages>Les langues prises en charge sont automatiquement détectées. Un fichier peut contenir plusieurs langues, chacune d’entre elles étant reconnue et transcrite. Pour une détection précise des langues, la parole doit commencer dans les cinq premières secondes du fichier.
AI_TRANSCRIBE prend en charge les formats de fichiers audio et vidéo suivants :
Audio
FLAC, MP3, MP4, OGG, WAV, WEBM
Vidéo
MKV, MP4, OGV, WEBM
Les fichiers vidéo doivent contenir au moins une piste audio en format FLAC, MP3, OPUS, VORBIS ou WAV.
Les facteurs tels que le taux d’échantillonnage, la profondeur de bit et le nombre de canaux n’affectent pas la transcription, mais ils peuvent rendre le fichier trop volumineux pour être traité s’ils sont trop élevés. En interne, AI_TRANSCRIBE utilise l’acoustique monotone à 16 KHz, et rééchantillonne les fichiers d’entrée lorsqu’ils ne sont pas déjà dans ce format.
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 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 |
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)
Avis juridiques¶
Reportez-vous à Snowflake AI et ML.