Skip to content

Commit 1567e84

Browse files
authored
Merge pull request #6317 from eric-urban/eur/custom-speech-projects
custom speech projects and API clarifications
2 parents ff3e87c + 5bd4f66 commit 1567e84

10 files changed

+144
-28
lines changed

articles/ai-services/speech-service/batch-transcription-audio-data.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ Follow these steps to restrict access to the storage account.
167167
1. Go to the [Azure portal](https://portal.azure.com/) and sign in to your Azure account.
168168
1. Select the Storage account.
169169
1. In the **Settings** group in the left pane, select **Configuration**.
170-
1. Select **Disabled** for **Allow Blob public access**.
170+
1. Select **Disabled** for **Allow Blob anonymous access**.
171171
1. Select **Disabled** for **Allow storage account key access**
172172
1. Select **Save**.
173173

articles/ai-services/speech-service/bring-your-own-storage-speech-resource.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ For example, you can allow traffic from selected public IP addresses and Azure V
385385
1. Go to the [Azure portal](https://portal.azure.com/) and sign in to your Azure account.
386386
1. Select the Storage account.
387387
1. In the *Settings* group in the left pane, select *Configuration*.
388-
1. Select *Disabled* for *Allow Blob public access*.
388+
1. Select *Disabled* for *Allow Blob anonymous access*.
389389
1. Select *Disabled* for *Allow storage account key access*
390390
1. Select *Save*.
391391

@@ -427,7 +427,7 @@ These are the most restricted security settings possible for the text to speech
427427
1. Go to the [Azure portal](https://portal.azure.com/) and sign in to your Azure account.
428428
1. Select the Storage account.
429429
1. In the *Settings* group in the left pane, select *Configuration*.
430-
1. Select *Disabled* for *Allow Blob public access*.
430+
1. Select *Disabled* for *Allow Blob anonymous access*.
431431
1. Select *Disabled* for *Allow storage account key access*
432432
1. Select *Save*.
433433

articles/ai-services/speech-service/how-to-audio-content-creation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ After you review your audio output and are satisfied with your tuning and adjust
141141

142142
If you lose access permission to your Bring Your Own Storage (BYOS), you can't view, create, edit, or delete files. To resume your access, you need to remove the current storage and reconfigure the BYOS in the [Azure portal](https://portal.azure.com/#allservices). To learn more about how to configure BYOS, see [Mount Azure Storage as a local share in App Service](/azure/app-service/configure-connect-to-azure-storage?pivots=container-linux&tabs=portal).
143143

144-
After configuring the BYOS permission, you need to configure anonymous public read access for related containers and blobs. Otherwise, blob data isn't available for public access and your lexicon file in the blob is inaccessible. By default, a container’s public access setting is disabled. To grant anonymous users read access to a container and its blobs, first set **Allow Blob public access** to **Enabled** to allow public access for the storage account, then set the container's (named **acc-public-files**) public access level (**anonymous read access for blobs only**). To learn more about how to configure anonymous public read access, see [Configure anonymous public read access for containers and blobs](/azure/storage/blobs/anonymous-read-access-configure?tabs=portal).
144+
After configuring the BYOS permission, you need to configure anonymous public read access for related containers and blobs. Otherwise, blob data isn't available for public access and your lexicon file in the blob is inaccessible. By default, a container’s public access setting is disabled. To grant anonymous users read access to a container and its blobs, first set **Allow Blob anonymous access** to **Enabled** to allow public access for the storage account, then set the container's (named **acc-public-files**) public access level (**anonymous read access for blobs only**). To learn more about how to configure anonymous public read access, see [Configure anonymous public read access for containers and blobs](/azure/storage/blobs/anonymous-read-access-configure?tabs=portal).
145145

146146
## Add or remove Audio Content Creation users
147147

articles/ai-services/speech-service/how-to-custom-speech-create-project.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ zone_pivot_groups: foundry-speech-studio
1616

1717
With custom speech, you can enhance speech recognition accuracy for your applications by using a custom model for real-time speech to text, speech translation, and batch transcription.
1818

19+
> [!TIP]
20+
> Bring your custom speech models from [Speech Studio](https://speech.microsoft.com) to the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). In Azure AI Foundry portal, you can pick up where you left off by connecting to your existing Speech resource. For more information about connecting to an existing Speech resource, see [Connect to an existing Speech resource](../../ai-studio/ai-services/how-to/connect-ai-services.md#connect-azure-ai-services-after-you-create-a-project).
21+
1922
You create a custom speech model by fine-tuning an Azure AI Speech base model with your own data. You can upload your data, test and train a custom model, compare accuracy between models, and deploy a model to a custom endpoint.
2023

2124
This article shows you how to use fine-tuning to create a custom speech model. For more information about custom speech, see the [custom speech overview](./custom-speech-overview.md) documentation.
@@ -63,7 +66,7 @@ After fine-tuning, you can access your custom speech models and deployments from
6366

6467
::: zone pivot="speech-studio"
6568

66-
To create a custom speech project in [Speech Studio](https://aka.ms/speechstudio/customspeech), follow these steps:
69+
After you create a custom speech project, you can access your custom speech models and deployments from the **Custom speech** page.
6770

6871
1. Sign in to the [Speech Studio](https://aka.ms/speechstudio/customspeech).
6972
1. Select the subscription and Speech resource to work with.
@@ -78,6 +81,46 @@ Select the new project by name or select **Go to project**. Then you should see
7881

7982
::: zone-end
8083

84+
85+
## Get the project ID for the REST API
86+
87+
::: zone pivot="ai-foundry-portal"
88+
89+
When you use the speech to text REST API for custom speech, you need to set the `project` property to the ID of your custom speech project. You need to set the `project` property so that you can manage fine-tuning in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs).
90+
91+
> [!IMPORTANT]
92+
> The project ID for custom speech isn't the same as the ID of the Azure AI Foundry project.
93+
94+
You can find the project ID in the URL after you select or start fine-tuning a custom speech model.
95+
96+
1. Sign in to the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs).
97+
1. Select **Fine-tuning** from the left pane.
98+
1. Select **AI Service fine-tuning**.
99+
1. Select the custom model that you want to check from the **Model name** column.
100+
1. Inspect the URL in your browser. The project ID is part of the URL. For example, the project ID is `00001111-aaaa-2222-bbbb-3333cccc4444` in the following URL:
101+
102+
```https
103+
https://ai.azure.com/build/models/aiservices/speech/customspeech/00001111-aaaa-2222-bbbb-3333cccc4444/<REDACTED_FOR_BREVITY>
104+
```
105+
106+
::: zone-end
107+
108+
::: zone pivot="speech-studio"
109+
110+
When you use the speech to text REST API for custom speech, you need to set the `project` property to the ID of your custom speech project. You need to set the `project` property so that you can manage fine-tuning in the [Speech Studio](https://aka.ms/speechstudio/customspeech).
111+
112+
To get the project ID for a custom speech project in [Speech Studio](https://aka.ms/speechstudio/customspeech):
113+
114+
1. Sign in to the [Speech Studio](https://aka.ms/speechstudio/customspeech) and select the **Custom speech** tile.
115+
1. Select your custom speech project.
116+
1. Inspect the URL in your browser. The project ID is part of the URL. For example, the project ID is `00001111-aaaa-2222-bbbb-3333cccc4444` in the following URL:
117+
118+
```https
119+
https://speech.microsoft.com/portal/<Your-Resource-ID>/customspeech/00001111-aaaa-2222-bbbb-3333cccc4444
120+
```
121+
122+
::: zone-end
123+
81124
## Related content
82125
83126
* [Training and testing datasets](./how-to-custom-speech-test-and-train.md)

articles/ai-services/speech-service/how-to-custom-speech-deploy-model.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ You can deploy an endpoint for a base or custom model, and then [update](#change
2626
2727
## Add a deployment endpoint
2828

29+
> [!TIP]
30+
> Bring your custom speech models from [Speech Studio](https://speech.microsoft.com) to the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). In Azure AI Foundry portal, you can pick up where you left off by connecting to your existing Speech resource. For more information about connecting to an existing Speech resource, see [Connect to an existing Speech resource](../../ai-studio/ai-services/how-to/connect-ai-services.md#connect-azure-ai-services-after-you-create-a-project).
31+
2932
::: zone pivot="ai-foundry-portal"
3033

3134
1. Sign in to the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs).
@@ -80,9 +83,11 @@ Select the endpoint link to view information specific to it, such as the endpoin
8083

8184
::: zone pivot="speech-cli"
8285

86+
Before proceeding, make sure that you have the [Speech CLI](./spx-basics.md) installed and configured.
87+
8388
To create an endpoint and deploy a model, use the `spx csr endpoint create` command. Construct the request parameters according to the following instructions:
8489

85-
- Set the `project` property to the ID of an existing project. This property is recommended so that you can also view and manage the endpoint in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). You can run the `spx csr project list` command to get available projects.
90+
- Set the `project` property to the ID of an existing project. The `project` property is recommended so that you can also manage fine-tuning for custom speech in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). To get the project ID, see [Get the project ID for the REST API](./how-to-custom-speech-create-project.md#get-the-project-id-for-the-rest-api) documentation.
8691
- Set the required `model` property to the ID of the model that you want deployed to the endpoint.
8792
- Set the required `language` property. The endpoint locale must match the locale of the model. The locale can't be changed later. The Speech CLI `language` property corresponds to the `locale` property in the JSON request and response.
8893
- Set the required `name` property. This is the name that is displayed in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). The Speech CLI `name` property corresponds to the `displayName` property in the JSON request and response.
@@ -94,6 +99,9 @@ Here's an example Speech CLI command to create an endpoint and deploy a model:
9499
spx csr endpoint create --api-version v3.2 --project YourProjectId --model YourModelId --name "My Endpoint" --description "My Endpoint Description" --language "en-US"
95100
```
96101

102+
> [!IMPORTANT]
103+
> You must set `--api-version v3.2`. The Speech CLI uses the REST API, but doesn't yet support versions later than `v3.2`.
104+
97105
You should receive a response body in the following format:
98106

99107
```json
@@ -140,7 +148,7 @@ spx help csr endpoint
140148

141149
To create an endpoint and deploy a model, use the [Endpoints_Create](/rest/api/speechtotext/endpoints/create) operation of the [Speech to text REST API](rest-speech-to-text.md). Construct the request body according to the following instructions:
142150

143-
- Set the `project` property to the URI of an existing project. This property is recommended so that you can also view and manage the endpoint in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). You can make a [Projects_List](/rest/api/speechtotext/projects/list) request to get available projects.
151+
- Set the `project` property to the URI of an existing project. This property is recommended so that you can also view and manage the endpoint in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). To get the project ID, see [Get the project ID for the REST API](./how-to-custom-speech-create-project.md#get-the-project-id-for-the-rest-api) documentation.
144152
- Set the required `model` property to the URI of the model that you want deployed to the endpoint.
145153
- Set the required `locale` property. The endpoint locale must match the locale of the model. The locale can't be changed later.
146154
- Set the required `displayName` property. This is the name that is displayed in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs).
@@ -225,6 +233,8 @@ To use a new model and redeploy the custom endpoint:
225233

226234
::: zone pivot="speech-cli"
227235

236+
Before proceeding, make sure that you have the [Speech CLI](./spx-basics.md) installed and configured.
237+
228238
To redeploy the custom endpoint with a new model, use the `spx csr model update` command. Construct the request parameters according to the following instructions:
229239

230240
- Set the required `endpoint` property to the ID of the endpoint that you want deployed.
@@ -236,6 +246,9 @@ Here's an example Speech CLI command that redeploys the custom endpoint with a n
236246
spx csr endpoint update --api-version v3.2 --endpoint YourEndpointId --model YourModelId
237247
```
238248

249+
> [!IMPORTANT]
250+
> You must set `--api-version v3.2`. The Speech CLI uses the REST API, but doesn't yet support versions later than `v3.2`.
251+
239252
You should receive a response body in the following format:
240253

241254
```json
@@ -351,6 +364,8 @@ To download the endpoint logs:
351364

352365
::: zone pivot="speech-cli"
353366

367+
Before proceeding, make sure that you have the [Speech CLI](./spx-basics.md) installed and configured.
368+
354369
To get logs for an endpoint, use the `spx csr endpoint list` command. Construct the request parameters according to the following instructions:
355370

356371
- Set the required `endpoint` property to the ID of the endpoint that you want to get logs.
@@ -361,6 +376,9 @@ Here's an example Speech CLI command that gets logs for an endpoint:
361376
spx csr endpoint list --api-version v3.2 --endpoint YourEndpointId
362377
```
363378

379+
> [!IMPORTANT]
380+
> You must set `--api-version v3.2`. The Speech CLI uses the REST API, but doesn't yet support versions later than `v3.2`.
381+
364382
The locations of each log file with more details are returned in the response body.
365383

366384
::: zone-end

articles/ai-services/speech-service/how-to-custom-speech-evaluate-data.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ In this article, you learn how to quantitatively measure and improve the accurac
2222

2323
## Create a test
2424

25+
> [!TIP]
26+
> Bring your custom speech models from [Speech Studio](https://speech.microsoft.com) to the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). In Azure AI Foundry portal, you can pick up where you left off by connecting to your existing Speech resource. For more information about connecting to an existing Speech resource, see [Connect to an existing Speech resource](../../ai-studio/ai-services/how-to/connect-ai-services.md#connect-azure-ai-services-after-you-create-a-project).
27+
2528
You can test the accuracy of your custom model by creating a test. A test requires a collection of audio files and their corresponding transcriptions. You can compare a custom model's accuracy with a speech to text base model or another custom model. After you [get](#get-test-results) the test results, [evaluate the word error rate (WER)](#evaluate-word-error-rate-wer) compared to speech recognition results.
2629

2730
After you [upload training and testing datasets](how-to-custom-speech-upload-data.md), you can create a test.
@@ -74,9 +77,11 @@ Follow these steps to create an accuracy test:
7477

7578
::: zone pivot="speech-cli"
7679

80+
Before proceeding, make sure that you have the [Speech CLI](./spx-basics.md) installed and configured.
81+
7782
To create a test, use the `spx csr evaluation create` command. Construct the request parameters according to the following instructions:
7883

79-
- Set the `project` property to the ID of an existing project. This property is recommended so that you can also view the test in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). You can run the `spx csr project list` command to get available projects.
84+
- Set the `project` property to the ID of an existing project. The `project` property is recommended so that you can also manage fine-tuning for custom speech in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). To get the project ID, see [Get the project ID for the REST API](./how-to-custom-speech-create-project.md#get-the-project-id-for-the-rest-api) documentation.
8085
- Set the required `model1` property to the ID of a model that you want to test.
8186
- Set the required `model2` property to the ID of another model that you want to test. If you don't want to compare two models, use the same model for both `model1` and `model2`.
8287
- Set the required `dataset` property to the ID of a dataset that you want to use for the test.
@@ -89,6 +94,9 @@ Here's an example Speech CLI command that creates a test:
8994
spx csr evaluation create --api-version v3.2 --project aaaabbbb-0000-cccc-1111-dddd2222eeee --dataset bbbbcccc-1111-dddd-2222-eeee3333ffff --model1 ccccdddd-2222-eeee-3333-ffff4444aaaa --model2 ddddeeee-3333-ffff-4444-aaaa5555bbbb --name "My Evaluation" --description "My Evaluation Description"
9095
```
9196

97+
> [!IMPORTANT]
98+
> You must set `--api-version v3.2`. The Speech CLI uses the REST API, but doesn't yet support versions later than `v3.2`.
99+
92100
You should receive a response body in the following format:
93101

94102
```json
@@ -159,7 +167,7 @@ spx help csr evaluation
159167

160168
To create a test, use the [Evaluations_Create](/rest/api/speechtotext/evaluations/create) operation of the [Speech to text REST API](rest-speech-to-text.md). Construct the request body according to the following instructions:
161169

162-
- Set the `project` property to the URI of an existing project. This property is recommended so that you can also view the test in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). You can make a [Projects_List](/rest/api/speechtotext/projects/list) request to get available projects.
170+
- Set the `project` property to the ID of an existing project. The `project` property is recommended so that you can also manage fine-tuning for custom speech in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs). To get the project ID, see [Get the project ID for the REST API](./how-to-custom-speech-create-project.md#get-the-project-id-for-the-rest-api) documentation.
163171
- Set the `testingKind` property to `Evaluation` within `customProperties`. If you don't specify `Evaluation`, the test is treated as a quality inspection test. Whether the `testingKind` property is set to `Evaluation` or `Inspection`, or not set, you can access the accuracy scores via the API, but not in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs).
164172
- Set the required `model1` property to the URI of a model that you want to test.
165173
- Set the required `model2` property to the URI of another model that you want to test. If you don't want to compare two models, use the same model for both `model1` and `model2`.
@@ -277,6 +285,8 @@ This page lists all the utterances in your dataset and the recognition results,
277285

278286
::: zone pivot="speech-cli"
279287

288+
Before proceeding, make sure that you have the [Speech CLI](./spx-basics.md) installed and configured.
289+
280290
To get test results, use the `spx csr evaluation status` command. Construct the request parameters according to the following instructions:
281291

282292
- Set the required `evaluation` property to the ID of the evaluation that you want to get test results.
@@ -287,6 +297,9 @@ Here's an example Speech CLI command that gets test results:
287297
spx csr evaluation status --api-version v3.2 --evaluation aaaabbbb-6666-cccc-7777-dddd8888eeee
288298
```
289299

300+
> [!IMPORTANT]
301+
> You must set `--api-version v3.2`. The Speech CLI uses the REST API, but doesn't yet support versions later than `v3.2`.
302+
290303
The word error rates and more details are returned in the response body.
291304

292305
You should receive a response body in the following format:

0 commit comments

Comments
 (0)