Quickstart: Spraak herkennen en vertalen naar tekst

Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.

Vereisten

De omgeving instellen

De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding, maar controleer eerst de SDK-installatiehandleiding voor meer vereisten.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak vertalen vanuit een microfoon

Volg deze stappen om een nieuwe consoletoepassing te maken en de Speech SDK te installeren.

  1. Open een opdrachtprompt waar u het nieuwe project wilt gebruiken en maak een consoletoepassing met de .NET CLI. Het Program.cs bestand moet worden gemaakt in de projectmap.

    dotnet new console
    
  2. Installeer de Speech SDK in uw nieuwe project met de .NET CLI.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Vervang de inhoud door Program.cs de volgende 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. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-) scheidingsteken. Bijvoorbeeld voor es-ES Spaans (Spanje). De standaardtaal is en-US als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

  5. Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door it een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-). Gebruik bijvoorbeeld es voor Spaans (Spanje) in plaats van es-ES. De standaardtaal is en als u geen taal opgeeft.

Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:

dotnet run

Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet uitvoer zijn als vertaalde tekst in de doeltaal:

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

Opmerkingen

Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:

  • In dit voorbeeld wordt de RecognizeOnceAsync bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
  • Als u spraak uit een audiobestand wilt herkennen, gebruikt FromWavFileInput u in plaats van FromDefaultMicrophoneInput:
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt PullAudioInputStream of PushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.

Vereisten

De omgeving instellen

De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding, maar controleer eerst de SDK-installatiehandleiding voor meer vereisten

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak vertalen vanuit een microfoon

Volg deze stappen om een nieuwe consoletoepassing te maken en de Speech SDK te installeren.

  1. Maak een nieuw C++-consoleproject in Visual Studio Community 2022 met de naam SpeechTranslation.

  2. Installeer de Speech SDK in uw nieuwe project met nuGet-pakketbeheer.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Vervang de inhoud door SpeechTranslation.cpp de volgende 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. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-) scheidingsteken. Bijvoorbeeld voor es-ES Spaans (Spanje). De standaardtaal is en-US als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

  5. Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door it een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-). Gebruik bijvoorbeeld es voor Spaans (Spanje) in plaats van es-ES. De standaardtaal is en als u geen taal opgeeft.

Bouw uw nieuwe consoletoepassing en voer deze uit om spraakherkenning vanaf een microfoon te starten.

Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet uitvoer zijn als vertaalde tekst in de doeltaal:

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

Opmerkingen

Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:

  • In dit voorbeeld wordt de RecognizeOnceAsync bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
  • Als u spraak uit een audiobestand wilt herkennen, gebruikt FromWavFileInput u in plaats van FromDefaultMicrophoneInput:
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt PullAudioInputStream of PushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (Go) | Aanvullende voorbeelden op GitHub |

De Speech SDK voor Go biedt geen ondersteuning voor spraakomzetting. Selecteer een andere programmeertaal of de Go-verwijzing en voorbeelden die zijn gekoppeld aan het begin van dit artikel.

Referentiedocumentatie | Aanvullende voorbeelden op GitHub

In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.

Vereisten

De omgeving instellen

Voordat u iets kunt doen, moet u de Speech SDK installeren. Het voorbeeld in deze quickstart werkt met de Java Runtime.

  1. Installeer Apache Maven. Voer vervolgens uit mvn -v om de installatie te bevestigen.
  2. Maak een nieuw pom.xml bestand in de hoofdmap van uw project en kopieer het volgende erin:
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.microsoft.cognitiveservices.speech.samples</groupId>
        <artifactId>quickstart-eclipse</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                <source>1.8</source>
                <target>1.8</target>
                </configuration>
            </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.37.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Installeer de Speech SDK en afhankelijkheden.
    mvn clean dependency:copy-dependencies
    

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak vertalen vanuit een microfoon

Volg deze stappen om een nieuwe consoletoepassing te maken voor spraakherkenning.

  1. Maak een nieuw bestand met de naam SpeechTranslation.java in dezelfde hoofdmap van het project.

  2. Kopieer de volgende code naar 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. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-) scheidingsteken. Bijvoorbeeld voor es-ES Spaans (Spanje). De standaardtaal is en-US als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

  4. Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door it een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-). Gebruik bijvoorbeeld es voor Spaans (Spanje) in plaats van es-ES. De standaardtaal is en als u geen taal opgeeft.

Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:

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

Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet uitvoer zijn als vertaalde tekst in de doeltaal:

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

Opmerkingen

Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:

  • In dit voorbeeld wordt de RecognizeOnceAsync bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
  • Als u spraak uit een audiobestand wilt herkennen, gebruikt fromWavFileInput u in plaats van fromDefaultMicrophoneInput:
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt PullAudioInputStream of PushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (npm) | Aanvullende voorbeelden op GitHub | Library-broncode |

In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.

Vereisten

De omgeving instellen

Voordat u iets kunt doen, moet u de Speech SDK voor JavaScript installeren. Als u alleen de pakketnaam wilt installeren, voert u het volgende uit npm install microsoft-cognitiveservices-speech-sdk. Zie de SDK-installatiehandleiding voor begeleide installatie-instructies.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak vertalen vanuit een bestand

Volg deze stappen om een Node.js consoletoepassing voor spraakherkenning te maken.

  1. Open een opdrachtprompt waar u het nieuwe project wilt en maak een nieuw bestand met de naam SpeechTranslation.js.

  2. Installeer de Speech SDK voor JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Kopieer de volgende code naar 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. Vervang in SpeechTranslation.js, vervang YourAudioFile.wav door uw eigen WAV-bestand. In dit voorbeeld wordt alleen spraak herkend uit een WAV-bestand. Zie Gecomprimeerde invoeraudio gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.

  5. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-) scheidingsteken. Bijvoorbeeld voor es-ES Spaans (Spanje). De standaardtaal is en-US als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

  6. Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door it een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-). Gebruik bijvoorbeeld es voor Spaans (Spanje) in plaats van es-ES. De standaardtaal is en als u geen taal opgeeft.

Voer de nieuwe consoletoepassing uit om spraakherkenning vanuit een bestand te starten:

node.exe SpeechTranslation.js

De spraak uit het audiobestand moet worden uitgevoerd als vertaalde tekst in de doeltaal:

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

Opmerkingen

Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:

In dit voorbeeld wordt de recognizeOnceAsync bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.

Notitie

Spraak herkennen vanaf een microfoon wordt niet ondersteund in Node.js. Dit wordt alleen ondersteund in een javaScript-omgeving in een browser.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (downloaden) | Aanvullende voorbeelden op GitHub |

De Speech SDK voor Objective-C biedt ondersteuning voor spraakomzetting, maar we hebben hier nog geen handleiding opgenomen. Selecteer een andere programmeertaal om aan de slag te gaan en meer te weten te komen over de concepten, of bekijk de Objective-C-verwijzing en voorbeelden die zijn gekoppeld aan het begin van dit artikel.

Referentiedocumentatiepakket (downloaden) | Aanvullende voorbeelden op GitHub |

De Speech SDK voor Swift biedt wel ondersteuning voor spraakomzetting, maar we hebben hier nog geen handleiding opgenomen. Selecteer een andere programmeertaal om aan de slag te gaan en meer te weten te komen over de concepten, of bekijk de Swift-verwijzing en voorbeelden die zijn gekoppeld aan het begin van dit artikel.

Referentiedocumentatiepakket (PyPi) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.

Vereisten

De omgeving instellen

De Speech SDK voor Python is beschikbaar als een PyPI-module (Python Package Index). De Speech SDK voor Python is compatibel met Windows, Linux en macOS.

Installeer een versie van Python vanaf 3.7 of hoger. Controleer eerst de SDK-installatiehandleiding voor meer vereisten

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak vertalen vanuit een microfoon

Volg deze stappen om een nieuwe consoletoepassing te maken.

  1. Open een opdrachtprompt waar u het nieuwe project wilt en maak een nieuw bestand met de naam speech_translation.py.

  2. Voer deze opdracht uit om de Speech SDK te installeren:

    pip install azure-cognitiveservices-speech
    
  3. Kopieer de volgende code naar 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. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-) scheidingsteken. Bijvoorbeeld voor es-ES Spaans (Spanje). De standaardtaal is en-US als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

  5. Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door it een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-). Gebruik bijvoorbeeld es voor Spaans (Spanje) in plaats van es-ES. De standaardtaal is en als u geen taal opgeeft.

Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:

python speech_translation.py

Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet uitvoer zijn als vertaalde tekst in de doeltaal:

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

Opmerkingen

Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:

  • In dit voorbeeld wordt de recognize_once_async bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
  • Als u spraak uit een audiobestand wilt herkennen, gebruikt filename u in plaats van use_default_microphone:
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt PullAudioInputStream of PushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Spraak-naar-tekst-REST API-verwijzing Speech naar text REST API voor korte audioverwijzing | Aanvullende voorbeelden op GitHub |

De REST API biedt geen ondersteuning voor spraakomzetting. Selecteer een andere programmeertaal of hulpprogramma bovenaan deze pagina.

In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.

Vereisten

De omgeving instellen

Volg deze stappen en bekijk de quickstart voor Speech CLI voor andere vereisten voor uw platform.

  1. Voer de volgende .NET CLI-opdracht uit om de Speech CLI te installeren:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Voer de volgende opdrachten uit om uw Spraak-resourcesleutel en -regio te configureren. Vervang door SUBSCRIPTION-KEY uw Spraak-resourcesleutel en vervang deze door REGION de spraakresourceregio.

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

Spraak vertalen vanuit een microfoon

Voer de volgende opdracht uit om spraak van de microfoon van het Engels naar het Italiaans te vertalen:

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

Spreek in de microfoon en u ziet de transcriptie van uw vertaalde spraak in realtime. De Speech CLI stopt na een stilteperiode, 30 seconden of wanneer u op Ctrl+C drukt.

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.')

Opmerkingen

Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:

  • Als u spraak wilt ophalen uit een audiobestand, gebruikt --file u in plaats van --microphone. Installeer GStreamer en gebruik --formatvoor gecomprimeerde audiobestanden zoals MP4. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
    spx translate --source en-US --target it --file YourAudioFile.wav
    spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
    
  • Gebruik een woordgroepenlijst om de nauwkeurigheid van herkenning van specifieke woorden of uitingen te verbeteren. U neemt een woordgroepenlijst in de regel op of met een tekstbestand:
    spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx translate --source en-US --target it --microphone --phrases @phrases.txt
    
  • Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-) scheidingsteken. Bijvoorbeeld voor es-ES Spaans (Spanje). De standaardtaal is en-US als u geen taal opgeeft.
    spx translate --microphone --source es-ES
    
  • Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door it een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-). Gebruik bijvoorbeeld es voor Spaans (Spanje) in plaats van es-ES. De standaardtaal is en als u geen taal opgeeft.
    spx translate --microphone --target es
    
  • Voor continue herkenning van audio die langer is dan 30 seconden, voegt u het volgende toe --continuous:
    spx translate --source en-US --target it --microphone --continuous
    

Voer deze opdracht uit voor informatie over aanvullende opties voor spraakomzetting, zoals bestandsinvoer en uitvoer:

spx help translate

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Volgende stappen