- 类别:
文件函数 (AI Functions)
AI_TRANSCRIBE¶
使用可选时间戳和发言人标签将音频文件转录为文本。AI_TRANSCRIBE 支持 多种语言,音频可以包含多种语言。时间戳和发言人标签根据指定的时间戳粒度提取,如下表所示。
时间戳粒度 |
结果 |
---|---|
默认值 |
将整个音频文件转录成一段 |
文字 |
转录的每个文字都有时间戳 |
发言人 |
每次更换发言人时指明谁在说话以及时间戳 |
语法¶
AI_TRANSCRIBE( <audio_file> [ , <options> ] )
实参¶
必填:
audio_file
代表音频文件的 FILE 类型对象。使用 TO_FILE 函数 创建对暂存文件的引用。
可选:
options
包含零个或多个以下字段的 OBJECT 值。
timestamp_granularity
:选择使用 时默认使用的角色和仓库。可能的值:"word"
:文件被转录为一系列文字,每个文字都有自己的时间戳。"speaker"
:文件被转录为一系列对话“回合”,每个回合都有自己的时间戳和发言人标签。
如果未指定此字段,则默认情况下会将整个文件转录为没有时间戳的单个片段。
返回¶
包含转录结果的 JSON 表示的字符串。JSON 对象包含以下字段:
"audio_duration"
:音频文件的总时长(以秒为单位)。"text"
:完整音频文件的转录,在未指定timestamp_granularity
字段时提供。"segments"
:选择使用 时默认使用的角色和仓库。每个分段都是一个包含以下字段的 JSON 对象:"start"
:分段的开始时间,以秒为单位。"end"
:分段的结束时间,以秒为单位。"text"
:分段的转录文本。"speaker_label"
:选择使用 时默认使用的角色和仓库。标签的形式为“SPEAKER_00”、“SPEAKER_01”等,按照在音频文件中检测到发言人顺序进行分配。
访问控制要求¶
用户必须使用已被授予 SNOWFLAKE.CORTEX_USER 数据库角色 的角色。有关此角色的更多信息,请参阅 所需权限。
使用说明¶
AI_TRANSCRIBE 支持以下语言:
阿拉伯语
保加利亚语
广东话
加泰罗尼亚语
中文
捷克语
荷兰语
英语
法语
德语
希腊语
匈牙利语
印尼语
意大利语
日语
韩语
拉脱维亚语
波兰语
葡萄牙语
罗马尼亚语
俄语
塞尔维亚语
斯洛文尼亚语
西班牙语
瑞典语
泰语
土耳其语
乌克兰语
自动检测支持的语言。一个文件可以包含多种语言,每种语言都可以识别和转录。为确保语言检测的准确性,语音必须在文件开头五秒内开始。
支持以下音频格式:
FLAC
MP3
Ogg
WAV
WebM
Factors such as sample rate, bit depth, and number of channels do not affect transcription, but they might make the file too large to process if they are too high. Internally, AI_TRANSCRIBE uses monophonic audio at 16 KHz, and resamples input files when they are not already in this format.
最大音频文件大小为 700 MB。
当时间戳粒度设置为“word”或“speaker”时,音频文件的最长持续时间为 60 分钟。如果不使用时间戳粒度,则最长持续时间为 120 分钟。
示例¶
有关示例,请参阅 AI 音频示例。
故障排除¶
如果该函数失败,将返回错误响应。常见的错误消息包括:
错误消息 |
情况和解决方案 |
---|---|
选项对象无效 |
为 |
服务器未响应 |
无法检索音频文件,可能是因为 URL 范围已过期。 |
文件过大。最大大小为 734,003,200 字节,文件超过了此限制。 |
提供的音频文件超过了最大文件大小。 |
文件格式无效。仅支持 [“flac”、“mp3”、“ogg”、“wav”、“webm”] 文件,或者 WebM 文件不包含音频流。 |
音频文件不是支持的格式之一,错误消息中列出了这些格式。WebM 文件支持多种媒体类型,因此请确保文件包含音频流。如果文件采用支持的格式,请检查它是否损坏。 |
文件重采样到 16000 赫兹后会过大。预期大小为 3,355,444,448,000.0 字节。 |
重采样到 16 KHz 后,提供的音频文件过大。如果提供的音频的采样率较低,则其重采样大小会大于原始音频,并且可能会超过允许的最大文件大小。 |
音频持续时间过长:6052.10 秒。允许的最大值:3600 秒。或音频持续时间过长:7335.28 秒。允许的最大值:7200 秒。 |
提供的音频文件过长。如果您使用时间戳粒度,则最长持续时间为 60 分钟(3600 秒)。 |
检测到不支持的语言 |
音频文件包含 AI_TRANSCRIBE 不支持的语言。 |
区域可用性¶
AI_TRANSCRIBE 在以下区域可用:
AWS US 西部 2(俄勒冈州)
AWS US 东部 1(弗吉尼亚北部)
AWS EU 中部 1(法兰克福)
Azure 东部 US 2(弗吉尼亚)
法律声明¶
请参阅 Snowflake AI 和 ML。
限制¶
Snowflake Cortex 函数不支持动态表。