Text till tal-containrar med Docker
Containern neural text till tal konverterar text till naturligt klingande tal med hjälp av djup neural nätverksteknik, vilket möjliggör mer naturligt syntetiserat tal. I den här artikeln får du lära dig hur du laddar ned, installerar och kör en text-till-tal-container.
Mer information om förutsättningar, verifiering av att en container körs, körning av flera containrar på samma värd och körning av frånkopplade containrar finns i Installera och köra Speech-containrar med Docker.
Containeravbildningar
Den neurala text till talcontaineravbildningen för alla versioner och nationella inställningar som stöds finns i MCR-syndikatet (Microsoft Container Registry). Den finns på lagringsplatsen azure-cognitive-services/speechservices/
och heter neural-text-to-speech
.
Det fullständigt kvalificerade containeravbildningsnamnet är , mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech
. Lägg antingen till en viss version eller lägg till :latest
för att hämta den senaste versionen.
Version | Sökväg |
---|---|
Senast | mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest Taggen latest hämtar en-US nationella inställningar och en-us-arianeural röst. |
3.5.0 | mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:3.5.0-amd64-en-us-arianeural |
Alla taggar, förutom latest
, är i följande format och är skiftlägeskänsliga:
<major>.<minor>.<patch>-<platform>-<voice>-<preview>
Taggarna är också tillgängliga i JSON-format för din bekvämlighet. Brödtexten innehåller containersökvägen och listan med taggar. Taggarna sorteras inte efter version, men "latest"
ingår alltid i slutet av listan enligt följande kodfragment:
{
"name": "azure-cognitive-services/speechservices/neural-text-to-speech",
"tags": [
<--redacted for brevity-->
"3.5.0-amd64-uk-ua-ostapneural",
"3.5.0-amd64-zh-cn-xiaochenneural-preview",
"3.5.0-amd64-zh-cn-xiaohanneural",
"3.5.0-amd64-zh-cn-xiaomoneural",
"3.5.0-amd64-zh-cn-xiaoqiuneural-preview",
"3.5.0-amd64-zh-cn-xiaoruineural",
"3.5.0-amd64-zh-cn-xiaoshuangneural-preview",
"3.5.0-amd64-zh-cn-xiaoxiaoneural",
"3.5.0-amd64-zh-cn-xiaoyanneural-preview",
"3.5.0-amd64-zh-cn-xiaoyouneural",
"3.5.0-amd64-zh-cn-yunxineural",
"3.5.0-amd64-zh-cn-yunyangneural",
"3.5.0-amd64-zh-cn-yunyeneural",
"latest"
]
}
Viktigt!
Den 31 augusti 2021 drog vi tillbaka standardtalsyntesrösterna och standardtexten till talcontainern . Du bör använda neurala röster med containerversionen 3.0 för neural text till tal i stället.
Från och med den 29 februari 2024 stöds inte text till tal och neural text till talcontainerversion 2.19 och tidigare. Mer information om hur du uppdaterar programmet finns i Migrera från standardröst till fördefinierad neural röst.
Hämta containeravbildningen med docker pull
Du behöver kraven, inklusive nödvändig maskinvara. Se även den rekommenderade allokeringen av resurser för varje Speech-container.
Använd docker pull-kommandot för att ladda ned en containeravbildning från Microsoft Container Registry:
docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest
Viktigt!
Taggen latest
hämtar en-US
nationella inställningar och en-us-arianeural
röst. Ytterligare språk och röster finns i text till talcontaineravbildningar.
Kör containern med docker-körning
Använd kommandot docker run för att köra containern.
Följande tabell representerar de olika docker run
parametrarna och deras motsvarande beskrivningar:
Parameter | Description |
---|---|
{ENDPOINT_URI} |
Slutpunkten krävs för mätning och fakturering. Mer information finns i faktureringsargument. |
{API_KEY} |
API-nyckeln krävs. Mer information finns i faktureringsargument. |
När du kör text-till-tal-containern konfigurerar du porten, minnet och PROCESSORn enligt kraven och rekommendationerna för text-till-talcontainern.
Här är ett exempelkommando docker run
med platshållarvärden. Du måste ange ENDPOINT_URI
värdena och API_KEY
:
docker run --rm -it -p 5000:5000 --memory 12g --cpus 6 \
mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Det här kommandot:
- Kör en neural text till talcontainer från containeravbildningen.
- Allokerar 6 CPU-kärnor och 12 GB minne.
- Exponerar TCP-port 5000 och allokerar en pseudo-TTY för containern.
- Tar automatiskt bort containern när den har avslutats. Containeravbildningen är fortfarande tillgänglig på värddatorn.
Mer information om docker run
med Speech-containrar finns i Installera och köra Speech-containrar med Docker.
Använda containern
Talcontainrar tillhandahåller websocketbaserade frågeslutpunkts-API:er som nås via Speech SDK och Speech CLI. Som standard använder Speech SDK och Speech CLI den offentliga Speech-tjänsten. Om du vill använda containern måste du ändra initieringsmetoden.
Viktigt!
När du använder Speech-tjänsten med containrar måste du använda värdautentisering. Om du konfigurerar nyckeln och regionen går begäranden till den offentliga Speech-tjänsten. Resultat från Speech-tjänsten kanske inte är vad du förväntar dig. Begäranden från frånkopplade containrar misslyckas.
I stället för att använda den här initieringskonfigurationen för Azure-molnet:
var config = SpeechConfig.FromSubscription(...);
Använd den här konfigurationen med containervärden:
var config = SpeechConfig.FromHost(
new Uri("http://localhost:5000"));
I stället för att använda den här initieringskonfigurationen för Azure-molnet:
auto speechConfig = SpeechConfig::FromSubscription(...);
Använd den här konfigurationen med containervärden:
auto speechConfig = SpeechConfig::FromHost("http://localhost:5000");
I stället för att använda den här initieringskonfigurationen för Azure-molnet:
speechConfig, err := speech.NewSpeechConfigFromSubscription(...)
Använd den här konfigurationen med containervärden:
speechConfig, err := speech.NewSpeechConfigFromHost("http://localhost:5000")
I stället för att använda den här initieringskonfigurationen för Azure-molnet:
SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);
Använd den här konfigurationen med containervärden:
SpeechConfig speechConfig = SpeechConfig.fromHost("http://localhost:5000");
I stället för att använda den här initieringskonfigurationen för Azure-molnet:
const speechConfig = sdk.SpeechConfig.fromSubscription(...);
Använd den här konfigurationen med containervärden:
const speechConfig = sdk.SpeechConfig.fromHost("http://localhost:5000");
I stället för att använda den här initieringskonfigurationen för Azure-molnet:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];
Använd den här konfigurationen med containervärden:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"http://localhost:5000"];
I stället för att använda den här initieringskonfigurationen för Azure-molnet:
let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");
Använd den här konfigurationen med containervärden:
let speechConfig = SPXSpeechConfiguration(host: "http://localhost:5000");
I stället för att använda den här initieringskonfigurationen för Azure-molnet:
speech_config = speechsdk.SpeechConfig(
subscription=speech_key, region=service_region)
Använd den här konfigurationen med containerslutpunkten:
speech_config = speechsdk.SpeechConfig(
host="http://localhost:5000")
När du använder Speech CLI i en container inkluderar du alternativet --host http://localhost:5000/
. Du måste också ange --key none
för att säkerställa att CLI inte försöker använda en Talnyckel för autentisering. Information om hur du konfigurerar Speech CLI finns i Kom igång med Azure AI Speech CLI.
Prova snabbstarten text till tal med värdautentisering i stället för nyckel och region.
SSML-röstelement
När du skapar en neural text till HTTP POST för tal kräver SSML-meddelandet ett voice
element med ett name
attribut. Språkvarianten för rösten måste motsvara containermodellens nationella inställningar. Stöd för SSML-taggen är konsekvent för varje text till tal-röst både i Azure-molnet och containermiljön.
Till exempel skulle en modell som laddades ned via taggen latest
(standardvärdet "en-US") ha ett röstnamn på en-US-AriaNeural
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AriaNeural">
This is the text that is spoken.
</voice>
</speak>
Nästa steg
- Se översikten över Speech-containrar
- Granska konfigurera containrar för konfigurationsinställningar
- Använda fler Azure AI-containrar