Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy tylko:Portal Foundry (klasyczny). Ten artykuł nie jest dostępny w nowym portalu Foundry.
Dowiedz się więcej o nowym portalu.
Uwaga
Linki w tym artykule mogą otwierać zawartość w nowej dokumentacji Microsoft Foundry, w przeciwieństwie do dokumentacji Foundry (klasycznej), którą przeglądasz obecnie.
W tym szybkim przewodniku pokazano, jak przekształcić tekst na mowę przy użyciu głosów Azure OpenAI.
Dostępne głosy to: alloy, echo, fable, onyx, nova, i shimmer. Aby uzyskać więcej informacji, zobacz dokumentację referencyjną Azure OpenAI dotyczącą zamiany tekstu na mowę.
Wymagania wstępne
- Subskrypcja Azure — Utwórz ją bezpłatnie.
- Zasób Azure OpenAI utworzony w regionach Północno-Centralne USA lub Szwecja Środkowa z modelem wdrożonym
tts-1lubtts-1-hd. Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą Azure OpenAI.
Skonfigurować
Pobierz klucz i punkt końcowy
Aby pomyślnie wykonać wywołanie względem Azure OpenAI, potrzebujesz punktu końcowego (endpoint) i klucza (key).
| Nazwa zmiennej | Wartość |
|---|---|
AZURE_OPENAI_ENDPOINT |
pl-PL: Punkt końcowy usługi można znaleźć w sekcji https://docs-test-001.openai.azure.com/. |
AZURE_OPENAI_API_KEY |
Tę wartość można znaleźć w Keys & Endpoint podczas przeglądania zasobu w portalu Azure. Możesz użyć KEY1 lub KEY2. |
Przejdź do zasobu w portalu Azure.
Punkt końcowy i klucze można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ oba są potrzebne do uwierzytelniania wywołań API. Możesz użyć KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.
Zmienne środowiskowe
Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.
Ważne
Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w Azure Key Vault. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań do usług Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Tworzenie żądania REST i odpowiedzi
Uruchom następujące polecenie w powłoce bash. Musisz zastąpić YourDeploymentName nazwą wdrożenia wybraną podczas wdrażania modelu konwersji tekstu na mowę. Nazwa wdrożenia nie musi być taka sama jak nazwa modelu. Wprowadzenie nazwy modelu powoduje błąd, chyba że wybrano nazwę wdrożenia identyczną z bazową nazwą modelu.
curl $AZURE_OPENAI_ENDPOINT/openai/deployments/YourDeploymentName/audio/speech?api-version=2025-04-01-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 pierwszego wiersza polecenia z przykładowym punktem końcowym będzie wyświetlany w następujący sposób curl https://aoai-docs.openai.azure.com/openai/deployments/{YourDeploymentName}/audio/speech?api-version=2025-04-01-preview \.
Ważne
W środowisku produkcyjnym użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz ten artykuł dotyczący zabezpieczeń .
Kod źródłowy | Package (npm) | Przykłady
Wymagania wstępne
- Subskrypcja Azure — Utwórz ją bezpłatnie
- Wersje LTS (Long Term Support) Node.js
- Azure CLI używane do uwierzytelniania bez hasła w lokalnym środowisku projektowym, utwórz niezbędny kontekst, logując się przy użyciu Azure CLI.
- Zasób Azure OpenAI utworzony w obsługiwanym regionie (zobacz Region availability). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą Azure OpenAI.
Microsoft Entra ID wymagania wstępne
W przypadku zalecanego uwierzytelniania bez klucza za pomocą Microsoft Entra ID należy wykonać następujące czynności:
- Zainstaluj Azure CLI używany do uwierzytelniania bez klucza za pomocą Microsoft Entra ID.
-
Cognitive Services UserPrzypisz rolę do konta użytkownika. Role można przypisać w portalu Azure w obszarze Kontrolka dostępu (IAM)>Dodaj przypisanie roli.
Skonfigurować
Utwórz nowy folder
synthesis-quickstarti przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir synthesis-quickstart && cd synthesis-quickstartUtwórz element
package.jsonza pomocą następującego polecenia:npm init -yZainstaluj bibliotekę klienta openAI dla języka JavaScript za pomocą następujących narzędzi:
npm install openaiW przypadku zalecanego uwierzytelniania bez hasła:
npm install @azure/identity
Pobieranie informacji o zasobie
Musisz pobrać następujące informacje, aby uwierzytelnić aplikację przy użyciu zasobu Azure OpenAI:
| Nazwa zmiennej | Wartość |
|---|---|
AZURE_OPENAI_ENDPOINT |
Tę wartość można znaleźć w sekcji Keys i Endpoint podczas badania zasobu w portalu Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Ta wartość będzie odpowiadać nazwie niestandardowej wybranej przy wdrażaniu modelu. Tę wartość można znaleźć w obszarze Resource Management>Model Deployments w portalu Azure. |
Dowiedz się więcej na temat uwierzytelniania bez klucza i ustawiania zmiennych środowiskowych.
Ostrożność
Aby użyć zalecanego uwierzytelniania bez klucza z zestawem SDK, upewnij się, że zmienna AZURE_OPENAI_API_KEY środowiskowa nie jest ustawiona.
Tworzenie pliku mowy
index.jsUtwórz plik przy użyciu następującego kodu: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 || "Your endpoint"; const speechFilePath = "<path to save the speech file>"; // Required Azure OpenAI deployment name and API version const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "tts"; const apiVersion = process.env.OPENAI_API_VERSION || "2024-08-01-preview"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.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); });Zaloguj się do Azure przy użyciu następującego polecenia:
az loginUruchom plik JavaScript.
node index.js
Kod źródłowy | Package (npm) | Przykłady
Wymagania wstępne
- Subskrypcja Azure — Utwórz ją bezpłatnie
- Wersje LTS (Long Term Support) Node.js
- Typescript
- Azure CLI używane do uwierzytelniania bez hasła w lokalnym środowisku projektowym, utwórz niezbędny kontekst, logując się przy użyciu Azure CLI.
- Zasób Azure OpenAI utworzony w obsługiwanym regionie (zobacz Region availability). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą Azure OpenAI.
Microsoft Entra ID wymagania wstępne
W przypadku zalecanego uwierzytelniania bez klucza za pomocą Microsoft Entra ID należy wykonać następujące czynności:
- Zainstaluj Azure CLI używany do uwierzytelniania bez klucza za pomocą Microsoft Entra ID.
-
Cognitive Services UserPrzypisz rolę do konta użytkownika. Role można przypisać w portalu Azure w obszarze Kontrolka dostępu (IAM)>Dodaj przypisanie roli.
Skonfigurować
Utwórz nowy folder
assistants-quickstarti przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir assistants-quickstart && cd assistants-quickstartUtwórz element
package.jsonza pomocą następującego polecenia:npm init -yZaktualizuj
package.jsondo ECMAScript za pomocą następującego polecenia:npm pkg set type=moduleZainstaluj bibliotekę klienta openAI dla języka JavaScript za pomocą następujących narzędzi:
npm install openaiW przypadku zalecanego uwierzytelniania bez hasła:
npm install @azure/identity
Pobieranie informacji o zasobie
Musisz pobrać następujące informacje, aby uwierzytelnić aplikację przy użyciu zasobu Azure OpenAI:
| Nazwa zmiennej | Wartość |
|---|---|
AZURE_OPENAI_ENDPOINT |
Tę wartość można znaleźć w sekcji Keys i Endpoint podczas badania zasobu w portalu Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Ta wartość będzie odpowiadać nazwie niestandardowej wybranej przy wdrażaniu modelu. Tę wartość można znaleźć w obszarze Resource Management>Model Deployments w portalu Azure. |
Dowiedz się więcej na temat uwierzytelniania bez klucza i ustawiania zmiennych środowiskowych.
Ostrożność
Aby użyć zalecanego uwierzytelniania bez klucza z zestawem SDK, upewnij się, że zmienna AZURE_OPENAI_API_KEY środowiskowa nie jest ustawiona.
Tworzenie pliku mowy
index.tsUtwórz plik przy użyciu następującego kodu: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 || "Your endpoint"; const speechFilePath = "<path to save the speech file>"; // Required Azure OpenAI deployment name and API version const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "tts"; const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.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); });Import
"openai/shims/node"jest konieczne podczas uruchamiania kodu w środowisku Node.js. Gwarantuje to, że typ wyjściowyclient.audio.speech.createmetody jest poprawnie ustawiony naNodeJS.ReadableStream.Utwórz plik
tsconfig.jsondo transpilacji kodu TypeScript i skopiuj następujący kod ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Transpiluj z języka TypeScript do języka JavaScript.
tscZaloguj się do Azure przy użyciu następującego polecenia:
az loginUruchom kod za pomocą następującego polecenia:
node index.js
Wymagania wstępne
- Subskrypcja Azure. Możesz utworzyć go bezpłatnie.
- Zasób Azure OpenAI z modelem zamiany tekstu na mowę (na przykład
tts) wdrożony w obsługiwanym regionie. Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą Azure OpenAI. - Zestaw SDK .NET 8.0
Microsoft Entra ID wymagania wstępne
W przypadku zalecanego uwierzytelniania bez klucza za pomocą Microsoft Entra ID należy wykonać następujące czynności:
- Zainstaluj Azure CLI używany do uwierzytelniania bez klucza za pomocą Microsoft Entra ID.
-
Cognitive Services UserPrzypisz rolę do konta użytkownika. Role można przypisać w portalu Azure w obszarze Kontrolka dostępu (IAM)>Dodaj przypisanie roli.
Skonfigurować
Utwórz nowy folder
to-speech-quickstarti przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir to-speech-quickstart && cd to-speech-quickstartUtwórz nową aplikację konsolową za pomocą następującego polecenia:
dotnet new consoleZainstaluj bibliotekę klienta OpenAI .NET za pomocą polecenia dotnet add package:
dotnet add package Azure.AI.OpenAIW przypadku zalecanego uwierzytelniania bez klucza za pomocą Microsoft Entra ID zainstaluj pakiet Azure.Identity za pomocą:
dotnet add package Azure.IdentityDla zalecanego uwierzytelniania bez klucza za pomocą Microsoft Entra ID zaloguj się do platformy Azure za pomocą następującego polecenia:
az login
Pobieranie informacji o zasobie
Musisz pobrać następujące informacje, aby uwierzytelnić aplikację przy użyciu zasobu Azure OpenAI:
| Nazwa zmiennej | Wartość |
|---|---|
AZURE_OPENAI_ENDPOINT |
Tę wartość można znaleźć w sekcji Keys i Endpoint podczas badania zasobu w portalu Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Ta wartość będzie odpowiadać nazwie niestandardowej wybranej przy wdrażaniu modelu. Tę wartość można znaleźć w obszarze Resource Management>Model Deployments w portalu Azure. |
Dowiedz się więcej na temat uwierzytelniania bez klucza i ustawiania zmiennych środowiskowych.
Uruchom szybki start
Przykładowy kod w tym przewodniku szybkiego startu używa usługi Microsoft Entra ID do zalecanego uwierzytelniania bez klucza. Jeśli wolisz użyć klucza interfejsu API, możesz zastąpić DefaultAzureCredential obiekt obiektem AzureKeyCredential .
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Uwaga
Przykładowe pliki audio, takie jak wikipediaOcelot.wav, można pobrać z repozytorium zestawu SDK narzędzi Azure Speech in Foundry Tools w witrynie GitHub.
Aby uruchomić quickstart, wykonaj następujące kroki:
Zastąp zawartość
Program.csponiższym kodem i zaktualizuj wartości symboli zastępczych własnymi.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"; AzureOpenAIClient openAIClient = new AzureOpenAIClient(endpoint, credentials); AudioClient 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");Uruchom aplikację przy użyciu polecenia
dotnet runlub przycisku uruchamiania w górnej części Visual Studio:dotnet run
Wyjście
Aplikacja wygeneruje plik audio w lokalizacji określonej dla zmiennej speechFilePath . Odtwórz plik na urządzeniu, aby usłyszeć wygenerowany dźwięk.
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć zasób Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.
Następne kroki
- Dowiedz się więcej o pracy z zamianą tekstu na mowę przy użyciu Azure OpenAI w dokumentacji referencyjnej Azure OpenAI.
- Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub Azure OpenAI Samples