Docker ile metin okuma kapsayıcıları

Nöral metinden konuşmaya kapsayıcısı, daha doğal sentezlenmiş konuşmayı sağlayan derin sinir ağı teknolojisini kullanarak metni doğal sesli konuşmaya dönüştürür. Bu makalede, metin okuma kapsayıcısını indirmeyi, yüklemeyi ve çalıştırmayı öğreneceksiniz.

Önkoşullar, bir kapsayıcının çalıştığını doğrulama, aynı konakta birden çok kapsayıcı çalıştırma ve bağlantısı kesilmiş kapsayıcıları çalıştırma hakkında daha fazla bilgi için bkz . Docker ile Konuşma kapsayıcılarını yükleme ve çalıştırma.

Kapsayıcı görüntüleri

Desteklenen tüm sürümler ve yerel ayarlar için nöral metinden konuşmaya kapsayıcı görüntüsü, Microsoft Container Registry (MCR) dağıtımında bulunabilir. Depoda azure-cognitive-services/speechservices/ bulunur ve olarak adlandırılır neural-text-to-speech.

Arama bağlayıcıları ve tetikleyiciler iletişim kutusunun ekran görüntüsü.

Tam kapsayıcı görüntüsü adı: mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech. En son sürümü almak için belirli bir sürümü ekleme veya ekleme :latest .

Sürüm Yol
En geç mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest

latest Etiketi yerel ayarı ve en-us-arianeural sesi çekeren-US.
3.5.0 mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:3.5.0-amd64-en-us-arianeural

dışındaki latesttüm etiketler aşağıdaki biçimdedir ve büyük/küçük harfe duyarlıdır:

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

Etiketler, kolaylık sağlamak için JSON biçiminde de kullanılabilir. Gövde kapsayıcı yolunu ve etiket listesini içerir. Etiketler sürüme göre sıralanmamıştır, ancak "latest" bu kod parçacığında gösterildiği gibi her zaman listenin sonuna eklenir:

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

Önemli

31 Ağustos 2021'de standart konuşma sentezi seslerini ve standart metni konuşma kapsayıcısını kullanımdan kaldırdık. Bunun yerine nöral sesleri nöral metin okuma kapsayıcısı sürüm 3.0 ve üzeri ile kullanmanız gerekir.

29 Şubat 2024'ten itibaren metin okuma ve nöral metinden konuşmaya kapsayıcı 2.19 ve önceki sürümleri desteklenmez. Uygulamanızı güncelleştirme hakkında daha fazla bilgi için bkz . Standart sesten önceden oluşturulmuş sinir sesine geçiş.

Docker çekme ile kapsayıcı görüntüsünü alma

Gerekli donanım da dahil olmak üzere önkoşullara ihtiyacınız vardır. Ayrıca her Konuşma kapsayıcısı için önerilen kaynak ayırma bölümüne bakın.

Microsoft Container Registry'den kapsayıcı görüntüsü indirmek için docker pull komutunu kullanın:

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

Önemli

latest Etiketi yerel ayarı ve en-us-arianeural sesi çekeren-US. Ek yerel ayarlar ve sesler için bkz . Metinden konuşmaya kapsayıcı görüntüleri.

Kapsayıcıyı docker run ile çalıştırma

Kapsayıcıyı çalıştırmak için docker run komutunu kullanın.

Aşağıdaki tablo çeşitli docker run parametreleri ve bunların karşılık gelen açıklamalarını temsil eder:

Parametre Açıklama
{ENDPOINT_URI} Uç nokta, ölçüm ve faturalama için gereklidir. Daha fazla bilgi için bkz . faturalama bağımsız değişkenleri.
{API_KEY} API anahtarı gereklidir. Daha fazla bilgi için bkz . faturalama bağımsız değişkenleri.

Metni konuşma kapsayıcısına çalıştırdığınızda, bağlantı noktasını, belleği ve CPU'ları metin okuma kapsayıcısı gereksinimlerine ve önerilerine göre yapılandırın.

Aşağıda yer tutucu değerleri içeren bir örnek docker run komut verilmiştir. ve API_KEY değerlerini belirtmelisinizENDPOINT_URI:

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}

Şu komut:

  • Kapsayıcı görüntüsünden sinir metninden konuşma kapsayıcısına doğru bir sinir metni çalıştırır.
  • 6 CPU çekirdeği ve 12 GB bellek ayırır.
  • TCP bağlantı noktası 5000'i kullanıma sunar ve kapsayıcı için bir sahte TTY ayırır.
  • Kapsayıcı çıktıktan sonra otomatik olarak kaldırılır. Kapsayıcı görüntüsü ana bilgisayarda hala kullanılabilir.

Konuşma kapsayıcıları hakkında docker run daha fazla bilgi için bkz . Docker ile Konuşma kapsayıcılarını yükleme ve çalıştırma.

Kapsayıcıyı kullanma

Konuşma kapsayıcıları, Konuşma SDK'sı ve Konuşma CLI'sı aracılığıyla erişilen websocket tabanlı sorgu uç noktası API'leri sağlar. Varsayılan olarak, Konuşma SDK'sı ve Konuşma CLI'sı genel Konuşma hizmetini kullanır. Kapsayıcıyı kullanmak için başlatma yöntemini değiştirmeniz gerekir.

Önemli

Konuşma hizmetini kapsayıcılarla kullanırken konak kimlik doğrulamasını kullandığınızdan emin olun. Anahtarı ve bölgeyi yapılandırdığınızda istekler genel Konuşma hizmetine gider. Konuşma hizmetinin sonuçları beklediğiniz gibi olmayabilir. Bağlantısı kesilmiş kapsayıcılardan gelen istekler başarısız olur.

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

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

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

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

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

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

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

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

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

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

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

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

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

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

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

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

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

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

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

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

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

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

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

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

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

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

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

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

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

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

Kapsayıcı uç noktasıyla bu yapılandırmayı kullanın:

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

Konuşma CLI'sini bir kapsayıcıda kullanırken seçeneğini ekleyin --host http://localhost:5000/ . CLI'nın kimlik doğrulaması için Konuşma anahtarı kullanmadığından emin olmak için de belirtmelisiniz --key none . Konuşma CLI'sını yapılandırma hakkında bilgi için bkz . Azure AI Konuşma CLI'sını kullanmaya başlama.

Anahtar ve bölge yerine konak kimlik doğrulamasını kullanarak konuşma metni hızlı başlangıcını deneyin.

SSML ses öğesi

HTTP POST'un konuşmasına bir nöral metin oluşturduğunuzda, SSML iletisi özniteliği olan bir voice name öğe gerektirir. Sesin yerel ayarı, kapsayıcı modelinin yerel ayarına karşılık gelir. SSML etiket desteği, hem Azure bulutunda hem de kapsayıcı ortamında her metinden konuşmaya yönelik ses için tutarlıdır.

Örneğin, etiketi (varsayılan olarak "en-US" olarak adlandırılır) aracılığıyla latest indirilen bir modelin ses adı olacaktır 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>

Sonraki adımlar