Skip to content

Commit 2a68e84

Browse files
authored
Merge pull request #225639 from goergenj/docs-editor/releasenotes-1675114658
Disconnected CSTT Container GA release docs update
2 parents 2902b16 + 950fc0b commit 2a68e84

File tree

5 files changed

+88
-24
lines changed

5 files changed

+88
-24
lines changed

articles/cognitive-services/Speech-Service/includes/release-notes/release-notes-containers.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ ms.date: 11/29/2022
66
ms.author: eur
77
---
88

9-
109
### 2023-January release
1110

1211
#### New container versions
@@ -20,6 +19,8 @@ Fix Hypothesis mode issue
2019

2120
Fix HTTP Proxy issue
2221

22+
Custom Speech-to-Text container disconnected mode
23+
2324
Add CNV Disconnected container support to TTS Frontend
2425

2526
Add support for these locale-voices:
@@ -134,3 +135,4 @@ Regular monthly updates including security upgrades and vulnerability fixes.
134135
Add support for these prebuilt neural voices: `am-et-amehaneural`, `am-et-mekdesneural`, `so-so-muuseneural` and `so-so-ubaxneural`.
135136

136137
Regular monthly updates including security upgrades and vulnerability fixes.
138+

articles/cognitive-services/Speech-Service/releasenotes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Azure Cognitive Service for Speech is updated on an ongoing basis. To stay up-to
1919

2020
## Recent highlights
2121

22+
* Custom Speech-to-Text container disconnected mode was released in January 2023.
2223
* Speech SDK 1.25.0 was released in January 2023.
2324
* Text-to-speech Batch synthesis API is available in public preview.
2425
* Speech-to-text REST API version 3.1 is generally available.

articles/cognitive-services/Speech-Service/speech-container-configuration.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,9 @@ The following Docker examples are for the Speech container.
129129

130130
### Basic example for Speech-to-text
131131

132+
132133
```Docker
133-
docker run --rm -it -p 5000:5000 --memory 4g --cpus 4 \
134+
docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
134135
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text \
135136
Eula=accept \
136137
Billing={ENDPOINT_URI} \
@@ -139,8 +140,9 @@ ApiKey={API_KEY}
139140

140141
### Logging example for Speech-to-text
141142

143+
142144
```Docker
143-
docker run --rm -it -p 5000:5000 --memory 4g --cpus 4 \
145+
docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
144146
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
145147
Eula=accept \
146148
Billing={ENDPOINT_URI} \
@@ -152,8 +154,9 @@ Logging:Console:LogLevel:Default=Information
152154

153155
### Basic example for Custom Speech-to-text
154156

157+
155158
```Docker
156-
docker run --rm -it -p 5000:5000 --memory 4g --cpus 4 \
159+
docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
157160
-v {VOLUME_MOUNT}:/usr/local/models \
158161
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
159162
ModelId={MODEL_ID} \
@@ -164,8 +167,9 @@ ApiKey={API_KEY}
164167

165168
### Logging example for Custom Speech-to-text
166169

170+
167171
```Docker
168-
docker run --rm -it -p 5000:5000 --memory 4g --cpus 4 \
172+
docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
169173
-v {VOLUME_MOUNT}:/usr/local/models \
170174
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
171175
ModelId={MODEL_ID} \
@@ -202,8 +206,9 @@ Logging:Console:LogLevel:Default=Information
202206

203207
### Basic example for Speech language identification
204208

209+
205210
```Docker
206-
docker run --rm -it -p 5000:5000 --memory 12g --cpus 6 \
211+
docker run --rm -it -p 5000:5000 --memory 1g --cpus 1 \
207212
mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection \
208213
Eula=accept \
209214
Billing={ENDPOINT_URI} \
@@ -212,8 +217,9 @@ ApiKey={API_KEY}
212217

213218
### Logging example for Speech language identification
214219

220+
215221
```Docker
216-
docker run --rm -it -p 5000:5000 --memory 12g --cpus 6 \
222+
docker run --rm -it -p 5000:5000 --memory 1g --cpus 1 \
217223
mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection \
218224
Eula=accept \
219225
Billing={ENDPOINT_URI} \
@@ -226,3 +232,4 @@ Logging:Console:LogLevel:Default=Information
226232

227233
- Review [How to install and run containers](speech-container-howto.md)
228234

235+

articles/cognitive-services/Speech-Service/speech-container-howto.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,21 @@ You must meet the following prerequisites before you use Speech service containe
5353

5454
The following table describes the minimum and recommended allocation of resources for each Speech container:
5555

56-
| Container | Minimum | Recommended |
57-
|-----------|---------|-------------|
58-
| Speech-to-text | 4 core, 4-GB memory | 8 core, 6-GB memory |
59-
| Custom speech-to-text | 4 core, 4-GB memory | 8 core, 6-GB memory |
60-
| Speech language identification | 1 core, 1-GB memory | 1 core, 1-GB memory |
61-
| Neural text-to-speech | 6 core, 12-GB memory | 8 core, 16-GB memory |
56+
| Container | Minimum | Recommended |Speech Model|
57+
|-----------|---------|-------------| -------- |
58+
| Speech-to-text | 4 core, 4-GB memory | 8 core, 8-GB memory |+4 to 8 GB memory|
59+
| Custom speech-to-text | 4 core, 4-GB memory | 8 core, 8-GB memory |+4 to 8 GB memory|
60+
| Speech language identification | 1 core, 1-GB memory | 1 core, 1-GB memory |n/a|
61+
| Neural text-to-speech | 6 core, 12-GB memory | 8 core, 16-GB memory |n/a|
6262

6363
Each core must be at least 2.6 gigahertz (GHz) or faster.
6464

6565
Core and memory correspond to the `--cpus` and `--memory` settings, which are used as part of the `docker run` command.
6666

6767
> [!NOTE]
68-
> The minimum and recommended allocations are based on Docker limits, *not* the host machine resources. For example, speech-to-text containers memory map portions of a large language model. We recommend that the entire file should fit in memory, which is an additional 4 to 6 GB. Also, the first run of either container might take longer because models are being paged into memory.
68+
> The minimum and recommended allocations are based on Docker limits, *not* the host machine resources.
69+
> For example, speech-to-text containers memory map portions of a large language model. We recommend that the entire file should fit in memory. You need to add an additional 4 to 8 GB to load the speech modesl (see above table).
70+
> Also, the first run of either container might take longer because models are being paged into memory.
6971
7072
### Advanced Vector Extension support
7173

@@ -127,7 +129,6 @@ To use the latest version of the container, you can use the `latest` tag. You ca
127129
| Speech language identification | `mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:latest` |
128130

129131
***
130-
131132
[!INCLUDE [Tip for using docker list](../../../includes/cognitive-services-containers-docker-list-tip.md)]
132133

133134
### Get the container image with docker pull
@@ -217,7 +218,6 @@ docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/language-d
217218
```
218219

219220
***
220-
221221
## Use the container
222222

223223
After the container is on the [host computer](#host-computer-requirements-and-recommendations), use the following process to work with the container.
@@ -237,7 +237,7 @@ Use the [docker run](https://docs.docker.com/engine/reference/commandline/run/)
237237
To run the standard speech-to-text container, execute the following `docker run` command:
238238

239239
```bash
240-
docker run --rm -it -p 5000:5000 --memory 4g --cpus 4 \
240+
docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
241241
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text \
242242
Eula=accept \
243243
Billing={ENDPOINT_URI} \
@@ -247,7 +247,7 @@ ApiKey={API_KEY}
247247
This command:
248248

249249
* Runs a *speech-to-text* container from the container image.
250-
* Allocates 4 CPU cores and 4 GB of memory.
250+
* Allocates 4 CPU cores and 8 GB of memory.
251251
* Exposes TCP port 5000 and allocates a pseudo-TTY for the container.
252252
* Automatically removes the container after it exits. The container image is still available on the host computer.
253253

@@ -364,7 +364,7 @@ The following table represents the various `docker run` parameters and their cor
364364
To run the custom speech-to-text container, execute the following `docker run` command:
365365

366366
```bash
367-
docker run --rm -it -p 5000:5000 --memory 4g --cpus 4 \
367+
docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
368368
-v {VOLUME_MOUNT}:/usr/local/models \
369369
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
370370
ModelId={MODEL_ID} \
@@ -376,7 +376,7 @@ ApiKey={API_KEY}
376376
This command:
377377

378378
* Runs a custom speech-to-text container from the container image.
379-
* Allocates 4 CPU cores and 4 GB of memory.
379+
* Allocates 4 CPU cores and 8 GB of memory.
380380
* Loads the custom speech-to-text model from the volume input mount, for example, *C:\CustomSpeech*.
381381
* Exposes TCP port 5000 and allocates a pseudo-TTY for the container.
382382
* Downloads the model given the `ModelId` (if not found on the volume mount).
@@ -513,14 +513,15 @@ docker run --rm -v ${HOME}:/root -ti antsu/on-prem-client:latest ./speech-to-tex
513513
Increasing the number of concurrent calls can affect reliability and latency. For language identification, we recommend a maximum of four concurrent calls using 1 CPU with 1 GB of memory. For hosts with 2 CPUs and 2 GB of memory, we recommend a maximum of six concurrent calls.
514514

515515
***
516-
517516
> [!IMPORTANT]
518517
> The `Eula`, `Billing`, and `ApiKey` options must be specified to run the container. Otherwise, the container won't start. For more information, see [Billing](#billing).
519518
520519
## Run the container in disconnected environments
521520

522521
You must request access to use containers disconnected from the internet. For more information, see [Request access to use containers in disconnected environments](../containers/disconnected-containers.md#request-access-to-use-containers-in-disconnected-environments).
523522

523+
For Speech Service container configuration, see [Disconnected containers](../containers/disconnected-containers.md#speech-containers).
524+
524525
## Query the container's prediction endpoint
525526

526527
> [!NOTE]
@@ -644,7 +645,6 @@ speech_config.set_service_property(
644645
```
645646

646647
---
647-
648648
If you want to completely disable sentiment analysis, add a `false` value to `sentimentanalysis.enabled`.
649649

650650
```python
@@ -709,3 +709,5 @@ In this article, you learned concepts and workflow for how to download, install,
709709
* Review [configure containers](speech-container-configuration.md) for configuration settings.
710710
* Learn how to [use Speech service containers with Kubernetes and Helm](speech-container-howto-on-premises.md).
711711
* Use more [Cognitive Services containers](../cognitive-services-container-support.md).
712+
713+

articles/cognitive-services/containers/disconnected-containers.md

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,11 @@ If you're using the [Translator container](../translator/containers/translator-h
161161
-e TRANSLATORSYSTEMCONFIG=/path/to/model/config/translatorsystemconfig.json
162162
```
163163

164-
#### Speech-to-text, Custom Speech-to-Text and Neural text-to-speech containers
164+
#### Speech containers
165165

166-
The [Speech-to-Text](../speech-service/speech-container-howto.md?tabs=stt), [Custom Speech-to-Text](../speech-service/speech-container-howto.md?tabs=cstt) and [Neural Text-to-Speech](../speech-service/speech-container-howto.md?tabs=ntts) containers provide a default directory for writing the license file and billing log at runtime. The default directories are /license and /output respectively.
166+
# [Speech-to-text](#tab/stt)
167+
168+
The [Speech-to-Text](../speech-service/speech-container-howto.md?tabs=stt) container provides a default directory for writing the license file and billing log at runtime. The default directories are /license and /output respectively.
167169

168170
When you're mounting these directories to the container with the `docker run -v` command, make sure the local machine directory is set ownership to `user:group nonroot:nonroot` before running the container.
169171

@@ -173,6 +175,52 @@ Below is a sample command to set file/directory ownership.
173175
sudo chown -R nonroot:nonroot <YOUR_LOCAL_MACHINE_PATH_1> <YOUR_LOCAL_MACHINE_PATH_2> ...
174176
```
175177

178+
# [Neural Text-to-Speech](#tab/ntts)
179+
180+
The [Neural Text-to-Speech](../speech-service/speech-container-howto.md?tabs=ntts) container provides a default directory for writing the license file and billing log at runtime. The default directories are /license and /output respectively.
181+
182+
When you're mounting these directories to the container with the `docker run -v` command, make sure the local machine directory is set ownership to `user:group nonroot:nonroot` before running the container.
183+
184+
Below is a sample command to set file/directory ownership.
185+
186+
```bash
187+
sudo chown -R nonroot:nonroot <YOUR_LOCAL_MACHINE_PATH_1> <YOUR_LOCAL_MACHINE_PATH_2> ...
188+
```
189+
190+
# [Custom Speech-to-Text](#tab/cstt)
191+
192+
In order to prepare and configure the Custom Speech-to-Text container you will need two separate speech resources:
193+
194+
1. A regular Azure Speech Service resource which is either configured to use a "**S0 - Standard**" pricing tier or a "**Speech to Text (Custom)**" commitment tier pricing plan. This will be used to train, download, and configure your custom speech models for use in your container.
195+
1. An Azure Speech Service resource which is configured to use the "**DC0 Commitment (Disconnected)**" pricing plan. This is used to download your disconnected container license file required to run the container in disconnected mode.
196+
197+
To download all the required models into your Custom Speech-to-Text container follow the instructions for Custom Speech-to-Text containers on the [Install and run Speech containers](../speech-service/speech-container-howto.md?tabs=cstt) page and use the speech resource in step 1.
198+
199+
After all required models have been downloaded to your host computer, you need to download the disconnected license file using the instructions in the above chapter, titled [Configure the container to be run in a disconnected environment](./disconnected-containers.md#configure-the-container-to-be-run-in-a-disconnected-environment), using the Speech resource from step 2.
200+
201+
To run the container in disconnected mode, follow the instructions from above chapter titled [Run the container in a disconnected environment](./disconnected-containers.md#run-the-container-in-a-disconnected-environment) and add an additional `-v` parameter to mount the directory containing your custom speech model.
202+
203+
Example for running a Custom Speech-to-Text container in disconnected mode:
204+
```bash
205+
docker run --rm -it -p 5000:5000 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \
206+
-v {LICENSE_MOUNT} \
207+
-v {OUTPUT_PATH} \
208+
-v {MODEL_PATH} \
209+
{IMAGE} \
210+
eula=accept \
211+
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
212+
Mounts:Output={CONTAINER_OUTPUT_DIRECTORY}
213+
```
214+
215+
The [Custom Speech-to-Text](../speech-service/speech-container-howto.md?tabs=cstt) container provides a default directory for writing the license file and billing log at runtime. The default directories are /license and /output respectively.
216+
217+
When you're mounting these directories to the container with the `docker run -v` command, make sure the local machine directory is set ownership to `user:group nonroot:nonroot` before running the container.
218+
219+
Below is a sample command to set file/directory ownership.
220+
221+
```bash
222+
sudo chown -R nonroot:nonroot <YOUR_LOCAL_MACHINE_PATH_1> <YOUR_LOCAL_MACHINE_PATH_2> ...
223+
```
176224
## Usage records
177225

178226
When operating Docker containers in a disconnected environment, the container will write usage records to a volume where they're collected over time. You can also call a REST endpoint to generate a report about service usage.
@@ -255,3 +303,7 @@ If you run the container with an output mount and logging enabled, the container
255303
## Next steps
256304

257305
[Azure Cognitive Services containers overview](../cognitive-services-container-support.md)
306+
307+
308+
309+

0 commit comments

Comments
 (0)