Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart probeert u realtime spraak naar tekst in Microsoft Foundry.
Vereiste voorwaarden
- Een Azure-abonnement.
- Een Foundry-project. Zie Een Microsoft Foundry-project maken als u een project wilt maken.
Realtime spraak naar tekst proberen
- Meld u aan bij Microsoft Foundry. Zorg ervoor dat de wisselknop New Foundry is ingeschakeld. Deze stappen verwijzen naar Foundry (nieuw).
- Selecteer Build in het menu rechtsboven.
- Selecteer Modellen in het linkerdeelvenster.
- Op het tabblad AI Services ziet u de Foundry-modellen die standaard kunnen worden gebruikt in de Foundry-portal. Selecteer Azure Speech - Spraak naar tekst om de spraak-naar-tekst-speeltuin te openen.
- U kunt desgewenst de sectie Parameters gebruiken om het taak-, taal-, scheldwoordsbeleid en andere instellingen te wijzigen. U kunt ook speciale instructies voor de LLM toevoegen.
- Gebruik de sectie Bestanden uploaden om uw audiobestand te selecteren. Selecteer vervolgens Start.
- Bekijk de transcriptieuitvoer op het tabblad Transcript . U kunt eventueel de uitvoer van het onbewerkte API-antwoord weergeven op het tabblad JSON .
- Ga naar het tabblad Code om de voorbeeldcode op te halen voor het gebruik van de functie spraak-naar-tekst in uw toepassing.
Referentiedocumentatiepakket (NuGet) |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI-dienstenresource voor Spraak in de Azure portal.
- Haal de spraakresource-sleutel en het eindpunt op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding. Zie De Speech SDK installeren voor andere vereisten.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Aanbeveling
Probeer de Azure Speech in Foundry Tools Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Volg deze stappen om een consoletoepassing te maken en de Speech SDK te installeren.
Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Voer deze opdracht uit om een consoletoepassing te maken met de .NET CLI.
dotnet new consoleMet deze opdracht maakt u het Program.cs-bestand in de projectmap.
Installeer de Speech SDK in uw nieuwe project met de .NET CLI.
dotnet add package Microsoft.CognitiveServices.SpeechVervang de inhoud van Program.cs door de volgende code:
using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; class Program { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT"); static void OutputSpeechRecognitionResult(SpeechRecognitionResult speechRecognitionResult) { switch (speechRecognitionResult.Reason) { case ResultReason.RecognizedSpeech: Console.WriteLine($"RECOGNIZED: Text={speechRecognitionResult.Text}"); break; case ResultReason.NoMatch: Console.WriteLine($"NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(speechRecognitionResult); Console.WriteLine($"CANCELED: Reason={cancellation.Reason}"); if (cancellation.Reason == CancellationReason.Error) { Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}"); Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}"); Console.WriteLine($"CANCELED: Did you set the speech resource key and endpoint values?"); } break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromEndpoint(speechKey, endpoint); speechConfig.SpeechRecognitionLanguage = "en-US"; using var audioConfig = AudioConfig.FromDefaultMicrophoneInput(); using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); Console.WriteLine("Speak into your microphone."); var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync(); OutputSpeechRecognitionResult(speechRecognitionResult); } }Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
dotnet runBelangrijk
Zorg ervoor dat u de
SPEECH_KEYenENDPOINTomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
In dit voorbeeld wordt de
RecognizeOnceAsyncbewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.Als u spraak uit een audiobestand wilt herkennen, gebruikt
FromWavFileInputu in plaats vanFromDefaultMicrophoneInput:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStreamofPushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (NuGet) |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI-dienstenresource voor Spraak in de Azure portal.
- Haal de spraakresource-sleutel en het eindpunt op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding. Zie De Speech SDK installeren voor andere vereisten.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Aanbeveling
Probeer de Azure Speech in Foundry Tools Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Volg deze stappen om een consoletoepassing te maken en de Speech SDK te installeren.
Maak een nieuw C++-consoleproject in Visual Studio Community met de naam
SpeechRecognition.Selecteer Tools>NuGet Pakketbeheer>Pakketbeheer Console. Voer in de Pakketbeheer Console deze opdracht uit:
Install-Package Microsoft.CognitiveServices.SpeechVervang de inhoud van
SpeechRecognition.cppmet de volgende code:#include <iostream> #include <stdlib.h> #include <speechapi_cxx.h> using namespace Microsoft::CognitiveServices::Speech; using namespace Microsoft::CognitiveServices::Speech::Audio; std::string GetEnvironmentVariable(const char* name); int main() { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto endpoint = GetEnvironmentVariable("ENDPOINT"); if ((size(speechKey) == 0) || (size(endpoint) == 0)) { std::cout << "Please set both SPEECH_KEY and ENDPOINT environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromEndpoint(speechKey, endpoint); speechConfig->SetSpeechRecognitionLanguage("en-US"); auto audioConfig = AudioConfig::FromDefaultMicrophoneInput(); auto speechRecognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig); std::cout << "Speak into your microphone.\n"; auto result = speechRecognizer->RecognizeOnceAsync().get(); if (result->Reason == ResultReason::RecognizedSpeech) { std::cout << "RECOGNIZED: Text=" << result->Text << std::endl; } else if (result->Reason == ResultReason::NoMatch) { std::cout << "NOMATCH: Speech could not be recognized." << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = CancellationDetails::FromResult(result); std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl; if (cancellation->Reason == CancellationReason::Error) { std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl; std::cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl; std::cout << "CANCELED: Did you set the speech resource key and endpoint values?" << std::endl; } } } std::string GetEnvironmentVariable(const char* name) { #if defined(_MSC_VER) size_t requiredSize = 0; (void)getenv_s(&requiredSize, nullptr, 0, name); if (requiredSize == 0) { return ""; } auto buffer = std::make_unique<char[]>(requiredSize); (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name); return buffer.get(); #else auto value = getenv(name); return value ? value : ""; #endif }Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u spraakherkenning vanaf een microfoon wilt starten, bouwt u de nieuwe consoletoepassing en voert u deze uit .
Belangrijk
Zorg ervoor dat u de
SPEECH_KEYenENDPOINTomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
In dit voorbeeld wordt de
RecognizeOnceAsyncbewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.Als u spraak uit een audiobestand wilt herkennen, gebruikt
FromWavFileInputu in plaats vanFromDefaultMicrophoneInput:auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStreamofPushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een Foundry-resource voor Spraak in de Azure-portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
Installeer de Speech SDK voor Go. Zie De Speech SDK installeren voor vereisten en instructies.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Volg deze stappen om een GO-module te maken.
Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Maak een nieuw bestand met de naam speech-recognition.go.
Kopieer de volgende code naar spraakherkenning.go:
package main import ( "bufio" "fmt" "os" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func sessionStartedHandler(event speech.SessionEventArgs) { defer event.Close() fmt.Println("Session Started (ID=", event.SessionID, ")") } func sessionStoppedHandler(event speech.SessionEventArgs) { defer event.Close() fmt.Println("Session Stopped (ID=", event.SessionID, ")") } func recognizingHandler(event speech.SpeechRecognitionEventArgs) { defer event.Close() fmt.Println("Recognizing:", event.Result.Text) } func recognizedHandler(event speech.SpeechRecognitionEventArgs) { defer event.Close() fmt.Println("Recognized:", event.Result.Text) } func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) { defer event.Close() fmt.Println("Received a cancellation: ", event.ErrorDetails) fmt.Println("Did you set the speech resource key and region values?") } func main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speechKey := os.Getenv("SPEECH_KEY") speechRegion := os.Getenv("SPEECH_REGION") audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechRecognizer.Close() speechRecognizer.SessionStarted(sessionStartedHandler) speechRecognizer.SessionStopped(sessionStoppedHandler) speechRecognizer.Recognizing(recognizingHandler) speechRecognizer.Recognized(recognizedHandler) speechRecognizer.Canceled(cancelledHandler) speechRecognizer.StartContinuousRecognitionAsync() defer speechRecognizer.StopContinuousRecognitionAsync() bufio.NewReader(os.Stdin).ReadBytes('\n') }Voer de volgende opdrachten uit om een go.mod-bestand te maken dat is gekoppeld aan onderdelen die worden gehost op GitHub:
go mod init speech-recognition go get github.com/Microsoft/cognitive-services-speech-sdk-goBelangrijk
Zorg ervoor dat u de
SPEECH_KEYenSPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Bouw en voer de code uit:
go build go run speech-recognition
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatie | Aanvullende voorbeelden op GitHub
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI-dienstenresource voor Spraak in de Azure portal.
- Haal de spraakresource-sleutel en het eindpunt op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
Installeer de Speech SDK om uw omgeving in te stellen. Het voorbeeld in deze quickstart werkt met de Java Runtime.
Installeer Apache Maven. Voer vervolgens uit
mvn -vom de installatie te bevestigen.Maak een nieuw
pom.xmlbestand in de hoofdmap van uw project en kopieer de volgende code erin:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.43.0</version> </dependency> </dependencies> </project>Installeer de Speech SDK en afhankelijkheden.
mvn clean dependency:copy-dependencies
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Volg deze stappen om een consoletoepassing te maken voor spraakherkenning.
Maak een nieuw bestand met de naam SpeechRecognition.java in dezelfde hoofdmap van het project.
Kopieer de volgende code naar SpeechRecognition.java:
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.AudioConfig; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; public class SpeechRecognition { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" private static String speechKey = System.getenv("SPEECH_KEY"); private static String endpoint = System.getenv("ENDPOINT"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechConfig speechConfig = SpeechConfig.fromEndpoint(speechKey, endpoint); speechConfig.setSpeechRecognitionLanguage("en-US"); recognizeFromMicrophone(speechConfig); } public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException { AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput(); SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); System.out.println("Speak into your microphone."); Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync(); SpeechRecognitionResult speechRecognitionResult = task.get(); if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) { System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText()); } else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) { System.out.println("NOMATCH: Speech could not be recognized."); } else if (speechRecognitionResult.getReason() == ResultReason.Canceled) { CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult); System.out.println("CANCELED: Reason=" + cancellation.getReason()); if (cancellation.getReason() == CancellationReason.Error) { System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode()); System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails()); System.out.println("CANCELED: Did you set the speech resource key and endpoint values?"); } } System.exit(0); } }Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
javac SpeechRecognition.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechRecognitionBelangrijk
Zorg ervoor dat u de
SPEECH_KEYenENDPOINTomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
In dit voorbeeld wordt de
RecognizeOnceAsyncbewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.Als u spraak uit een audiobestand wilt herkennen, gebruikt
fromWavFileInputu in plaats vanfromDefaultMicrophoneInput:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStreamofPushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatie | Pakket (npm) | Aanvullende voorbeelden op GitHub | Broncode van de bibliotheek
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een Foundry-resource voor Spraak in de Azure-portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
U hebt ook een .wav audiobestand nodig op uw lokale computer. U kunt uw eigen .wav-bestand (maximaal 30 seconden) gebruiken of het https://crbn.us/whatstheweatherlike.wav voorbeeldbestand downloaden.
Configuratie
Maak een nieuwe map
transcription-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir transcription-quickstart && cd transcription-quickstartMaak de
package.jsonopdracht met de volgende opdracht:npm init -yInstalleer de Speech SDK voor JavaScript met:
npm install microsoft-cognitiveservices-speech-sdk
Resourcegegevens ophalen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen uit een bestand
Spraak uit een bestand transcriberen:
Maak een nieuw bestand met de naam transcription.js met de volgende inhoud:
import { readFileSync, createReadStream } from "fs"; import { SpeechConfig, AudioConfig, ConversationTranscriber, AudioInputStream } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT), process.env.SPEECH_KEY); function fromFile() { const filename = "katiesteve.wav"; const audioConfig = AudioConfig.fromWavFileInput(readFileSync(filename)); const conversationTranscriber = new ConversationTranscriber(speechConfig, audioConfig); const pushStream = AudioInputStream.createPushStream(); createReadStream(filename).on('data', function (chunk) { pushStream.write(chunk.slice()); }).on('end', function () { pushStream.close(); }); console.log("Transcribing from: " + filename); conversationTranscriber.sessionStarted = function (s, e) { console.log("SessionStarted event"); console.log("SessionId:" + e.sessionId); }; conversationTranscriber.sessionStopped = function (s, e) { console.log("SessionStopped event"); console.log("SessionId:" + e.sessionId); conversationTranscriber.stopTranscribingAsync(); }; conversationTranscriber.canceled = function (s, e) { console.log("Canceled event"); console.log(e.errorDetails); conversationTranscriber.stopTranscribingAsync(); }; conversationTranscriber.transcribed = function (s, e) { console.log("TRANSCRIBED: Text=" + e.result.text + " Speaker ID=" + e.result.speakerId); }; // Start conversation transcription conversationTranscriber.startTranscribingAsync(function () { }, function (err) { console.trace("err - starting transcription: " + err); }); } fromFile();Vervang in transcription.jsYourAudioFile.wav door uw eigen .wav bestand. In dit voorbeeld wordt alleen spraak herkend uit een .wav-bestand . Zie Hoe gecomprimeerde invoeraudio te gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Voer de nieuwe consoletoepassing uit om spraakherkenning vanuit een bestand te starten:
node transcription.js
Wacht even om het antwoord te krijgen.
Uitvoer
De spraak uit het audiobestand moet als tekst worden uitgevoerd:
RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
In dit voorbeeld wordt de recognizeOnceAsync bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
Notitie
Spraak herkennen vanaf een microfoon wordt niet ondersteund in Node.js. Dit wordt alleen ondersteund in een javaScript-omgeving in een browser. Zie het React-voorbeeld en de implementatie van spraak naar tekst vanuit een microfoon op GitHub voor meer informatie.
Het React-voorbeeld toont ontwerppatronen voor de uitwisseling en het beheer van verificatietokens. Ook wordt de opname van audio van een microfoon of bestand voor spraak-naar-tekstconversies weergegeven.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (PyPi) |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI-dienstenresource voor Spraak in de Azure portal.
- Haal de spraakresource-sleutel en het eindpunt op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK voor Python is beschikbaar als een PyPI-module (Python Package Index). De Speech SDK voor Python is compatibel met Windows, Linux en macOS.
- Voor Windows installeert u Microsoft Visual C++ Redistributable voor Visual Studio 2015, 2017, 2019 en 2022 voor uw platform. Als u dit pakket voor de eerste keer installeert, moet u mogelijk opnieuw opstarten.
- In Linux moet u de x64-doelarchitectuur gebruiken.
Installeer een versie van Python vanaf 3.7 of hoger. Zie De Speech SDK installeren voor andere vereisten.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Aanbeveling
Probeer de Azure Speech in Foundry Tools Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Volg deze stappen om een consoletoepassing te maken.
Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Maak een nieuw bestand met de naam speech_recognition.py.
Voer deze opdracht uit om de Speech SDK te installeren:
pip install azure-cognitiveservices-speechKopieer de volgende code naar speech_recognition.py:
import os import azure.cognitiveservices.speech as speechsdk def recognize_from_microphone(): # This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT')) speech_config.speech_recognition_language="en-US" audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True) speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config) print("Speak into your microphone.") speech_recognition_result = speech_recognizer.recognize_once_async().get() if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech: print("Recognized: {}".format(speech_recognition_result.text)) elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch: print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details)) elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = speech_recognition_result.cancellation_details print("Speech Recognition canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and endpoint values?") recognize_from_microphone()Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
python speech_recognition.pyBelangrijk
Zorg ervoor dat u de
SPEECH_KEYenENDPOINTomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
In dit voorbeeld wordt de
recognize_once_asyncbewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.Als u spraak uit een audiobestand wilt herkennen, gebruikt
filenameu in plaats vanuse_default_microphone:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStreamofPushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een Foundry-resource voor Spraak in de Azure-portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK voor Swift wordt gedistribueerd als een frameworkbundel. Het framework ondersteunt zowel Objective-C als Swift in zowel iOS als macOS.
De Speech SDK kan in Xcode-projecten worden gebruikt als een CocoaPod, of kan rechtstreeks worden gedownload en handmatig worden gekoppeld. In deze handleiding wordt gebruikgemaakt van een CocoaPod. Installeer het CocoaPod-afhankelijkheidsbeheer zoals beschreven in de installatie-instructies.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Volg deze stappen om spraak te herkennen in een macOS-toepassing.
Kloon de repository Azure-Samples/cognitive-services-speech-sdk om het voorbeeldproject Herken spraak van een microfoon in Swift op macOS te verkrijgen. De opslagplaats bevat ook iOS-voorbeelden.
Navigeer naar de map van de gedownloade voorbeeld-app (
helloworld) in een terminal.Voer de opdracht
pod installuit. Met deze opdracht wordt eenhelloworld.xcworkspaceXcode-werkruimte gegenereerd die zowel de voorbeeld-app als de Speech SDK als een afhankelijkheid bevat.Open de werkruimte
helloworld.xcworkspacein Xcode.Open het bestand met de naam AppDelegate.swift en zoek de
applicationDidFinishLaunchingenrecognizeFromMicmethoden zoals hier wordt weergegeven.import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate { var label: NSTextField! var fromMicButton: NSButton! var sub: String! var region: String! @IBOutlet weak var window: NSWindow! func applicationDidFinishLaunching(_ aNotification: Notification) { print("loading") // load subscription information sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"] label = NSTextField(frame: NSRect(x: 100, y: 50, width: 200, height: 200)) label.textColor = NSColor.black label.lineBreakMode = .byWordWrapping label.stringValue = "Recognition Result" label.isEditable = false self.window.contentView?.addSubview(label) fromMicButton = NSButton(frame: NSRect(x: 100, y: 300, width: 200, height: 30)) fromMicButton.title = "Recognize" fromMicButton.target = self fromMicButton.action = #selector(fromMicButtonClicked) self.window.contentView?.addSubview(fromMicButton) } @objc func fromMicButtonClicked() { DispatchQueue.global(qos: .userInitiated).async { self.recognizeFromMic() } } func recognizeFromMic() { var speechConfig: SPXSpeechConfiguration? do { try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region) } catch { print("error \(error) happened") speechConfig = nil } speechConfig?.speechRecognitionLanguage = "en-US" let audioConfig = SPXAudioConfiguration() let reco = try! SPXSpeechRecognizer(speechConfiguration: speechConfig!, audioConfiguration: audioConfig) reco.addRecognizingEventHandler() {reco, evt in print("intermediate recognition result: \(evt.result.text ?? "(no result)")") self.updateLabel(text: evt.result.text, color: .gray) } updateLabel(text: "Listening ...", color: .gray) print("Listening...") let result = try! reco.recognizeOnce() print("recognition result: \(result.text ?? "(no result)"), reason: \(result.reason.rawValue)") updateLabel(text: result.text, color: .black) if result.reason != SPXResultReason.recognizedSpeech { let cancellationDetails = try! SPXCancellationDetails(fromCanceledRecognitionResult: result) print("cancelled: \(result.reason), \(cancellationDetails.errorDetails)") print("Did you set the speech resource key and region values?") updateLabel(text: "Error: \(cancellationDetails.errorDetails)", color: .red) } } func updateLabel(text: String?, color: NSColor) { DispatchQueue.main.async { self.label.stringValue = text! self.label.textColor = color } } }Gebruik in AppDelegate.m de omgevingsvariabelen die u eerder hebt ingesteld voor uw Spraak-resourcesleutel en -regio.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u de uitvoer voor foutopsporing zichtbaar wilt maken, selecteert u Weergave>Foutopsporingsgebied>Console activeren.
Bouw en voer de voorbeeldcode uit door in het menu Product>Uitvoeren te selecteren of door de knop Afspelen te selecteren.
Belangrijk
Zorg ervoor dat u de
SPEECH_KEYenSPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.
Nadat u de knop in de app hebt geselecteerd en een paar woorden hebt gezegd, ziet u de tekst die u op het onderste deel van het scherm hebt gesproken. Wanneer u de app voor het eerst uitvoert, wordt u gevraagd om de app toegang te geven tot de microfoon van uw computer.
Opmerkingen
In dit voorbeeld wordt de recognizeOnce bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
Objective-C
De Speech SDK voor Objective-C deelt clientbibliotheken en referentiedocumentatie met de Speech SDK voor Swift. Zie het voorbeeldproject voor het herkennen van spraak van een microfoon in Objective-C op macOS op GitHub voor voorbeelden van Objective-C-code.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatie | Pakket (npm) | Aanvullende voorbeelden op GitHub | Broncode van de bibliotheek
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een Foundry-resource voor Spraak in de Azure-portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
U hebt ook een .wav audiobestand nodig op uw lokale computer. U kunt uw eigen .wav-bestand (maximaal 30 seconden) gebruiken of het https://crbn.us/whatstheweatherlike.wav voorbeeldbestand downloaden.
Configuratie
Maak een nieuwe map
transcription-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir transcription-quickstart && cd transcription-quickstartMaak de
package.jsonopdracht met de volgende opdracht:npm init -yWerk de
package.jsonbij naar ECMAScript met het volgende commando:npm pkg set type=moduleInstalleer de Speech SDK voor JavaScript met:
npm install microsoft-cognitiveservices-speech-sdkU moet de Node.js typedefinities installeren om TypeScript-fouten te voorkomen. Voer de volgende opdracht uit:
npm install --save-dev @types/node
Resourcegegevens ophalen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen uit een bestand
Spraak uit een bestand transcriberen:
Maak een nieuw bestand met de naam transcription.ts met de volgende inhoud:
import { readFileSync } from "fs"; import { SpeechConfig, AudioConfig, SpeechRecognizer, ResultReason, CancellationDetails, CancellationReason, SpeechRecognitionResult } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!); speechConfig.speechRecognitionLanguage = "en-US"; function fromFile(): void { const audioConfig: AudioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav")); const speechRecognizer: SpeechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); speechRecognizer.recognizeOnceAsync((result: SpeechRecognitionResult) => { switch (result.reason) { case ResultReason.RecognizedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); break; case ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: const cancellation: CancellationDetails = CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason === CancellationReason.Error) { console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`); console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`); console.log("CANCELED: Did you set the speech resource key and region values?"); } break; } speechRecognizer.close(); }); } fromFile();Vervang in transcription.tsYourAudioFile.wav door uw eigen .wav bestand. In dit voorbeeld wordt alleen spraak herkend uit een .wav-bestand . Zie Hoe gecomprimeerde invoeraudio te gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Maak het
tsconfig.jsonbestand om de TypeScript-code te transpileren en kopieer de volgende code voor 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"] }Transpile van TypeScript naar JavaScript.
tscWanneer de opdracht succesvol is uitgevoerd, moet er geen uitvoer geproduceerd worden.
Voer de nieuwe consoletoepassing uit om spraakherkenning vanuit een bestand te starten:
node transcription.js
Wacht even om het antwoord te krijgen.
Uitvoer
De spraak uit het audiobestand moet als tekst worden uitgevoerd:
RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
In dit voorbeeld wordt de recognizeOnceAsync bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Spraak-naar-tekst-REST API-verwijzing Speech to text REST API voor korte audioverwijzing |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een Foundry-resource voor Spraak in de Azure-portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
U hebt ook een .wav audiobestand nodig op uw lokale computer. U kunt uw eigen .wav-bestand tot 60 seconden gebruiken of het https://crbn.us/whatstheweatherlike.wav voorbeeldbestand downloaden.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Foundry Tools. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. 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.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen uit een bestand
Open een consolevenster en voer de volgende cURL-opdracht uit. Vervang YourAudioFile.wav door het pad en de naam van het audiobestand.
curl --location --request POST "https://%SPEECH_REGION%.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: audio/wav" ^
--data-binary "@YourAudioFile.wav"
Belangrijk
Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.
U zou een antwoord moeten ontvangen dat lijkt op wat hier wordt weergegeven. Dit DisplayText moet de tekst zijn die is herkend uit uw audiobestand. De opdracht herkent maximaal 60 seconden audio en converteert deze naar tekst.
{
"RecognitionStatus": "Success",
"DisplayText": "My voice is my passport, verify me.",
"Offset": 6600000,
"Duration": 32100000
}
Zie Speech to text REST API voor korte audio voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.