카테고리:

파일 함수 (AI 함수)

AI_TRANSCRIBE

선택적 타임스탬프 및 화자 레이블을 사용하여 오디오 파일의 텍스트를 기록합니다. AI_TRANSCRIBE는 다양한 언어 를 지원하며, 오디오에는 둘 이상의 언어가 포함될 수 있습니다. 타임스탬프와 화자 레이블은 아래 테이블과 같이 지정된 타임스탬프 세분성을 기준으로 추출됩니다.

타임스탬프 세분성

결과

기본값

전체 오디오 파일의 대화 기록을 하나로 생성

단어

각 단어의 타임스탬프를 포함한 대화 기록

화자

화자 변경 시마다 화자와 타임스탬프 표시

구문

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

인자

필수:

audio_file

오디오 파일을 나타내는 FILE 타입 오브젝트입니다. TO_FILE 함수 를 사용하여 스테이징된 파일에 대한 참조를 만듭니다.

선택 사항:

options

다음 필드 중 0개 이상을 포함하는 OBJECT 값 입니다.

  • timestamp_granularity: 원하는 타임스탬프 세분성을 지정하는 문자열입니다. 가능한 값은 다음과 같습니다.

    • "word": 파일은 각각 고유한 타임스탬프가 있는 일련의 단어로 기록됩니다.

    • "speaker": 파일은 일련의 대화 “차례”로 기록되며, 각 차례에는 고유한 타임스탬프와 화자 레이블이 있습니다.

    이 필드를 지정하지 않으면 기본적으로 전체 파일이 타임스탬프 없이 단일 세그먼트로 기록됩니다.

반환

대화 기록 결과의 JSON 표현을 포함하는 문자열입니다. JSON 오브젝트에 포함된 필드는 다음과 같습니다.

  • "audio_duration": 오디오 파일의 총 지속 시간(초)입니다.

  • "text": timestamp_granularity 필드가 지정되지 않은 경우에 제공되는 전체 오디오 파일의 대화 기록입니다.

  • "segments": timestamp_granularity 필드가 "word" 또는 "speaker" 로 설정된 경우에 제공되는 세그먼트의 배열입니다. 각 세그먼트는 다음 필드를 포함하는 JSON 오브젝트입니다.

    • "start": 세그먼트의 시작 시간(초)입니다.

    • "end": 세그먼트의 종료 시간(초)입니다.

    • "text": 세그먼트의 대화 기록 텍스트입니다.

    • "speaker_label": timestamp_granularity 필드가 speaker 로 설정될 때 제공되는 세그먼트에 대한 화자의 레이블입니다. 레이블은 “SPEAKER_00”, “SPEAKER_01” 등의 형식이며 오디오 파일에서는 화자가 감지된 순서대로 할당됩니다.

액세스 제어 요구 사항

사용자는 SNOWFLAKE.CORTEX_USER 데이터베이스 역할 이 부여된 역할을 사용해야 합니다. 이 역할에 대한 자세한 내용은 필수 권한 섹션을 참조하세요.

사용법 노트

  • AI_TRANSCRIBE는 다음 언어를 지원합니다.

    • 아랍어

    • 불가리아어

    • 광둥어

    • 카탈루냐어

    • 중국어

    • 체코어

    • 네덜란드어

    • 영어

    • 프랑스어

    • 독일어

    • 그리스어

    • 헝가리어

    • 인도네시아어

    • 이탈리아어

    • 일본어

    • 한국어

    • 라트비아어

    • 폴란드어

    • 포르투갈어

    • 루마니아어

    • 러시아어

    • 세르비아어

    • 슬로베니아어

    • 스페인어

    • 스웨덴어

    • 태국어

    • 터키어

    • 우크라이나어

    지원되는 언어는 자동으로 감지됩니다. 정확한 언어 감지를 위해서는 파일 시작 후 5초 이내에 오디오가 시작되어야 합니다.

  • 다음 오디오 형식이 지원됩니다. 샘플 속도, 비트 심도, 채널 수와 같은 요소는 대화 기록에 영향을 주지 않지만, 무손실 및/또는 비압축 형식의 경우 이러한 요소로 인해 파일이 너무 커져서 처리하지 못할 수 있습니다. 내부적으로, AI_TRANSCRIBE는 16KHz에서 모노포닉 오디오를 사용하고 필요한 경우 입력 파일을 이 형식으로 변환합니다.

    • FLAC

    • MP3

    • Ogg

    • WAV

    • WebM

  • 최대 오디오 파일 크기는 700MB입니다.

  • 타임스탬프 세분성이 “단어” 또는 “화자”로 설정된 경우 최대 오디오 파일 길이는 60분입니다. 타임스탬프 세분성을 사용하지 않는 경우 최대 기간은 120분입니다.

예제에 대해서는 AI오디오 예제 를 참조하세요.

문제 해결하기

함수가 실패하면 오류 응답을 반환합니다. 일반적인 오류 메시지는 다음과 같습니다.

오류 메시지

상황 및 해결 방법

유효하지 않은 옵션 오브젝트

timestamp_granularity 필드(제공되는 경우)에 대해 제공된 옵션은 “단어” 또는 “화자”여야 합니다.

서버에서 응답 없음

만료된 범위 지정 URL로 인해 오디오 파일을 검색할 수 없습니다.

파일이 너무 큽니다. 최대 크기는 734,003,200바이트이며, 파일이 이 제한을 초과합니다.

제공된 오디오 파일이 최대 파일 크기를 초과합니다.

유효하지 않은 파일 형식입니다. [‘flac’, ‘mp3’, ‘ogg’, ‘wav’, ‘webm’] 파일만 지원됩니다. 또는 WebM 파일에 오디오 스트림이 포함되어 있지 않습니다.

오디오 파일이 오류 메시지에 나열된 지원되는 형식 중 하나가 아닙니다. WebM 파일은 여러 미디어 타입을 지원하므로 파일에 오디오 스트림이 포함되어 있는지 확인하십시오. 파일이 지원되는 형식인 경우 파일이 손상되지 않았는지 확인합니다.

16,000Hertz로 다시 샘플링하면 파일이 너무 커집니다. 예상 크기는 3,355,444,448,000.0바이트입니다.

16KHz으로 리샘플링한 후 제공된 오디오 파일이 너무 큽니다. 제공된 오디오의 샘플링 속도가 더 낮은 경우 리샘플링된 크기가 원본보다 크며 허용되는 최대 파일 크기를 초과할 가능성이 있습니다.

너무 긴 오디오 지속 시간: 6,052.10초 허용되는 최대 시간: 3,600초. 또는 너무 긴 오디오 지속 시간: 7,335.28초 허용되는 최대 시간: 7,200초

제공된 오디오 파일이 너무 깁니다. 타임스탬프 세분성을 사용하는 경우 최대 기간은 60분(3,600초)입니다.

감지된 언어가 지원되지 않음

오디오 파일에 AI_TRANSCRIBE에서 지원하지 않는 언어가 포함되어 있습니다.

리전 가용성

다음 리전에서는 AI_TRANSCRIBE를 사용할 수 있습니다.

  • AWS US 서부 2(오레곤)

  • AWS US 동부 1(북부 버지니아)

  • AWS EU Central 1(프랑크푸르트)

  • Azure 동부 US 2(버지니아)

제한 사항

Snowflake Cortex 함수는 동적 테이블을 지원하지 않습니다.