Docker を使用した音声テキスト変換コンテナー

音声テキスト変換コンテナーは、リアルタイム音声、または中間結果を含むバッチ音声録音の文字起こしを行います。 この記事では、音声テキスト変換コンテナーをダウンロード、インストール、実行する方法について説明します。

前提条件の詳細、コンテナーが実行されていることの検証、同じホスト上での複数コンテナーの実行、切断されたコンテナーの実行については、「Docker を使用して音声コンテナーをインストールして実行する」を参照してください。

コンテナー イメージ

サポートされているすべてのバージョンとロケールの音声テキスト変換コンテナー イメージは、Microsoft Container Registry (MCR) シンジケートにあります。 azure-cognitive-services/speechservices/ リポジトリ内にあり、speech-to-text という名前が付いています。

A screenshot of the search connectors and triggers dialog.

完全修飾コンテナー イメージ名は mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text です。 特定のバージョンを追加するか、:latest を追加して最新バージョンを取得します。

Version Path
最新 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

latest タグを指定すると、en-US ロケールの最新のイメージがプルされます。
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:4.6.0-amd64-mr-in

latest を除くすべてのタグは次の形式であり、大文字と小文字が区別されます。

<major>.<minor>.<patch>-<platform>-<locale>-<prerelease>

作業を容易にするために、このタグは JSON 形式でも使用できます。 本文には、コンテナー パスとタグの一覧が含まれています。 タグはバージョン別に並べ替えられませんが、次のスニペットに示すように、"latest" は必ずリストの末尾に含まれます。

{
  "name": "azure-cognitive-services/speechservices/speech-to-text",
  "tags": [
    "2.10.0-amd64-ar-ae",
    "2.10.0-amd64-ar-bh",
    "2.10.0-amd64-ar-eg",
    "2.10.0-amd64-ar-iq",
    "2.10.0-amd64-ar-jo",
    <--redacted for brevity-->
    "latest"
  ]
}

docker pull でコンテナー イメージを取得する

必要なハードウェアを含む前提条件を満たす必要があります。 また、各音声コンテナーに対して推奨されるリソースの割り当ても参照してください。

Microsoft Container Registry からコンテナー イメージをダウンロードするには、docker pull コマンドを使用します。

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

重要

latest タグを指定すると、en-US ロケールの最新のイメージがプルされます。 その他のバージョンとロケールについては、音声テキスト変換コンテナー イメージを参照してください。

docker run でコンテナーを実行する

コンテナーを実行するには、docker run コマンドを使用します。

次の表は、さまざまな docker run パラメーターとその説明をまとめたものです。

パラメーター 説明
{ENDPOINT_URI} 測定と課金にはエンドポイントが必須です。 詳細については、「課金引数」を参照してください。
{API_KEY} API キーは必須です。 詳細については、「課金引数」を参照してください。

音声テキスト変換コンテナーを実行する場合は、音声テキスト変換コンテナーの要件と推奨事項に従って、ポート、メモリ、CPU を構成します。

プレースホルダー値を含む docker run コマンドの例を次に示します。 ENDPOINT_URIAPI_KEY の値を指定する必要があります。

docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

このコマンドは、次の操作を行います。

  • コンテナー イメージから speech-to-text コンテナーを実行します。
  • 4 つの CPU コアと 8 GB のメモリを割り当てます。
  • TCP ポート 5000 を公開し、コンテナーに pseudo-TTY を割り当てます。
  • コンテナーの終了後にそれを自動的に削除します。 ホスト コンピューター上のコンテナー イメージは引き続き利用できます。

音声コンテナーでの docker run の詳細については、「Docker を使用して音声コンテナーをインストールして実行する」を参照してください。

コンテナーを使用する

音声コンテナーは、WebSocket ベースのクエリ エンドポイント API シリーズを提供します。これには、Speech SDK および Speech CLI を介してアクセスします。 既定では、Speech SDK と Speech CLI ではパブリック音声サービスが使用されます。 コンテナーを使用するには、初期化方法を変更する必要があります。

重要

コンテナーで音声サービスを使用する場合は、必ずホスト認証を使用してください。 キーとリージョンを構成すると、要求はパブリック音声サービスに送信されます。 音声サービスからの結果は、期待どおりではない場合があります。 切断されたコンテナーからの要求は失敗します。

この Azure クラウド初期化構成は使用しません。

var config = SpeechConfig.FromSubscription(...);

コンテナー ホストで、この構成を使用します。

var config = SpeechConfig.FromHost(
    new Uri("ws://localhost:5000"));

この Azure クラウド初期化構成は使用しません。

auto speechConfig = SpeechConfig::FromSubscription(...);

コンテナー ホストで、この構成を使用します。

auto speechConfig = SpeechConfig::FromHost("ws://localhost:5000");

この Azure クラウド初期化構成は使用しません。

speechConfig, err := speech.NewSpeechConfigFromSubscription(...)

コンテナー ホストで、この構成を使用します。

speechConfig, err := speech.NewSpeechConfigFromHost("ws://localhost:5000")

この Azure クラウド初期化構成は使用しません。

SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);

コンテナー ホストで、この構成を使用します。

SpeechConfig speechConfig = SpeechConfig.fromHost("ws://localhost:5000");

この Azure クラウド初期化構成は使用しません。

const speechConfig = sdk.SpeechConfig.fromSubscription(...);

コンテナー ホストで、この構成を使用します。

const speechConfig = sdk.SpeechConfig.fromHost("ws://localhost:5000");

この Azure クラウド初期化構成は使用しません。

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];

コンテナー ホストで、この構成を使用します。

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"ws://localhost:5000"];

この Azure クラウド初期化構成は使用しません。

let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");

コンテナー ホストで、この構成を使用します。

let speechConfig = SPXSpeechConfiguration(host: "ws://localhost:5000");

この Azure クラウド初期化構成は使用しません。

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key, region=service_region)

コンテナー エンドポイントで、この構成を使用します。

speech_config = speechsdk.SpeechConfig(
    host="ws://localhost:5000")

コンテナーで Speech CLI を使用する場合は、--host ws://localhost:5000/ オプションを含めます。 CLI が認証に音声キーを使用しないようにするには、--key none も指定する必要があります。 Speech CLI を構成する方法については、「Azure AI Speech CLI の概要」をご覧ください。

キーとリージョンではなく、ホスト認証を使用して、音声テキスト変換のクイックスタートをお試しください

次のステップ