Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit dem Spracherkennungsdienst können Sie Text in synthetisierte Sprache konvertieren und eine Liste der unterstützten Stimmen für einen Bereich mithilfe einer REST-API abrufen. In diesem Artikel erfahren Sie mehr über Autorisierungsoptionen, Abfrageoptionen, das Strukturieren einer Anforderung und das Interpretieren einer Antwort.
Tipp
Anwendungsfälle für die REST-API für Text zu Sprache sind eingeschränkt. Verwenden Sie sie nur in Fällen, in denen Sie das Speech SDK nicht verwenden können. Mit dem Speech SDK können Sie z. B. Ereignisse abonnieren , um weitere Einblicke in den Text zur Sprachverarbeitung und -ergebnisse zu erhalten.
Die Text-to-Speech-REST-API unterstützt neurale Text-to-Speech-Stimmen in vielen Regionen. Jeder verfügbare Endpunkt ist einer Region zugeordnet. Ein API-Schlüssel für den Endpunkt oder die Region, den Sie verwenden möchten, ist erforderlich. Hier sind Links zu weiteren Informationen:
- Eine vollständige Liste der Stimmen finden Sie unter Sprach- und Sprachunterstützung für den Sprachdienst.
- Informationen zur regionalen Verfügbarkeit finden Sie unter Sprachdienst unterstützte Regionen.
- Informationen zu Azure Government und von 21Vianet betriebenen Microsoft Azure-Endpunkten finden Sie in diesen Artikel zu souveränen Clouds.
Wichtig
Die Kosten variieren für Standardstimmungen und benutzerdefinierte Stimmen. Weitere Informationen finden Sie unter Preise für Text-zu-Sprache.
Voraussetzungen
Um die Text-zu-Sprache-REST-API zu verwenden, benötigen Sie Folgendes:
- Ein Azure Konto. Erstellen Sie ein kostenloses Konto.
- Eine Sprachressource im portal Azure.
- Ressourcenschlüssel und Endpunkt auf der Seite Schlüssel und Endpunkt Ihrer Speech-Ressource.
Authentifizierung
Jede Anforderung erfordert einen Autorisierungsheader. In dieser Tabelle wird veranschaulicht, welche Kopfzeilen für jedes Feature unterstützt werden:
| Unterstützter Autorisierungsheader | Sprach-zu-Text-Erkennung | Text-zu-Sprache |
|---|---|---|
Ocp-Apim-Subscription-Key |
Ja | Ja |
Authorization: Bearer |
Ja | Ja |
Wenn Sie den Ocp-Apim-Subscription-Key Header verwenden, muss nur Ihr Ressourcenschlüssel bereitgestellt werden. Zum Beispiel:
'Ocp-Apim-Subscription-Key': 'YourSpeechResourceKey'
Wenn Sie den STS-Bearer-Token-Fluss mit Authorization: Bearerverwenden, stellen Sie zuerst eine Anforderung an den issueToken Endpunkt. In dieser Anforderung tauschen Sie Ihren Ressourcenschlüssel für ein Zugriffstoken aus, das 10 Minuten gültig ist.
Eine weitere Möglichkeit besteht darin, Microsoft Entra Authentifizierung zu verwenden, die auch den Header Authorization: Bearer verwendet, aber mit einem token, das über Microsoft Entra ID ausgestellt wurde. Siehe Use Microsoft Entra authentication.
So erhalten Sie ein STS-Zugriffstoken
Um ein STS-Zugriffstoken zu erhalten, senden Sie unter Verwendung von Ocp-Apim-Subscription-Key und Ihrem Ressourcenschlüssel eine Anforderung an den Endpunkt issueToken.
Der issueToken Endpunkt hat dieses Format:
https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken
Ersetzen Sie YourResourceName durch den Namen Ihrer Sprachressource.
Hinweis
Für diesen Endpunkt muss Ihre Ressource eine benutzerdefinierte Unterdomäne konfiguriert haben. Verwenden Sie für Ressourcen ohne benutzerdefinierte Domäne stattdessen den regionalen Endpunkt: https://<region>.api.cognitive.microsoft.com/sts/v1.0/issueToken. Ersetzen Sie <region> durch die Azure Region Ihrer Ressource (z. B. eastus).
Verwenden Sie die folgenden Beispiele, um Ihre Zugriffstokenanforderung zu erstellen.
HTTP-Beispiel
Dieses Beispiel ist eine einfache HTTP-Anforderung zum Abrufen eines Tokens. Ersetzen Sie YourSpeechResourceKey durch Ihren Ressourcenschlüssel für den Sprachdienst. Ersetzen Sie YourResourceName durch den Namen Ihrer Sprachressource.
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
Der Textkörper der Antwort enthält das Zugriffstoken im JWT-Format (JSON Web Token).
PowerShell-Beispiel
Dieses Beispiel ist ein einfaches PowerShell-Skript zum Abrufen eines Zugriffstokens. Ersetzen Sie YourSpeechResourceKey durch Ihren Ressourcenschlüssel für den Sprachdienst. Ersetzen Sie YourResourceName durch den Namen Ihrer Sprachressource.
$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-Beispiel
cURL ist ein Befehlszeilentool, das in Linux (und im Windows-Subsystem für Linux) verfügbar ist. Dieser cURL-Befehl veranschaulicht das Abrufen eines Zugriffstokens. Ersetzen Sie YourSpeechResourceKey durch Ihren Ressourcenschlüssel für den Sprachdienst. Ersetzen Sie YourResourceName durch den Namen Ihrer Sprachressource.
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#-Beispiel
Diese C#-Klasse veranschaulicht, wie sie ein Zugriffstoken abrufen. Übergeben Sie den Ressourcenschlüssel für den Sprachdienst, wenn Sie die Klasse instanziieren. Ersetzen Sie YourResourceName durch den Namen Ihrer Sprachressource.
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();
}
}
}
beispiel für 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)
So verwenden Sie ein Zugriffstoken.
Das Zugriffstoken sollte als Header an den Authorization: Bearer <TOKEN> Dienst gesendet werden. Jedes Zugriffstoken ist 10 Minuten gültig. Sie können jederzeit ein neues Token abrufen, aber um den Netzwerkdatenverkehr und die Latenz zu minimieren, empfehlen wir die Verwendung desselben Tokens für neun Minuten.
Wichtig
Bearer-Token sind auf den Endpunkt beschränkt, der sie ausgestellt hat. Ein von YourResourceName.cognitiveservices.azure.com abgerufenes Token funktioniert nur für Anfragen an denselben Host. Ein Token von <region>.api.cognitive.microsoft.com funktioniert nur mit regionalen Speech-Endpunkten. Wenn Sie bei der Verwendung eines Bearer-Tokens einen 401-Fehler erhalten, verwenden Sie stattdessen Ocp-Apim-Subscription-Key mit Ihrem Ressourcenschlüssel, was mit allen Endpunktformaten funktioniert.
Hier ist eine Beispiel-HTTP-Anforderung an die SPRACH-ZU-Text-REST-API für kurze Audiodaten:
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...
Verwenden Sie die Microsoft Entra-Authentifizierung
Um Microsoft Entra Authentifizierung mit der Sprachausgabe-REST-API für kurze Audiodaten zu verwenden, müssen Sie ein Zugriffstoken erstellen. Die Schritte zum Abrufen des Zugriffstokens, das aus Ressourcen-ID und Microsoft Entra Zugriffstoken besteht, sind identisch mit der Verwendung des Speech SDK. Führen Sie die hier aufgeführten Schritte Use Microsoft Entra authentication
- Erstellen einer Foundry-Ressource für Sprache
- Konfigurieren der Sprachressource für Microsoft Entra Authentifizierung
- Rufen Sie ein Microsoft Entra Zugriffstoken ab
- Abrufen der ID der Sprachressource
Nachdem die Ressourcen-ID und das Microsoft Entra Zugriffstoken abgerufen wurden, kann das tatsächliche Zugriffstoken nach diesem Format erstellt werden:
aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN
Sie müssen das Präfix "aad#" und das Trennzeichen "#" (Hash) zwischen Ressourcen-ID und dem Zugriffstoken einschließen.
Hier ist eine Beispiel-HTTP-Anforderung an die SPRACH-ZU-Text-REST-API für kurze Audiodaten:
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...
Weitere Informationen zu Microsoft Entra Zugriffstoken, einschließlich der Tokenlebensdauer, finden Sie unter Access-Token im Microsoft Identity Platform.
Abruf einer Stimmauflistung
Sie können Ihren Sprachressourcenendpunkt verwenden, um eine vollständige Liste der Stimmen zu erhalten. Verwenden Sie den /tts/cognitiveservices/voices/list Pfad mit Ihrem Ressourcenendpunkt. Verwenden Sie z. B. den https://YourResourceName.cognitiveservices.azure.com/tts/cognitiveservices/voices/list Endpunkt. Eine Liste aller unterstützten Regionen finden Sie in der Regionsdokumentation .
Hinweis
Stimmen und Sprechstile in der Vorschau sind nur in einigen Regionen verfügbar. Die aktuelle Liste der Regionen, die Stimmen und Stile in der öffentlichen Vorschau unterstützen, finden Sie in der Tabelle "Sprachdienstbereiche".
Anforderungsheader
In dieser Tabelle sind die erforderlichen und optionalen Kopfzeilen für Text zu Sprachanforderungen aufgeführt:
| Kopfzeile | Beschreibung | Erforderlich oder optional |
|---|---|---|
Ocp-Apim-Subscription-Key |
Ihr Sprachressourcenschlüssel. | Entweder diese Kopfzeile oder Authorization ist erforderlich. |
Authorization |
Ein Autorisierungstoken vor dem Wort Bearer. Weitere Informationen finden Sie unter "Authentifizierung". |
Entweder diese Kopfzeile oder Ocp-Apim-Subscription-Key ist erforderlich. |
Anforderungstext
Ein Text ist nicht erforderlich für GET-Anforderungen an diesen Endpunkt.
Beispielanforderung
Für diese Anforderung ist nur ein Autorisierungsheader erforderlich:
GET /tts/cognitiveservices/voices/list HTTP/1.1
Host: YourResourceName.cognitiveservices.azure.com
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Hier ist ein Beispiel für einen Curl-Befehl:
curl --location --request GET 'https://YourResourceName.cognitiveservices.azure.com/tts/cognitiveservices/voices/list' \
--header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'
Beispielantwort
Sie sollten eine Antwort mit einem JSON-Text erhalten, der alle unterstützten Sprachregionen, Stimmen, Sprechergeschlecht, Stile und andere Details enthält. Die WordsPerMinute Eigenschaft für jede Stimme kann verwendet werden, um die Länge der Ausgabesprache zu schätzen. Dieses JSON-Beispiel zeigt Teilergebnisse, um die Struktur einer Antwort zu veranschaulichen:
[
// 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
Der HTTP-Statuscode für jede Antwort weist auf Erfolg oder häufige Fehler hin.
| HTTP-Statuscode | Beschreibung | Mögliche Ursache |
|---|---|---|
| 200 | OKAY | Die Anforderung war erfolgreich. |
| 400 | Ungültige Anforderung | Ein erforderlicher Parameter fehlt, leer oder null. Oder der an einen erforderlichen oder optionalen Parameter übergebene Wert ist ungültig. Ein allgemeiner Grund ist eine zu lange Kopfzeile. |
| 401 | Unbefugt | Die Anforderung ist nicht autorisiert. Stellen Sie sicher, dass ihr Ressourcenschlüssel oder -token gültig und in der richtigen Region ist. |
| 429 | Zu viele Anforderungen | Sie haben das Kontingent oder die Rate der für Ihre Ressource zulässigen Anforderungen überschritten. |
| 502 | Ungültiges Gateway | Es gibt ein Netzwerk- oder serverseitiges Problem. Dieser Status kann auch auf ungültige Kopfzeilen hinweisen. |
Text in Sprache umwandeln
Mit dem cognitiveservices/v1 Endpunkt können Sie Text mithilfe von Speech Synthesis Markup Language (SSML) in Sprache konvertieren.
Regionen und Endpunkte
Diese Regionen werden für Text zu Sprache über die REST-API unterstützt. Achten Sie darauf, den Endpunkt auszuwählen, der Ihrer Sprachressourcenregion entspricht.
Standardstimmen
Verwenden Sie diese Tabelle, um die Verfügbarkeit von neuralen Stimmen nach Region oder Endpunkt zu ermitteln:
| Region | Endpunkt |
|---|---|
| Australien Ost | https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Brasilien Süd | https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Kanada Zentral | https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Kanada Ost | https://canadaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zentral-USA | https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Ostasien | https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Ost-USA | https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Ost-USA 2 | https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 |
| Frankreich Zentral | https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Deutschland West Central | https://germanywestcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Indien Zentral | https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Italien Nord | https://italynorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Japan Ost | https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Japan Westen | https://japanwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| Korea Central | https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Nord-Mittel-USA | https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Nordeuropa | https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
| Norwegen Ost | https://norwayeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Katar Zentral | https://qatarcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Südafrika Nord | https://southafricanorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Süd-Mittel-USA | https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Südostasien | https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Schweden Zentral | https://swedencentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Schweiz Nord | https://switzerlandnorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Schweiz West | https://switzerlandwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| Vereinigte Arabische Emirate (Nord) | https://uaenorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Vereinigtes Königreich Süd | https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Vereinigtes Königreich West | https://ukwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| US-Regierung Arizona | https://usgovarizona.tts.speech.azure.us/cognitiveservices/v1 |
| US-Regierung Virginia | https://usgovvirginia.tts.speech.azure.us/cognitiveservices/v1 |
| Zentralwesten der USA | https://westcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Westeuropa | https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
| USA, Westen | https://westus.tts.speech.microsoft.com/cognitiveservices/v1 |
| USA, Westen 2 | https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 |
| USA, Westen 3 | https://westus3.tts.speech.microsoft.com/cognitiveservices/v1 |
Tipp
Die aktuelle Liste der Regionen, die Stimmen in der Vorschau unterstützen, finden Sie in der Tabelle "Sprachdienstbereiche".
Benutzerdefinierte Stimmen
Wenn Sie eine benutzerdefinierte Stimme erstellt haben, verwenden Sie den Endpunkt, den Sie erstellt haben. Sie können auch die folgenden Endpunkte verwenden. Ersetzen Sie {deploymentId} durch die Bereitstellungs-ID für Ihr benutzerdefiniertes Sprachmodell.
| Region | Ausbildung | Einsatz | Endpunkt |
|---|---|---|---|
| Australien Ost | Ja | Ja | https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Brasilien Süd | Nein | Ja | https://brazilsouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Kanada Zentral | Nein | Ja | https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zentral-USA | Nein | Ja | https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Ostasien | Nein | Ja | https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Ost-USA | Ja | Ja | https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Ost-USA 2 | Ja | Ja | https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Frankreich Zentral | Nein | Ja | https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Deutschland West Central | Nein | Ja | https://germanywestcentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Indien Zentral | Ja | Ja | https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Italien Nord | Nein | Ja | https://italynorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Japan Ost | Ja | Ja | https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Japan Westen | Nein | Ja | https://japanwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Korea Central | Ja | Ja | https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Nord-Mittel-USA | Nein | Ja | https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Nordeuropa | Ja | Ja | https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Norwegen Ost | Nein | Ja | https://norwayeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Südafrika Nord | Nein | Ja | https://southafricanorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Süd-Mittel-USA | Ja | Ja | https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Südostasien | Ja | Ja | https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Schweden Zentral | Nein | Ja | https://swedencentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Schweiz Nord | Nein | Ja | https://switzerlandnorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Schweiz West | Nein | Ja | https://switzerlandwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Vereinigte Arabische Emirate (Nord) | Nein | Ja | https://uaenorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Vereinigtes Königreich Süd | Ja | Ja | https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zentralwesten der USA | Nein | Ja | https://westcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Westeuropa | Ja | Ja | https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| USA, Westen | Ja | Ja | https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| USA, Westen 2 | Ja | Ja | https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| USA, Westen 3 | Nein | Ja | https://westus3.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Hinweis
Die vorstehenden Regionen sind für die Standardmäßige VoIP-Modellhosting- und Echtzeitsynthese verfügbar. Benutzerdefinierte Sprachschulungen sind nur in einigen Regionen verfügbar. Sie können jedoch ganz einfach ein benutzerdefiniertes VoIP-Modell aus diesen Regionen in andere Regionen in der vorherigen Liste kopieren.
API für lange Audioinhalte
Die lange Audio-API ist in mehreren Regionen mit eindeutigen Endpunkten verfügbar:
| Region | Endpunkt |
|---|---|
| Australien Ost | https://australiaeast.customvoice.api.speech.microsoft.com |
| Ost-USA | https://eastus.customvoice.api.speech.microsoft.com |
| Indien Zentral | https://centralindia.customvoice.api.speech.microsoft.com |
| Süd-Mittel-USA | https://southcentralus.customvoice.api.speech.microsoft.com |
| Südostasien | https://southeastasia.customvoice.api.speech.microsoft.com |
| Vereinigtes Königreich Süd | https://uksouth.customvoice.api.speech.microsoft.com |
| Westeuropa | https://westeurope.customvoice.api.speech.microsoft.com |
Anforderungsheader
In dieser Tabelle sind die erforderlichen und optionalen Kopfzeilen für Text zu Sprachanforderungen aufgeführt:
| Kopfzeile | Beschreibung | Erforderlich oder optional |
|---|---|---|
Authorization |
Ein Autorisierungstoken vor dem Wort Bearer. Weitere Informationen finden Sie unter "Authentifizierung". |
Erforderlich |
Content-Type |
Gibt den Inhaltstyp für den bereitgestellten Text an. Akzeptierter Wert: application/ssml+xml. |
Erforderlich |
X-Microsoft-OutputFormat |
Gibt das Audioausgabeformat an. Eine vollständige Liste der akzeptierten Werte finden Sie unter "Audioausgabe". | Erforderlich |
User-Agent |
Der Anwendungsname. Der angegebene Wert muss weniger als 255 Zeichen lang sein. | Erforderlich |
Anforderungstext
Wenn Sie eine benutzerdefinierte Stimme verwenden, kann der Textkörper einer Anforderung als Nur-Text (ASCII oder UTF-8) gesendet werden. Andernfalls wird der Textkörper jeder POST Anforderung als SSML gesendet. Mit SSML können Sie die Stimme und Sprache der synthetisierten Sprache auswählen, die von der Text-zu-Sprache-Funktion zurückgegeben wird. Eine vollständige Liste der unterstützten Stimmen finden Sie unter Sprach- und Sprachunterstützung für den Sprachdienst.
Beispielanforderung
Diese HTTP-Anforderung verwendet SSML, um die Stimme und Sprache anzugeben. Wenn die Körperlänge lang ist und das resultierende Audio 10 Minuten überschreitet, wird es auf 10 Minuten verkürzt. Mit anderen Worten, die Audiolänge darf 10 Minuten nicht überschreiten.
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>
* Für die Content-Length sollten Sie Ihre eigene Inhaltslänge verwenden. In den meisten Fällen wird dieser Wert automatisch berechnet.
HTTP-Statuscodes
Der HTTP-Statuscode für jede Antwort weist auf Erfolg oder häufige Fehler hin:
| HTTP-Statuscode | Beschreibung | Mögliche Ursache |
|---|---|---|
| 200 | OKAY | Die Anforderung war erfolgreich. Der Antworttext ist eine Audiodatei. |
| 400 | Ungültige Anforderung | Ein erforderlicher Parameter fehlt, leer oder null. Oder der an einen erforderlichen oder optionalen Parameter übergebene Wert ist ungültig. Ein allgemeiner Grund ist eine zu lange Kopfzeile. |
| 401 | Unbefugt | Die Anforderung ist nicht autorisiert. Stellen Sie sicher, dass ihr Sprachressourcenschlüssel oder -token gültig und in der richtigen Region ist. |
| 415 | Nicht unterstützter Medientyp | Es ist möglich, dass der falsche Content-Type Wert angegeben wurde.
Content-Type sollte auf application/ssml+xml gesetzt werden. |
| 429 | Zu viele Anforderungen | Sie haben das Kontingent oder die Rate der für Ihre Ressource zulässigen Anforderungen überschritten. |
| 502 | Ungültiges Gateway | Es gibt ein Netzwerk- oder serverseitiges Problem. Dieser Status kann auch auf ungültige Kopfzeilen hinweisen. |
| 503 | Dienst nicht verfügbar | Aus verschiedenen Gründen gibt es ein serverseitiges Problem. |
Wenn der HTTP-Status lautet 200 OK, enthält der Textkörper der Antwort eine Audiodatei im angeforderten Format. Diese Datei kann bei der Übertragung abgespielt sowie in einem Puffer oder in einer Datei gespeichert werden.
Audioausgabe
Die unterstützten Streaming- und Nichtstreaming-Audioformate werden in jeder Anforderung als header X-Microsoft-OutputFormat gesendet. Jedes Format enthält eine Bitrate und einen Codierungstyp. Der Sprachdienst unterstützt 48-kHz-, 24-kHz-, 16-kHz- und 8-kHz-Audioausgaben. Jedes Standard-Sprachmodell ist in 24kHz und hochauflösender 48kHz verfügbar.
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
Hinweis
Wenn Sie das Ausgabeformat 48 kHz auswählen, wird das High-Fidelity-VoIP-Modell mit 48kHz entsprechend aufgerufen. Die Sampleraten außer 24 kHz und 48 kHz können durch Upsampling oder Downsampling bei der Synthese erhalten werden, z. B. wird 44,1 kHz von 48 kHz heruntergesampelt.
Wenn Ihr ausgewähltes Sprach- und Ausgabeformat unterschiedliche Bitraten aufweist, wird das Audio bei Bedarf neu abgetastet. Sie können das Format mithilfe des ogg-24khz-16bit-mono-opusOpus-Codecs decodieren.