Schnellstart: Erkennen von Sprache und Konvertieren von Sprache in Text

ReferenzdokumentationPaket (NuGet)Zusätzliche Beispiele auf GitHub

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK ist als NuGet-Paket verfügbar und implementiert .NET Standard 2.0. Sie installieren das Speech SDK im weiteren Verlauf dieses Leitfadens. Überprüfen Sie jedoch zunächst im SDK-Installationsleitfaden, ob weitere Anforderungen gelten.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Spracheingaben per Mikrofon

Führen Sie die folgenden Schritte aus, um eine neue Konsolenanwendung zu erstellen und das Speech SDK zu installieren.

  1. Öffnen Sie am Speicherort, an dem Sie das neue Projekt erstellen möchten, eine Eingabeaufforderung, und erstellen Sie mit der .NET-CLI eine Konsolenanwendung. Die Datei Program.cs sollte im Projektverzeichnis erstellt werden.

    dotnet new console
    
  2. Installieren Sie das Speech SDK mit der .NET-CLI in Ihrem neuen Projekt.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Ersetzen Sie den Inhalt von Program.cs durch den folgenden 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);
        }
    }
    
  4. Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben. Ausführliche Informationen zum Identifizieren einer von mehreren Sprachen, die gesprochen werden können, finden Sie unter Sprachenerkennung.

Führen Sie die neue Konsolenanwendung aus, um die Spracherkennung über ein Mikrofon zu starten:

dotnet run

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Sprechen Sie in Ihr Mikrofon, wenn Sie dazu aufgefordert werden. Die Wörter, die Sie sprechen, sollten als Text ausgegeben werden:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech to text.

Bemerkungen

Nachdem Sie die Schnellstartanleitung abgeschlossen haben, finden Sie hier einige zusätzliche Überlegungen:

  • In diesem Beispiel wird der Vorgang RecognizeOnceAsync verwendet, um Äußerungen von bis zu 30 Sekunden oder bis zur Erkennung von Stille zu transkribieren. Informationen zur kontinuierlichen Erkennung längerer Audiodaten, einschließlich mehrsprachiger Konversationen, finden Sie unter Erkennen von Sprache.
  • Verwenden Sie FromWavFileInput anstelle von FromDefaultMicrophoneInput, um Sprache aus einer Audiodatei zu erkennen:
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Wenn Sie komprimierte Audiodateien wie beispielsweise MP4 verwenden, installieren Sie GStreamer, und verwenden Sie PullAudioInputStream oder PushAudioInputStream. Weitere Informationen finden Sie unter Verwenden von komprimierten Eingabeaudiodaten.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

ReferenzdokumentationPaket (NuGet)Zusätzliche Beispiele auf GitHub

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK ist als NuGet-Paket verfügbar und implementiert .NET Standard 2.0. Sie installieren das Speech SDK im weiteren Verlauf dieses Leitfadens. Überprüfen Sie jedoch zunächst im SDK-Installationsleitfaden, ob weitere Anforderungen gelten.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Spracheingaben per Mikrofon

Führen Sie die folgenden Schritte aus, um eine neue Konsolenanwendung zu erstellen und das Speech SDK zu installieren.

  1. Erstellen Sie in Visual Studio Community 2022 ein neues C++-Konsolenprojekt mit dem Namen SpeechRecognition.

  2. Installieren Sie das Speech SDK mit dem NuGet-Paket-Manager in Ihrem neuen Projekt.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Ersetzen Sie den Inhalt von SpeechRecognition.cpp durch den folgenden 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 recognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = recognizer->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
    }
    
  4. Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben. Ausführliche Informationen zum Identifizieren einer von mehreren Sprachen, die gesprochen werden können, finden Sie unter Sprachenerkennung.

Erstellen Sie die neue Konsolenanwendung, und führen Sie sie aus, um die Spracherkennung über ein Mikrofon zu starten.

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Sprechen Sie in Ihr Mikrofon, wenn Sie dazu aufgefordert werden. Die Wörter, die Sie sprechen, sollten als Text ausgegeben werden:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech to text.

Bemerkungen

Nachdem Sie die Schnellstartanleitung abgeschlossen haben, finden Sie hier einige zusätzliche Überlegungen:

  • In diesem Beispiel wird der Vorgang RecognizeOnceAsync verwendet, um Äußerungen von bis zu 30 Sekunden oder bis zur Erkennung von Stille zu transkribieren. Informationen zur kontinuierlichen Erkennung längerer Audiodaten, einschließlich mehrsprachiger Konversationen, finden Sie unter Erkennen von Sprache.
  • Verwenden Sie FromWavFileInput anstelle von FromDefaultMicrophoneInput, um Sprache aus einer Audiodatei zu erkennen:
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Wenn Sie komprimierte Audiodateien wie beispielsweise MP4 verwenden, installieren Sie GStreamer, und verwenden Sie PullAudioInputStream oder PushAudioInputStream. Weitere Informationen finden Sie unter Verwenden von komprimierten Eingabeaudiodaten.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

ReferenzdokumentationPaket (Go)Zusätzliche Beispiele auf GitHub

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Installieren Sie das Speech SDK für Go. Im SDK-Installationshandbuch finden Sie weitere Anforderungen.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Spracheingaben per Mikrofon

Führen Sie die folgenden Schritte aus, um ein neues GO-Modul zu erstellen.

  1. Öffnen Sie am gewünschten Speicherort für das neue Modul eine Eingabeaufforderung, und erstellen Sie eine neue Datei mit dem Namen speech-recognition.go.

  2. Kopieren Sie den folgenden Code in speech-recognition.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')
    }
    

Führen Sie die folgenden Befehle aus, um eine Datei namens go.mod zu erstellen, die mit auf GitHub gehosteten Komponenten verknüpft ist:

go mod init speech-recognition
go get github.com/Microsoft/cognitive-services-speech-sdk-go

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Erstellen Sie als Nächstes den Code, und führen Sie ihn aus:

go build
go run speech-recognition

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenzdokumentation | Zusätzliche Beispiele auf GitHub

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Zuallererst müssen Sie das Speech SDK installieren. Das Beispiel in diesem Schnellstart funktioniert mit der Java-Runtime.

  1. Installieren Sie Apache Maven. Führen Sie dann mvn -v aus, um die erfolgreiche Installation zu bestätigen.
  2. Erstellen Sie im Stammverzeichnis Ihres Projekts eine neue Datei pom.xml und kopieren Sie Folgendes hinein:
    <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.24.2</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Installieren Sie das Speech SDK und Abhängigkeiten.
    mvn clean dependency:copy-dependencies
    

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Spracheingaben per Mikrofon

Führen Sie die folgenden Schritte aus, um eine neue Konsolenanwendung für die Spracherkennung zu erstellen.

  1. Erstellen Sie eine neue Datei namens SpeechRecognition.java im gleichen Projektstammverzeichnis.

  2. Kopieren Sie den folgenden Code in 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);
        }
    }
    
  3. Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben. Ausführliche Informationen zum Identifizieren einer von mehreren Sprachen, die gesprochen werden können, finden Sie unter Sprachenerkennung.

Führen Sie die neue Konsolenanwendung aus, um die Spracherkennung über ein Mikrofon zu starten:

javac SpeechRecognition.java -cp ".;target\dependency\*"
java -cp ".;target\dependency\*" SpeechRecognition

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Sprechen Sie in Ihr Mikrofon, wenn Sie dazu aufgefordert werden. Die Wörter, die Sie sprechen, sollten als Text ausgegeben werden:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech to text.

Bemerkungen

Nachdem Sie die Schnellstartanleitung abgeschlossen haben, finden Sie hier einige zusätzliche Überlegungen:

  • In diesem Beispiel wird der Vorgang RecognizeOnceAsync verwendet, um Äußerungen von bis zu 30 Sekunden oder bis zur Erkennung von Stille zu transkribieren. Informationen zur kontinuierlichen Erkennung längerer Audiodaten, einschließlich mehrsprachiger Konversationen, finden Sie unter Erkennen von Sprache.
  • Verwenden Sie fromWavFileInput anstelle von fromDefaultMicrophoneInput, um Sprache aus einer Audiodatei zu erkennen:
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Wenn Sie komprimierte Audiodateien wie beispielsweise MP4 verwenden, installieren Sie GStreamer, und verwenden Sie PullAudioInputStream oder PushAudioInputStream. Weitere Informationen finden Sie unter Verwenden von komprimierten Eingabeaudiodaten.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

ReferenzdokumentationPaket (npm)Zusätzliche Beispiele auf GitHubQuellcode der Bibliothek

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Sie benötigen auch eine .wav-Audiodatei auf Ihrem lokalen Computer. Sie können Ihre eigene .wav-Datei (bis zu 30 Sekunden) verwenden oder die Beispieldatei https://crbn.us/whatstheweatherlike.wav herunterladen.

Einrichten der Umgebung

Zuallererst müssen Sie das Speech SDK für JavaScript installieren. Falls Sie lediglich den Paketnamen für die Installation benötigen, können Sie den folgenden Befehl ausführen: npm install microsoft-cognitiveservices-speech-sdk. Anweisungen zu einer geführten Installation finden Sie im SDK-Installationsleitfaden.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Sprache aus einer Datei

Führen Sie die folgenden Schritte aus, um eine Node.js-Konsolenanwendung für die Spracherkennung zu erstellen.

  1. Öffnen Sie am gewünschten Speicherort für das neue Projekt eine Eingabeaufforderung, und erstellen Sie eine neue Datei mit dem Namen SpeechRecognition.js.

  2. Installieren Sie das Speech SDK für JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Kopieren Sie den folgenden Code in 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();
    
  4. Ersetzen Sie in SpeechRecognition.jsYourAudioFile.wav durch Ihre eigene WAV-Datei. In diesem Beispiel wird nur die Sprache aus einer WAV-Datei erkannt. Informationen zu anderen Audioformaten finden Sie unter Verwenden von komprimierten Eingabeaudiodaten. In diesem Beispiel werden bis zu 30 Sekunden an Audiodaten unterstützt.

  5. Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben. Ausführliche Informationen zum Identifizieren einer von mehreren Sprachen, die gesprochen werden können, finden Sie unter Sprachenerkennung.

Führen Sie die neue Konsolenanwendung aus, um die Spracherkennung aus einer Datei zu starten:

node.exe SpeechRecognition.js

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Die Sprache aus der Audiodatei sollte als Text ausgegeben werden:

RECOGNIZED: Text=I'm excited to try speech to text.

Bemerkungen

Nachdem Sie die Schnellstartanleitung abgeschlossen haben, finden Sie hier einige zusätzliche Überlegungen:

In diesem Beispiel wird der Vorgang recognizeOnceAsync verwendet, um Äußerungen von bis zu 30 Sekunden oder bis zur Erkennung von Stille zu transkribieren. Informationen zur kontinuierlichen Erkennung längerer Audiodaten, einschließlich mehrsprachiger Konversationen, finden Sie unter Erkennen von Sprache.

Hinweis

Die Spracherkennung über ein Mikrofon wird in Node.js nicht unterstützt. Sie wird nur in einer browserbasierten JavaScript-Umgebung unterstützt. Weitere Informationen finden Sie im React-Beispiel und unter Implementierung der Spracherkennung über ein Mikrofon auf GitHub. Das React-Beispiel zeigt Entwurfsmuster für den Austausch und die Verwaltung von Authentifizierungstoken. Außerdem wird die Erfassung von Audiodaten über ein Mikrofon oder aus einer Datei für die Konvertierung von Sprache in Text veranschaulicht.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

ReferenzdokumentationPaket (Download)Zusätzliche Beispiele auf GitHub

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK für Objective-C wird als Frameworkpaket verteilt. Das Framework unterstützt sowohl Objective-C als auch Swift unter iOS und macOS.

Das Speech SDK kann in Xcode-Projekten als CocoaPod verwendet oder direkt hier heruntergeladen und manuell verknüpft werden. In dieser Anleitung wird ein CocoaPod verwendet. Installieren Sie den CocoaPod-Abhängigkeits-Manager entsprechend den Anweisungen in der Installationsanleitung.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Spracheingaben per Mikrofon

Führen Sie die folgenden Schritte aus, um Sprache in einer macOS-Anwendung zu erkennen.

  1. Klonen Sie das Repository Azure-Samples/cognitive-services-speech-sdk, um das Beispielprojekt zum Erkennen von Spracheingaben per Mikrofon in Objective-C unter macOS abzurufen. Das Repository enthält auch iOS-Beispiele.

  2. Navigieren Sie in einem Terminal zum Verzeichnis der heruntergeladenen Beispiel-App (helloworld).

  3. Führen Sie den Befehl pod install aus. Dadurch wird ein Xcode-Arbeitsbereich helloworld.xcworkspace generiert, der die Beispiel-App und das Speech SDK als Abhängigkeit enthält.

  4. Öffnen Sie den Arbeitsbereich helloworld.xcworkspace in Xcode.

  5. Öffnen Sie die Datei namens AppDelegate.m, und suchen Sie wie hier gezeigt nach der buttonPressed-Methode.

    - (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")];
        }
    }
    
  6. Verwenden Sie in AppDelegate.m die zuvor festgelegten Umgebungsvariablen für den Speech-Ressourcenschlüssel und die Region.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben. Ausführliche Informationen zum Identifizieren einer von mehreren Sprachen, die gesprochen werden können, finden Sie unter Sprachenerkennung.

  8. Zeigen Sie die Debugausgabe an (Ansicht>Debugbereich>Konsole aktivieren).

  9. Erstellen Sie den Beispielcode, und führen Sie ihn aus, indem Sie im Menü Produkt>Ausführen auswählen oder auf die Schaltfläche Wiedergeben klicken.

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Nachdem Sie in der App die Schaltfläche ausgewählt und ein paar Worte gesagt haben, sollte der gesprochene Text im unteren Bildschirmbereich angezeigt werden. Bei der erstmaligen Ausführung der App sollten Sie dazu aufgefordert werden, der App Zugriff auf das Mikrofon Ihres Computers zu gewähren.

Bemerkungen

Nachdem Sie die Schnellstartanleitung abgeschlossen haben, finden Sie hier einige zusätzliche Überlegungen:

  • In diesem Beispiel wird der Vorgang recognizeOnce verwendet, um Äußerungen von bis zu 30 Sekunden oder bis zur Erkennung von Stille zu transkribieren. Informationen zur kontinuierlichen Erkennung längerer Audiodaten, einschließlich mehrsprachiger Konversationen, finden Sie unter Erkennen von Sprache.
  • Verwenden Sie initWithWavFileInput anstelle von initWithMicrophone, um Sprache aus einer Audiodatei zu erkennen:
    SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithWavFileInput:YourAudioFile];
    

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

ReferenzdokumentationPaket (Download)Zusätzliche Beispiele auf GitHub

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK für Swift wird als Frameworkpaket verteilt. Das Framework unterstützt sowohl Objective-C als auch Swift unter iOS und macOS.

Das Speech SDK kann in Xcode-Projekten als CocoaPod verwendet oder direkt hier heruntergeladen und manuell verknüpft werden. In dieser Anleitung wird ein CocoaPod verwendet. Installieren Sie den CocoaPod-Abhängigkeits-Manager entsprechend den Anweisungen in der Installationsanleitung.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Spracheingaben per Mikrofon

Führen Sie die folgenden Schritte aus, um Sprache in einer macOS-Anwendung zu erkennen.

  1. Klonen Sie das Repository Azure-Samples/cognitive-services-speech-sdk, um das Beispielprojekt zum Erkennen von Spracheingaben per Mikrofon in Swift unter macOS abzurufen. Das Repository enthält auch iOS-Beispiele.

  2. Navigieren Sie in einem Terminal zum Verzeichnis der heruntergeladenen Beispiel-App (helloworld).

  3. Führen Sie den Befehl pod install aus. Dadurch wird ein Xcode-Arbeitsbereich helloworld.xcworkspace generiert, der die Beispiel-App und das Speech SDK als Abhängigkeit enthält.

  4. Öffnen Sie den Arbeitsbereich helloworld.xcworkspace in Xcode.

  5. Öffnen Sie die Datei namens AppDelegate.swift, und suchen Sie wie hier gezeigt nach den applicationDidFinishLaunching- und recognizeFromMic-Methoden.

    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
            }
        }
    }
    
  6. Verwenden Sie in AppDelegate.m die zuvor festgelegten Umgebungsvariablen für den Speech-Ressourcenschlüssel und die Region.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben. Ausführliche Informationen zum Identifizieren einer von mehreren Sprachen, die gesprochen werden können, finden Sie unter Sprachenerkennung.

  8. Zeigen Sie die Debugausgabe an (Ansicht>Debugbereich>Konsole aktivieren).

  9. Erstellen Sie den Beispielcode, und führen Sie ihn aus, indem Sie im Menü Produkt>Ausführen auswählen oder auf die Schaltfläche Wiedergeben klicken.

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Nachdem Sie in der App die Schaltfläche ausgewählt und ein paar Worte gesagt haben, sollte der gesprochene Text im unteren Bildschirmbereich angezeigt werden. Bei der erstmaligen Ausführung der App sollten Sie dazu aufgefordert werden, der App Zugriff auf das Mikrofon Ihres Computers zu gewähren.

Bemerkungen

Nachdem Sie die Schnellstartanleitung abgeschlossen haben, finden Sie hier einige zusätzliche Überlegungen:

In diesem Beispiel wird der Vorgang recognizeOnce verwendet, um Äußerungen von bis zu 30 Sekunden oder bis zur Erkennung von Stille zu transkribieren. Informationen zur kontinuierlichen Erkennung längerer Audiodaten, einschließlich mehrsprachiger Konversationen, finden Sie unter Erkennen von Sprache.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

ReferenzdokumentationPaket (PyPi)Zusätzliche Beispiele auf GitHub

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK für Python ist als PyPI-Modul (Python Package Index) verfügbar. Das Speech SDK für Python ist mit Windows, Linux und macOS kompatibel.

Installieren Sie eine Python-Version zwischen 3.7 und 3.10. Prüfen Sie im SDK-Installationshandbuch zunächst, ob weitere Anforderungen gelten.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Spracheingaben per Mikrofon

Führen Sie die folgenden Schritte aus, um eine neue Konsolenanwendung zu erstellen.

  1. Öffnen Sie am gewünschten Speicherort für das neue Projekt eine Eingabeaufforderung, und erstellen Sie eine neue Datei mit dem Namen speech_recognition.py.

  2. Führen Sie diesen Befehl aus, um das Speech SDK zu installieren:

    pip install azure-cognitiveservices-speech
    
  3. Kopieren Sie den folgenden Code in 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()
    
  4. Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben. Ausführliche Informationen zum Identifizieren einer von mehreren Sprachen, die gesprochen werden können, finden Sie unter Sprachenerkennung.

Führen Sie die neue Konsolenanwendung aus, um die Spracherkennung über ein Mikrofon zu starten:

python speech_recognition.py

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Sprechen Sie in Ihr Mikrofon, wenn Sie dazu aufgefordert werden. Die Wörter, die Sie sprechen, sollten als Text ausgegeben werden:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech to text.

Bemerkungen

Nachdem Sie die Schnellstartanleitung abgeschlossen haben, finden Sie hier einige zusätzliche Überlegungen:

  • In diesem Beispiel wird der Vorgang recognize_once_async verwendet, um Äußerungen von bis zu 30 Sekunden oder bis zur Erkennung von Stille zu transkribieren. Informationen zur kontinuierlichen Erkennung längerer Audiodaten, einschließlich mehrsprachiger Konversationen, finden Sie unter Erkennen von Sprache.
  • Verwenden Sie filename anstelle von use_default_microphone, um Sprache aus einer Audiodatei zu erkennen:
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Wenn Sie komprimierte Audiodateien wie beispielsweise MP4 verwenden, installieren Sie GStreamer, und verwenden Sie PullAudioInputStream oder PushAudioInputStream. Weitere Informationen finden Sie unter Verwenden von komprimierten Eingabeaudiodaten.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenz zur Spracherkennungs-REST-API | Referenz zur Spracherkennungs-REST-API für kurze Audiodaten | Zusätzliche Beispiele auf GitHub

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Sie benötigen auch eine .wav-Audiodatei auf Ihrem lokalen Computer. Sie können Ihre eigene .wav-Datei (bis zu 30 Sekunden) verwenden oder die Beispieldatei https://crbn.us/whatstheweatherlike.wav herunterladen.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Cognitive Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Beispiel: Nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource schreiben Sie diesen in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Im Artikel zur Cognitive Services-Sicherheit finden Sie weitere Authentifizierungsoptionen wie zum Beispiel Azure Key Vault.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch einen der Schlüssel für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuell ausgeführten Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Umgebungsvariable mit set anstelle von setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariablen gelesen werden müssen, z. B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Erkennen von Sprache aus einer Datei

Führen Sie an der Eingabeaufforderung den folgenden cURL-Befehl aus. Ersetzen Sie YourAudioFile.wav durch den Pfad und den Namen Ihrer Audiodatei.

audio_file=@'YourAudioFile.wav'

curl --location --request POST \
"https://${SPEECH_REGION}.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US" \
--header "Ocp-Apim-Subscription-Key: ${SPEECH_KEY}" \
--header "Content-Type: audio/wav" \
--data-binary $audio_file

Wichtig

Stellen Sie sicher, dass Sie die Umgebungsvariablen SPEECH__KEY und SPEECH__REGION wie oben beschrieben festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Sie sollten eine Antwort empfangen, die in etwa wie das folgende Beispiel aussieht. DisplayText sollte der Text sein, der aus Ihrer Audiodatei erkannt wurde. Bis zu 30 Sekunden Audio wird erkannt und in Text konvertiert.

{
    "RecognitionStatus": "Success",
    "DisplayText": "My voice is my passport, verify me.",
    "Offset": 6600000,
    "Duration": 32100000
}

Weitere Informationen finden Sie unter Spracherkennungs-REST-API für kurze Audiodaten.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

In diesem Schnellstart führen Sie eine Anwendung aus, um menschliche Sprache zu erkennen und zu transkribieren. (Dieser Prozess wird häufig als Spracherkennung bezeichnet.)

Tipp

Sie können Sprache-in-Text in Speech Studio ausprobieren, ohne sich zu registrieren oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Befolgen Sie diese Schritte, und lesen Sie den Schnellstart zur Speech-CLI, um weitere Anforderungen für Ihre Plattform zu erfahren.

  1. Installieren Sie die Speech-CLI mithilfe der .NET-CLI durch Eingabe des folgenden Befehls:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Konfigurieren Sie den Schlüssel und die Region Ihrer Speech-Ressource, indem Sie die folgenden Befehle ausführen. Ersetzen Sie SUBSCRIPTION-KEY durch den Schlüssel Ihrer Speech-Ressource und REGION durch die Region Ihrer Speech-Ressource:

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

Erkennen von Spracheingaben per Mikrofon

Führen Sie den folgenden Befehl aus, um die Spracherkennung über ein Mikrofon zu starten:

spx recognize --microphone --source en-US

Sprechen Sie in das Mikrofon, und Sie sehen in Echtzeit die Transkription Ihrer Worte in Text. Die Speech-CLI wird angehalten, wenn 30 Sekunden lang Stille herrscht oder Sie STRG+C drücken.

Connection CONNECTED...
RECOGNIZED: I'm excited to try speech to text.

Bemerkungen

Nachdem Sie die Schnellstartanleitung abgeschlossen haben, finden Sie hier einige zusätzliche Überlegungen:

  • Verwenden Sie --file anstelle von --microphone, um Sprache aus einer Audiodatei zu erkennen. Wenn Sie komprimierte Audiodateien wie beispielsweise MP4 verwenden, installieren Sie GStreamer, und verwenden Sie --format. Weitere Informationen finden Sie unter Verwenden von komprimierten Eingabeaudiodaten.
    spx recognize --file YourAudioFile.wav
    spx recognize --file YourAudioFile.mp4 --format any
    
  • Verwenden Sie eine Ausdrucksliste, um die Erkennungsgenauigkeit bestimmter Wörter oder Äußerungen zu verbessern. Eine Ausdrucksliste kann inline oder mit einer Textdatei zusammen mit dem recognize-Befehl eingeschlossen werden:
    spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx recognize --microphone --phrases @phrases.txt
    
  • Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben.
    spx recognize --microphone --source es-ES
    
  • Um eine kontinuierliche Erkennung von Audiodaten zu erreichen, die länger als 30 Sekunden dauern, fügen Sie --continuous an:
    spx recognize --microphone --source es-ES --continuous
    

Führen Sie diesen Befehl aus, um Informationen zu zusätzlichen Spracherkennungsoptionen wie Dateieingabe und -ausgabe zu erhalten:

spx help recognize

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Nächste Schritte