メモ
現在、この機能はパブリック プレビュー段階にあります。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
この記事では、 Azure AI Foundry ポータルで Azure AI Speech でビデオ翻訳を使用する方法について説明します。
ヒント
API を使用する前に、 Azure AI Foundry ポータル でビデオ翻訳を試してください。 ビデオ翻訳 REST API を使用して、ビデオ翻訳をアプリケーションに統合します。 API の詳細については、「 ビデオ翻訳 REST API」を参照してください。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- サポートされているリージョンの音声用の AI Foundry リソース。 Speech リソースがない場合は、 Azure portal で作成します。
- Azure Blob Storage アカウント。
- 5 GB 未満、4 時間未満の .mp4 形式のビデオ ファイルが必要です。 テスト目的で、microsoft が提供するサンプル ビデオ ファイル ( https://ai.azure.com/speechassetscache/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4) を使用できます。
- ビデオ翻訳で ソース言語とターゲット言語がサポートされていることを確認します。
ビデオ翻訳を試す
ビデオ翻訳のデモを試すには、次の手順に従います。
カタログ検索ボックスに「Azure-AI-Speech」と入力して検索します。
Azure-AI-Speech を選択すると、Azure-AI-Speech の試用ページが表示されます。
シナリオ別に音声機能を選択します>ビデオ翻訳。
右側の [サンプル] オプション で、個人用または標準の音声を選択します。
[ 再生 ] ボタンを選択すると、翻訳されたオーディオが読み上げられます。 元のビデオ タブを選択して、元のオーディオを再生します。
音声の種類のオプションは次のとおりです。
- 標準音声: このサービスでは、ビデオ内のスピーカーの音声を標準音声と照合することで、最適な標準音声が自動的に選択されます。
- 個人用音声: ビデオ内の話者の声と一致する個人用音声を使用します。
メモ
API 経由で個人用音声を使用するには、 アクセスを申請する必要があります。
ビデオ翻訳プロジェクトを作成する
ビデオ翻訳プロジェクトを作成するには、次の手順に従います。
カタログ検索ボックスに「Azure-AI-Speech」と入力して検索します。
Azure-AI-Speech を選択すると、Azure-AI-Speech の試用ページが表示されます。
シナリオ別に音声機能を選択します>ビデオ翻訳。
[ 音声プレイグラウンドに移動] を選択します。
[マイ ビデオ]>[ビデオのアップロード]を選択します。
[ ビデオのアップロード ] ページで、 音声の種類を選択します。
音声の種類のオプションは次のとおりです。
- 標準音声: このサービスでは、ビデオ内のスピーカーの音声を標準音声と照合することで、最適な標準音声が自動的に選択されます。
- 個人用音声: ビデオ内の話者の声と一致する個人用音声を使用します。
メモ
個人用音声を使うには、アクセスの申請が必要です。
ビデオ ファイルをドラッグ アンド ドロップするか、ファイルを手動で選択して、ビデオ ファイルをアップロードします。 ビデオは .mp4 形式で、5 GB 未満で、4 時間未満である必要があります。
[話者数]、[ビデオの言語]、[言語に翻訳] を指定します。
価格情報と行動規範を確認するボックスを選択します。
詳細設定を調整する場合は、[ 次へ: 詳細設定 ] を選択します。
必要に応じて、次の設定を調整できます。
- 辞書ファイル:このオプションを使用すると、システムが正しく認識して発音する必要があるカスタム単語またはフレーズを追加できます。 Speech Studio のオーディオ コンテンツ作成ツールで辞書ファイルを作成し、ここで選択できます。
- 字幕を書き込む: このオプションを使用すると、ビデオに字幕を追加できます。 字幕ファイルは、WebVTT または JSON の形式が使用できます。 [サンプル VTT ファイルのダウンロード] を選択して、参照用の サンプル WebVTT ファイルをダウンロードできます。
独自のサブタイトル ファイルを使用する場合は、[サブタイトル] を選択>独自のサブタイトルをアップロードします。 ソース字幕ファイルまたはターゲット字幕ファイルのアップロードを選択することができます。
- 自動字幕: ソース言語とターゲット言語の両方の字幕が表示されます。
- ソース言語の字幕をアップロードする: ソース言語とターゲット言語の両方の字幕が表示されます。
- ターゲット言語の字幕をアップロードする: ターゲット言語の字幕のみが表示されます。
を選択してを作成します。
Azure Blob Storage へのアップロードが完了したら、プロジェクト タブで処理状態を確認できます。
プロジェクト作成後は、そのプロジェクトを選択して詳細な設定を確認したり好みに応じて調整を行うことができます。
音声設定を確認して調整する
[ マイ ビデオ ] を選択すると、[ 成功] 状態のラベルが付いたビデオが表示されます。
ビデオを選択すると、[ビデオ] の [翻訳済み] タブと [オリジナル] タブが表示されます。 対応するタブを選択すると、元のビデオと翻訳されたビデオを比較できます。翻訳されたビデオは自動的に生成され、再生して翻訳の品質を確認できます。
ビデオの右側には、元のスクリプトと翻訳されたスクリプトの両方を表示できます。 元のスクリプトの各部分をポイントすると、ビデオが元のビデオの対応するセグメントに自動的にジャンプします。一方、翻訳されたスクリプトの各部分にカーソルを合わせると、ビデオは、それに対応する翻訳されたセグメントにジャンプします。
音声設定の調整、セグメントの追加または削除、スクリプトの時間枠の変更など、ビデオに複数の変更を加えることができます。 [ 変更の適用 ] を選択して変更を適用した後にのみ課金されます。 [ 保存] を選択すると、料金を発生させずに進行中の作業を保存できます。
"未確認" の音声名を持つセグメントが発生した場合は、特に話者の声が重複する状況で、システムが音声を正確に検出できなかった可能性があります。 このような場合は、音声名を手動で変更することをお勧めします。
別の言語に翻訳する
現在の翻訳プロジェクトを保持し、元のビデオを別の言語に翻訳できます。
- [ マイ ビデオ ] を選択し、ビデオ翻訳のタイルを選択します。
- [ + 新しい言語] を選択します。
- 新しい [ 新しい言語に翻訳 ] ページが表示されたら、新しい翻訳言語と音声の種類を選択します。 ビデオが翻訳されると、新しいプロジェクトが自動的に作成されます。
関連するコンテンツ
この記事では、 Speech Studio で Azure AI Speech でビデオ翻訳を使用する方法について説明します。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- サポートされているリージョンの Speech リソース。 Speech リソースがない場合は、 Azure portal で作成します。
- Azure Blob Storage アカウント。
- 5 GB 未満、4 時間未満の .mp4 形式のビデオ ファイルが必要です。 テスト目的で、microsoft が提供するサンプル ビデオ ファイル ( https://ai.azure.com/speechassetscache/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4) を使用できます。
- ビデオ翻訳で ソース言語とターゲット言語がサポートされていることを確認します。
ビデオ翻訳プロジェクトを作成する
ビデオ翻訳プロジェクトを作成するには、次の手順に従います。
Speech Studio にサインインします。
使用するサブスクリプションと Speech リソースを選択します。
[ビデオ翻訳] を選択します。
[プロジェクトの作成と管理] ページで、[プロジェクトの作成] を選択します。
[ 新しいプロジェクト ] ページで、 音声の種類を選択します。
音声の種類のオプションは次のとおりです。
- 標準音声: このサービスでは、ビデオ内のスピーカーの音声を標準音声と照合することで、最適な標準音声が自動的に選択されます。
- 個人用音声: ビデオ内の話者の声と一致する個人用音声を使用します。
メモ
個人用音声を使うには、アクセスの申請が必要です。
ビデオ ファイルをドラッグ アンド ドロップするか、ファイルを手動で選択して、ビデオ ファイルをアップロードします。 ビデオは .mp4 形式で、5 GB 未満で、4 時間未満である必要があります。
[プロジェクト名]、[発表者数]、[ビデオの言語]、[言語に翻訳] を指定します。
価格情報と行動規範を確認するボックスを選択します。
詳細設定を調整する場合は、[ 次へ: 詳細設定 ] を選択します。
必要に応じて、次の設定を調整できます。
- 辞書ファイル:このオプションを使用すると、システムが正しく認識して発音する必要があるカスタム単語またはフレーズを追加できます。 Speech Studio のオーディオ コンテンツ作成ツールで辞書ファイルを作成し、ここで選択できます。
- 字幕を書き込む: このオプションを使用すると、ビデオに字幕を追加できます。 字幕ファイルは、WebVTT または JSON の形式が使用できます。 [サンプル VTT ファイルのダウンロード] を選択して、参照用の サンプル WebVTT ファイルをダウンロードできます。
独自のサブタイトル ファイルを使用する場合は、[サブタイトル] を選択>独自のサブタイトルをアップロードします。 ソース字幕ファイルまたはターゲット字幕ファイルのアップロードを選択することができます。
- 自動字幕: ソース言語とターゲット言語の両方の字幕が表示されます。
- ソース言語の字幕をアップロードする: ソース言語とターゲット言語の両方の字幕が表示されます。
- ターゲット言語の字幕をアップロードする: ターゲット言語の字幕のみが表示されます。
を選択してを作成します。
Azure Blob Storage へのアップロードが完了したら、プロジェクト タブで処理状態を確認できます。
プロジェクト作成後は、そのプロジェクトを選択して詳細な設定を確認したり好みに応じて調整を行うことができます。
音声設定を確認して調整する
プロジェクトの詳細ページで、[ビデオ] の下に [翻訳済み] タブと [元のタブ] タブが表示されます。 対応するタブを選択すると、元のビデオと翻訳されたビデオを比較できます。翻訳されたビデオは自動的に生成され、再生して翻訳の品質を確認できます。
ビデオの右側には、元のスクリプトと翻訳されたスクリプトの両方を表示できます。 元のスクリプトの各部分をポイントすると、ビデオが元のビデオの対応するセグメントに自動的にジャンプします。一方、翻訳されたスクリプトの各部分にカーソルを合わせると、ビデオは、それに対応する翻訳されたセグメントにジャンプします。
必要に応じてセグメントを追加または削除することもできます。 セグメントを追加する場合は、新しいセグメントのタイムスタンプが前のセグメントと次のセグメントと重複していないことを確認し、セグメントの終了時刻が開始時刻よりも大きい値である必要があります。 タイムスタンプの正しい形式は hh:mm:ss.ms
です。 それ以外の場合は、変更を適用できません。
ビデオの下にあるオーディオ波形を使用して、スクリプトの時間枠を直接調整できます。 [ 変更の適用] を選択すると、調整が適用されます。
"未確認" の音声名を持つセグメントが発生した場合は、特に話者の声が重複する状況で、システムが音声を正確に検出できなかった可能性があります。 このような場合は、音声名を手動で変更することをお勧めします。
音声を調整する場合は、[音声設定] を選択 して変更を加えます。 [音声設定] ページでは、音声の種類、性別、音声を調整できます。 [音声] の右側にある音声サンプルを選択して、音声の選択を決定します。 音声が見つからない場合は、[スピーカーの追加] を選択して新しい音声名を 追加できます。 設定を変更した後、[更新] を選択します。
音声設定の調整、セグメントの追加または削除、スクリプトの時間枠の変更など、ビデオに複数の変更を加えることができます。 [ 変更の適用 ] を選択して変更を適用した後にのみ課金されます。 [ 保存] を選択すると、料金を発生させずに進行中の作業を保存できます。
別の言語に翻訳する
現在の翻訳プロジェクトを保持し、元のビデオを別の言語に翻訳できます。
- プロジェクトを開きます。
- [ + 新しい言語] を選択します。
- 表示される新しい 翻訳 ページで、翻訳された新しい言語と音声の種類を選択します。 ビデオが翻訳されると、新しいプロジェクトが自動的に作成されます。
関連するコンテンツ
ビデオ翻訳 REST API を使用すると、アプリケーションへのビデオ翻訳のシームレスな統合が容易になります。 この API は、ビデオ翻訳のアップロード、管理、調整をサポートし、継続的な改善のために複数のイテレーションを行います。 この記事では、REST API を介してビデオ翻訳を利用する方法について説明します。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- サポートされているリージョンの音声用の AI Foundry リソース。 Speech リソースがない場合は、 Azure portal で作成します。
- Azure Blob Storage アカウント。
- 5 GB 未満、4 時間未満の .mp4 形式のビデオ ファイルが必要です。 テスト目的で、microsoft が提供するサンプル ビデオ ファイル ( https://ai.azure.com/speechassetscache/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4) を使用できます。
- ビデオ翻訳で ソース言語とターゲット言語がサポートされていることを確認します。
ヒント
開始する前に、 ビデオ翻訳の概要 を参照して、ビデオ翻訳のエンドツーエンドのプロセスを理解してください。
Workflow
REST API を使用して翻訳されたビデオを取得する手順を次に示します。
- 翻訳オブジェクトを作成します。
Succeeded
またはFailed
に達するまで、操作の状態を定期的に確認します。 - イテレーションを作成 して翻訳プロセスを開始します。 イテレーション操作が
Succeeded
またはFailed
に達するまで、定期的に状態を確認します。 - 翻訳されたビデオと字幕をダウンロードします。
- 必要に応じて、翻訳品質を向上させるために 追加のイテレーションを作成 します。
手順 1: 翻訳を作成する
重要
このセクションの説明に従って翻訳を作成しても、翻訳プロセスは開始されません。 イテレーションを作成することで、ビデオの翻訳を開始できます。. REST API を介して作成された翻訳とイテレーションはポータルに同期されず、その逆も同様です。
ビデオ翻訳を作成するには、次の手順に従って HTTP PUT 要求パスと本文を作成する必要があります。
displayName
指定: 翻訳の表示名。 これは、翻訳を識別するのに役立つわかりやすい名前です。description
を指定する: 翻訳の簡単な説明。 これは省略可能ですが、ドキュメントの目的に役立ちます。sourceLocale
: 元のビデオの言語を指定します。 これは、ビデオ ファイルで読み上げられた言語です。targetLocale
: ビデオを翻訳する言語を指定します。 これは翻訳のターゲット言語です。voiceKind
指定: 翻訳に使用する音声の種類。PlatformVoice
とPersonalVoice
を選択できます。PlatformVoice
では、ビデオ内のスピーカーの音声を標準音声と照合することで、最適な標準音声が自動的に選択されます。PersonalVoice
の場合、システムは、数秒で高品質の音声レプリケーションを生成するモデルを提供します。メモ
個人用音声を使うには、アクセスの申請が必要です。
speakerCount
指定: ビデオ内のスピーカーの数。 これは省略可能なパラメーターであり、不明な場合は 1 に設定できます。subtitleMaxCharCountPerSegment
指定: サブタイトル セグメントごとに許可される最大文字数。 これは省略可能なパラメーターであり、不明な場合は 30 に設定できます。exportSubtitleInVideo
指定: ビデオで字幕をエクスポートするかどうかを示すブール値。 これは省略可能なパラメーターであり、ビデオに字幕を含める場合はtrue
に設定できます。videoFileUrl
: 翻訳するビデオ ファイルの URL を指定します。 ビデオは .mp4 形式で、5 GB 未満で、4 時間未満である必要があります。 ビデオを Azure Blob Storage にアップロードし、BLOB URL を使用できます。 テスト目的で、microsoft が提供するサンプル ビデオ ファイル ( https://ai.azure.com/speechassetscache/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4) を使用できます。
認証と承認を行うには、要求に次のヘッダーとパス ID を含める必要があります。
Operation-Id
ヘッダーを設定します。Operation-Id
は、各イテレーションの作成など、操作ごとに一意である必要があります。Your-Operation-Id
をこの操作の一意の ID に置き換えます。- パス内の
Your-Translation-Id
を置き換えます。 翻訳 ID は、Speech リソースのすべての翻訳で一意である必要があります。Your-Translation-Id
を、選択した翻訳 ID に置き換えます。 この ID を使用して、後続の API 呼び出しで翻訳を参照します。 YourSpeechResourceKey
は Speech リソースのキーに、YourSpeechResourceRegion
は Speech リソースのリージョンに置き換えます。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" -H "Operation-Id: Your-Operation-Id-1" -H "Content-Type: application/json" -d '{
"displayName": "My translation object",
"description": "My translation object for video translation iterations",
"input": {
"sourceLocale": "es-ES",
"targetLocale": "en-US",
"voiceKind": "PlatformVoice",
"speakerCount": 1,
"subtitleMaxCharCountPerSegment": 50,
"exportSubtitleInVideo": false,
"enableLipSync": false,
"videoFileUrl": "https://ai.azure.com/speechassetscache/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4"
}
}' "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id?api-version=2024-05-20"
重要
別の設定で既存の翻訳 ID を使用しようとすると、API からエラーが返されます。 翻訳 ID は、翻訳ごとに一意である必要があります。 イテレーションを作成することで、既存の翻訳 に変更を加えることができます。
次の形式で応答本文を受け取る必要があります。
{
"input": {
"sourceLocale": "es-ES",
"targetLocale": "en-US",
"voiceKind": "PlatformVoice",
"speakerCount": 1,
"subtitleMaxCharCountPerSegment": 50,
"exportSubtitleInVideo": false,
"enableLipSync": false
},
"status": "NotStarted",
"lastActionDateTime": "2025-03-06T19:13:35.669Z",
"id": "Your-Translation-Id",
"displayName": "My translation object",
"description": "My translation object for video translation iterations",
"createdDateTime": "2025-03-06T19:13:35.669Z"
}
指定した操作 ID を使用し、返された状態がまたはSucceeded
になるまで、Failed
API を定期的に使用できます。 この操作により、イテレーション プロセスの作成の進行状況を監視できます。 status プロパティは、 NotStarted
から Running
に進み、最後に Succeeded
または Failed
に進む必要があります。
手順 2: イテレーションを作成する
ビデオの翻訳を開始したり、既存の翻訳のイテレーションを更新したりするには、次の手順に従って HTTP PUT 要求のパスと本文を作成する必要があります。
- 必要な入力を設定します:
speakerCount
、subtitleMaxCharCountPerSegment
、exportSubtitleInVideo
、webvttFile
などの詳細を含めます。 既定では、字幕は出力ビデオに埋め込まれません。 イテレーションを作成するときに、翻訳の作成時に省略可能なパラメーターspeakerCount
、subtitleMaxCharCountPerSegment
、およびexportSubtitleInVideo
を既に指定している場合は、それらを再度指定する必要はありません。 値は翻訳設定から継承されます。 イテレーションの作成時にこれらのパラメーターを定義すると、新しい値によって元の設定がオーバーライドされます。 - 必要に応じて、元のビデオの字幕付きの WebVTT ファイルを指定できます。 最初のイテレーションを作成するときに、
webvttFile
入力パラメーターは必要ありません。 ただし、 2 番目のイテレーションから開始して、イテレーション プロセスでwebvttFile
パラメーターを指定する必要があります。
認証と承認を行うには、要求に次のヘッダーとパス ID を含める必要があります。
Operation-Id
ヘッダーを設定します。Operation-Id
は、各イテレーションの作成など、操作ごとに一意である必要があります。Your-Operation-Id
をこの操作の一意の ID に置き換えます。- パス内の
Your-Translation-Id
を置き換えます。 翻訳の作成時に指定したのと同じ 翻訳 ID を使用します。 翻訳 ID は変更されません。 - パスに新しい
iterationId
を指定します。 反復 ID は、操作ごとに一意である必要があります。Your-Iteration-Id-1
を、選択したイテレーション ID に置き換えます。 YourSpeechResourceKey
は Speech リソースのキーに、YourSpeechResourceRegion
は Speech リソースのリージョンに置き換えます。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" \
-H "Operation-Id: Your-Operation-Id" \
-H "Content-Type: application/json" \
-d '{
"input": {
"subtitleMaxCharCountPerSegment": 30,
"exportSubtitleInVideo": true
}
}' "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id/iterations/Your-Iteration-Id-1?api-version=2024-05-20"
次の形式で応答本文を受け取る必要があります。
{
"input": {
"subtitleMaxCharCountPerSegment": 30,
"exportSubtitleInVideo": true
},
"status": "NotStarted",
"lastActionDateTime": "2025-03-06T19:15:38.722Z",
"id": "Your-Iteration-Id",
"createdDateTime": "2025-03-06T19:15:38.722Z"
}
指定した操作 ID を使用し、返された状態がまたはSucceeded
になるまで、Failed
API を定期的に使用できます。 この操作により、イテレーション プロセスの作成の進行状況を監視できます。 status プロパティは、 NotStarted
から Running
に進み、最後に Succeeded
または Failed
に進む必要があります。
手順 3: 翻訳されたビデオと字幕をダウンロードする
イテレーションの状態が Succeeded
されたら、翻訳されたビデオと字幕をダウンロードできます。 翻訳されたビデオと字幕は、 反復 ID によるイテレーションの取得 API の応答本文で使用できます。
特定のイテレーションの詳細を ID で取得するには、HTTP GET 要求を使用します。 YourSpeechResourceKey
を Speech リソース キーに、YourSpeechResourceRegion
を Speech リソース リージョンに、Your-Translation-Id
を確認する翻訳 ID に、Your-Iteration-Id
を確認するイテレーション ID にそれぞれ置き換えます。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id/iterations/Your-Iteration-Id?api-version=2024-05-20"
次の形式で応答本文を受け取る必要があります。
{
"input": {
"speakerCount": 1,
"subtitleMaxCharCountPerSegment": 30,
"exportSubtitleInVideo": true
},
"result": {
"translatedVideoFileUrl": "https://cvoiceprodeus.blob.core.windows.net/YourTranslatedVideoFileUrl",
"sourceLocaleSubtitleWebvttFileUrl": "https://cvoiceprodeus.blob.core.windows.net/YourSourceLocaleSubtitleWebvttFileUrl",
"targetLocaleSubtitleWebvttFileUrl": "https://cvoiceprodeus.blob.core.windows.net/YourTargetLocaleSubtitleWebvttFileUrl",
"metadataJsonWebvttFileUrl": "https://cvoiceprodeus.blob.core.windows.net/YourMetadataJsonWebvttFileUrl",
},
"status": "Succeeded",
"lastActionDateTime": "2025-03-06T19:17:06.270Z",
"id": "Your-Iteration-Id-7",
"createdDateTime": "2025-03-06T19:15:38.723Z"
}
結果 URL からダウンロードする
応答本文には、翻訳されたビデオと字幕をダウンロードするための次の URL が含まれています。
translatedVideoFileUrl
: 翻訳されたビデオ ファイルの URL。 この URL から翻訳されたビデオをダウンロードできます。sourceLocaleSubtitleWebvttFileUrl
: ソース ロケールの WebVTT ファイルの URL。 この URL から WebVTT ファイルをダウンロードできます。targetLocaleSubtitleWebvttFileUrl
: ターゲット ロケールの WebVTT ファイルの URL。 この URL から WebVTT ファイルをダウンロードできます。metadataJsonWebvttFileUrl
: メタデータ JSON WebVTT ファイルの URL。 この URL からメタデータ JSON WebVTT ファイルをダウンロードできます。
サブタイトル ファイルの形式の例を次に示します。
sourceLocaleSubtitleWebvttFileUrl
WEBVTT
00:00:00.320 --> 00:00:03.880
Microsoft ha estado 25 años comprometido con El Salvador.
00:00:03.960 --> 00:00:08.440
Microsoft es hablar de innovación y es hablar del presente y futuro del Salvador.
00:00:09.080 --> 00:00:15.840
Son 25 años y contando los que como marca Microsoft ha logrado cumplir con cada 1 de sus objetivos en El País.
00:00:16.040 --> 00:00:23.400
Nos apoyamos muchísimo en su liderazgo, en su tecnología de punta y en su innovación continua.
00:00:23.800 --> 00:00:29.760
Microsoft le permite a Nico ser parte de un ecosistema tecnológico a nivel mundial más que un aliado para nosotros,
00:00:29.760 --> 00:00:33.880
más que un socio, realmente es un amigo, un amigo estratégico,
00:00:34.840 --> 00:00:39.800
incondicional, teniendo en cuenta y como principal razón de ser nuestra misión y visión,
00:00:40.080 --> 00:00:45.400
permitiendo que los salvadoreños puedan percatarse de su potencial. 25 años de experiencia.
00:00:45.680 --> 00:00:50.480
25 años impulsando, innovando y mejorando en cada una de nuestras facetas.
00:00:50.880 --> 00:00:58.080
Nuestra misión sigue intacta, empoderar a todas las personas y organizaciones del planeta a lograr más felices.
00:00:58.080 --> 00:01:01.240
25, Microsoft felices. 25, El Salvador.
00:01:01.480 --> 00:01:05.920
Juntos seguiremos innovando y progresando un mejor bienestar con tecnología.
JSON プロパティを使用した WebVTT
JSON プロパティを持つ WebVTT ファイルには、翻訳プロセスに関するメタデータが含まれています。 各サブタイトル セグメントには、翻訳に関する追加情報を提供するプロパティが含まれています。 プロパティの内訳を次に示します。
globalMetadata
: このセクションには、ビデオの発表者に関するメタデータが含まれています。 "speakers" プロパティは、各スピーカーに関する情報を含むオブジェクトです。 各話者は、一意の ID ("Speaker0" など) で識別されます。 "defaultSsmlProperties" プロパティには、スピーカーの音声の既定の SSML プロパティが含まれています。id
:これは各サブタイトル セグメントの一意の識別子です。 WebVTT ファイル内のテキストの特定のセグメントを識別するのに役立ちます。speakerId
: このプロパティは、対応するサブタイトル セグメントの話者の ID を示します。 "globalMetadata" セクションで定義されているスピーカー ID と一致する必要があります。ssmlProperties
: このセクションには、話者の声に関連するプロパティが含まれています。 "voiceName" や "voiceKind" などのプロパティを含めることができます。 "voiceName" は合成に使用される音声の名前であり、"voiceKind" はプラットフォームの音声か個人の音声かを示します。sourceLocaleText
: このプロパティには、ソース言語の元のテキストが含まれています。sourceLocaleText
のみに変更を加えた場合、更新されたsourceLocaleText
が変換され、新しい翻訳が合成に使用されます。sourceLocaleText
とtranslatedText
の両方に変更を加えた場合、システムはsourceLocaleText
の変更を無視し、更新されたtranslatedText
を合成に使用します。translatedText
: このプロパティには、ターゲット言語の翻訳されたテキストが含まれます。 翻訳されたビデオで合成されるテキストを表します。translatedText
のみに変更を加えた場合、システムは更新された翻訳済みテキストを合成に使用します。
手順 4: 追加のイテレーションを作成する (省略可能)
翻訳の品質を向上させるために、追加のイテレーションを作成できます。 このプロセスは、最初のイテレーションの作成に似ています。
最初のイテレーションを作成するときは、webvttFile
パラメーターは必要ありません。 ただし、2 番目のイテレーション以降は、イテレーション プロセスで webvttFile
パラメーターを指定する必要があります。 WebVTT ファイルをダウンロードし、必要な編集を行ってから、それを Azure Blob Storage にアップロードする必要があります。 BLOB URL を指定する必要があります。
ビデオの翻訳を開始したり、既存の翻訳のイテレーションを更新したりするには、次の手順に従って HTTP PUT 要求のパスと本文を作成する必要があります。
- 必要な
webvttFile
入力パラメーターを指定します。webvttFile
パラメーターは、2 番目のイテレーションから始めて必要です。 最新の webvtt ファイルをダウンロードし、必要な編集を行い、Azure Blob Storage にアップロードする必要があります。 BLOB URL を指定する必要があります。 字幕ファイルは、WebVTT または JSON の形式が使用できます。 - 必要に応じて、新しいイテレーションの新しい設定 (
speakerCount
、subtitleMaxCharCountPerSegment
、exportSubtitleInVideo
など) を指定できます。
認証と承認を行うには、要求に次のヘッダーとパス ID を含める必要があります。
Operation-Id
ヘッダーを設定します。Operation-Id
は、各イテレーションの作成など、操作ごとに一意である必要があります。Your-Operation-Id
をこの操作の一意の ID に置き換えます。- パス内の
Your-Translation-Id
を置き換えます。 翻訳の作成時に指定したのと同じ 翻訳 ID を使用します。 翻訳 ID は変更されません。 - パスに新しい
iterationId
を指定します。 反復 ID は、操作ごとに一意である必要があります。Your-Iteration-Id-2
を、選択したイテレーション ID に置き換えます。 YourSpeechResourceKey
は Speech リソースのキーに、YourSpeechResourceRegion
は Speech リソースのリージョンに置き換えます。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" \
-H "Operation-Id: Your-Operation-Id" \
-H "Content-Type: application/json" \
-d '{
"input": {
"webvttFile": {
"url": "https://YourBlobStorageUrl/YourWebVTTFile.vtt"
}
}
}' "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id/iterations/Your-Iteration-Id-2?api-version=2024-05-20"
次の形式で応答本文を受け取る必要があります。
{
"input": {
"webvttFile": {
"url": "https://YourBlobStorageUrl/YourWebVTTFile.vtt"
}
},
"status": "NotStarted",
"lastActionDateTime": "2025-03-06T19:15:38.722Z",
"id": "Your-Iteration-Id-2",
"createdDateTime": "2025-03-06T19:15:38.722Z"
}
指定した操作 ID を使用し、返された状態がまたはSucceeded
になるまで、Failed
API を定期的に使用できます。 この操作により、イテレーション プロセスの作成の進行状況を監視できます。 status プロパティは、 NotStarted
から Running
に進み、最後に Succeeded
または Failed
に進む必要があります。
操作 ID による操作の取得
操作 ID を使用して、操作の状態を確認します。 操作 ID は操作ごとに一意であるため、各操作を個別に追跡できます。 操作 ID は、変換が削除されるまで有効です。
- 翻訳の作成時に使用したのと同じ
Operation-Id
を指定します。 この例では、Your-Operation-Id-1
が使用されています。Your-Operation-Id-1
を好みの操作 ID に置き換えます。 YourSpeechResourceKey
は Speech リソースのキーに、YourSpeechResourceRegion
は Speech リソースのリージョンに置き換えます。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/operations/Your-Operation-Id-1?api-version=2024-05-20"
次の形式で応答本文を受け取る必要があります。
{
"id": "Your-Operation-Id-1",
"status": "Running"
}
翻訳 ID による翻訳の削除
translationId
で識別される特定の翻訳を削除します。 この操作では、この翻訳に関連付けられているすべてのイテレーションも削除されます。
YourSpeechResourceKey
を Speech リソース キーに、YourSpeechResourceRegion
を Speech リソース リージョンに、Your-Translation-Id
を削除する翻訳 ID にそれぞれ置き換えます。 手動で削除しない場合、サービスにより翻訳履歴が最大 31 日間保持されます。
curl -v -X DELETE -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id?api-version=2024-05-20"
削除要求が成功した場合、応答ヘッダーには HTTP/1.1 204 No Content
が含まれ明日。
REST API の操作
ビデオ翻訳には、次の REST API 操作を使用できます。
操作 | 方法 | REST API の呼び出し |
---|---|---|
翻訳の作成 | PUT |
/translations/{translationId} |
翻訳の一覧表示 | GET |
/translations |
翻訳 ID による翻訳の取得 | GET |
/translations/{translationId} |
イテレーションの作成 | PUT |
/translations/{translationId}/iterations/{iterationId} |
イテレーションのリスト | GET |
/translations/{translationId}/iterations |
イテレーション ID によるイテレーションの取得 | GET |
/translations/{translationId}/iterations/{iterationId} |
操作 ID による操作の取得 | GET |
/operations/{operationId} |
翻訳 ID による翻訳の削除 | DELETE |
/translations/{translationId} |
コード サンプルについては、GitHub を参照してください。
このセクションでは、前に詳しく説明していない他のビデオ翻訳 API 呼び出しの例を示します。
翻訳の一覧表示
リソース アカウントでアップロードおよび処理されたすべてのビデオ翻訳を一覧表示するには、次の例に示すように HTTP GET 要求を行います。 YourSpeechResourceKey
は Speech リソースのキーに、YourSpeechResourceRegion
は Speech リソースのリージョンに置き換えます。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations?api-version=2024-05-20"
翻訳 ID による翻訳の取得
この操作は、一意の translationId
によって識別される、特定の翻訳に関する詳細情報を取得します。 YourSpeechResourceKey
を Speech リソース キーに、YourSpeechResourceRegion
を Speech リソース リージョンに、Your-Translation-Id
を確認する翻訳 ID にそれぞれ置き換えます。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id?api-version=2024-05-20"
イテレーションをリストする
特定の翻訳のすべてのイテレーションを一覧表示します。 この要求では、詳細情報なしですべてのイテレーションが一覧表示されます。 YourSpeechResourceKey
を Speech リソース キーに、YourSpeechResourceRegion
を Speech リソース リージョンに、Your-Translation-Id
を確認する翻訳 ID にそれぞれ置き換えます。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id/iterations?api-version=2024-05-20"
HTTP 状態コード
このセクションでは、ビデオ翻訳 REST API の HTTP 応答コードとメッセージの詳細について説明します。
HTTP 200 OK
HTTP 200 OK は、要求が成功したことを示します。
HTTP 204 エラー
HTTP 204 エラーは、要求は成功したが、リソースが存在しないことを示します。 次に例を示します。
- 存在しない翻訳を取得または削除しようとしました。
- 翻訳が正常に削除されました。
HTTP 400 エラー
400 エラーが発生する可能性のある例を次に示します。
- 指定したソースまたはターゲット ロケールは、サポートされているロケールに含まれていません。
- F0 Speech リソースを使おうとしたが、リージョンでサポートされている Speech リソースの価格レベルが Standard のみである。
HTTP 500 エラー
HTTP 500 内部サーバー エラーは、要求が失敗したことを示します。 エラー メッセージは応答本文に含まれています。