Kontejnery převodu textu na řeč pomocí Dockeru

Neurální text na řečový kontejner převádí text na přirozeně znějící řeč pomocí technologie hluboké neurální sítě, která umožňuje přirozenější syntetizovanou řeč. V tomto článku se dozvíte, jak stáhnout, nainstalovat a spustit kontejner Převod textu na řeč.

Další informace o požadavcích, ověření, že je kontejner spuštěný, běží více kontejnerů na stejném hostiteli a spuštěné odpojené kontejnery, najdete v tématu Instalace a spouštění kontejnerů Služby Speech pomocí Dockeru.

Image kontejneru

Neurální text na image kontejneru řeči pro všechny podporované verze a národní prostředí najdete v syndikátu Microsoft Container Registry (MCR). Nachází se v úložišti azure-cognitive-services/speechservices/ a má název neural-text-to-speech.

A screenshot of the search connectors and triggers dialog.

Plně kvalifikovaný název image kontejneru je . mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech Připojte konkrétní verzi nebo připojte :latest , abyste získali nejnovější verzi.

Verze Cesta
Nejpozdější mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest

Značka latest stáhne en-US národní prostředí a en-us-arianeural hlas.
3.1.0 mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:3.1.0-amd64-en-us-arianeural

Všechny značky, s výjimkou latest, jsou v následujícím formátu a rozlišují malá a velká písmena:

<major>.<minor>.<patch>-<platform>-<voice>-<preview>

Značky jsou také k dispozici ve formátu JSON pro usnadnění. Tělo obsahuje cestu ke kontejneru a seznam značek. Značky nejsou seřazené podle verze, ale "latest" jsou vždy zahrnuty na konci seznamu, jak je znázorněno v tomto fragmentu kódu:

{
  "name": "azure-cognitive-services/speechservices/neural-text-to-speech",
  "tags": [
    <--redacted for brevity-->
    "3.1.0-amd64-en-us-arianeural",
    "3.1.0-amd64-en-us-guyneural",
    "3.1.0-amd64-en-us-jennymultilingualneural",
    "3.1.0-amd64-en-us-jennyneural",
    "3.1.0-amd64-en-us-michelleneural",
    "3.1.0-amd64-es-es-alvaroneural",
    "3.1.0-amd64-es-es-elviraneural",
    "3.1.0-amd64-es-mx-candelaneural",
    "3.1.0-amd64-es-mx-dalianeural",
    "3.1.0-amd64-es-mx-jorgeneural",
    <--redacted for brevity-->
    "latest"
  ]
}

Důležité

31. srpna 2021 jsme vyřadili standardní hlasy syntézy řeči a standardní text do kontejneru řeči . Místo toho byste měli používat neurální hlasy s kontejnerem 3.0 pro neurální text-převod řeči verze 3.0 a vyšší.

Od 29. února 2024 se text na řeč a neurální text do kontejneru speech verze 2.19 a starší nepodporuje. Další informace o aktualizaci aplikace najdete v tématu Migrace ze standardního hlasu na předem připravený neurální hlas.

Získání image kontejneru pomocí docker pull

Potřebujete požadavky, včetně požadovaného hardwaru. Podívejte se také na doporučené přidělení prostředků pro každý kontejner služby Speech.

Pomocí příkazu docker pull stáhněte image kontejneru ze služby Microsoft Container Registry:

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest

Důležité

Značka latest stáhne en-US národní prostředí a en-us-arianeural hlas. Další národní prostředí a hlasy najdete v textu na image kontejnerů řeči.

Spuštění kontejneru pomocí dockeru run

Ke spuštění kontejneru použijte příkaz docker run.

Následující tabulka představuje různé docker run parametry a jejich odpovídající popisy:

Parametr Popis
{ENDPOINT_URI} Koncový bod se vyžaduje pro měření a fakturaci. Další informace najdete v tématu Fakturační argumenty.
{API_KEY} Vyžaduje se klíč rozhraní API. Další informace najdete v tématu Fakturační argumenty.

Když spustíte kontejner převodu textu na řeč, nakonfigurujte port, paměť a procesor podle požadavků a doporučení pro kontejner řeči podle textu.

Tady je ukázkový docker run příkaz se zástupnými hodnotami. Musíte zadat ENDPOINT_URI hodnoty a API_KEY hodnoty:

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}

Tento příkaz:

  • Spustí neurální text do kontejneru řeči z image kontejneru.
  • Přidělí 6 jader procesoru a 12 GB paměti.
  • Zpřístupní port TCP 5000 a přidělí pro kontejner pseudo-TTY.
  • Po ukončení kontejneru se automaticky odebere. Image kontejneru je stále dostupná na hostitelském počítači.

Další informace o kontejnerech služby Speech najdete v docker run tématu Instalace a spouštění kontejnerů služby Speech pomocí Dockeru.

Použití kontejneru

Kontejnery služby Speech poskytují rozhraní API koncových bodů dotazů založených na websocketu, ke kterým se přistupuje prostřednictvím sady Speech SDK a rozhraní příkazového řádku služby Speech. Sada Speech SDK a Rozhraní příkazového řádku služby Speech ve výchozím nastavení používají veřejnou službu Speech. Pokud chcete kontejner použít, musíte změnit inicializační metodu.

Důležité

Pokud používáte službu Speech s kontejnery, nezapomeňte použít ověřování hostitele. Pokud nakonfigurujete klíč a oblast, požadavky budou chodit do veřejné služby Speech. Výsledky ze služby Speech nemusí být to, co očekáváte. Požadavky z odpojených kontejnerů selžou.

Místo použití této konfigurace inicializace cloudu Azure:

var config = SpeechConfig.FromSubscription(...);

Tuto konfiguraci použijte u hostitele kontejneru:

var config = SpeechConfig.FromHost(
    new Uri("http://localhost:5000"));

Místo použití této konfigurace inicializace cloudu Azure:

auto speechConfig = SpeechConfig::FromSubscription(...);

Tuto konfiguraci použijte u hostitele kontejneru:

auto speechConfig = SpeechConfig::FromHost("http://localhost:5000");

Místo použití této konfigurace inicializace cloudu Azure:

speechConfig, err := speech.NewSpeechConfigFromSubscription(...)

Tuto konfiguraci použijte u hostitele kontejneru:

speechConfig, err := speech.NewSpeechConfigFromHost("http://localhost:5000")

Místo použití této konfigurace inicializace cloudu Azure:

SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);

Tuto konfiguraci použijte u hostitele kontejneru:

SpeechConfig speechConfig = SpeechConfig.fromHost("http://localhost:5000");

Místo použití této konfigurace inicializace cloudu Azure:

const speechConfig = sdk.SpeechConfig.fromSubscription(...);

Tuto konfiguraci použijte u hostitele kontejneru:

const speechConfig = sdk.SpeechConfig.fromHost("http://localhost:5000");

Místo použití této konfigurace inicializace cloudu Azure:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];

Tuto konfiguraci použijte u hostitele kontejneru:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"http://localhost:5000"];

Místo použití této konfigurace inicializace cloudu Azure:

let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");

Tuto konfiguraci použijte u hostitele kontejneru:

let speechConfig = SPXSpeechConfiguration(host: "http://localhost:5000");

Místo použití této konfigurace inicializace cloudu Azure:

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key, region=service_region)

Tuto konfiguraci použijte s koncovým bodem kontejneru:

speech_config = speechsdk.SpeechConfig(
    host="http://localhost:5000")

Pokud používáte Rozhraní příkazového řádku služby Speech v kontejneru, uveďte tuto --host http://localhost:5000/ možnost. Musíte také zadat --key none , abyste zajistili, že se rozhraní příkazového řádku nebude pokoušet k ověřování použít klíč služby Speech. Informace o tom, jak nakonfigurovat rozhraní příkazového řádku služby Speech, najdete v tématu Začínáme s Azure AI Speech CLI.

Vyzkoušejte rychlý start převodu textu na řeč pomocí ověřování hostitele místo klíče a oblasti.

Hlasový prvek SSML

Když vytváříte neurální text pro řeč HTTP POST, zpráva SSML vyžaduje voice prvek s atributem name . Národní prostředí hlasu musí odpovídat národnímu prostředí modelu kontejneru.

Například model stažený prostřednictvím latest značky (výchozí hodnota "en-US") by měl hlasový název 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>

Další kroky