Speech サービス コンテナーをインストールして実行するInstall and run Speech Service containers

Speech コンテナーでは、堅牢なクラウド機能とエッジの局所性の両方を活用するように最適化された 1 つの音声アプリケーション アーキテクチャを構築できます。Speech containers enable customers to build one speech application architecture that is optimized to take advantage of both robust cloud capabilities and edge locality.

2 つの Speech コンテナーは、"音声テキスト変換" と "テキスト読み上げ" です。The two speech containers are speech-to-text and text-to-speech.

FunctionFunction 機能Features 最新Lastest
  • 連続するリアルタイムの音声またはバッチ音声録音を、中間結果を含むテキストに文字起こしします。Transcribes continuous real-time speech or batch audio recordings into text with intermediate results.
  • テキストを自然な音声に変換します。Converts text to natural-sounding speech. プレーンテキストの入力または音声合成マークアップ言語 (SSML) に対応しています。with plain text input or Speech Synthesis Markup Language (SSML).

    Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.


    Speech コンテナーを使用する前に、次の前提条件を満たす必要があります。You must meet the following prerequisites before using Speech containers:

    必須Required 目的Purpose
    Docker エンジンDocker Engine ホスト コンピューターに Docker エンジンをインストールしておく必要があります。You need the Docker Engine installed on a host computer. Docker には、macOSWindowsLinux 上で Docker 環境の構成を行うパッケージが用意されています。Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Docker やコンテナーの基礎に関する入門情報については、「Docker overview」(Docker の概要) を参照してください。For a primer on Docker and container basics, see the Docker overview.

    コンテナーが Azure に接続して課金データを送信できるように、Docker を構成する必要があります。Docker must be configured to allow the containers to connect with and send billing data to Azure.

    Windows では、Linux コンテナーをサポートするように Docker を構成することも必要です。On Windows, Docker must also be configured to support Linux containers.

    Docker に関する知識Familiarity with Docker レジストリ、リポジトリ、コンテナー、コンテナー イメージなど、Docker の概念の基本的な理解に加えて、基本的な docker コマンドの知識が必要です。You should have a basic understanding of Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.
    Speech リソースSpeech resource これらのコンテナーを使用するためには、以下が必要です。In order to use these containers, you must have:

    関連付けられている課金キーと課金エンドポイント URI を取得するための Speech Azure リソース。A Speech Azure resource to get the associated billing key and billing endpoint URI. これらの値は、どちらも Azure portal の Speech の [概要] ページと [キー] ページで入手でき、コンテナーを起動するために必要です。Both values are available on the Azure portal's Speech Overview and Keys pages and are required to start the container.

    {BILLING_KEY} : リソース キー{BILLING_KEY}: resource key

    {BILLING_ENDPOINT_URI} : エンドポイントURI の例: https://westus.api.cognitive.microsoft.com/sts/v1.0{BILLING_ENDPOINT_URI}: endpoint URI example is: https://westus.api.cognitive.microsoft.com/sts/v1.0

    コンテナー レジストリへのアクセスの要求Request access to the container registry

    コンテナーへのアクセスを要求するには、最初に Cognitive Services Speech コンテナー要求フォームに記入して送信する必要があります。You must first complete and submit the Cognitive Services Speech Containers Request form to request access to the container.

    このフォームでは、ユーザー、会社、コンテナーを使用するユーザー シナリオに関する情報が要求されます。The form requests information about you, your company, and the user scenario for which you'll use the container. フォームを送信すると、Azure Cognitive Services チームがそれをレビューして、プライベート コンテナー レジストリにアクセスするための条件を満たしていることを確認します。After you've submitted the form, the Azure Cognitive Services team reviews it to ensure that you meet the criteria for access to the private container registry.


    フォームでは、Microsoft アカウント (MSA) または Azure Active Directory (Azure AD) アカウントに関連付けられたメール アドレスを使用する必要があります。You must use an email address that's associated with either a Microsoft Account (MSA) or Azure Active Directory (Azure AD) account in the form.

    要求が承認されると、資格情報を取得してプライベート コンテナー レジストリにアクセスする方法を説明する手順が記載されたメールを受け取ります。If your request is approved, you'll receive an email with instructions that describe how to obtain your credentials and access the private container registry.

    Docker CLI を使用してプライベート コンテナー レジストリを認証するUse the Docker CLI to authenticate the private container registry

    Cognitive Services コンテナーのプライベート コンテナー レジストリはいくつかの方法で認証できますが、コマンド ラインからの推奨される方法は、Docker CLI を使用することです。You can authenticate with the private container registry for Cognitive Services Containers in any of several ways, but the recommended method from the command line is to use the Docker CLI.

    次の例のように docker login コマンドを使用し、Cognitive Services コンテナーのプライベート コンテナー レジストリである containerpreview.azurecr.io にログインします。Use the docker login command, as shown in the following example, to log in to containerpreview.azurecr.io, the private container registry for Cognitive Services Containers. <username><password> を、Azure Cognitive Services チームから受け取った資格情報に指定されているユーザー名とパスワードにそれぞれ置き換えます。Replace <username> with the user name and <password> with the password that's provided in the credentials you received from the Azure Cognitive Services team.

    docker login containerpreview.azurecr.io -u <username> -p <password>

    テキスト ファイルで資格情報をセキュリティ保護した場合は、次の例に示すように、cat コマンドを使用して、そのテキスト ファイルの内容を docker login コマンドに連結することができます。If you've secured your credentials in a text file, you can concatenate the contents of that text file, by using the cat command, to the docker login command, as shown in the following example. <passwordFile> を、パスワードを含むテキスト ファイルのパスと名前に置き換え、 <username> を資格情報に指定されているユーザー名に置き換えます。Replace <passwordFile> with the path and name of the text file that contains the password and <username> with the user name that's provided in your credentials.

    cat <passwordFile> | docker login containerpreview.azurecr.io -u <username> --password-stdin

    ホスト コンピューターThe host computer

    ホストとは、Docker コンテナーを実行する x64 ベースのコンピューターのことです。The host is a x64-based computer that runs the Docker container. お客様のオンプレミス上のコンピューターを使用できるほか、次のような Azure 内の Docker ホスティング サービスを使用することもできます。It can be a computer on your premises or a Docker hosting service in Azure, such as:

    Advanced Vector Extension のサポートAdvanced Vector Extension support

    ホストとは、Docker コンテナーを実行するコンピューターのことです。The host is the computer that runs the docker container. ホストは、Advanced Vector Extensions (AVX2) をサポートしている必要があります。The host must support Advanced Vector Extensions (AVX2). 次のコマンドを使用して、Linux ホストでのこのサポートを確認できます。You can check this support on Linux hosts with the following command:

    grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

    コンテナーの要件と推奨事項Container requirements and recommendations

    次の表に、各 Speech コンテナーに割り当てる CPU コアとメモリの最小値と推奨値を示します。The following table describes the minimum and recommended CPU cores and memory to allocate for each Speech container.

    コンテナーContainer 最小値Minimum 推奨Recommended
    cognitive-services-speech-to-textcognitive-services-speech-to-text 2 コア2 core
    2 GB メモリ2 GB memory
    4 コア4 core
    4 GB メモリ4 GB memory
    cognitive-services-text-to-speechcognitive-services-text-to-speech 1 コア、0.5 GB メモリ1 core, 0.5 GB memory 2 コア、1 GB メモリ2 core, 1 GB memory
    • 各コアは少なくとも 2.6 ギガヘルツ (GHz) 以上にする必要があります。Each core must be at least 2.6 gigahertz (GHz) or faster.

    コアとメモリは、docker run コマンドの一部として使用される --cpus--memory の設定に対応します。Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

    : 最小および推奨値は、Docker の制限に基づくもので、ホスト マシンのリソースに基づくものでは "ありません"。Note; The minimum and recommended are based off of Docker limits, not the host machine resources. たとえば、音声テキスト変換コンテナーは、大規模な言語モデルの一部をメモリ マップするため、ファイル全体がメモリに収まるようにすることを "お勧めします"。これには、追加で 4 から 6 GB が必要です。For example, speech-to-text containers memory map portions of a large language model, and it is recommended that the entire file fits in memory, which is an additional 4-6 GB. また、モデルがメモリにページングされているため、どちらかのコンテナーの最初の実行に時間がかかる場合があります。Also, the first run of the either container may take longer, since models are being paged into memory.

    docker pull によるコンテナー イメージの取得Get the container image with docker pull

    Speech のコンテナー イメージを入手できます。Container images for Speech are available.

    コンテナーContainer リポジトリRepository
    cognitive-services-speech-to-textcognitive-services-speech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest
    cognitive-services-text-to-speechcognitive-services-text-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-text-to-speech:latest


    docker images コマンドを使用して、ダウンロードしたコンテナー イメージを一覧表示できます。You can use the docker images command to list your downloaded container images. たとえば、次のコマンドは、ダウンロードした各コンテナー イメージの ID、リポジトリ、およびタグが表として書式設定されて表示されます。For example, the following command lists the ID, repository, and tag of each downloaded container image, formatted as a table:

    docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
    IMAGE ID            REPOSITORY              TAG
    <image-id>       <repository-path/name>         <tag-name>

    コンテナー タグ内の言語ロケールLanguage locale is in container tag

    latest タグにより、en-us ロケールと jessarus 音声がプルされます。The latest tag pulls the en-us locale and jessarus voice.

    音声テキスト変換のロケールSpeech to text locales

    latest を除くすべてのタグは次の形式になっています。ここで、<culture> はロケール コンテナーを示します。All tags, except for latest are in the following format, where the <culture> indicates the locale container:


    次のタグは、この形式の例です。The following tag is an example of the format:


    次の表に、1.1.1 バージョンのコンテナーの "音声テキスト変換" でサポートされているロケールを示します。The following table lists the supported locales for speech-to-text in the 1.1.1 version of the container:

    言語ロケールLanguage locale TagsTags
    中国語Chinese zh-cn
    英語English en-us
    フランス語French fr-ca
    ドイツ語German de-de
    イタリア語Italian it-it
    日本語Japanese ja-jp
    韓国語Korean ko-kr
    ポルトガル語Portuguese pt-br
    スペイン語Spanish es-es

    テキスト読み上げのロケールText to speech locales

    latest を除くすべてのタグは次の形式になっています。ここで、<culture> はロケールを示し、<voice> はコンテナーの音声を示します。All tags, except for latest are in the following format, where the <culture> indicates the locale and the <voice> indicates the voice of the container:


    次のタグは、この形式の例です。The following tag is an example of the format:


    次の表に、1.1.0 バージョンのコンテナーの "テキスト読み上げ" でサポートされているロケールを示します。The following table lists the supported locales for text-to-speech in the 1.1.0 version of the container:

    言語ロケールLanguage locale TagsTags サポートされている音声Supported voices
    中国語Chinese zh-cn huihuirushuihuirus
    英語English en-au catherinecatherine
    英語English en-gb george-apollogeorge-apollo
    英語English en-in heera-apolloheera-apollo
    英語English en-us jessarusjessarus
    フランス語French fr-ca carolinecaroline
    フランス語French fr-fr hortenserushortenserus
    ドイツ語German de-de heddahedda
    イタリア語Italian it-it cosimo-apollocosimo-apollo
    日本語Japanese ja-jp ayumi-apolloayumi-apollo
    韓国語Korean ko-kr heamirusheamirus
    ポルトガル語Portuguese pt-br daniel-apollodaniel-apollo
    スペイン語Spanish es-es elenaruselenarus
    スペイン語Spanish es-mx hildarushildarus

    Speech コンテナー用の docker pullDocker pull for the speech containers


    docker pull containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest


    docker pull containerpreview.azurecr.io/microsoft/cognitive-services-text-to-speech:latest

    コンテナーを使用する方法How to use the container

    コンテナーをホスト コンピューター上に用意できたら、次の手順を使用してコンテナーを操作します。Once the container is on the host computer, use the following process to work with the container.

    1. 必要でありながら使用されていない課金設定を使用してコンテナーを実行します。Run the container, with the required but not used billing settings. docker run コマンドの他のもご覧いただけます。More examples of the docker run command are available.
    2. コンテナーの予測エンドポイントに対するクエリを実行しますQuery the container's prediction endpoint.

    docker run によるコンテナーの実行Run the container with docker run

    3 つのコンテナーのいずれかを実行するには、docker run コマンドを使用します。Use the docker run command to run any of the three containers. このコマンドには、次のパラメーターが使用されます。The command uses the following parameters:

    プレビュー期間中は、コンテナーを起動するために課金設定が有効になっている必要がありますが、使用量は課金されません。During the preview, the billing settings must be valid to start the container, but you aren't billed for usage.

    プレースホルダーPlaceholder Value
    {BILLING_KEY}{BILLING_KEY} このキーは、コンテナーを起動するために使用され、Azure portal の Speech の [キー] ページで入手できます。This key is used to start the container, and is available on the Azure portal's Speech Keys page.
    {BILLING_ENDPOINT_URI}{BILLING_ENDPOINT_URI} 課金エンドポイント URI の値は、Azure portal の Speech の [概要] ページで入手できます。The billing endpoint URI value is available on the Azure portal's Speech Overview page.

    次の例の docker run コマンドでは、これらのパラメーターをお客様独自の値に置き換えてください。Replace these parameters with your own values in the following example docker run command.


    docker run --rm -it -p 5000:5000 --memory 2g --cpus 1 \
    containerpreview.azurecr.io/microsoft/cognitive-services-text-to-speech \
    Eula=accept \


    docker run --rm -it -p 5000:5000 --memory 2g --cpus 2 \
    containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text \
    Eula=accept \

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

    • コンテナー イメージから Speech コンテナーを実行しますRuns a Speech container from the container image
    • 2 つの CPU コアと 2 ギガバイト (GB) のメモリを割り当てますAllocates 2 CPU cores and 2 gigabytes (GB) of memory
    • TCP ポート 5000 を公開し、コンテナーに pseudo-TTY を割り当てますExposes TCP port 5000 and allocates a pseudo-TTY for the container
    • コンテナーの終了後にそれを自動的に削除します。Automatically removes the container after it exits. ホスト コンピューター上のコンテナー イメージは引き続き利用できます。The container image is still available on the host computer.


    コンテナーを実行するには、EulaBillingApiKey の各オプションを指定する必要があります。そうしないと、コンテナーが起動しません。The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. 詳細については、「課金」を参照してください。For more information, see Billing.

    コンテナーの予測エンドポイントに対するクエリの実行Query the container's prediction endpoint

    コンテナーContainer エンドポイントEndpoint
    音声テキスト変換Speech-to-text ws://localhost:5000/speech/recognition/dictation/cognitiveservices/v1ws://localhost:5000/speech/recognition/dictation/cognitiveservices/v1
    テキスト読み上げText-to-speech http://localhost:5000/speech/synthesize/cognitiveservices/v1


    コンテナーは、websocket ベースのクエリ エンドポイント API シリーズを提供します。これには、Speech SDK を介してアクセスします。The container provides websocket-based query endpoint APIs, that are accessed through the Speech SDK.

    既定では、Speech SDK は、オンラインの音声サービスを使用します。By default, the Speech SDK uses online speech services. コンテナーを使用するには、初期化方法を変更する必要があります。To use the container, you need to change the initialization method. 次の例を参照してください。See the examples below.

    C# の場合For C#

    この Azure クラウド初期化呼び出しを使用する方法をChange from using this Azure-cloud initialization call:

    var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");

    次のようにコンテナー エンドポイントを使用する呼び出しに変更します。to this call using the container endpoint:

    var config = SpeechConfig.FromEndpoint("ws://localhost:5000/speech/recognition/dictation/cognitiveservices/v1", "YourSubscriptionKey");

    Python の場合For Python

    この Azure クラウド初期化呼び出しを使用する方法をChange from using this Azure-cloud initialization call

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

    次のようにコンテナー エンドポイントを使用する呼び出しに変更します。to this call using the container endpoint:

    speech_config = speechsdk.SpeechConfig(subscription=speech_key, endpoint="ws://localhost:5000/speech/recognition/dictation/cognitiveservices/v1")


    コンテナーは、こちらにある REST エンドポイント API シリーズを提供します。サンプルについては、こちらを参照してください。The container provides REST endpoint APIs which can be found here and samples can be found here.

    コンテナーが実行されていることを検証するValidate that a container is running

    コンテナーが実行されていることを検証する方法は複数あります。There are several ways to validate that the container is running.

    RequestRequest 目的Purpose
    http://localhost:5000/ コンテナーには、ホーム ページが用意されています。The container provides a home page.
    http://localhost:5000/status GET で要求され、エンドポイント クエリを発生させずにコンテナーが実行されていることを検証します。Requested with GET, to validate that the container is running without causing an endpoint query. この要求は Kubernetes の liveness probe と readiness probe に対して使用できます。This request can be used for Kubernetes liveness and readiness probes.
    http://localhost:5000/swagger コンテナーには、エンドポイントの完全なドキュメント一式と、Try it now 機能が用意されています。The container provides a full set of documentation for the endpoints and a Try it now feature. この機能を使用すると、コードを一切記述することなく、お客様の設定を Web ベースの HTML フォームに入力したりクエリを実行したりできます。With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. クエリから戻った後、HTTP ヘッダーと HTTP 本文の必要な形式を示すサンプル CURL コマンドが得られます。After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

    コンテナーのホーム ページ

    コンテナーの停止Stop the container

    コンテナーをシャットダウンするには、コンテナーが実行されているコマンドライン環境で、Ctrl + C キーを押します。To shut down the container, in the command-line environment where the container is running, select Ctrl+C.


    コンテナーを実行するとき、コンテナーでは stdoutstderr を使用して、コンテナーの起動時または実行時に発生した問題のトラブルシューティングに役立つ情報を出力します。When you run the container, the container uses stdout and stderr to output information that is helpful to troubleshoot issues that happen while starting or running the container.


    Speech コンテナーは、Azure アカウントの Speech リソースを使用して、Azure に課金情報を送信します。The Speech containers send billing information to Azure, using a Speech resource on your Azure account.

    コンテナーへのクエリは、<ApiKey> に使用される Azure リソースの価格レベルで課金されます。Queries to the container are billed at the pricing tier of the Azure resource that's used for the <ApiKey>.

    Azure Cognitive Services コンテナーは、計測のために課金エンドポイントに接続していないと、実行のライセンスが許可されません。Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. お客様は、コンテナーが常に課金エンドポイントに課金情報を伝えられるようにする必要があります。You must enable the containers to communicate billing information with the billing endpoint at all times. Cognitive Services コンテナーが、お客様のデータ (解析対象の画像やテキストなど) を Microsoft に送信することはありません。Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

    Azure への接続Connect to Azure

    コンテナーには、実行する課金引数の値が必要です。The container needs the billing argument values to run. これらの値により、コンテナーは課金エンドポイントに接続することができます。These values allow the container to connect to the billing endpoint. コンテナーから、約 10 ~ 15 分ごとに使用状況が報告されます。The container reports usage about every 10 to 15 minutes. 許可された時間枠内でコンテナーが Azure に接続しなかった場合、コンテナーは引き続き実行されますが、課金エンドポイントが復元されるまでクエリには対応しません。If the container doesn't connect to Azure within the allowed time window, the container continues to run but doesn't serve queries until the billing endpoint is restored. 接続は、10 ~15 分の同じ時間間隔で、10 回試行されます。The connection is attempted 10 times at the same time interval of 10 to 15 minutes. 10 回以内に課金エンドポイントに接続できなかった場合は、コンテナーの実行が停止されます。If it can't connect to the billing endpoint within the 10 tries, the container stops running.

    課金引数Billing arguments

    docker run コマンドでコンテナーを起動するには、次の 3 つのオプションすべてに有効な値を指定する必要があります。For the docker run command to start the container, all three of the following options must be specified with valid values:

    オプションOption 説明Description
    ApiKey 課金情報を追跡するために使用される Cognitive Services リソースの API キー。The API key of the Cognitive Services resource that's used to track billing information.
    このオプションの値には、Billing に指定されたプロビジョニング済みのリソースの API キーが設定されている必要があります。The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
    Billing 課金情報を追跡するために使用される Cognitive Services リソースのエンドポイント。The endpoint of the Cognitive Services resource that's used to track billing information.
    このオプションの値には、プロビジョニング済みの Azure リソースのエンドポイント URI が設定されている必要があります。The value of this option must be set to the endpoint URI of a provisioned Azure resource.
    Eula お客様がコンテナーのライセンスに同意したことを示します。Indicates that you accepted the license for the container.
    このオプションの値は accept に設定する必要があります。The value of this option must be set to accept.

    これらのオプションの詳細については、「コンテナーの構成」を参照してください。For more information about these options, see Configure containers.

    ブログ記事Blog posts

    開発者向けサンプルDeveloper samples

    開発者向けサンプルは、GitHub リポジトリから入手できます。Developer samples are available at our GitHub repository.

    ウェビナーの閲覧View webinar

    ウェビナーに参加して、以下について学習します。Join the webinar to learn about:

    • Docker を使用して任意のマシンに Cognitive Services をデプロイする方法How to deploy Cognitive Services to any machine using Docker
    • Cognitive Services を AKS にデプロイする方法How to deploy Cognitive Services to AKS


    この記事では、Speech コンテナーの概念とそのダウンロード、インストール、および実行のワークフローについて学習しました。In this article, you learned concepts and workflow for downloading, installing, and running Speech containers. 要約すると:In summary:

    • Speech は、音声テキスト変換とテキスト読み上げをカプセル化した 2 つの Linux コンテナーを Docker 用に提供します。Speech provides two Linux containers for Docker, encapsulating speech to text and text to speech.
    • コンテナー イメージは、Azure のプライベート コンテナー レジストリからダウンロードされます。Container images are downloaded from the private container registry in Azure.
    • コンテナー イメージを Docker で実行します。Container images run in Docker.
    • REST API または SDK を使用して、コンテナーのホスト URI を指定することによって、Speech コンテナーの操作を呼び出すことができます。You can use either the REST API or SDK to call operations in Speech containers by specifying the host URI of the container.
    • コンテナーをインスタンス化するときは、課金情報を指定する必要があります。You must specify billing information when instantiating a container.


    Cognitive Services コンテナーは、計測のために Azure に接続していないと、実行のライセンスが許可されません。Cognitive Services containers are not licensed to run without being connected to Azure for metering. お客様は、コンテナーが常に計測サービスに課金情報を伝えられるようにする必要があります。Customers need to enable the containers to communicate billing information with the metering service at all times. Cognitive Services コンテナーが、顧客データ (解析対象の画像やテキストなど) を Microsoft に送信することはありません。Cognitive Services containers do not send customer data (e.g., the image or text that is being analyzed) to Microsoft.

    次の手順Next steps