Szöveg–beszédtárolók a Dockerrel

A neurális szöveg beszédtárolóvá alakítja a szöveget természetes hangzású beszédgé mély neurális hálózati technológia használatával, amely természetesebb szintetizált beszédet tesz lehetővé. Ebből a cikkből megtudhatja, hogyan tölthet le, telepíthet és futtathat szöveg-beszédtárolót.

Az előfeltételekről, a tárolók futásának ellenőrzéséről, több tároló ugyanazon a gazdagépen való futtatásáról és a leválasztott tárolók futtatásáról további információt a Speech-tárolók telepítése és futtatása a Dockerrel című témakörben talál.

Tárolólemezképek

A beszédtároló lemezképének neurális szövege az összes támogatott verzióhoz és területi beállításhoz megtalálható a Microsoft Container Registry (MCR) szindikátumán. Az adattárban azure-cognitive-services/speechservices/ található, és neve neural-text-to-speech.

A screenshot of the search connectors and triggers dialog.

A teljes tárolórendszerkép neve: mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech. Egy adott verzió hozzáfűzése vagy hozzáfűzése :latest a legújabb verzió lekéréséhez.

Verzió Elérési út
Legutóbbi mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest

A latest címke lekéri a területi beállításokat és en-us-arianeural a en-US hangot.
3.1.0 mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:3.1.0-amd64-en-us-arianeural

A címkék kivételével latestminden címke a következő formátumban van, és megkülönbözteti a kis- és nagybetűket:

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

A címkék JSON formátumban is elérhetők az Ön kényelme érdekében. A törzs tartalmazza a tároló elérési útját és a címkék listáját. A címkék nem verzió szerint lesznek rendezve, de "latest" mindig a lista végén jelennek meg, ahogyan az ebben a kódrészletben látható:

{
  "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"
  ]
}

Fontos

2021. augusztus 31-én megszüntettük a szabványos beszédszintézisi hangokat és a szabványos szöveget a beszédtárolóba . Neurális hangokat kell használnia a neurális-szöveg-beszéd tároló 3.0-s és újabb verziójával.

2024. február 29-től kezdődően a szöveg és a neurális szöveg a Speech Container 2.19-ben és korábbi verzióiban nem támogatott. Az alkalmazás frissítésével kapcsolatos további információkért lásd : Migrálás standard hangról előre összeállított neurális hangra.

Tárolórendszerkép lekérése Docker-lekéréssel

Szüksége van az előfeltételekre, beleértve a szükséges hardvert is. Tekintse meg az egyes Speech-tárolókhoz javasolt erőforrások lefoglalását is.

A Docker lekéréses parancsával letölthet egy tárolólemezképet a Microsoft Container Registryből:

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

Fontos

A latest címke lekéri a területi beállításokat és en-us-arianeural a en-US hangot. További területi beállításokat és hangokat a szöveg és a beszédtároló lemezképei között talál.

A tároló futtatása docker-futtatással

A tároló futtatásához használja a docker-futtatási parancsot.

Az alábbi táblázat a különböző docker run paramétereket és azok leírását jelöli:

Paraméter Leírás
{ENDPOINT_URI} A végpont szükséges a méréshez és a számlázáshoz. További információ: számlázási argumentumok.
{API_KEY} Az API-kulcs megadása kötelező. További információ: számlázási argumentumok.

Amikor a szöveget a beszédtárolóba futtatja, konfigurálja a portot, a memóriát és a PROCESSZORt a szövegnek megfelelően a beszédtároló követelményeinek és javaslatainak megfelelően.

Íme egy példaparancs docker run helyőrző értékekkel. Meg kell adnia a ENDPOINT_URI következő értékeket: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}

A parancs a következőket hajtja végre:

  • Neurális szöveget futtat a tárolórendszerképből a beszédtárolóba.
  • 6 processzormagot és 12 GB memóriát foglal le.
  • Az 5000-s TCP-portot teszi elérhetővé, és egy pszeudo-TTY-t foglal le a tárolóhoz.
  • A tárolót a kilépés után automatikusan eltávolítja. A tárolólemezkép továbbra is elérhető a gazdaszámítógépen.

A Speech-tárolókkal kapcsolatos docker run további információkért lásd : Speech-tárolók telepítése és futtatása a Dockerrel.

A tároló használata

A Speech-tárolók websocket-alapú lekérdezésvégpont API-kat biztosítanak, amelyek a Speech SDK-n és a Speech CLI-n keresztül érhetők el. Alapértelmezés szerint a Speech SDK és a Speech CLI a nyilvános Speech szolgáltatást használja. A tároló használatához módosítania kell az inicializálási módszert.

Fontos

Ha tárolókkal használja a Speech szolgáltatást, mindenképpen használjon gazdagép-hitelesítést. Ha konfigurálja a kulcsot és a régiót, a kérések a nyilvános beszédszolgáltatáshoz kerülnek. Előfordulhat, hogy a Speech szolgáltatás eredményei nem a vártak. A leválasztott tárolókból érkező kérések sikertelenek lesznek.

Az Azure-felhő inicializálási konfigurációjának használata helyett:

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

Használja ezt a konfigurációt a tároló gazdagépével:

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

Az Azure-felhő inicializálási konfigurációjának használata helyett:

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

Használja ezt a konfigurációt a tároló gazdagépével:

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

Az Azure-felhő inicializálási konfigurációjának használata helyett:

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

Használja ezt a konfigurációt a tároló gazdagépével:

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

Az Azure-felhő inicializálási konfigurációjának használata helyett:

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

Használja ezt a konfigurációt a tároló gazdagépével:

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

Az Azure-felhő inicializálási konfigurációjának használata helyett:

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

Használja ezt a konfigurációt a tároló gazdagépével:

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

Az Azure-felhő inicializálási konfigurációjának használata helyett:

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

Használja ezt a konfigurációt a tároló gazdagépével:

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

Az Azure-felhő inicializálási konfigurációjának használata helyett:

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

Használja ezt a konfigurációt a tároló gazdagépével:

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

Az Azure-felhő inicializálási konfigurációjának használata helyett:

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

Használja ezt a konfigurációt a tárolóvégponttal:

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

Ha a Speech CLI-t egy tárolóban használja, adja meg a --host http://localhost:5000/ lehetőséget. Azt is meg kell adnia --key none , hogy a parancssori felület ne használjon beszédkulcsot a hitelesítéshez. A Speech CLI konfigurálásáról további információt az Azure AI Speech CLI használatának első lépései című témakörben talál.

Próbálja ki a szöveget a gyorsútmutatóhoz a kulcs és a régió helyett a gazdagép-hitelesítés használatával.

SSML hangelem

Ha neurális szöveget hoz létre a HTTP POST-hez, az SSML-üzenethez egy voice attribútummal rendelkező name elem szükséges. A hang területi beállításának meg kell felelnie a tárolómodell területi beállításának.

Például egy címkén keresztül latest letöltött modell (alapértelmezés szerint az "en-US") a következő hangnévvel en-US-AriaNeuralrendelkezik: .

<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>

Következő lépések