Share via


音声テキスト変換に Bring Your Own Storage (BYOS) の Azure Cognitive Service for Speech リソースを使用する

次の音声テキスト変換シナリオでは、Bring Your Own Storage (BYOS) を使用できます。

  • バッチ文字起こし
  • 音声と文字起こし結果ログを有効にしたリアルタイム文字起こし
  • Custom Speech

Azure Cognitive Service for Speech リソースとストレージ アカウントの 1 つのペアを、すべてのシナリオに同時に使用できます。

この記事では、すべての音声テキスト変換シナリオで BYOS 対応の Azure Cognitive Service for Speech リソースを使う方法について詳しく説明します。 この記事では、完全に構成された BYOS 対応の Speech リソースと、関連付けられたストレージ アカウントがあることを示唆しています。

データ ストレージ

BYOS を使用する場合、Speech サービスはデータ処理 (文字起こし、モデル トレーニング、モデル テスト) の完了後に顧客の成果物を保持しません。 ただし、ユーザー コンテンツから派生しない一部のメタデータは、Speech サービス プレミス内に保存されます。 たとえば、Custom Speech シナリオでは、使われるモデルなどのカスタム エンドポイントに関する特定の情報が、サービスによって保持されます。

BYOS に関連付けられたストレージ アカウントには、次のデータが保存されます。

Note

このセクションの「オプション」は、特定の成果物を BYOS に関連付けられたストレージ アカウントに保存することが可能ですが、必須ではないことを意味します。 必要に応じて、他の場所に保存できます。

バッチ文字起こし

  • ソース オーディオ (省略可能)
  • バッチ文字起こしの結果

音声と文字起こし結果のログを有効にしたリアルタイム文字起こし

  • オーディオと文字起こしの結果ログ

Custom Speech

  • モデルのトレーニングとテスト用のデータセットのソース ファイル (省略可能)
  • BYOS 対応 Speech リソースによってホストされるカスタム モデルに関連するすべてのデータとメタデータ (モデルのトレーニングとテスト用のデータセットのコピーを含む)

バッチ文字起こし

バッチ文字起こしは、ストレージ内の大量のオーディオ データを文字起こしする場合に使用されます。 バッチ文字起こしに慣れていない場合は、まずこの記事を参照してください。

BYOS 対応の Speech リソースでバッチ文字起こしを実行するには、次の手順を実行します。

  1. このガイドの説明に従ってバッチ文字起こしを開始します。

    重要

    文字起こし要求では destinationContainerUrl パラメーターを使用しないでください。 BYOS を使用する場合、文字起こし結果は BYOS に関連付けられたストレージ アカウントに自動的に保存されます。

    destinationContainerUrl パラメーターを使用すると機能しますが、アドホック SAS が使用されるため、データのセキュリティが大幅に低下します。 詳細については、こちらを参照してください。

  2. 文字起こしが完了したら、このガイドに従って文字起こし結果を取得します。 sasValidityInSeconds パラメーターの使用を検討してください (次のセクションを参照)。

Speech サービスは、BYOS に関連付けられたストレージ アカウントの customspeech-artifacts BLOB コンテナーを使用して、中間および最終の文字起こし結果を保存します。

注意事項

Speech サービスは、バッチ文字起こしモジュールが正しく機能するために、事前定義された BLOB コンテナーのパスとファイル名に依存しています。 customspeech-artifacts コンテナーの内容を移動したり、名前を変更したり、いかなる形でも変更しないでください。

これを行わないと、デバッグが困難な 4xx および 5xx サービス エラーが発生する可能性が高くなります。

標準ツールを使用して、バッチ文字起こしを操作します。 詳細については、「バッチ文字起こし」セクションを参照してください。

REST API 経由でバッチ文字起こし結果を取得

Speech to text REST API は、BYOS 対応の Speech リソースを完全にサポートします。 ただし、データは BYOS が有効なストレージ アカウント内に保存されるようになったため、Get Transcription Files などの要求は、Speech サービスの内部リソースではなく、BYOS に関連付けられたストレージ アカウントの BLOB ストレージと対話します。 これにより、"通常" の Speech リソースと BYOS 対応の Speech リソースの両方に同じ REST API ベースのコードを使用できるようになります。

セキュリティを最大限に高めるには、Get Transcription Files 要求など、データ ファイルの URL を返すリクエストで sasValidityInSeconds パラメーターの値を 0 に設定して使用します。 要求 URL の例は次のとおりです。

https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/3b24ca19-2eb1-4a2a-b964-35d89eca486b/files?sasValidityInSeconds=0

このような要求は、直接のストレージ アカウント URL をデータ ファイルに返します (SAS やその他の追加は含まれません)。 次に例を示します。

"links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.windows.net/customspeech-artifacts/TranscriptionData/3b24ca19-2eb1-4a2a-b964-35d89eca486b_0_0.json"
      }

この形式の URL では、十分なアクセス権 ("ストレージ BLOB データ閲覧者" ロールなど) を持つ Microsoft Entra ID (ユーザー、サービス プリンシパル、マネージド ID) のみが URL からデータにアクセスできるようになります。

警告

Get Transcription Files 要求または同様の要求で sasValidityInSeconds パラメーターが省略された場合、返されたデータ ファイル URL ごとに 5 日間の有効期間を持つユーザー委任 SAS が生成されます。 この SAS は、BYOS 対応 Speech リソースのシステム割り当てマネージド ID によって署名されます。 そのため、ストレージ アカウント キー アクセスが無効になっている場合でも、SAS はデータへのアクセスを許可します。 詳細については、こちらを参照してください。

音声と文字起こし結果のログを有効にしたリアルタイム文字起こし

音声テキスト変換または音声翻訳を使用する場合に、音声入力と認識された音声の両方のログを有効にできます。 詳細については、この記事を参照してください。

BYOS を使用している場合は、BYOS に関連付けられたストレージ アカウントの customspeech-audiologs BLOB コンテナーでログが見つかります。

警告

ログ データは 5 日間保持されます。 この期間が経過すると、ログは自動的に削除されます。 これは、BYOS 対応の Speech リソースにも当てはまります。 ログをより長く保持したい場合は、対応するファイルとフォルダーを customspeech-audiologs BLOB コンテナーから直接コピーするか、REST API を使用します。

REST API 経由でリアルタイムの文字起こしログを取得

Speech to text REST API は、BYOS 対応の Speech リソースを完全にサポートします。 ただし、データは BYOS が有効なストレージ アカウント内に保存されるようになったため、Get Base Model Logs などの要求は、Speech サービスの内部リソースではなく、BYOS に関連付けられたストレージ アカウントの BLOB ストレージと対話します。 これにより、"通常" の Speech リソースと BYOS 対応の Speech リソースの両方に同じ REST API ベースのコードを使用できるようになります。

セキュリティを最大限に高めるには、Get Base Model Logs 要求など、データ ファイルの URL を返すリクエストで sasValidityInSeconds パラメーターの値を 0 に設定して使用します。 要求 URL の例は次のとおりです。

https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/endpoints/base/en-US/files/logs?sasValidityInSeconds=0

このような要求は、直接のストレージ アカウント URL をデータ ファイルに返します (SAS やその他の追加は含まれません)。 次に例を示します。

"links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.windows.net/customspeech-audiologs/be172190e1334399852185c0addee9d6/en-US/2023-07-06/152339_fcf52189-0d3f-4415-becd-5f639fd7fd6b.v2.json"
      }

この形式の URL では、十分なアクセス権 ("ストレージ BLOB データ閲覧者" ロールなど) を持つ Microsoft Entra ID (ユーザー、サービス プリンシパル、マネージド ID) のみが URL からデータにアクセスできるようになります。

警告

Get Base Model Logs 要求または同様の要求で sasValidityInSeconds パラメーターが省略された場合、返されたデータ ファイル URL ごとに 5 日間の有効期間を持つユーザー委任 SAS が生成されます。 この SAS は、BYOS 対応 Speech リソースのシステム割り当てマネージド ID によって署名されます。 そのため、ストレージ アカウント キー アクセスが無効になっている場合でも、SAS はデータへのアクセスを許可します。 詳細については、こちらを参照してください。

Custom Speech

Custom Speech では、アプリケーションや製品に対する音声認識の正確性を評価して改善できます。 カスタム音声モデルは、リアルタイムの音声テキスト変換、音声翻訳、バッチ文字起こしに使用できます。 詳しくは、「@Custom Speech とは」をご覧ください。

BYOS 対応 Speech リソースでの Custom Speech の使い方について、特別なことは何もありません。 唯一の違いは、Speech サービスが収集および生成するすべてのカスタム モデル関連データが保存される場所です。 データは、BYOS に関連付けられたストレージ アカウントの次の BLOB コンテナーに保存されます。

  • customspeech-models - Custom Speech モデルの場所
  • customspeech-artifacts - 他のすべての Custom Speech 関連データの場所

この BLOB コンテナーの構造は、情報提供のためだけに示したもので、予告なく変更される可能性があります。

注意

Speech サービスでの Custom Speech モジュールの正常な機能は、事前に定義された BLOB コンテナーのパスとファイル名に依存しています。 customspeech-models コンテナーと、customspeech-artifacts コンテナーの Custom Speech 関連フォルダーの内容については、移動、名前変更、またはどのような変更も行わないでください。

これを行わないと、デバッグが困難なエラーが発生する可能性が高く、カスタム モデルの再トレーニングが必要になる可能性があります。

Custom Speech 関連データの操作には、REST API や Speech Studio などの標準ツールを使います。 詳しくは、Custom Speech に関するセクションをご覧ください。

Custom Speech での REST API の使用

Speech to text REST API は、BYOS 対応の Speech リソースを完全にサポートします。 ただし、データは BYOS が有効なストレージ アカウント内に保存されるようになったため、Datasets_ListFiles などの要求は、Speech サービスの内部リソースではなく、BYOS に関連付けられたストレージ アカウントの BLOB ストレージと対話します。 これにより、"通常" の Speech リソースと BYOS 対応の Speech リソースの両方に同じ REST API ベースのコードを使用できるようになります。

セキュリティを最大限に高めるには、Get Dataset Files 要求など、データ ファイルの URL を返すリクエストで sasValidityInSeconds パラメーターの値を 0 に設定して使用します。 要求 URL の例は次のとおりです。

https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/8427b92a-cb50-4cda-bf04-964ea1b1781b/files?sasValidityInSeconds=0

このような要求は、直接のストレージ アカウント URL をデータ ファイルに返します (SAS やその他の追加は含まれません)。 次に例を示します。

 "links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.windows.net/customspeech-artifacts/AcousticData/8427b92a-cb50-4cda-bf04-964ea1b1781b/4a61ddac-5b1c-4c21-b87d-22001b0f18ab.zip"
      }

この形式の URL では、十分なアクセス権 ("ストレージ BLOB データ閲覧者" ロールなど) を持つ Microsoft Entra ID (ユーザー、サービス プリンシパル、マネージド ID) のみが URL からデータにアクセスできるようになります。

警告

Get Dataset Files 要求または同様の要求で sasValidityInSeconds パラメーターが省略された場合、返されたデータ ファイル URL ごとに 5 日間の有効期間を持つユーザー委任 SAS が生成されます。 この SAS は、BYOS 対応 Speech リソースのシステム割り当てマネージド ID によって署名されます。 そのため、ストレージ アカウント キー アクセスが無効になっている場合でも、SAS はデータへのアクセスを許可します。 詳細については、こちらを参照してください。

次のステップ