Quickstart: Spraak herkennen en converteren naar tekst
Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
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
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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 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 console
Met 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.Speech
Vervang 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 "SPEECH_REGION" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION"); 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 region values?"); } break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion); 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-US
een andere ondersteunde taal. Gebruik bijvoorbeeldes-ES
voor 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 run
Belangrijk
Zorg ervoor dat u de
SPEECH_KEY
enSPEECH_REGION
omgevingsvariabelen 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
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.Als u spraak uit een audiobestand wilt herkennen, gebruikt
FromWavFileInput
u in plaats vanFromDefaultMicrophoneInput
:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStream
ofPushAudioInputStream
. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
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
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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 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.Speech
Vervang de inhoud door
SpeechRecognition.cpp
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 "SPEECH_REGION" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto speechRegion = GetEnvironmentVariable("SPEECH_REGION"); if ((size(speechKey) == 0) || (size(speechRegion) == 0)) { std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion); 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 region 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-US
een andere ondersteunde taal. Gebruik bijvoorbeeldes-ES
voor 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.Bouw uw nieuwe consoletoepassing en voer deze uit om spraakherkenning vanaf een microfoon te starten.
Belangrijk
Zorg ervoor dat u de
SPEECH_KEY
enSPEECH_REGION
omgevingsvariabelen 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
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.Als u spraak uit een audiobestand wilt herkennen, gebruikt
FromWavFileInput
u in plaats vanFromDefaultMicrophoneInput
:auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStream
ofPushAudioInputStream
. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (Go) | Aanvullende voorbeelden op GitHub |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
De omgeving instellen
Installeer de Speech SDK voor Go. Zie De Speech SDK installeren voor vereisten en instructies.
Omgevingsvariabelen instellen
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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-go
Belangrijk
Zorg ervoor dat u de
SPEECH_KEY
enSPEECH_REGION
omgevingsvariabelen 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
Resources 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.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
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 -v
om de installatie te bevestigen.Maak een nieuw
pom.xml
bestand 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.37.0</version> </dependency> </dependencies> </project>
Installeer de Speech SDK en afhankelijkheden.
mvn clean dependency:copy-dependencies
Omgevingsvariabelen instellen
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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 "SPEECH_REGION" private static String speechKey = System.getenv("SPEECH_KEY"); private static String speechRegion = System.getenv("SPEECH_REGION"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion); 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 region values?"); } } System.exit(0); } }
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Gebruik bijvoorbeeldes-ES
voor 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\*" SpeechRecognition
Belangrijk
Zorg ervoor dat u de
SPEECH_KEY
enSPEECH_REGION
omgevingsvariabelen 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
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.Als u spraak uit een audiobestand wilt herkennen, gebruikt
fromWavFileInput
u in plaats vanfromDefaultMicrophoneInput
:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStream
ofPushAudioInputStream
. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (npm) | Aanvullende voorbeelden op GitHub | Library-broncode |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
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.
De omgeving instellen
Installeer de Speech SDK voor JavaScript om uw omgeving in te stellen. Voer deze opdracht uit: npm install microsoft-cognitiveservices-speech-sdk
. Zie De Speech SDK installeren voor instructies voor begeleide installatie.
Omgevingsvariabelen instellen
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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
Volg deze stappen om een Node.js consoletoepassing voor spraakherkenning te maken.
Open een opdrachtpromptvenster waarin u het nieuwe project wilt opnemen en maak een nieuw bestand met de naam SpeechRecognition.js.
Installeer de Speech SDK voor JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Kopieer de volgende code naar SpeechRecognition.js:
const fs = require("fs"); const sdk = require("microsoft-cognitiveservices-speech-sdk"); // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); speechConfig.speechRecognitionLanguage = "en-US"; function fromFile() { let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav")); let speechRecognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig); speechRecognizer.recognizeOnceAsync(result => { switch (result.reason) { case sdk.ResultReason.RecognizedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); break; case sdk.ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case sdk.ResultReason.Canceled: const cancellation = sdk.CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason == sdk.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 SpeechRecognition.js YourAudioFile.wav door uw eigen .wav-bestand. In dit voorbeeld wordt alleen spraak herkend uit een .wav-bestand . Zie Gecomprimeerde invoeraudio 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-US
een andere ondersteunde taal. Gebruik bijvoorbeeldes-ES
voor 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.exe SpeechRecognition.js
Belangrijk
Zorg ervoor dat u de
SPEECH_KEY
enSPEECH_REGION
omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.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.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (downloaden) | Aanvullende voorbeelden op GitHub |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
De omgeving instellen
De Speech SDK voor Objective-C wordt gedistribueerd als een frameworkbundel. Het framework ondersteunt zowel Objective-C als Swift in zowel iOS als macOS.
De Speech SDK kan worden gebruikt in Xcode-projecten als een CocoaPod, of rechtstreeks en handmatig worden gedownload. In deze handleiding wordt gebruikgemaakt van een CocoaPod. Installeer het CocoaPod-afhankelijkheidsbeheer zoals beschreven in de installatie-instructies.
Omgevingsvariabelen instellen
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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 opslagplaats Azure-Samples/cognitive-services-speech-sdk om de Recognize-spraak op te halen uit een microfoon in Objective-C in macOS-voorbeeldproject . De opslagplaats bevat ook iOS-voorbeelden.
Navigeer in een consolevenster naar de map van de gedownloade voorbeeld-app, helloworld.
Voer de opdracht
pod install
uit. Met deze opdracht wordt eenhelloworld.xcworkspace
-Xcode-werkruimte gegenereerd die de voorbeeld-app, de Speech SDK en een afhankelijkheid bevat.Open de werkruimte
helloworld.xcworkspace
in Xcode.Open het bestand met de naam AppDelegate.m en zoek de
buttonPressed
methode zoals hier wordt weergegeven.- (void)buttonPressed:(NSButton *)button { // Creates an instance of a speech config with specified subscription key and service region. NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"]; SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithMicrophone:nil]; SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion]; SPXSpeechRecognizer *speechRecognizer = [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig language:@"en-US" audioConfiguration:audioConfig]; NSLog(@"Speak into your microphone."); SPXSpeechRecognitionResult *speechResult = [speechRecognizer recognizeOnce]; // Checks result. if (SPXResultReason_Canceled == speechResult.reason) { SPXCancellationDetails *details = [[SPXCancellationDetails alloc] initFromCanceledRecognitionResult:speechResult]; NSLog(@"Speech recognition was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails); [self.label setStringValue:([NSString stringWithFormat:@"Canceled: %@", details.errorDetails])]; } else if (SPXResultReason_RecognizedSpeech == speechResult.reason) { NSLog(@"Speech recognition result received: %@", speechResult.text); [self.label setStringValue:(speechResult.text)]; } else { NSLog(@"There was an error."); [self.label setStringValue:(@"Speech Recognition Error")]; } }
Gebruik in AppDelegate.m de omgevingsvariabelen die u eerder hebt ingesteld voor uw Spraak-resourcesleutel en -regio.
NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Gebruik bijvoorbeeldes-ES
voor 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 Debug>Area>Activate Console weergeven.
Als u de voorbeeldcode wilt bouwen en uitvoeren, selecteert u Productuitvoering> in het menu of selecteert u de knop Afspelen.
Belangrijk
Zorg ervoor dat u de SPEECH_KEY
en SPEECH_REGION
omgevingsvariabelen 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
Hier volgen enkele andere overwegingen:
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.Als u spraak uit een audiobestand wilt herkennen, gebruikt
initWithWavFileInput
u in plaats vaninitWithMicrophone
:SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithWavFileInput:YourAudioFile];
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (downloaden) | Aanvullende voorbeelden op GitHub |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
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 worden gebruikt in Xcode-projecten als een CocoaPod, of rechtstreeks en handmatig worden gedownload. In deze handleiding wordt gebruikgemaakt van een CocoaPod. Installeer het CocoaPod-afhankelijkheidsbeheer zoals beschreven in de installatie-instructies.
Omgevingsvariabelen instellen
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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 opslagplaats Azure-Samples/cognitive-services-speech-sdk om de Recognize-spraak op te halen uit een microfoon in Swift in macOS-voorbeeldproject . De opslagplaats bevat ook iOS-voorbeelden.
Navigeer naar de map van de gedownloade voorbeeld-app (
helloworld
) in een terminal.Voer de opdracht
pod install
uit. Met deze opdracht wordt eenhelloworld.xcworkspace
Xcode-werkruimte gegenereerd die zowel de voorbeeld-app als de Speech SDK als een afhankelijkheid bevat.Open de werkruimte
helloworld.xcworkspace
in Xcode.Open het bestand met de naam AppDelegate.swift en zoek de
applicationDidFinishLaunching
enrecognizeFromMic
methoden 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-US
een andere ondersteunde taal. Gebruik bijvoorbeeldes-ES
voor 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 Debug>Area>Activate Console weergeven.
Bouw en voer de voorbeeldcode uit door Productuitvoering> te selecteren in het menu of door de knop Afspelen te selecteren.
Belangrijk
Zorg ervoor dat u de
SPEECH_KEY
enSPEECH_REGION
omgevingsvariabelen 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.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (PyPi) | Aanvullende voorbeelden op GitHub |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
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
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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.
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-speech
Kopieer 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 "SPEECH_REGION" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION')) 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 region values?") recognize_from_microphone()
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Gebruik bijvoorbeeldes-ES
voor 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.py
Belangrijk
Zorg ervoor dat u de
SPEECH_KEY
enSPEECH_REGION
omgevingsvariabelen 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_async
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.Als u spraak uit een audiobestand wilt herkennen, gebruikt
filename
u in plaats vanuse_default_microphone
:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStream
ofPushAudioInputStream
. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
Resources 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 naar text REST API voor korte audioverwijzing | Aanvullende voorbeelden op GitHub |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
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
Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
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 die de omgevingsvariabele moeten lezen, opnieuw opstarten, 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_REGION
omgevingsvariabelen 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.
Resources 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.
Tip
U kunt realtime spraak naar tekst proberen in Speech Studio zonder code te registreren of te schrijven.
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?
Vereisten
- Azure-abonnement: Maak een gratis abonnement aan.
- Maak een spraakresource in Azure Portal.
- Uw spraakresourcesleutel en -regio. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren. Zie De sleutels voor uw resource ophalen voor meer informatie over Azure AI-servicesresources.
De omgeving instellen
Volg deze stappen en bekijk de quickstart voor Speech CLI voor andere vereisten voor uw platform.
Voer de volgende .NET CLI-opdracht uit om de Speech CLI te installeren:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Voer de volgende opdrachten uit om uw Spraak-resourcesleutel en -regio te configureren. Vervang door
SUBSCRIPTION-KEY
uw Spraak-resourcesleutel en vervang deze doorREGION
de spraakresourceregio.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Spraak herkennen met een microfoon
Voer de volgende opdracht uit om spraakherkenning vanaf een microfoon te starten:
spx recognize --microphone --source en-US
Praat in de microfoon en u ziet transcriptie van uw woorden in realtime. De Speech CLI stopt na een stilteperiode, 30 seconden of wanneer u Ctrl+C selecteert.
Connection CONNECTED... RECOGNIZED: I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
Als u spraak uit een audiobestand wilt herkennen, gebruikt
--file
u in plaats van--microphone
. Installeer GStreamer en gebruik--format
voor gecomprimeerde audiobestanden zoals MP4. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.spx recognize --file YourAudioFile.wav spx recognize --file YourAudioFile.mp4 --format any
Gebruik een woordgroepenlijst om de nauwkeurigheid van herkenning van specifieke woorden of uitingen te verbeteren. U neemt een woordgroepenlijst in de regel op of met een tekstbestand, samen met de
recognize
opdracht:spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;" spx recognize --microphone --phrases @phrases.txt
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Gebruik bijvoorbeeldes-ES
voor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US
.spx recognize --microphone --source es-ES
Voor continue herkenning van audio die langer is dan 30 seconden, voegt u het volgende toe
--continuous
:spx recognize --microphone --source es-ES --continuous
Voer deze opdracht uit voor informatie over meer opties voor spraakherkenning, zoals bestandsinvoer en uitvoer:
spx help recognize
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.