Kontainer teks ke ucapan dengan Docker

Kontainer teks neural ke ucapan mengonversi teks menjadi ucapan yang terdengar alami dengan menggunakan teknologi jaringan neural mendalam, yang memungkinkan ucapan yang disintesis yang lebih alami. Dalam artikel ini, Anda mempelajari cara mengunduh, menginstal, dan menjalankan kontainer Teks ke ucapan.

Untuk informasi selengkapnya tentang prasyarat, memvalidasi bahwa kontainer sedang berjalan, menjalankan beberapa kontainer pada host yang sama, dan menjalankan kontainer yang terputus, lihat Menginstal dan menjalankan kontainer Ucapan dengan Docker.

Gambar kontainer

Gambar kontainer teks neural ke ucapan untuk semua versi dan lokal yang didukung dapat ditemukan pada sindikat Microsoft Container Registry (MCR ). Itu berada di dalam repositori azure-cognitive-services/speechservices/ dan dinamai neural-text-to-speech.

A screenshot of the search connectors and triggers dialog.

Nama gambar kontainer yang sepenuhnya memenuhi syarat adalah, mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech. Tambahkan versi tertentu atau tambahkan :latest untuk mendapatkan versi terbaru.

Versi Jalur
terbaru mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest

latestTag menarik lokal en-US dan suara en-us-arianeural.
3.1.0 mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:3.1.0-amd64-en-us-arianeural

Semua tag, kecuali latest, berada dalam format berikut dan peka huruf besar/kecil:

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

Tag juga tersedia dalam format JSON untuk kenyamanan Anda. Isinya mencakup jalur kontainer dan daftar tag. Tag tidak diurutkan menurut versi, tetapi "latest" selalu disertakan di akhir daftar seperti yang ditunjukkan dalam cuplikan ini:

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

Penting

Kami menghentikan suara sintesis ucapan standar dan kontainer teks ke ucapan standar pada 31 Agustus 2021. Anda harus menggunakan suara neural dengan kontainer neural-text-to-speech versi 3.0 dan yang lebih tinggi.

Mulai 29 Februari 2024, teks ke teks ucapan dan teks neural ke kontainer ucapan versi 2.19 dan yang lebih lama tidak didukung. Untuk informasi selengkapnya tentang memperbarui aplikasi Anda, lihat Bermigrasi dari suara standar ke suara neural bawaan.

Dapatkan gambar kontainer dengan penarikan docker

Anda memerlukan prasyarat termasuk perangkat keras yang diperlukan. Lihat juga alokasi sumber daya yang direkomendasikan untuk setiap kontainer Ucapan.

Gunakan perintah penarikan docker untuk mengunduh citra kontainer dari Microsoft Container Registry:

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

Penting

latestTag menarik lokal en-US dan suara en-us-arianeural. Untuk lokal dan suara tambahan, lihat gambar kontainer teks ke ucapan.

Jalankan kontainer dengan docker run

Gunakan perintah eksekusi docker untuk menjalankan kontainer.

Tabel berikut ini menunjukkan berbagai parameter docker run dan deskripsi terkait:

Parameter Deskripsi
{ENDPOINT_URI} Titik akhir diperlukan untuk pengukuran dan penagihan. Untuk informasi selengkapnya, lihat argumen penagihan.
{API_KEY} Kunci API diperlukan. Untuk informasi selengkapnya, lihat argumen penagihan.

Saat Anda menjalankan kontainer teks ke ucapan, konfigurasikan port, memori, dan CPU sesuai dengan persyaratan dan rekomendasi kontainer teks ke ucapan.

Berikut adalah contoh docker run perintah dengan nilai tempat penampung. Anda harus menentukan ENDPOINT_URI nilai dan 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}

Perintah ini:

  • Menjalankan teks neural ke kontainer ucapan dari gambar kontainer.
  • Mengalokasikan 6 inti CPU dan memori 12 GB.
  • Mengekspos port TCP 5000 dan mengalokasikan pseudo-TTY untuk kontainer.
  • Menghapus kontainer secara otomatis setelah kontainer keluar. Gambar kontainer masih tersedia di komputer host.

Untuk informasi selengkapnya tentang docker run kontainer Ucapan, lihat Menginstal dan menjalankan kontainer Ucapan dengan Docker.

Gunakan kontainer

Kontainer ucapan menyediakan API titik akhir kueri berbasis websocket yang diakses melalui Speech SDK dan Speech CLI. Secara default, Speech SDK dan Speech CLI menggunakan layanan Ucapan publik. Untuk menggunakan kontainer, Anda perlu mengubah metode inisialisasi.

Penting

Saat Anda menggunakan layanan Ucapan dengan kontainer, pastikan untuk menggunakan autentikasi host. Jika Anda mengonfigurasi kunci dan wilayah, permintaan akan masuk ke layanan Ucapan publik. Hasil dari layanan Ucapan mungkin bukan yang Anda harapkan. Permintaan dari kontainer yang terputus akan gagal.

Alih-alih menggunakan konfigurasi inisialisasi Azure-cloud ini:

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

Gunakan konfigurasi ini dengan host kontainer:

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

Alih-alih menggunakan konfigurasi inisialisasi Azure-cloud ini:

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

Gunakan konfigurasi ini dengan host kontainer:

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

Alih-alih menggunakan konfigurasi inisialisasi Azure-cloud ini:

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

Gunakan konfigurasi ini dengan host kontainer:

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

Alih-alih menggunakan konfigurasi inisialisasi Azure-cloud ini:

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

Gunakan konfigurasi ini dengan host kontainer:

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

Alih-alih menggunakan konfigurasi inisialisasi Azure-cloud ini:

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

Gunakan konfigurasi ini dengan host kontainer:

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

Alih-alih menggunakan konfigurasi inisialisasi Azure-cloud ini:

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

Gunakan konfigurasi ini dengan host kontainer:

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

Alih-alih menggunakan konfigurasi inisialisasi Azure-cloud ini:

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

Gunakan konfigurasi ini dengan host kontainer:

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

Alih-alih menggunakan konfigurasi inisialisasi Azure-cloud ini:

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

Gunakan konfigurasi ini dengan titik akhir kontainer:

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

Saat Anda menggunakan Speech CLI dalam kontainer, sertakan --host http://localhost:5000/ opsi . Anda juga harus menentukan --key none untuk memastikan bahwa CLI tidak mencoba menggunakan kunci Ucapan untuk autentikasi. Untuk informasi tentang cara mengonfigurasi Speech CLI, lihat Mulai menggunakan Azure AI Speech CLI.

Coba mulai cepat teks ke ucapan menggunakan autentikasi host alih-alih kunci dan wilayah.

Elemen suara SSML

Saat Anda membuat teks neural untuk ucapan HTTP POST, pesan SSML memerlukan voice elemen dengan name atribut . Lokal suara harus sesuai dengan lokal model kontainer.

Misalnya, model yang diunduh melalui latest tag (default ke "en-US") akan memiliki nama en-US-AriaNeuralsuara .

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

Langkah berikutnya