Mulai cepat: Teks ke ucapan dengan Layanan Azure OpenAI
Dalam mulai cepat ini, Anda menggunakan Azure OpenAI Service untuk teks ke ucapan dengan suara OpenAI.
Suara yang tersedia adalah: alloy
, , echo
, fable
, onyx
nova
, dan shimmer
. Untuk informasi selengkapnya, lihat Dokumentasi referensi Azure OpenAI Service untuk teks ke ucapan.
Prasyarat
- Langganan Azure - Buat langganan gratis.
- Sumber daya Azure OpenAI dibuat di wilayah US Tengah Utara atau Swedia Tengah dengan model atau
tts-1-hd
yangtts-1
disebarkan. Untuk informasi selengkapnya, lihat Membuat sumber daya dan menyebarkan model dengan Azure OpenAI.
Penyiapan
Mengambil kunci dan titik akhir
Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.
Nama variabel | Nilai |
---|---|
AZURE_OPENAI_ENDPOINT |
Titik akhir layanan dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Azure. Atau, Anda dapat menemukan titik akhir melalui halaman Penyebaran di Azure AI Studio. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/ . |
AZURE_OPENAI_API_KEY |
Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2 . |
Buka sumber daya Anda di portal Azure. Titik Akhir dan Kunci dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena Anda memerlukan keduanya untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1
atau KEY2
. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.
Variabel lingkungan
Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.
Penting
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Membuat permintaan dan respons REST
Di shell bash, jalankan perintah berikut. Anda perlu mengganti YourDeploymentName
dengan nama penyebaran yang Anda pilih saat menyebarkan model teks ke ucapan. Nama penyebaran tidak selalu sama dengan nama model. Memasukkan nama model menghasilkan kesalahan kecuali Anda memilih nama penyebaran yang identik dengan nama model yang mendasar.
curl $AZURE_OPENAI_ENDPOINT/openai/deployments/YourDeploymentName/audio/speech?api-version=2024-02-15-preview \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1-hd",
"input": "I'm excited to try text to speech.",
"voice": "alloy"
}' --output speech.mp3
Format baris pertama perintah Anda dengan contoh titik akhir akan muncul sebagai berikut curl https://aoai-docs.openai.azure.com/openai/deployments/{YourDeploymentName}/audio/speech?api-version=2024-02-15-preview \
.
Penting
Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.
Paket kode sumber | (npm) | Sampel
Prasyarat
- Langganan Azure - buat langganan gratis
- Versi LTS dari Node.js
- Azure CLI yang digunakan untuk autentikasi tanpa kata sandi di lingkungan pengembangan lokal, buat konteks yang diperlukan dengan masuk dengan Azure CLI.
- Sumber daya Azure OpenAI yang dibuat di wilayah yang didukung (lihat Ketersediaan wilayah). Untuk informasi selengkapnya, lihat Membuat sumber daya dan menyebarkan model dengan Azure OpenAI.
Penyiapan
Mengambil kunci dan titik akhir
Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.
Nama variabel | Nilai |
---|---|
AZURE_OPENAI_ENDPOINT |
Titik akhir layanan dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Azure. Atau, Anda dapat menemukan titik akhir melalui halaman Penyebaran di Azure AI Studio. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/ . |
AZURE_OPENAI_API_KEY |
Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2 . |
Buka sumber daya Anda di portal Azure. Titik Akhir dan Kunci dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena Anda memerlukan keduanya untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1
atau KEY2
. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.
Variabel lingkungan
Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.
Penting
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Membuat aplikasi Node
Di jendela konsol (seperti cmd, PowerShell, atau Bash), buat direktori baru untuk aplikasi Anda, dan buka direktori tersebut. Kemudian jalankan npm init
perintah untuk membuat aplikasi simpul dengan file package.json .
npm init
Memasang pustaka klien
Instal pustaka klien dengan:
npm install openai @azure/identity
File package.json aplikasi Anda akan diperbarui dengan dependensi.
Membuat file ucapan
Buat file baru bernama Text-to-speech.js dan buka di editor kode pilihan Anda. Salin kode berikut ke dalam file Text-to-speech.js :
const { writeFile } = require("fs/promises"); const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity"); require("openai/shims/node"); // You will need to set these environment variables or edit the following values const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>"; const speechFilePath = "<path to save the speech file>"; // Required Azure OpenAI deployment name and API version const deploymentName = "tts"; const apiVersion = "2024-08-01-preview"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient() { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function generateAudioStream( client, params ) { const response = await client.audio.speech.create(params); if (response.ok) return response.body; throw new Error(`Failed to generate audio stream: ${response.statusText}`); } export async function main() { console.log("== Text to Speech Sample =="); const client = getClient(); const streamToRead = await generateAudioStream(client, { model: deploymentName, voice: "alloy", input: "the quick brown chicken jumped over the lazy dogs", }); console.log(`Streaming response to ${speechFilePath}`); await writeFile(speechFilePath, streamToRead); console.log("Finished streaming"); } main().catch((err) => { console.error("The sample encountered an error:", err); });
Menjalankan skrip dengan menjalankan perintah berikut:
node Text-to-speech.js
Paket kode sumber | (npm) | Sampel
Prasyarat
- Langganan Azure - buat langganan gratis
- Versi LTS dari Node.js
- TypeScript
- Azure CLI yang digunakan untuk autentikasi tanpa kata sandi di lingkungan pengembangan lokal, buat konteks yang diperlukan dengan masuk dengan Azure CLI.
- Sumber daya Azure OpenAI yang dibuat di wilayah yang didukung (lihat Ketersediaan wilayah). Untuk informasi selengkapnya, lihat Membuat sumber daya dan menyebarkan model dengan Azure OpenAI.
Penyiapan
Mengambil kunci dan titik akhir
Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.
Nama variabel | Nilai |
---|---|
AZURE_OPENAI_ENDPOINT |
Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://aoai-docs.openai.azure.com/ . |
AZURE_OPENAI_API_KEY |
Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2 . |
Buka sumber daya Anda di portal Azure. Titik Akhir dan Kunci dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena Anda memerlukan keduanya untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1
atau KEY2
. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.
Variabel lingkungan
Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.
Penting
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Membuat aplikasi Node
Di jendela konsol (seperti cmd, PowerShell, atau Bash), buat direktori baru untuk aplikasi Anda, dan buka direktori tersebut. Kemudian jalankan npm init
perintah untuk membuat aplikasi simpul dengan file package.json .
npm init
Memasang pustaka klien
Instal pustaka klien dengan:
npm install openai @azure/identity
File package.json aplikasi Anda akan diperbarui dengan dependensi.
Membuat file ucapan
Buat file baru bernama Text-to-speech.ts dan buka di editor kode pilihan Anda. Salin kode berikut ke dalam file Text-to-speech.ts :
import { writeFile } from "fs/promises"; import { AzureOpenAI } from "openai"; import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; import type { SpeechCreateParams } from "openai/resources/audio/speech"; import "openai/shims/node"; // You will need to set these environment variables or edit the following values const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>"; const speechFilePath = "<path to save the speech file>"; // Required Azure OpenAI deployment name and API version const deploymentName = "tts"; const apiVersion = "2024-08-01-preview"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function generateAudioStream( client: AzureOpenAI, params: SpeechCreateParams ): Promise<NodeJS.ReadableStream> { const response = await client.audio.speech.create(params); if (response.ok) return response.body; throw new Error(`Failed to generate audio stream: ${response.statusText}`); } export async function main() { console.log("== Text to Speech Sample =="); const client = getClient(); const streamToRead = await generateAudioStream(client, { model: deploymentName, voice: "alloy", input: "the quick brown chicken jumped over the lazy dogs", }); console.log(`Streaming response to ${speechFilePath}`); await writeFile(speechFilePath, streamToRead); console.log("Finished streaming"); } main().catch((err) => { console.error("The sample encountered an error:", err); });
Impor
"openai/shims/node"
diperlukan saat menjalankan kode di lingkungan Node.js. Ini memastikan bahwa jenisclient.audio.speech.create
output metode diatur dengan benar keNodeJS.ReadableStream
.Bangun aplikasi dengan perintah berikut:
tsc
Jalankan aplikasi menggunakan perintah berikut:
node Text-to-speech.js
Prasyarat
- Langganan Azure. Anda dapat membuatnya secara gratis.
- Sumber daya Azure OpenAI dengan model Whisper yang disebarkan di wilayah yang didukung. Untuk informasi selengkapnya, lihat Membuat sumber daya dan menyebarkan model dengan Azure OpenAI.
- The .NET 8.0 SDK
Membuat aplikasi .NET
Buat aplikasi .NET menggunakan
dotnet new
perintah :dotnet new console -n TextToSpeech
Ubah ke direktori aplikasi baru:
cd OpenAISpeech
Azure.OpenAI
Instal pustaka klien:dotnet add package Azure.AI.OpenAI
Mengautentikasi dan menyambungkan ke Azure OpenAI
Untuk membuat permintaan ke layanan Azure OpenAI, Anda memerlukan titik akhir layanan serta kredensial autentikasi melalui salah satu opsi berikut:
ID Microsoft Entra adalah pendekatan yang direkomendasikan untuk mengautentikasi ke layanan Azure dan lebih aman daripada alternatif berbasis kunci.
Kunci akses memungkinkan Anda menyediakan kunci rahasia untuk terhubung ke sumber daya Anda.
Penting
Kunci akses harus digunakan dengan hati-hati. Jika kunci akses layanan Anda hilang atau tidak sengaja terekspos di lokasi yang tidak aman, layanan Anda mungkin menjadi rentan. Siapa pun yang memiliki kunci akses dapat mengotorisasi permintaan terhadap layanan Azure OpenAI.
Mendapatkan titik akhir Azure OpenAI
Titik akhir layanan dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Azure. Atau, Anda dapat menemukan titik akhir melalui halaman Penyebaran di Azure AI Studio. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/
.
Mengautentikasi menggunakan ID Microsoft Entra
Jika Anda memilih untuk menggunakan autentikasi ID Microsoft Entra, Anda harus menyelesaikan hal berikut:
Tambahkan paket
Azure.Identity
.dotnet add package Azure.Identity
Tetapkan peran ke
Cognitive Services User
akun pengguna Anda. Ini dapat dilakukan di portal Azure pada sumber daya OpenAI Anda di bawah Kontrol akses (IAM)>Tambahkan penetapan peran.Masuk ke Azure menggunakan Visual Studio atau Azure CLI melalui
az login
.
Mengautentikasi menggunakan kunci
Nilai kunci akses dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Azure. Anda dapat menggunakan KEY1
atau KEY2
. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.
Memperbarui kode aplikasi
Ganti konten
program.cs
dengan kode berikut dan perbarui nilai tempat penampung dengan nilai Anda sendiri.using Azure; using Azure.AI.OpenAI; using Azure.Identity; // Required for Passwordless auth var endpoint = new Uri( Environment.GetEnvironmentVariable("YOUR_OPENAI_ENDPOINT") ?? throw new ArgumentNullException()); var credentials = new DefaultAzureCredential(); // Use this line for key auth // var credentials = new AzureKeyCredential( // Environment.GetEnvironmentVariable("YOUR_OPENAI_KEY") ?? throw new ArgumentNullException()); var deploymentName = "tts"; // Default deployment name, update with your own if necessary var speechFilePath = "YOUR_AUDIO_FILE_PATH"; var openAIClient = new AzureOpenAIClient(endpoint, credentials); var audioClient = openAIClient.GetAudioClient(deploymentName); var result = await audioClient.GenerateSpeechAsync( "the quick brown chicken jumped over the lazy dogs"); Console.WriteLine("Streaming response to ${speechFilePath}"); await File.WriteAllBytesAsync(speechFilePath, result.Value.ToArray()); Console.WriteLine("Finished streaming");
Penting
Untuk produksi, simpan, dan akses kredensial Anda menggunakan metode aman, seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat Keamanan layanan Azure AI.
Jalankan aplikasi menggunakan
dotnet run
perintah atau tombol jalankan di bagian atas Visual Studio:dotnet run
Aplikasi ini menghasilkan file audio di lokasi yang Anda tentukan untuk variabel tersebut
speechFilePath
. Putar file di perangkat Anda untuk mendengar audio yang dihasilkan.
Membersihkan sumber daya
Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.
Langkah berikutnya
- Pelajari selengkapnya tentang cara bekerja dengan teks ke ucapan dengan Azure OpenAI Service dalam dokumentasi referensi Azure OpenAI Service.
- Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI