Schnellstart: Erkennen von Sprache und Übersetzen von Sprache in Text

Referenzdokumentation | Paket (NuGet) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, um gesprochene Sprache aus einer Sprache in Text in einer anderen Sprache zu übersetzen.

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 Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel 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. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

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 eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Übersetzen von gesprochener Sprache von einem 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;
    using Microsoft.CognitiveServices.Speech.Translation;
    
    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(TranslationRecognitionResult translationRecognitionResult)
        {
            switch (translationRecognitionResult.Reason)
            {
                case ResultReason.TranslatedSpeech:
                    Console.WriteLine($"RECOGNIZED: Text={translationRecognitionResult.Text}");
                    foreach (var element in translationRecognitionResult.Translations)
                    {
                        Console.WriteLine($"TRANSLATED into '{element.Key}': {element.Value}");
                    }
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(translationRecognitionResult);
                    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 speechTranslationConfig = SpeechTranslationConfig.FromSubscription(speechKey, speechRegion);        
            speechTranslationConfig.SpeechRecognitionLanguage = "en-US";
            speechTranslationConfig.AddTargetLanguage("it");
    
            using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
            using var translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig);
    
            Console.WriteLine("Speak into your microphone.");
            var translationRecognitionResult = await translationRecognizer.RecognizeOnceAsync();
            OutputSpeechRecognitionResult(translationRecognitionResult);
        }
    }
    
  4. Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Geben Sie das vollständige Gebietsschema mit einem (-) Strichtrennlinie an. 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.

  5. Um die Zielsprache der Übersetzung zu ändern, ersetzen Sie it durch eine andere unterstützte Sprache. Mit wenigen Ausnahmen geben Sie nur den Sprachcode an, der die Strichtrennlinie des (-) Gebietsschema vorangestellt ist. Verwenden Sie beispielsweise es für Spanisch (Spanien) anstelle von es-ES. Die Standardsprache ist en, wenn Sie keine Sprache angeben.

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

dotnet run

Sprechen Sie in Ihr Mikrofon, wenn Sie dazu aufgefordert werden. Was Sie sprechen, sollte als übersetzter Text in der Zielsprache ausgegeben werden:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.

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 Unterhaltungen, finden Sie unter Übersetzen 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.

Referenzdokumentation | Paket (NuGet) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, um gesprochene Sprache aus einer Sprache in Text in einer anderen Sprache zu übersetzen.

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 Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel 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. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

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 eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Übersetzen von gesprochener Sprache von einem 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 SpeechTranslation.

  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 SpeechTranslation.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;
    using namespace Microsoft::CognitiveServices::Speech::Translation;
    
    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");
    
        auto speechTranslationConfig = SpeechTranslationConfig::FromSubscription(speechKey, speechRegion);
        speechTranslationConfig->SetSpeechRecognitionLanguage("en-US");
        speechTranslationConfig->AddTargetLanguage("it");
    
        auto audioConfig = AudioConfig::FromDefaultMicrophoneInput();
        auto translationRecognizer = TranslationRecognizer::FromConfig(speechTranslationConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = translationRecognizer->RecognizeOnceAsync().get();
    
        if (result->Reason == ResultReason::TranslatedSpeech)
        {
            std::cout << "RECOGNIZED: Text=" << result->Text << std::endl;
            for (auto pair : result->Translations)
            {
                auto language = pair.first;
                auto translation = pair.second;
                std::cout << "Translated into '" << language << "': " << translation << 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. Geben Sie das vollständige Gebietsschema mit einem (-) Strichtrennlinie an. 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.

  5. Um die Zielsprache der Übersetzung zu ändern, ersetzen Sie it durch eine andere unterstützte Sprache. Mit wenigen Ausnahmen geben Sie nur den Sprachcode an, der die Strichtrennlinie des (-) Gebietsschema vorangestellt ist. Verwenden Sie beispielsweise es für Spanisch (Spanien) anstelle von es-ES. Die Standardsprache ist en, wenn Sie keine Sprache angeben.

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

Sprechen Sie in Ihr Mikrofon, wenn Sie dazu aufgefordert werden. Was Sie sprechen, sollte als übersetzter Text in der Zielsprache ausgegeben werden:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

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 Unterhaltungen, finden Sie unter Übersetzen 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.

Referenzdokumentation | Paket (Go) | Zusätzliche Beispiele auf GitHub

Das Speech SDK für Go unterstützt die Sprachübersetzung nicht. Wählen Sie eine andere Programmiersprache aus, oder verwenden Sie die Go-Referenz und -Beispiele unter dem entsprechenden Link am Anfang dieses Artikels.

Referenzdokumentation | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, um gesprochene Sprache aus einer Sprache in Text in einer anderen Sprache zu übersetzen.

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.37.0</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 Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel 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. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

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 eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Übersetzen von gesprochener Sprache von einem 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 SpeechTranslation.java im gleichen Projektstammverzeichnis.

  2. Kopieren Sie den folgenden Code in SpeechTranslation.java:

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
    import com.microsoft.cognitiveservices.speech.translation.*;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.Future;
    import java.util.Map;
    
    public class SpeechTranslation {
        // 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 {
            SpeechTranslationConfig speechTranslationConfig = SpeechTranslationConfig.fromSubscription(speechKey, speechRegion);
            speechTranslationConfig.setSpeechRecognitionLanguage("en-US");
    
            String[] toLanguages = { "it" };
            for (String language : toLanguages) {
                speechTranslationConfig.addTargetLanguage(language);
            }
    
            recognizeFromMicrophone(speechTranslationConfig);
        }
    
        public static void recognizeFromMicrophone(SpeechTranslationConfig speechTranslationConfig) throws InterruptedException, ExecutionException {
            AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput();
            TranslationRecognizer translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig);
    
            System.out.println("Speak into your microphone.");
            Future<TranslationRecognitionResult> task = translationRecognizer.recognizeOnceAsync();
            TranslationRecognitionResult translationRecognitionResult = task.get();
    
            if (translationRecognitionResult.getReason() == ResultReason.TranslatedSpeech) {
                System.out.println("RECOGNIZED: Text=" + translationRecognitionResult.getText());
                for (Map.Entry<String, String> pair : translationRecognitionResult.getTranslations().entrySet()) {
                    System.out.printf("Translated into '%s': %s\n", pair.getKey(), pair.getValue());
                }
            }
            else if (translationRecognitionResult.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (translationRecognitionResult.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(translationRecognitionResult);
                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. Geben Sie das vollständige Gebietsschema mit einem (-) Strichtrennlinie an. 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.

  4. Um die Zielsprache der Übersetzung zu ändern, ersetzen Sie it durch eine andere unterstützte Sprache. Mit wenigen Ausnahmen geben Sie nur den Sprachcode an, der die Strichtrennlinie des (-) Gebietsschema vorangestellt ist. Verwenden Sie beispielsweise es für Spanisch (Spanien) anstelle von es-ES. Die Standardsprache ist en, wenn Sie keine Sprache angeben.

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

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

Sprechen Sie in Ihr Mikrofon, wenn Sie dazu aufgefordert werden. Was Sie sprechen, sollte als übersetzter Text in der Zielsprache ausgegeben werden:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

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 Unterhaltungen, finden Sie unter Übersetzen 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.

Referenzdokumentation | Paket (npm) | Zusätzliche Beispiele auf GitHub | Quellcode der Bibliothek

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, um gesprochene Sprache aus einer Sprache in Text in einer anderen Sprache zu übersetzen.

Voraussetzungen

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 Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel 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. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

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 eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Übersetzen 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 SpeechTranslation.js.

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

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Kopieren Sie den folgenden Code in SpeechTranslation.js:

    const fs = require("fs");
    const sdk = require("microsoft-cognitiveservices-speech-sdk");
    
    // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    const speechTranslationConfig = sdk.SpeechTranslationConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
    speechTranslationConfig.speechRecognitionLanguage = "en-US";
    
    var language = "it";
    speechTranslationConfig.addTargetLanguage(language);
    
    function fromFile() {
        let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav"));
        let translationRecognizer = new sdk.TranslationRecognizer(speechTranslationConfig, audioConfig);
    
        translationRecognizer.recognizeOnceAsync(result => {
            switch (result.reason) {
                case sdk.ResultReason.TranslatedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    console.log("Translated into [" + language + "]: " + result.translations.get(language));
    
                    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;
            }
            translationRecognizer.close();
        });
    }
    fromFile();
    
  4. Ersetzen Sie in SpeechTranslation.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. Geben Sie das vollständige Gebietsschema mit einem (-) Strichtrennlinie an. 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.

  6. Um die Zielsprache der Übersetzung zu ändern, ersetzen Sie it durch eine andere unterstützte Sprache. Mit wenigen Ausnahmen geben Sie nur den Sprachcode an, der die Strichtrennlinie des (-) Gebietsschema vorangestellt ist. Verwenden Sie beispielsweise es für Spanisch (Spanien) anstelle von es-ES. Die Standardsprache ist en, wenn Sie keine Sprache angeben.

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

node.exe SpeechTranslation.js

Die gesprochene Sprache aus der Audiodatei sollte als übersetzter Text in der Zielsprache ausgegeben werden:

RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.

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 Unterhaltungen, finden Sie unter Übersetzen 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.

Bereinigen von Ressourcen

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

Referenzdokumentation | Paket (Download) | Zusätzliche Beispiele auf GitHub

Das Speech SDK für Objective-C unterstützt zwar die Sprachübersetzung, aber wir haben hier noch keinen Leitfaden aufgenommen. Wählen Sie eine andere Programmiersprache aus, um loszulegen und sich über die Konzepte zu informieren, oder verwenden Sie die Objective-C-Referenz und -Beispiele unter dem entsprechenden Link am Anfang dieses Artikels.

Referenzdokumentation | Paket (Download) | Zusätzliche Beispiele auf GitHub

Das Speech SDK für Swift unterstützt zwar die Sprachübersetzung, aber wir haben hier noch keinen Leitfaden aufgenommen. Wählen Sie eine andere Programmiersprache aus, um loszulegen und sich über die Konzepte zu informieren, oder verwenden Sie die Swift-Referenz und -Beispiele unter dem entsprechenden Link am Anfang dieses Artikels.

Referenzdokumentation | Paket (PyPi) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, um gesprochene Sprache aus einer Sprache in Text in einer anderen Sprache zu übersetzen.

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 ab 3.7. Prüfen Sie zunächst im SDK-Installationsleitfaden, ob weitere Anforderungen gelten.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel 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. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

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 eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Übersetzen von gesprochener Sprache von einem 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_translation.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_translation.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_translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
        speech_translation_config.speech_recognition_language="en-US"
    
        target_language="it"
        speech_translation_config.add_target_language(target_language)
    
        audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
        translation_recognizer = speechsdk.translation.TranslationRecognizer(translation_config=speech_translation_config, audio_config=audio_config)
    
        print("Speak into your microphone.")
        translation_recognition_result = translation_recognizer.recognize_once_async().get()
    
        if translation_recognition_result.reason == speechsdk.ResultReason.TranslatedSpeech:
            print("Recognized: {}".format(translation_recognition_result.text))
            print("""Translated into '{}': {}""".format(
                target_language, 
                translation_recognition_result.translations[target_language]))
        elif translation_recognition_result.reason == speechsdk.ResultReason.NoMatch:
            print("No speech could be recognized: {}".format(translation_recognition_result.no_match_details))
        elif translation_recognition_result.reason == speechsdk.ResultReason.Canceled:
            cancellation_details = translation_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. Geben Sie das vollständige Gebietsschema mit einem (-) Strichtrennlinie an. 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.

  5. Um die Zielsprache der Übersetzung zu ändern, ersetzen Sie it durch eine andere unterstützte Sprache. Mit wenigen Ausnahmen geben Sie nur den Sprachcode an, der die Strichtrennlinie des (-) Gebietsschema vorangestellt ist. Verwenden Sie beispielsweise es für Spanisch (Spanien) anstelle von es-ES. Die Standardsprache ist en, wenn Sie keine Sprache angeben.

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

python speech_translation.py

Sprechen Sie in Ihr Mikrofon, wenn Sie dazu aufgefordert werden. Was Sie sprechen, sollte als übersetzter Text in der Zielsprache ausgegeben werden:

Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

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 Unterhaltungen, finden Sie unter Übersetzen 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.

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

Die REST-API unterstützt die Sprachübersetzung nicht. Wählen Sie oben auf dieser Seite eine andere Programmiersprache oder ein anderes Tool aus.

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, um gesprochene Sprache aus einer Sprache in Text in einer anderen Sprache zu übersetzen.

Voraussetzungen

Einrichten der Umgebung

Befolgen Sie diese Schritte und lesen Sie die Schnellstartanleitung für Speech CLI, um weitere Anforderungen für Ihre Plattform zu erfahren.

  1. Führen Sie den folgenden .NET CLI-Befehl aus, um die Speech CLI zu installieren:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Führen Sie die folgenden Befehle aus, um Ihren Speech-Ressourcenschlüssel und Ihre Region zu konfigurieren. 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
    

Übersetzen von gesprochener Sprache von einem Mikrofon

Führen Sie den folgenden Befehl aus, um die Sprache vom Mikrofon von Englisch in Italienisch zu übersetzen:

spx translate --source en-US --target it --microphone

Wenn Sie in das Mikrofon sprechen, sehen Sie in Echtzeit, wie Ihre Sprache in Text transkribiert wird. Die Speech-CLI wird angehalten, wenn 30 Sekunden lang Stille herrscht oder Sie STRG+C drücken.

Connection CONNECTED...
TRANSLATING into 'it': Sono (from 'I'm')
TRANSLATING into 'it': Sono entusiasta (from 'I'm excited to')
TRANSLATING into 'it': Sono entusiasta di provare la parola (from 'I'm excited to try speech')
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale. (from 'I'm excited to try speech translation.')

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 abzurufen. 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 translate --source en-US --target it --file YourAudioFile.wav
    spx translate --source en-US --target it --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 eingeschlossen werden:
    spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx translate --source en-US --target it --microphone --phrases @phrases.txt
    
  • Um die Sprache für die Spracherkennung zu ändern, ersetzen Sie en-US durch eine andere en-US. Geben Sie das vollständige Gebietsschema mit einem (-) Strichtrennlinie an. Beispiel: es-ES für Spanisch (Spanien). Die Standardsprache ist en-US, wenn Sie keine Sprache angeben.
    spx translate --microphone --source es-ES
    
  • Um die Zielsprache der Übersetzung zu ändern, ersetzen Sie it durch eine andere unterstützte Sprache. Mit wenigen Ausnahmen geben Sie nur den Sprachcode an, der die Strichtrennlinie des (-) Gebietsschema vorangestellt ist. Verwenden Sie beispielsweise es für Spanisch (Spanien) anstelle von es-ES. Die Standardsprache ist en, wenn Sie keine Sprache angeben.
    spx translate --microphone --target es
    
  • Um eine kontinuierliche Erkennung von Audiodaten zu erreichen, die länger als 30 Sekunden dauern, fügen Sie --continuous an:
    spx translate --source en-US --target it --microphone --continuous
    

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

spx help translate

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