Cortex AI Functions: Audio¶
Cortex AI オーディオには、以下のような高度な LLM 駆動型の音声処理機能が用意されています。
文字起こし: 会話言語をテキストに変換します。
話者の識別: 複数の話者が存在する音声ファイルの各部分で、誰が会話しているかを識別します。
タイムスタンプ抽出: 発話された各単語のタイムスタンプを識別します。
これらの機能は AI_TRANSCRIBE 関数を介して利用できます。AI_TRANSCRIBE はSnowflake内で管理およびホストされているため、煩わしいセットアップやインフラストラクチャ管理を必要とすることなく、音声処理をデータワークフローに簡単に統合できます。
注釈
AI_TRANSCRIBE 関数は、動画ファイルの音声トラックも処理します。
AI_TRANSCRIBE¶
AI_TRANSCRIBE は、ステージに保存された音声ファイルと動画ファイルを文字起こしするフルマネージド SQL 関数で、文字列、タイムスタンプ、話者情報を抽出します。AI_TRANSCRIBE で処理するファイルの保存に適したステージの作成に関する詳細は、 メディアファイル用ステージを作成する をご参照ください。
内部的には、AI_TRANSCRIBE は、文字起こしと話者ダイアライゼーション向けに最適化された AI モデルをオーケストレートし、最長2時間の長さの音声ファイルを処理します。AI_TRANSCRIBE は水平方向にスケーラブルであり、複数のファイルを同時に処理することによる効率的なバッチ処理が可能です。オブジェクトストレージから直接音声を処理することによって、不要なデータ移動を回避できます。
デフォルトでは、AI_TRANSCRIBE は音声ファイルをクリーンで判読可能なテキストに変換します。タイムスタンプの粒度を指定して、各単語や話者の変更のタイムスタンプを抽出することもできます。単語レベルのタイムスタンプは、サブタイトルなどのアプリケーションで、または文字起こし結果内の単語をクリックして、ユーザーが音声の特定の部分にジャンプできるようにする際に活用できます。話者レベルのタイムスタンプは、会議、インタビュー、または電話での通話で誰が何を述べたかを理解する際に活用できます。
タイムスタンプの粒度モード |
結果 |
|---|---|
デフォルト |
音声ファイル全体を1部分に文字起こし |
単語 |
各単語にタイムスタンプが付加された文字起こし |
話者 |
話者が変更されるたびに、誰が話しているか、およびタイムスタンプを示します |
サポートされている言語¶
AI_TRANSCRIBE は自動的に検出される以下の言語をサポートしています。ファイルには、サポートされている複数の言語が含まれるようにすることができます。
注釈
言語を検出するには、ファイルの最初の5秒以内に音声が開始される必要があります。最良の結果を得るには、アップロードする前に余分な無音部分をトリムしてください。
アラビア語
ブルガリア語
広東語
カタロニア語
中国語
チェコ語
オランダ語
英語
フランス語
ドイツ語
ギリシャ語
ヘブライ語
Hindi
ハンガリー語
インドネシア語
イタリア語
日本語
韓国語
ラトビア語
Malay
ノルウェー語
ポーランド語
ポルトガル語
ルーマニア語
ロシア語
セルビア語
スロベニア語
スペイン語
スウェーデン語
タイ
トルコ語
ウクライナ語
サポートされているメディア形式¶
AI_TRANSCRIBE は、次の音声および動画ファイル形式をサポートしています。
音声 |
FLAC、 MP3、 MP4、 OGG、 WAV、 WEBM |
|---|---|
動画 |
MKV、 MP4、 OGV、 WEBM |
動画ファイルには、FLAC、MP3、OPUS、VORBIS、または WAV 形式の音声トラックが少なくとも1つ含まれている必要があります。
例¶
テキストの文字起こし¶
次の例では、financial_consultation ステージに保存されている:download:音声ファイル </samples/cortex/audio/consultation.wav> をダウンロードして、ファイル全体のテキストの文字起こし結果を返しています。TO_FILE 関数 は、ステージングされたファイルをファイル参照に変換します。
応答:
タイムスタンプによる単語レベルのセグメンテーション¶
タイムスタンプの粒度を「単語」に設定すると、会話で使用されたすべての単語に対して正確なタイムスタンプが抽出され、検索可能でナビゲーション可能な文字起こしが可能になります。この音声ファイル ではスペイン語が使用されている点に留意してください。
応答:
注釈
出力は簡潔にするために切り捨てられます。詳細な出力結果には、音声ファイルで会話に使用された各単語のセグメントが含まれます。
話者の認識¶
会話や会議における固有の話者を検出、分離、識別するには、タイムスタンプの粒度を「話者」に設定します。この例では、2人の話者が存在し、1人は英語を、もう1人はスペイン語を話している音声ファイルである:download:音声ファイル </samples/cortex/audio/consultation_5_mix_es_en.wav> を使用しています。
応答:
注釈
出力は簡潔にするために切り捨てられます。詳細な出力結果には、音声ファイルの各会話「ターン」のセグメントが含まれています。
Use with other AI Functions¶
通話文字起こし分析¶
You can pass the output of AI_TRANSCRIBE to other AI Functions for further processing. For example, you can use
AI_SUMMARIZE to summarize the transcription, or AI_CLASSIFY to classify the content of the transcription. This example
uses AI_SENTIMENT and AI_COMPLETE to analyze the text transcribed from
customer call audio and provide sentiment on four dimensions
and an assessment of the agent.
注釈
AI_SENTIMENT はテキストのみを分析し、音声のトーンなどの会話特性を考慮しません。
AI_SENTIMENT の応答:
AI_COMPLETE の応答:
動画文字起こし分析¶
次の例では、 podcast_videos_S3 ステージに保存された 動画ファイル を文字起こしします。
応答:
トランスクリプトの取得後は、AI_COMPLETE を使用して追加の分析を実行できます。この例では、広告やスポンサーシップ分析で使用するために、会話で言及された小売ブランドを特定します。
応答
コストの考慮事項¶
Billing for all AI Functions is based on token consumption. For transcription, each second of audio processed is 50 tokens, regardless of language or segmentation method. A full hour of audio is therefore 180,000 tokens. Assuming that processing a million tokens costs 1.3 credits, and that Snowflake credits cost US $3 each, each hour of audio processed costs about US $0.702. This estimate is subject to change. For current pricing information, see the Snowflake Service Consumption Table.
注釈
AI_TRANSCRIBE の請求の対象となる最小期間は1分です。1分より短いファイルについても処理されますが、1分で請求されます。多数の短い音声ファイルを効率的に処理するには、それらをバッチ処理して1つのファイルにし、タイムスタンプを使用して、生成された文字起こし結果に含まれる元の各ファイルの開始時点と終了時点を特定することを検討してください。