Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa mowy umożliwia konwertowanie tekstu na mowę syntetyzowaną i uzyskiwanie listy obsługiwanych głosów dla regionu z użyciem interfejsu REST API. W tym artykule dowiesz się więcej o opcjach autoryzacji, opcjach zapytań, sposobie tworzenia struktury żądania i interpretowaniu odpowiedzi.
Wskazówka
Przypadki użycia interfejsu REST API do zamiany tekstu na mowę są ograniczone. Używaj go tylko w przypadkach, w których nie można używać zestawu SPEECH SDK. Na przykład za pomocą zestawu SDK można subskrybować zdarzenia, aby uzyskać więcej szczegółowych informacji na temat przetwarzania tekstu na mowę i wyników.
Interfejs API REST zamiany tekstu na mowę obsługuje neuronowy tekst na głosy mowy w wielu ustawieniach regionalnych. Każdy dostępny punkt końcowy jest skojarzony z regionem. Klucz interfejsu API dla punktu końcowego lub regionu, którego planujesz użyć, jest wymagany. Oto linki do dodatkowych informacji:
- Aby uzyskać pełną listę głosów, zobacz Obsługa języka i głosu dla usługi Mowa.
- Aby uzyskać informacje na temat dostępności regionalnej, zobacz Obsługiwane regiony usługi Mowa.
- Aby uzyskać dostęp do Azure Government i Microsoft Azure obsługiwanych przez 21Vianet, zobacz ten artykuł dotyczący suwerennych chmur.
Ważne
Koszty różnią się w zależności od standardowych głosów i niestandardowych głosów. Aby uzyskać więcej informacji, zobacz cennik zamiany tekstu na mowę.
Przed użyciem API REST tekst na mowę, musisz dokonać wymiany tokenów jako część uwierzytelniania, aby uzyskać dostęp do usługi. Aby uzyskać więcej informacji, zobacz Authentication (Uwierzytelnianie).
Uzyskaj listę głosów
Możesz użyć tts.speech.microsoft.com/cognitiveservices/voices/list punktu końcowego, aby uzyskać pełną listę głosów dla określonego regionu lub punktu końcowego. Poprzedź punkt końcowy listy głosów nazwą regionu, aby uzyskać listę głosów dla tego regionu. Aby na przykład uzyskać listę głosów dla westus regionu, użyj punktu końcowego https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list . Aby uzyskać listę wszystkich obsługiwanych regionów, zobacz dokumentację regionów .
Uwaga
Głosy i style w wersji zapoznawczej są dostępne tylko w podzestawie regionów. Aby uzyskać bieżącą listę regionów obsługujących głosy i style w wersji zapoznawczej dostępnej publicznie, zobacz tabelę Regiony usługi Mowa.
Nagłówki żądań
Ta tabela zawiera listę wymaganych i opcjonalnych nagłówków dla żądań zamiany tekstu na mowę:
| Nagłówka | Opis | Wymagane lub opcjonalne |
|---|---|---|
Ocp-Apim-Subscription-Key |
Klucz zasobu Speech. | Ten nagłówek lub Authorization jest wymagany. |
Authorization |
Token autoryzacji poprzedzony wyrazem Bearer. Aby uzyskać więcej informacji, zobacz Authentication (Uwierzytelnianie). |
Ten nagłówek lub Ocp-Apim-Subscription-Key jest wymagany. |
Treść żądania
Treść nie jest wymagana w przypadku GET żądań do tego punktu końcowego.
Przykładowe żądanie
Do tego żądania potrzebny jest tylko nagłówek autoryzacyjny.
GET /cognitiveservices/voices/list HTTP/1.1
Host: westus.tts.speech.microsoft.com
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Oto przykładowe polecenie curl:
curl --location --request GET 'https://YOUR_RESOURCE_REGION.tts.speech.microsoft.com/cognitiveservices/voices/list' \
--header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'
Przykładowa odpowiedź
Otrzymasz odpowiedź z treścią JSON zawierającą wszystkie obsługiwane ustawienia regionalne, głosy, płeć, style i inne szczegóły. Właściwość WordsPerMinute dla każdego głosu może służyć do oszacowania długości mowy wyjściowej. W tym przykładzie JSON przedstawiono częściowe wyniki ilustrujące strukturę odpowiedzi:
[
// 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": "24000",
"VoiceType": "Neural",
"Status": "GA",
"ExtendedPropertyMap": {
"IsHighQuality48K": "True"
},
"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": "24000",
"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": "24000",
"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": "24000",
"VoiceType": "Neural",
"Status": "GA",
"RolePlayList": [
"Narrator",
"YoungAdultMale",
"Boy"
],
"WordsPerMinute": "293"
},
// Redacted for brevity
]
Kody stanu HTTP
Kod stanu HTTP dla każdej odpowiedzi wskazuje powodzenie lub typowe błędy.
| Kod stanu HTTP | Opis | Możliwa przyczyna |
|---|---|---|
| 200 | OK | Żądanie zakończyło się pomyślnie. |
| 400 | Nieprawidłowe żądanie | Brak wymaganego parametru, pusty lub null. Lub wartość przekazana do wymaganego lub opcjonalnego parametru jest nieprawidłowa. Częstą przyczyną jest zbyt długi nagłówek. |
| 401 | Nieautoryzowany | Żądanie nie jest autoryzowane. Upewnij się, że klucz zasobu lub token jest prawidłowy i w poprawnym regionie. |
| 429 | Zbyt wiele żądań | Przekroczono limit przydziału lub szybkość żądań dozwolonych dla zasobu. |
| 502 | Zła brama | Wystąpił problem po stronie sieci lub serwera. Ten stan może również wskazywać na nieprawidłowe nagłówki. |
Konwertowanie tekstu na mowę
Punkt cognitiveservices/v1 końcowy umożliwia konwertowanie tekstu na mowę przy użyciu języka znaczników syntezy mowy (SSML).
Regiony i punkty końcowe
Te regiony są obsługiwane w przypadku zamiany tekstu na mowę za pośrednictwem interfejsu API REST. Pamiętaj, aby wybrać punkt końcowy zgodny z regionem zasobu usługi rozpoznawania mowy.
Standardowe głosy
Ta tabela umożliwia określenie dostępności neuronowych głosów według regionu lub punktu końcowego:
| Region | Punkt końcowy |
|---|---|
| Australia Wschodnia | https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Brazylia Południowa | https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Kanada Środkowa | https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Kanada Wschodnia | https://canadaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Środkowe stany USA | https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Azja Wschodnia | https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Wschodnie stany USA | https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Wschodnie stany USA 2 | https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 |
| Francja Środkowa | https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Niemcy Środkowo-Zachodnie | https://germanywestcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Indie Środkowe | https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Włochy Północne | https://italynorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Japonia Wschodnia | https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Japonia Zachodnia | https://japanwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| Korea Środkowa | https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Północno-środkowe stany USA | https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Europa Północna | https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
| Norwegia Wschodnia | https://norwayeast.tts.speech.microsoft.com/cognitiveservices/v1 |
| Katar Środkowy | https://qatarcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Północna Republika Południowej Afryki | https://southafricanorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Południowo-środkowe stany USA | https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Azja Południowo-Wschodnia | https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
| Szwecja Środkowa | https://swedencentral.tts.speech.microsoft.com/cognitiveservices/v1 |
| Szwajcaria Północna | https://switzerlandnorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Szwajcaria Zachodnia | https://switzerlandwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| Północne Zjednoczone Emiraty Arabskie | https://uaenorth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Południowe Zjednoczone Królestwo | https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zachodnie Zjednoczone Królestwo | https://ukwest.tts.speech.microsoft.com/cognitiveservices/v1 |
| US Gov Arizona | https://usgovarizona.tts.speech.azure.us/cognitiveservices/v1 |
| US Gov Wirginia | https://usgovvirginia.tts.speech.azure.us/cognitiveservices/v1 |
| Zachodnio-środkowe stany USA | https://westcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Europa Zachodnia | https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zachodnie stany USA | https://westus.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zachodnie stany USA 2 | https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 |
| Zachodnie stany USA 3 | https://westus3.tts.speech.microsoft.com/cognitiveservices/v1 |
Wskazówka
Aby uzyskać bieżącą listę regionów obsługujących głosy w wersji zapoznawczej, zobacz tabelę Regiony usługi Mowa.
Niestandardowe głosy
Jeśli utworzono niestandardowy głos, użyj utworzonego punktu końcowego. Możesz również użyć następujących punktów końcowych. Zastąp znacznik {deploymentId} identyfikatorem wdrożenia dla swojego niestandardowego modelu głosu.
| Region | Szkolenia | Wdrażania | Punkt końcowy |
|---|---|---|---|
| Australia Wschodnia | Tak | Tak | https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Brazylia Południowa | Nie | Tak | https://brazilsouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Kanada Środkowa | Nie | Tak | https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Środkowe stany USA | Nie | Tak | https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Azja Wschodnia | Nie | Tak | https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Wschodnie stany USA | Tak | Tak | https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Wschodnie stany USA 2 | Tak | Tak | https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Francja Środkowa | Nie | Tak | https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Niemcy Środkowo-Zachodnie | Nie | Tak | https://germanywestcentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Indie Środkowe | Tak | Tak | https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Włochy Północne | Nie | Tak | https://italynorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Japonia Wschodnia | Tak | Tak | https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Japonia Zachodnia | Nie | Tak | https://japanwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Korea Środkowa | Tak | Tak | https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Północno-środkowe stany USA | Nie | Tak | https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Europa Północna | Tak | Tak | https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Norwegia Wschodnia | Nie | Tak | https://norwayeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Północna Republika Południowej Afryki | Nie | Tak | https://southafricanorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Południowo-środkowe stany USA | Tak | Tak | https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Azja Południowo-Wschodnia | Tak | Tak | https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Szwecja Środkowa | Nie | Tak | https://swedencentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Szwajcaria Północna | Nie | Tak | https://switzerlandnorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Szwajcaria Zachodnia | Nie | Tak | https://switzerlandwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Północne Zjednoczone Emiraty Arabskie | Nie | Tak | https://uaenorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Południowe Zjednoczone Królestwo | Tak | Tak | https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zachodnio-środkowe stany USA | Nie | Tak | https://westcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Europa Zachodnia | Tak | Tak | https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zachodnie stany USA | Tak | Tak | https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zachodnie stany USA 2 | Tak | Tak | https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
| Zachodnie stany USA 3 | Nie | Tak | https://westus3.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Uwaga
Wymienione regiony są dostępne dla hostingu standardowego modelu głosu i syntezy głosu w czasie rzeczywistym. Szkolenie niestandardowe dla głosu jest dostępne tylko w niektórych regionach. Można jednak łatwo skopiować niestandardowy model głosu z tych regionów do innych regionów na powyższej liście.
Interfejs API przeznaczony do dźwięku o długim czasie trwania
Długi interfejs API audio jest dostępny w wielu regionach z unikatowymi punktami końcowymi:
| Region | Punkt końcowy |
|---|---|
| Australia Wschodnia | https://australiaeast.customvoice.api.speech.microsoft.com |
| Wschodnie stany USA | https://eastus.customvoice.api.speech.microsoft.com |
| Indie Środkowe | https://centralindia.customvoice.api.speech.microsoft.com |
| Południowo-środkowe stany USA | https://southcentralus.customvoice.api.speech.microsoft.com |
| Azja Południowo-Wschodnia | https://southeastasia.customvoice.api.speech.microsoft.com |
| Południowe Zjednoczone Królestwo | https://uksouth.customvoice.api.speech.microsoft.com |
| Europa Zachodnia | https://westeurope.customvoice.api.speech.microsoft.com |
Nagłówki żądań
Ta tabela zawiera listę wymaganych i opcjonalnych nagłówków dla żądań zamiany tekstu na mowę:
| Nagłówka | Opis | Wymagane lub opcjonalne |
|---|---|---|
Authorization |
Token autoryzacji poprzedzony wyrazem Bearer. Aby uzyskać więcej informacji, zobacz Authentication (Uwierzytelnianie). |
Wymagane |
Content-Type |
Określa typ zawartości dla podanego tekstu. Zaakceptowana wartość: application/ssml+xml. |
Wymagane |
X-Microsoft-OutputFormat |
Określa format danych wyjściowych dźwięku. Aby uzyskać pełną listę akceptowanych wartości, zobacz Dane wyjściowe audio. | Wymagane |
User-Agent |
Nazwa aplikacji. Podana wartość musi być mniejsza niż 255 znaków. | Wymagane |
Treść żądania
Jeśli używasz niestandardowego głosu, treść żądania może zostać wysłana jako zwykły tekst (ASCII lub UTF-8). W przeciwnym razie treść każdego POST żądania jest wysyłana jako SSML. SSML umożliwia wybór głosu oraz języka syntetyzowanej mowy zwracanej przez funkcję tekstu na mowę. Aby uzyskać pełną listę obsługiwanych głosów, zobacz Obsługa języka i głosu dla usługi Mowa.
Przykładowe żądanie
To żądanie HTTP używa języka SSML do określania głosu i języka. Jeśli długość treści jest duża, a wynikowy dźwięk przekracza 10 minut, zostanie skrócony do 10 minut. Innymi słowy, długość dźwięku nie może przekroczyć 10 minut.
POST /cognitiveservices/v1 HTTP/1.1
X-Microsoft-OutputFormat: riff-24khz-16bit-mono-pcm
Content-Type: application/ssml+xml
Host: westus.tts.speech.microsoft.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>
* W przypadku wartości Content-Length należy użyć własnej długości zawartości. W większości przypadków ta wartość jest obliczana automatycznie.
Kody stanu HTTP
Kod stanu HTTP dla każdej odpowiedzi wskazuje powodzenie lub typowe błędy:
| Kod stanu HTTP | Opis | Możliwa przyczyna |
|---|---|---|
| 200 | OK | Żądanie zakończyło się pomyślnie. Treść odpowiedzi jest plikiem audio. |
| 400 | Nieprawidłowe żądanie | Brak wymaganego parametru, pusty lub null. Lub wartość przekazana do wymaganego lub opcjonalnego parametru jest nieprawidłowa. Częstą przyczyną jest zbyt długi nagłówek. |
| 401 | Nieautoryzowany | Żądanie nie jest autoryzowane. Upewnij się, że klucz zasobu lub token usługi Mowa jest prawidłowy i w poprawnym regionie. |
| 415 | Nieobsługiwany typ nośnika | Możliwe, że podano nieprawidłową Content-Type wartość.
Content-Type należy ustawić na application/ssml+xml. |
| 429 | Zbyt wiele żądań | Przekroczono limit przydziału lub szybkość żądań dozwolonych dla zasobu. |
| 502 | Zła brama | Wystąpił problem po stronie sieci lub serwera. Ten stan może również wskazywać na nieprawidłowe nagłówki. |
| 503 | Usługa niedostępna | Istnieje problem po stronie serwera z różnych powodów. |
Jeśli stan HTTP to 200 OK, treść odpowiedzi zawiera plik audio w żądanym formacie. Ten plik może być odtwarzany w trakcie przesyłania, zapisywany do bufora lub zapisywany do pliku.
Wyjścia audio
Obsługiwane formaty audio strumieniowe i niestrumieniowe są wysyłane w każdym żądaniu w nagłówku X-Microsoft-OutputFormat. Każdy format zawiera szybkość bitów i typ kodowania. Usługa rozpoznawania mowy obsługuje wyjścia audio 48 kHz, 24 kHz, 16 kHz i 8 kHz. Każdy standardowy model głosu jest dostępny w 24kHz i o wysokiej wierności 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
Uwaga
W przypadku wyboru formatu wyjściowego 48kHz odpowiednio zostanie wywołany model głosu o wysokiej wierności 48kHz. Częstotliwości próbkowania inne niż 24kHz i 48kHz można uzyskać poprzez nadpróbkowanie lub podpróbkowanie podczas syntezy, na przykład 44,1kHz jest podpróbkowane z 48kHz.
Jeśli wybrany format głosu i wyjścia ma różne szybkości bitów, dźwięk jest ponownie próbkowany zgodnie z potrzebami. Format można zdekodować ogg-24khz-16bit-mono-opus za pomocą kodera Opus.
Uwierzytelniania
Każde żądanie wymaga nagłówka autoryzującego. W tej tabeli przedstawiono, które nagłówki są obsługiwane dla każdej funkcji:
| Obsługiwany nagłówek autoryzacji | Zamiana mowy na tekst | Zamiana tekstu na mowę |
|---|---|---|
Ocp-Apim-Subscription-Key |
Tak | Tak |
Authorization: Bearer |
Tak | Tak |
W przypadku korzystania z nagłówka Ocp-Apim-Subscription-Key należy podać tylko klucz zasobu. Na przykład:
'Ocp-Apim-Subscription-Key': 'YourSpeechResourceKey'
Gdy używasz nagłówka Authorization: Bearer , musisz wysłać żądanie do punktu końcowego issueToken . W tym żądaniu wymieniasz klucz zasobu na token dostępu, który jest ważny przez 10 minut.
Inną opcją jest użycie uwierzytelniania Microsoft Entra, które używa również nagłówka Authorization: Bearer, ale z tokenem wystawionym za pośrednictwem Microsoft Entra ID. Zobacz Użyj uwierzytelniania Microsoft Entra.
Jak uzyskać token dostępu
Aby uzyskać token dostępu, musisz wysłać żądanie do punktu końcowego issueToken przy użyciu polecenia Ocp-Apim-Subscription-Key i klucza zasobu.
Punkt issueToken końcowy ma następujący format:
https://<REGION_IDENTIFIER>.api.cognitive.microsoft.com/sts/v1.0/issueToken
Zastąp <REGION_IDENTIFIER> element identyfikatorem zgodnym z regionem zasobu usługi Mowa.
Użyj poniższych przykładów, aby utworzyć żądanie tokenu dostępu.
Przykład HTTP
W tym przykładzie jest proste żądanie HTTP w celu uzyskania tokenu. Zastąp YourSpeechResourceKey kluczem zasobu dla usługi Mowa. Jeśli zasób usługi Mowa nie znajduje się w regionie Zachodnie USA, zastąp Host nagłówek nazwą hosta regionu.
POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YourSpeechResourceKey
Host: eastus.api.cognitive.microsoft.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0
Treść odpowiedzi zawiera token dostępu w formacie JSON Web Token (JWT).
Przykład programu PowerShell
W tym przykładzie jest prosty skrypt programu PowerShell umożliwiający uzyskanie tokenu dostępu. Zamień YourSpeechResourceKey na klucz zasobu dla usługi Speech. Upewnij się, że używasz poprawnego punktu końcowego dla regionu zgodnego z zasobem usługi Mowa.
$FetchTokenHeader = @{
'Content-type'='application/x-www-form-urlencoded';
'Content-Length'= '0';
'Ocp-Apim-Subscription-Key' = 'YourSpeechResourceKey'
}
$OAuthToken = Invoke-RestMethod -Method POST -Uri https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken
-Headers $FetchTokenHeader
# show the token received
$OAuthToken
Przykład cURL
cURL to narzędzie wiersza polecenia dostępne w systemie Linux (i w Podsystem Windows dla systemu Linux). To polecenie cURL ilustruje sposób uzyskiwania tokenu dostępu. Zastąp YourSpeechResourceKey kluczem zasobu dla usługi Mowy. Upewnij się, że używasz poprawnego punktu końcowego dla regionu zgodnego z zasobem usługi Mowa. Ten przykład jest obecnie ustawiony na Zachodnie USA.
curl -v -X POST \
"https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken" \
-H "Content-type: application/x-www-form-urlencoded" \
-H "Content-Length: 0" \
-H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey"
Przykład w języku C#
Ta klasa języka C# ilustruje sposób uzyskiwania tokenu dostępu. Przekaż klucz zasobu dla usługi rozpoznawania mowy podczas tworzenia wystąpienia klasy. Jeśli zasób usługi Mowa znajduje się w innym regionie, zmień wartość FetchTokenUri w taki sposób, aby odpowiadała regionowi zasobu usługi Mowa.
public class Authentication
{
public static readonly string FetchTokenUri =
"https://eastus.api.cognitive.microsoft.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();
}
}
}
przykład 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://eastus.api.cognitive.microsoft.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)
Jak używać tokenu dostępu
Token dostępu powinien zostać wysłany do usługi jako nagłówek Authorization: Bearer <TOKEN>. Każdy token dostępu jest ważny przez 10 minut. Nowy token można uzyskać w dowolnym momencie, ale aby zminimalizować ruch sieciowy i opóźnienie, zalecamy użycie tego samego tokenu przez dziewięć minut.
Oto przykładowe żądanie HTTP do interfejsu API REST zamiany mowy na tekst dla krótkich nagrań audio:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Korzystanie z uwierzytelniania Microsoft Entra
Aby użyć uwierzytelniania Microsoft Entra z interfejsem API REST do zamiany mowy na tekst dla krótkiego dźwięku, należy utworzyć token dostępu. Kroki uzyskiwania dostępu do tokenu, który składa się z identyfikatora zasobu i tokenu dostępu Microsoft Entra, są takie same jak w przypadku korzystania z pakietu Speech SDK. Wykonaj kroki opisane tutaj Użyj uwierzytelniania Microsoft Entra
- Utwórz zasób Foundry dla Mowy
- Konfigurowanie zasobu mowa na potrzeby uwierzytelniania Microsoft Entra
- Uzyskiwanie tokenu dostępu Microsoft Entra
- Pobierz identyfikator zasobu Mowy
Po uzyskaniu identyfikatora zasobu i tokenu dostępu Microsoft Entra można utworzyć rzeczywisty token dostępu w następującym formacie:
aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN
Należy uwzględnić prefiks "aad#" oraz separator "#" między identyfikatorem zasobu a tokenem dostępu.
Oto przykładowe żądanie HTTP do interfejsu API REST przekształcania mowy na tekst dla krótkiego nagrania audio.
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Aby dowiedzieć się więcej na temat tokenów dostępu Microsoft Entra, w tym okres istnienia tokenu, odwiedź stronę Tokeny dostępu w Platforma tożsamości Microsoft.