Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de Speech-service kunt u tekst converteren naar gesynthetiseerde spraak en een lijst met ondersteunde stemmen voor een regio ophalen met behulp van een REST API. In dit artikel leert u meer over autorisatieopties, queryopties, het structuren van een aanvraag en het interpreteren van een antwoord.
Tip
Gebruiksscenario's voor de text-to-speech REST API zijn beperkt. Gebruik deze alleen in gevallen waarin u de Speech SDK niet kunt gebruiken. Met de Speech SDK kunt u zich bijvoorbeeld abonneren op gebeurtenissen voor meer inzicht in de tekst in spraakverwerking en resultaten.
De tekst-naar-spraak REST API ondersteunt neurale tekst-naar-spraakstemmen in veel talen. Elk beschikbaar eindpunt is gekoppeld aan een regio. Een API-sleutel voor het eindpunt of de regio die u wilt gebruiken, is vereist. Hier volgen koppelingen naar meer informatie:
- Voor een volledige lijst met stemmen, zie Taal- en spraakondersteuning voor de Speech-service.
- Zie ondersteunde regio's van de Speech-service voor meer informatie over regionale beschikbaarheid.
- Zie dit artikel over onafhankelijke clouds voor Azure Government en Microsoft Azure beheerd door 21Vianet-eindpunten.
Belangrijk
De kosten variëren voor standaardstemmen en aangepaste stemmen. Zie de prijzen voor tekst-naar-spraak voor meer informatie.
Prerequisites
Om de REST API voor tekst-naar-spraak te gebruiken, hebt u het volgende nodig:
- Een Azure-account. Maak er gratis een.
- Een spraakresource in de Azure portal.
- De resourcesleutel en het eindpunt van de pagina Sleutels en eindpunt van uw Spraak-resource.
Verificatie
Voor elke aanvraag is een autorisatieheader vereist. In deze tabel ziet u welke headers worden ondersteund voor elke functie:
| Ondersteunde autorisatieheader | Spraak naar tekst | Tekst naar spraak |
|---|---|---|
Ocp-Apim-Subscription-Key |
Ja | Ja |
Authorization: Bearer |
Ja | Ja |
Wanneer u de Ocp-Apim-Subscription-Key header gebruikt, moet alleen uw resource-sleutel zijn opgegeven. Bijvoorbeeld:
'Ocp-Apim-Subscription-Key': 'YourSpeechResourceKey'
Wanneer u de Authorization: Bearer header gebruikt, moet u een aanvraag indienen bij het issueToken eindpunt. In deze aanvraag wisselt u uw resourcesleutel uit voor een toegangstoken dat tien minuten geldig is.
Een andere optie is om Microsoft Entra verificatie te gebruiken die ook gebruikmaakt van de Authorization: Bearer-header, maar met een token dat is uitgegeven via Microsoft Entra ID. Zie Use Microsoft Entra authentication.
Een toegangstoken ophalen
Als u een toegangstoken wilt ophalen, moet u een aanvraag indienen bij het issueToken eindpunt met behulp van Ocp-Apim-Subscription-Key en uw resourcesleutel.
Het issueToken eindpunt heeft deze indeling:
https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken
Vervang door YourResourceName de naam van uw Spraak-resource.
Opmerking
Dit eindpunt vereist dat uw resource een aangepast subdomein heeft geconfigureerd. Voor resources zonder een aangepast domein gebruikt u in plaats daarvan het regionale eindpunt: https://<region>.api.cognitive.microsoft.com/sts/v1.0/issueToken. Vervang <region> door de Azure regio van uw resource (bijvoorbeeld eastus).
Gebruik de volgende voorbeelden om uw toegangstokenaanvraag te maken.
HTTP-voorbeeld
Dit voorbeeld is een eenvoudige HTTP-aanvraag om een token op te halen. Vervang YourSpeechResourceKey door uw resource-sleutel voor de Speech-service. Vervang door YourResourceName de naam van uw Spraak-resource.
POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YourSpeechResourceKey
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0
De hoofdtekst van het antwoord bevat het toegangstoken in de JSON Web Token-indeling (JWT).
PowerShell-voorbeeld
Dit voorbeeld is een eenvoudig PowerShell-script om een toegangstoken op te halen. Vervang YourSpeechResourceKey door uw resource-sleutel voor de Speech-service. Vervang door YourResourceName de naam van uw Spraak-resource.
$FetchTokenHeader = @{
'Content-type'='application/x-www-form-urlencoded';
'Content-Length'= '0';
'Ocp-Apim-Subscription-Key' = 'YourSpeechResourceKey'
}
$OAuthToken = Invoke-RestMethod -Method POST `
-Uri https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken `
-Headers $FetchTokenHeader
# show the token received
$OAuthToken
cURL-voorbeeld
cURL is een opdrachtregelprogramma dat beschikbaar is in Linux (en in de Windows-subsysteem voor Linux). Deze cURL-opdracht illustreert hoe u een toegangstoken kunt ophalen. Vervang YourSpeechResourceKey door uw resource-sleutel voor de Speech-service. Vervang door YourResourceName de naam van uw Spraak-resource.
curl -v -X POST \
"https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken" \
-H "Content-type: application/x-www-form-urlencoded" \
-H "Content-Length: 0" \
-H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey"
C#-voorbeeld
Deze C#-klasse laat zien hoe u een toegangstoken kunt verkrijgen. Geef uw resourcesleutel door voor de Speech-service wanneer u de klasse instantiëren. Vervang door YourResourceName de naam van uw Spraak-resource.
public class Authentication
{
public static readonly string FetchTokenUri =
"https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken";
private string subscriptionKey;
private string token;
public Authentication(string subscriptionKey)
{
this.subscriptionKey = subscriptionKey;
this.token = FetchTokenAsync(FetchTokenUri, subscriptionKey).Result;
}
public string GetAccessToken()
{
return this.token;
}
private async Task<string> FetchTokenAsync(string fetchUri, string subscriptionKey)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
UriBuilder uriBuilder = new UriBuilder(fetchUri);
var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri, null);
Console.WriteLine("Token Uri: {0}", uriBuilder.Uri.AbsoluteUri);
return await result.Content.ReadAsStringAsync();
}
}
}
voorbeeld van Python
# Request module must be installed.
# Run pip install requests if necessary.
import requests
subscription_key = 'REPLACE_WITH_YOUR_KEY'
def get_token(subscription_key):
fetch_token_url = 'https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken'
headers = {
'Ocp-Apim-Subscription-Key': subscription_key
}
response = requests.post(fetch_token_url, headers=headers)
access_token = str(response.text)
print(access_token)
Een toegangstoken gebruiken
Het toegangstoken moet als header Authorization: Bearer <TOKEN> naar de service worden verzonden. Elk toegangstoken is 10 minuten geldig. U kunt op elk gewenst moment een nieuw token krijgen, maar om netwerkverkeer en latentie te minimaliseren, raden we u aan om hetzelfde token negen minuten te gebruiken.
Belangrijk
Bearer-tokens zijn gericht op het eindpunt dat ze heeft uitgegeven. Een token dat is verkregen van YourResourceName.cognitiveservices.azure.com werkt alleen voor aanvragen naar dezelfde host. Een token van <region>.api.cognitive.microsoft.com werkt alleen met regionale Speech-eindpunten. Als u een 401-fout ontvangt bij het gebruik van een Bearer-token, gebruik dan Ocp-Apim-Subscription-Key met de sleutel van uw resource, aangezien die met alle endpointindelingen werkt.
Hier volgt een voorbeeld van een HTTP-aanvraag voor de REST API voor spraak naar tekst voor korte audio:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Microsoft Entra-verificatie gebruiken
Als u Microsoft Entra verificatie wilt gebruiken met de REST API voor spraak-naar-tekst voor korte audio, moet u een toegangstoken maken. De stappen voor het verkrijgen van het toegangstoken dat bestaat uit resource-id en Microsoft Entra toegangstoken zijn hetzelfde als bij het gebruik van de Speech SDK. Volg de stappen hier Use Microsoft Entra authentication
- Een Foundry-resource voor Spraak maken
- De Spraak-resource configureren voor Microsoft Entra-verificatie
- Een Microsoft Entra-toegangstoken ophalen
- De spraakresource-id ophalen
Nadat de resource-id en het Microsoft Entra toegangstoken zijn verkregen, kan het werkelijke toegangstoken worden samengesteld volgens deze indeling:
aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN
U moet het voorvoegsel 'aad#' en het scheidingsteken '#' (hash) tussen de resource-id en het toegangstoken opnemen.
Hier volgt een voorbeeld van een HTTP-aanvraag voor de REST API voor spraak naar tekst voor korte audio:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Ga naar Access-tokens in de Microsoft identity platform voor meer informatie over Microsoft Entra toegangstokens, inclusief levensduur van tokens.
Een lijst met stemmen ophalen
U kunt uw Speech-resource-eindpunt gebruiken om een volledige lijst met stemmen op te halen. Gebruik het pad /tts/cognitiveservices/voices/list voor uw resource-eindpunt. Gebruik bijvoorbeeld het https://YourResourceName.cognitiveservices.azure.com/tts/cognitiveservices/voices/list eindpunt. Zie de documentatie voor regio's voor een lijst met alle ondersteunde regio's.
Opmerking
Stemmen en stijlen in preview zijn alleen beschikbaar in een subset van regio's. Zie de tabel Speech-serviceregio's voor de huidige lijst van regio's die in de openbare previewversie stemmen en stijlen ondersteunen.
Aanvraagheaders
Deze tabel bevat vereiste en optionele kopteksten voor tekst-naar-spraakaanvragen:
| Header | Beschrijving | Vereist of optioneel |
|---|---|---|
Ocp-Apim-Subscription-Key |
Uw spraakresource-sleutel. | Deze header of Authorization is vereist. |
Authorization |
Een autorisatietoken voorafgegaan door het woord Bearer. Zie Verificatie voor meer informatie. |
Deze header of Ocp-Apim-Subscription-Key is vereist. |
Verzoekinhoud
Er is geen hoofdtekst vereist voor GET aanvragen naar dit eindpunt.
Voorbeeldaanvraag
Voor deze aanvraag is alleen een autorisatieheader vereist:
GET /tts/cognitiveservices/voices/list HTTP/1.1
Host: YourResourceName.cognitiveservices.azure.com
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Hier volgt een voorbeeld van een curl-opdracht:
curl --location --request GET 'https://YourResourceName.cognitiveservices.azure.com/tts/cognitiveservices/voices/list' \
--header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'
Voorbeeldantwoord
u moet een antwoord ontvangen met een JSON-inhoud met alle ondersteunde locales, stemmen, geslacht, stijlen en andere details. De WordsPerMinute eigenschap voor elke stem kan worden gebruikt om de lengte van de uitvoerspraak te schatten. In dit JSON-voorbeeld ziet u gedeeltelijke resultaten om de structuur van een antwoord te illustreren:
[
// Redacted for brevity
{
"Name": "Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
"DisplayName": "Jenny",
"LocalName": "Jenny",
"ShortName": "en-US-JennyNeural",
"Gender": "Female",
"Locale": "en-US",
"LocaleName": "English (United States)",
"StyleList": [
"assistant",
"chat",
"customerservice",
"newscast",
"angry",
"cheerful",
"sad",
"excited",
"friendly",
"terrified",
"shouting",
"unfriendly",
"whispering",
"hopeful"
],
"SampleRateHertz": "48000",
"VoiceType": "Neural",
"Status": "GA",
"WordsPerMinute": "152"
},
// Redacted for brevity
{
"Name": "Microsoft Server Speech Text to Speech Voice (en-US, JennyMultilingualNeural)",
"DisplayName": "Jenny Multilingual",
"LocalName": "Jenny Multilingual",
"ShortName": "en-US-JennyMultilingualNeural",
"Gender": "Female",
"Locale": "en-US",
"LocaleName": "English (United States)",
"SecondaryLocaleList": [
"de-DE",
"en-AU",
"en-CA",
"en-GB",
"es-ES",
"es-MX",
"fr-CA",
"fr-FR",
"it-IT",
"ja-JP",
"ko-KR",
"pt-BR",
"zh-CN"
],
"SampleRateHertz": "48000",
"VoiceType": "Neural",
"Status": "GA",
"WordsPerMinute": "190"
},
// Redacted for brevity
{
"Name": "Microsoft Server Speech Text to Speech Voice (ga-IE, OrlaNeural)",
"DisplayName": "Orla",
"LocalName": "Orla",
"ShortName": "ga-IE-OrlaNeural",
"Gender": "Female",
"Locale": "ga-IE",
"LocaleName": "Irish (Ireland)",
"SampleRateHertz": "48000",
"VoiceType": "Neural",
"Status": "GA",
"WordsPerMinute": "139"
},
// Redacted for brevity
{
"Name": "Microsoft Server Speech Text to Speech Voice (zh-CN, YunxiNeural)",
"DisplayName": "Yunxi",
"LocalName": "云希",
"ShortName": "zh-CN-YunxiNeural",
"Gender": "Male",
"Locale": "zh-CN",
"LocaleName": "Chinese (Mandarin, Simplified)",
"StyleList": [
"narration-relaxed",
"embarrassed",
"fearful",
"cheerful",
"disgruntled",
"serious",
"angry",
"sad",
"depressed",
"chat",
"assistant",
"newscast"
],
"SampleRateHertz": "48000",
"VoiceType": "Neural",
"Status": "GA",
"RolePlayList": [
"Narrator",
"YoungAdultMale",
"Boy"
],
"WordsPerMinute": "293"
},
// Redacted for brevity
]
HTTP-statuscodes
De HTTP-statuscode voor elk antwoord duidt op geslaagde of veelvoorkomende fouten.
| HTTP-statuscode | Beschrijving | Mogelijke reden |
|---|---|---|
| 200 | OK | De aanvraag is geslaagd. |
| 400 | Foutieve aanvraag | Een vereiste parameter ontbreekt, leeg of null. Of de waarde die is doorgegeven aan een vereiste of optionele parameter, is ongeldig. Een veelvoorkomende reden is een header die te lang is. |
| 401 | Niet gemachtigd | De aanvraag is niet geautoriseerd. Zorg ervoor dat uw resource-sleutel of token geldig is en zich in de juiste regio bevindt. |
| 429 | Te veel aanvragen | U hebt het quotum of de frequentie van aanvragen overschreden die zijn toegestaan voor uw resource. |
| 502 | Bad Gateway | Er is een probleem aan de netwerk- of serverzijde. Deze status kan ook ongeldige headers aangeven. |
Tekst naar spraak converteren
Met cognitiveservices/v1 het eindpunt kunt u tekst converteren naar spraak met behulp van SSML (Speech Synthesis Markup Language).
Regio's en eindpunten
Deze regio's worden ondersteund voor tekst-naar-spraak via de REST API. Zorg ervoor dat u het eindpunt selecteert dat overeenkomt met uw spraakresourceregio.
Standaardstemmen
Gebruik deze tabel om de beschikbaarheid van neurale stemmen per regio of eindpunt te bepalen:
| Regio | Eindpunt |
|---|---|
| Australië - oost | https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Brazilië - zuid | https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Canada - centraal | https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Canada Oost | https://canadaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Centraal-VS | https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Azië - oost | https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Oost-VS | https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 |
| East US 2 | https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 |
| Frankrijk - centraal | https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Duitsland - west-centraal | https://germanywestcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| India Centraal | https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Italië - noord | https://italynorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Japan Oost | https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Japan West | https://japanwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| Centraal Korea | https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| VS - noord-centraal | https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Europa - noord | https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
| Noorwegen - oost | https://norwayeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Qatar Centraal | https://qatarcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zuid-Afrika - noord | https://southafricanorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zuid-Centraal VS | https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Azië - zuidoost | https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zweden - centraal | https://swedencentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zwitserland - noord | https://switzerlandnorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zwitserland - west | https://switzerlandwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| UAE - noord | https://uaenorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| VK Zuiden | https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 |
| VK West | https://ukwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| De Amerikaanse overheid van Arizona | https://usgovarizona.tts.speech.azure.us/cognitiveservices/v1 |
| US Overheid Virginia | https://usgovvirginia.tts.speech.azure.us/cognitiveservices/v1 |
| West-Centraal VS | https://westcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| West-Europa | https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
| West VS | https://westus.tts.speech.microsoft.com/cognitiveservices/v1 |
| West US 2 | https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 |
| West US 3 | https://westus3.tts.speech.microsoft.com/cognitiveservices/v1 |
Tip
Zie de tabel Speech-serviceregio's voor een actuele lijst van regio's die stemmen in de preview ondersteunen.
Aangepaste stemmen
Als u een aangepaste stem hebt gemaakt, gebruikt u het eindpunt dat u hebt gemaakt. U kunt ook de volgende eindpunten gebruiken. Vervang door {deploymentId} de implementatie-id voor uw aangepaste spraakmodel.
| Regio | Opleiding | Implementatie | Eindpunt |
|---|---|---|---|
| Australië - oost | Ja | Ja | https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Brazilië - zuid | Nee | Ja | https://brazilsouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Canada - centraal | Nee | Ja | https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Centraal-VS | Nee | Ja | https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Azië - oost | Nee | Ja | https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Oost-VS | Ja | Ja | https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| East US 2 | Ja | Ja | https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Frankrijk - centraal | Nee | Ja | https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Duitsland - west-centraal | Nee | Ja | https://germanywestcentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| India Centraal | Ja | Ja | https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Italië - noord | Nee | Ja | https://italynorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Japan Oost | Ja | Ja | https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Japan West | Nee | Ja | https://japanwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Centraal Korea | Ja | Ja | https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| VS - noord-centraal | Nee | Ja | https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Europa - noord | Ja | Ja | https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Noorwegen - oost | Nee | Ja | https://norwayeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zuid-Afrika - noord | Nee | Ja | https://southafricanorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zuid-Centraal VS | Ja | Ja | https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Azië - zuidoost | Ja | Ja | https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zweden - centraal | Nee | Ja | https://swedencentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zwitserland - noord | Nee | Ja | https://switzerlandnorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zwitserland - west | Nee | Ja | https://switzerlandwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| UAE - noord | Nee | Ja | https://uaenorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| VK Zuiden | Ja | Ja | https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| West-Centraal VS | Nee | Ja | https://westcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| West-Europa | Ja | Ja | https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| West VS | Ja | Ja | https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| West US 2 | Ja | Ja | https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| West US 3 | Nee | Ja | https://westus3.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Opmerking
De voorgaande regio's zijn beschikbaar voor standaard spraakmodelhosting en realtimesynthese. Aangepaste spraaktraining is alleen beschikbaar in sommige regio's. U kunt echter eenvoudig een aangepast spraakmodel van deze regio's kopiëren naar andere regio's in de voorgaande lijst.
Lange audio-API
De Long Audio-API is beschikbaar in meerdere regio's met unieke eindpunten:
| Regio | Eindpunt |
|---|---|
| Australië - oost | https://australiaeast.customvoice.api.speech.microsoft.com |
| Oost-VS | https://eastus.customvoice.api.speech.microsoft.com |
| India Centraal | https://centralindia.customvoice.api.speech.microsoft.com |
| Zuid-Centraal VS | https://southcentralus.customvoice.api.speech.microsoft.com |
| Azië - zuidoost | https://southeastasia.customvoice.api.speech.microsoft.com |
| VK Zuiden | https://uksouth.customvoice.api.speech.microsoft.com |
| West-Europa | https://westeurope.customvoice.api.speech.microsoft.com |
Aanvraagheaders
Deze tabel bevat vereiste en optionele kopteksten voor tekst-naar-spraakaanvragen:
| Header | Beschrijving | Vereist of optioneel |
|---|---|---|
Authorization |
Een autorisatietoken voorafgegaan door het woord Bearer. Zie Verificatie voor meer informatie. |
Vereist |
Content-Type |
Hiermee geeft u het inhoudstype voor de opgegeven tekst. Geaccepteerde waarde: application/ssml+xml. |
Vereist |
X-Microsoft-OutputFormat |
Hiermee wordt het audio-uitvoerformaat gespecificeerd. Zie Audio-uitvoer voor een volledige lijst met geaccepteerde waarden. | Vereist |
User-Agent |
De naam van de toepassing. De opgegeven waarde moet uit minder dan 255 tekens bestaan. | Vereist |
Verzoekinhoud
Als u een aangepaste stem gebruikt, kan de hoofdtekst van een aanvraag worden verzonden als tekst zonder opmaak (ASCII of UTF-8). Anders wordt de hoofdtekst van elke POST aanvraag verzonden als SSML. Met SSML kunt u de stem en taal van de gesynthetiseerde spraak kiezen die door de functie tekst naar spraak wordt geretourneerd. Zie voor een volledige lijst met ondersteunde stemmen Taal- en stemondersteuning voor de Speech-service.
Voorbeeldaanvraag
Deze HTTP-aanvraag maakt gebruik van SSML om de spraak en taal op te geven. Als de duur van de content lang is en de resulterende audio langer is dan 10 minuten, wordt deze ingekort tot 10 minuten. Met andere woorden, de audiolengte mag niet langer zijn dan 10 minuten.
POST /cognitiveservices/v1 HTTP/1.1
X-Microsoft-OutputFormat: riff-24khz-16bit-mono-pcm
Content-Type: application/ssml+xml
Host: YourResourceName.cognitiveservices.azure.com
Content-Length: <Length>
Authorization: Bearer [Base64 access_token]
User-Agent: <Your application name>
<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Male'
name='en-US-ChristopherNeural'>
I'm excited to try text to speech!
</voice></speak>
* Voor de lengte van de inhoud moet u uw eigen inhoudslengte gebruiken. In de meeste gevallen wordt deze waarde automatisch berekend.
HTTP-statuscodes
De HTTP-statuscode voor elk antwoord duidt op geslaagde of veelvoorkomende fouten:
| HTTP-statuscode | Beschrijving | Mogelijke reden |
|---|---|---|
| 200 | OK | De aanvraag is geslaagd. De hoofdtekst van het antwoord is een audiobestand. |
| 400 | Foutieve aanvraag | Een vereiste parameter ontbreekt, leeg of null. Of de waarde die is doorgegeven aan een vereiste of optionele parameter, is ongeldig. Een veelvoorkomende reden is een header die te lang is. |
| 401 | Niet gemachtigd | De aanvraag is niet geautoriseerd. Zorg ervoor dat uw Spraak-resourcesleutel of -token geldig is en zich in de juiste regio bevindt. |
| 415 | Niet-ondersteund mediatype | Het is mogelijk dat de verkeerde Content-Type waarde is opgegeven.
Content-Type moet worden ingesteld op application/ssml+xml. |
| 429 | Te veel aanvragen | U hebt het quotum of de frequentie van aanvragen overschreden die zijn toegestaan voor uw resource. |
| 502 | Bad Gateway | Er is een probleem aan de netwerk- of serverzijde. Deze status kan ook ongeldige headers aangeven. |
| 503 | Service niet beschikbaar | Er is om verschillende redenen een probleem aan de serverzijde. |
Als de HTTP-status is 200 OK, bevat de hoofdtekst van het antwoord een audiobestand in de aangevraagde indeling. Dit bestand kan worden afgespeeld wanneer het wordt overgedragen, opgeslagen in een buffer of opgeslagen in een bestand.
Audio-uitvoer
De ondersteunde streaming- en niet-streaming audio-indelingen worden in elke aanvraag verzonden in de X-Microsoft-OutputFormat-header. Elke indeling bevat een bitsnelheid en coderingstype. De Speech-service ondersteunt audio-uitgangen van 48 kHz, 24 kHz, 16 kHz en 8 kHz. Elk standaard spraakmodel is beschikbaar in 24kHz en hoge getrouwheid 48kHz.
amr-wb-16000hz
audio-16khz-16bit-32kbps-mono-opus
audio-16khz-32kbitrate-mono-mp3
audio-16khz-64kbitrate-mono-mp3
audio-16khz-128kbitrate-mono-mp3
audio-24khz-16bit-24kbps-mono-opus
audio-24khz-16bit-48kbps-mono-opus
audio-24khz-48kbitrate-mono-mp3
audio-24khz-96kbitrate-mono-mp3
audio-24khz-160kbitrate-mono-mp3
audio-48khz-96kbitrate-mono-mp3
audio-48khz-192kbitrate-mono-mp3
g722-16khz-64kbps
ogg-16khz-16bit-mono-opus
ogg-24khz-16bit-mono-opus
ogg-48khz-16bit-mono-opus
raw-8khz-8bit-mono-alaw
raw-8khz-8bit-mono-mulaw
raw-8khz-16bit-mono-pcm
raw-16khz-16bit-mono-pcm
raw-16khz-16bit-mono-truesilk
raw-22050hz-16bit-mono-pcm
raw-24khz-16bit-mono-pcm
raw-24khz-16bit-mono-truesilk
raw-44100hz-16bit-mono-pcm
raw-48khz-16bit-mono-pcm
webm-16khz-16bit-mono-opus
webm-24khz-16bit-24kbps-mono-opus
webm-24khz-16bit-mono-opus
Opmerking
Als u een uitvoerindeling van 48 kHz selecteert, wordt dienovereenkomstig het hoogwaardige spraakmodel met 48 kHz aangeroepen. De steekproefsnelheden behalve 24 kHz en 48kHz kunnen worden verkregen via upsampling of downsampling bij het synthetiseren, bijvoorbeeld 44,1kHz wordt downsampled van 48kHz.
Als de geselecteerde spraak- en uitvoerindeling verschillende bitsnelheden hebben, wordt de audio indien nodig opnieuw gesampled. U kunt de ogg-24khz-16bit-mono-opus indeling decoderen met behulp van de Opus-codec.