Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
A voice talent is the individual or target speaker whose voice you record and use to create personal voice profiles. With the personal voice feature, you must get explicit consent from the voice talent to create each voice. You need a recorded statement from the voice talent that acknowledges the customer (Azure Speech in Foundry Tools resource owner) creates and uses their voice. Use the consent statement to verify that the voice talent is the same person as the speaker in the personal voice audio prompt.
Tip
Before you get started, learn how to define and record your voice samples. See also the responsible AI disclosure for voice talent.
Consent statement
You need an audio recording of the voice talent speaking the consent statement. The language of the verbal statement must match the language of your training data.
You can get the consent statement text for each locale from the text to speech GitHub repository. See verbal-statement-all-locales.txt for the consent statement. The following example is for the en-US locale:
"I [state your first and last name] am aware that recordings of my voice will be used by [state the name of the company] to create and use a synthetic version of my voice."
Tip
For a sample consent statement and training data, see the Custom Voice sample data on GitHub.
Supported audio formats for consent audio
See the following table for the supported formats for consent audio files:
| Format | Sample rate | Bit rate | Bit depth |
|---|---|---|---|
| mp3 | 16 kHz, 24 kHz, 44.1 kHz, 48 kHz | 128 kbps, 192 kbps, 256 kbps, 320 kbps | / |
| wav | 16 kHz, 24 kHz, 44.1 kHz, 48 kHz | / | 16-bit, 24-bit, 32-bit |
Add voice talent consent
These steps continue from the Customize a model page you opened in Set up a personal voice.
On the Register voice talent step, select an existing voice talent, or select Add voice talent. When you add a voice talent, select one of the following options:
- Upload data to upload a prerecorded consent statement audio file.
- Record data to record the consent statement directly in the portal.
Upload a prerecorded consent statement
In the Upload data pane, provide the verbal consent statement:
- Select the Language of the recorded statement.
- Enter the Voice talent name. The name must match the person who recorded the consent statement, in the same language used in the recording.
- Enter the Company name. The company name must match what was spoken in the recording, in the same language.
- Drag and drop the audio file into the upload area, or select Browse for a file to select it.
Select Upload.
Record a consent statement in the portal
In the Record data pane, enter the voice talent details:
- Select the Language of the consent statement.
- Enter the Voice talent name and Company name as the voice talent says them in the recording.
Have the voice talent read the on-screen consent statement aloud.
Select Start recording. Have the voice talent read the consent statement, and then stop the recording.
Review the recording, and then select Done.
Continue to training data
Whether you select an existing voice talent or add one, confirm that their status is Succeeded in Data preview.
Select Next to continue to the Training data step in Create a personal voice.
Inspect an existing consent
You can inspect previously added consent recordings outside the customization wizard.
- Select Build > Services, and then select the Data tab. Use the tab within Services, not the separate Data item in the left navigation.
- Find the voice talent row tagged Personal voice.
- Open the row's Actions menu, and select View details.
- Review the locale, audio, and status.
If you need a different consent recording, use Add voice talent > Upload data or Record data on the Register voice talent step. Select the correct talent and confirm that its status is Succeeded before continuing.
Next steps
To add user consent to the personal voice project, you provide the prerecorded consent audio file from a publicly accessible URL (Consents_Create) or upload the audio file (Consents_Post).
Add consent from a file
In this scenario, the audio files must be available locally.
To add consent to a personal voice project from a local audio file, use the Consents_Post operation of the custom voice API. Construct the request body according to the following instructions:
- Set the required
projectIdproperty. See create a project. - Set the required
voiceTalentNameproperty. The voice talent name can't be changed later. - Set the required
companyNameproperty. The company name can't be changed later. - Set the required
audiodataproperty with the consent audio file. - Set the required
localeproperty. This should be the locale of the consent. The locale can't be changed later. You can find the text to speech locale list here.
Make an HTTP POST request using the URI as shown in the following Consents_Post example.
- Replace
YourResourceKeywith your Speech resource key. - Replace
YourResourceNamewith your Speech resource name. - Replace
JessicaConsentIdwith a consent ID of your choice. The case sensitive ID will be used in the consent's URI and can't be changed later.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourResourceKey" -F 'description="Consent for Jessica voice"' -F 'projectId="ProjectId"' -F 'voiceTalentName="Jessica Smith"' -F 'companyName="Contoso"' -F 'audiodata=@"D:\PersonalVoiceTest\jessica-consent.wav"' -F 'locale="en-US"' "https://YourResourceName.cognitiveservices.azure.com/customvoice/consents/JessicaConsentId?api-version=2026-01-01"
You should receive a response body in the following format:
{
"id": "JessicaConsentId",
"description": "Consent for Jessica voice",
"projectId": "ProjectId",
"voiceTalentName": "Jessica Smith",
"companyName": "Contoso",
"locale": "en-US",
"status": "NotStarted",
"createdDateTime": "2024-09-01T05:30:00.000Z",
"lastActionDateTime": "2024-09-02T10:15:30.000Z"
}
The response header contains the Operation-Location property. Use this URI to get details about the Consents_Post operation. Here's an example of the response header:
Operation-Location: https://YourResourceName.cognitiveservices.azure.com/customvoice/operations/070f7986-ef17-41d0-ba2b-907f0f28e314?api-version=2026-01-01
Operation-Id: 070f7986-ef17-41d0-ba2b-907f0f28e314
Add consent from a URL
In this scenario, the audio files must already be stored in an Azure Blob Storage container.
To add consent to a personal voice project from the URL of an audio file, use the Consents_Create operation of the custom voice API. Construct the request body according to the following instructions:
- Set the required
projectIdproperty. See create a project. - Set the required
voiceTalentNameproperty. The voice talent name can't be changed later. - Set the required
companyNameproperty. The company name can't be changed later. - Set the required
audioUrlproperty. The URL of the voice talent consent audio file. Use a URI with the shared access signatures (SAS) token. - Set the required
localeproperty. This should be the locale of the consent. The locale can't be changed later. You can find the text to speech locale list here.
Make an HTTP PUT request using the URI as shown in the following Consents_Create example.
- Replace
YourResourceKeywith your Speech resource key. - Replace
YourResourceNamewith your Speech resource name. - Replace
JessicaConsentIdwith a consent ID of your choice. The case sensitive ID will be used in the consent's URI and can't be changed later.
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
"description": "Consent for Jessica voice",
"projectId": "ProjectId",
"voiceTalentName": "Jessica Smith",
"companyName": "Contoso",
"audioUrl": "https://contoso.blob.core.windows.net/public/jessica-consent.wav?mySasToken",
"locale": "en-US"
} ' "https://YourResourceName.cognitiveservices.azure.com/customvoice/consents/JessicaConsentId?api-version=2026-01-01"
You should receive a response body in the following format:
{
"id": "JessicaConsentId",
"description": "Consent for Jessica voice",
"projectId": "ProjectId",
"voiceTalentName": "Jessica Smith",
"companyName": "Contoso",
"locale": "en-US",
"status": "NotStarted",
"createdDateTime": "2024-09-01T05:30:00.000Z",
"lastActionDateTime": "2024-09-02T10:15:30.000Z"
}
The response header contains the Operation-Location property. Use this URI to get details about the Consents_Create operation. Here's an example of the response header:
Operation-Location: https://YourResourceName.cognitiveservices.azure.com/customvoice/operations/070f7986-ef17-41d0-ba2b-907f0f28e314?api-version=2026-01-01
Operation-Id: 070f7986-ef17-41d0-ba2b-907f0f28e314