gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
In deze quickstart gebruikt u de Azure OpenAI-service voor tekst naar spraak met OpenAI-stemmen.
De beschikbare stemmen zijn: alloy
, echo
, fable
, onyx
, , nova
en shimmer
. Zie de naslagdocumentatie van de Azure OpenAI-service voor tekst-naar-spraak voor meer informatie.
tts-1
of tts-1-hd
model dat is geïmplementeerd. Zie Een resource maken en een model implementeren met Azure OpenAI voor meer informatie.Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.
Naam van de variabele | Weergegeven als |
---|---|
AZURE_OPENAI_ENDPOINT |
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in de Azure AI Foundry-portal. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
AZURE_OPENAI_API_KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
Ga naar uw resource in Azure Portal. Het eindpunt en de sleutels vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel naar behoefte voor verificatie van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u een API-sleutel gebruikt, slaat u deze veilig op in Azure Key Vault. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Voer in een bash-shell de volgende opdracht uit. U moet vervangen door YourDeploymentName
de implementatienaam die u hebt gekozen bij het implementeren van de tekst naar spraakmodel. De implementatienaam is niet noodzakelijkerwijs hetzelfde als de modelnaam. Als u de modelnaam invoert, treedt er een fout op, tenzij u een implementatienaam hebt gekozen die identiek is aan de naam van het onderliggende model.
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
De indeling van de eerste regel van de opdracht met een voorbeeldeindpunt wordt als volgt curl https://aoai-docs.openai.azure.com/openai/deployments/{YourDeploymentName}/audio/speech?api-version=2024-02-15-preview \
weergegeven.
Belangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
Voorbeelden van broncodepakket | (npm) |
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:
Cognitive Services User
rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
Naam van de variabele | Weergegeven als |
---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal. |
OPENAI_API_VERSION |
Meer informatie over API-versies. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
Waarschuwing
Als u de aanbevolen sleutelloze verificatie met de SDK wilt gebruiken, moet u ervoor zorgen dat de AZURE_OPENAI_API_KEY
omgevingsvariabele niet is ingesteld.
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map. Voer vervolgens de npm init
opdracht uit om een knooppunttoepassing te maken met een package.json-bestand .
npm init
Installeer de clientbibliotheken met:
npm install openai @azure/identity
Het package.json-bestand van uw app wordt bijgewerkt met de afhankelijkheden.
Maak een nieuw bestand met de naam Text-to-speech.js en open het in de code-editor van uw voorkeur. Kopieer de volgende code naar het Text-to-speech.js-bestand :
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);
});
Voer het script uit met de volgende opdracht:
node Text-to-speech.js
Voorbeelden van broncodepakket | (npm) |
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:
Cognitive Services User
rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
Naam van de variabele | Weergegeven als |
---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal. |
OPENAI_API_VERSION |
Meer informatie over API-versies. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
Waarschuwing
Als u de aanbevolen sleutelloze verificatie met de SDK wilt gebruiken, moet u ervoor zorgen dat de AZURE_OPENAI_API_KEY
omgevingsvariabele niet is ingesteld.
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map. Voer vervolgens de npm init
opdracht uit om een knooppunttoepassing te maken met een package.json-bestand .
npm init
Installeer de clientbibliotheken met:
npm install openai @azure/identity
Het package.json-bestand van uw app wordt bijgewerkt met de afhankelijkheden.
Maak een nieuw bestand met de naam Text-to-speech.ts en open het in de code-editor van uw voorkeur. Kopieer de volgende code naar het Text-to-speech.ts-bestand :
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);
});
Het importeren van is nodig bij het uitvoeren van "openai/shims/node"
de code in een Node.js-omgeving. Het zorgt ervoor dat het uitvoertype van de client.audio.speech.create
methode correct is ingesteld op NodeJS.ReadableStream
.
Bouw de toepassing met de volgende opdracht:
tsc
Voer de toepassing uit met de volgende opdracht:
node Text-to-speech.js
Maak een .NET-app met behulp van de dotnet new
opdracht:
dotnet new console -n TextToSpeech
Ga naar de map van de nieuwe app:
cd OpenAISpeech
Installeer de Azure.OpenAI
clientbibliotheek:
dotnet add package Azure.AI.OpenAI
Als u aanvragen wilt indienen bij uw Azure OpenAI-service, hebt u het service-eindpunt en de verificatiereferenties nodig via een van de volgende opties:
Microsoft Entra ID is de aanbevolen methode voor verificatie bij Azure-services en is veiliger dan alternatieven op basis van sleutels.
Met toegangssleutels kunt u een geheime sleutel opgeven om verbinding te maken met uw resource.
Belangrijk
Toegangssleutels moeten voorzichtig worden gebruikt. Als uw servicetoegangssleutel verloren gaat of per ongeluk wordt weergegeven op een onveilige locatie, kan uw service kwetsbaar worden. Iedereen met de toegangssleutel kan aanvragen autoriseren voor de Azure OpenAI-service.
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in de Azure AI Foundry-portal. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/
.
Als u microsoft Entra ID-verificatie wilt gebruiken, moet u het volgende voltooien:
Voeg het pakket Azure.Identity
toe.
dotnet add package Azure.Identity
Wijs de Cognitive Services User
rol toe aan uw gebruikersaccount. Dit kan worden gedaan in Azure Portal op uw OpenAI-resource onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.
Meld u via Visual Studio of de Azure CLI az login
aan bij Azure.
De waarde van de toegangssleutel vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Vervang de inhoud door program.cs
de volgende code en werk de waarden van de tijdelijke aanduidingen bij met uw eigen waarden.
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");
Belangrijk
Voor productie kunt u uw referenties opslaan en openen met behulp van een veilige methode, zoals Azure Key Vault. Zie Beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
Voer de toepassing uit met behulp van de dotnet run
opdracht of de knop Uitvoeren bovenaan Visual Studio:
dotnet run
De app genereert een audiobestand op de locatie die u voor de speechFilePath
variabele hebt opgegeven. Speel het bestand op uw apparaat af om de gegenereerde audio te horen.
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenTraining
Module
Uw eerste Tekst voor Azure AI-services maken in spraaktoepassing - Training
In deze module leert u hoe u Azure AI-services gebruikt om een tekst-naar-spraaktoepassing te maken.
Certificering
Microsoft-gecertificeerd: Azure AI Ingenieur Medewerker (Associate) - Certifications
Ontwerp en implementeer een Azure AI-oplossing met behulp van Azure AI-services, Azure AI Search en Azure Open AI.
Documentatie
Spraak naar tekst converteren met Azure OpenAI-service - Azure OpenAI
Meer informatie over het gebruik van het Azure OpenAI Whisper-model voor spraak-naar-tekstconversie.
Azure OpenAI-spraak-naar-spraakchat - Speech-service - Azure AI services
In deze handleiding gebruikt u Speech om te communiceren met Azure OpenAI. Spraak herkent audio, verzendt deze naar Azure OpenAI ensynthetiseert spraakreacties.
GPT-4o Realtime-API gebruiken voor spraak en audio met Azure OpenAI Service - Azure OpenAI
Meer informatie over het gebruik van GPT-4o Realtime-API voor spraak en audio met Azure OpenAI Service.