Delen via


Quickstart: Spraak herkennen en converteren naar tekst

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In deze quickstart probeert u realtime spraak naar tekst in Azure AI Studio.

Vereisten

Realtime spraak naar tekst proberen

  1. Ga naar de startpagina in AI Studio en selecteer VERVOLGENS AI Services in het linkerdeelvenster.

    Schermopname van de pagina AI Services in Azure AI Studio.

  2. Selecteer Spraak in de lijst met AI-services.

  3. Selecteer realtime spraak naar tekst.

    Schermopname van de optie om de tegel realtime spraak naar tekst te selecteren.

  4. Selecteer in de sectie Uitproberen de AI-servicesverbinding van uw hub. Zie AI-services verbinden met uw hub in AI Studio voor meer informatie over AI-servicesverbindingen.

    Schermopname van de optie voor het selecteren van een VERBINDING met AI-services en andere instellingen.

  5. Selecteer Geavanceerde opties weergeven om spraak-naar-tekstopties te configureren, zoals:

    • Taalidentificatie: wordt gebruikt om talen te identificeren die in audio worden gesproken in vergelijking met een lijst met ondersteunde talen. Zie Taalidentificatie voor meer informatie over opties voor taalidentificatie, zoals aan het begin en continue herkenning.
    • Sprekerscheiding: wordt gebruikt om luidsprekers in audio te identificeren en te scheiden. Diarization maakt onderscheid tussen de verschillende sprekers die deelnemen aan het gesprek. De Speech-service biedt informatie over welke spreker een bepaald deel van getranscribeerde spraak sprak. Zie de quickstart voor sprekerverwijdering voor meer informatie over spreker diarisatie .
    • Aangepast eindpunt: gebruik een geïmplementeerd model van aangepaste spraak om de nauwkeurigheid van herkenning te verbeteren. Als u het basislijnmodel van Microsoft wilt gebruiken, laat u deze ingesteld op Geen. Zie Custom Speech voor meer informatie over aangepaste spraak.
    • Uitvoerindeling: kies tussen eenvoudige en gedetailleerde uitvoerindelingen. Eenvoudige uitvoer bevat weergave-indeling en tijdstempels. Gedetailleerde uitvoer bevat meer indelingen (zoals weergave, lexical, ITN en gemaskeerde ITN), tijdstempels en N-best lijsten.
    • Frasenlijst: verbeter de nauwkeurigheid van transcriptie door een lijst met bekende zinnen op te geven, zoals namen van personen of specifieke locaties. Gebruik komma's of puntkomma's om elke waarde in de frasenlijst te scheiden. Zie Frasenlijsten voor meer informatie over woordgroepenlijsten.
  6. Selecteer een audiobestand dat u wilt uploaden of audio in realtime wilt opnemen. In dit voorbeeld gebruiken we het Call1_separated_16k_health_insurance.wav bestand dat beschikbaar is in de Speech SDK-opslagplaats op GitHub. U kunt het bestand downloaden of uw eigen audiobestand gebruiken.

    Schermopname van de optie om een audiobestand te selecteren of in een microfoon te spreken.

  7. U kunt de realtime spraak-naar-tekstresultaten bekijken in de sectie Resultaten .

    Schermopname van de realtime transcriptieresultaten in Azure AI Studio.

Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |

In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

De omgeving instellen

De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding. Zie De Speech SDK installeren voor andere vereisten.

Omgevingsvariabelen instellen

U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

  • Als u de SPEECH_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 opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak herkennen met een microfoon

Tip

Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.

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

  1. Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Voer deze opdracht uit om een consoletoepassing te maken met de .NET CLI.

    dotnet new console
    

    Met deze opdracht maakt u het Program.cs-bestand in de projectmap.

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

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Vervang de inhoud van Program.cs door de volgende code:

    using System;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.CognitiveServices.Speech;
    using Microsoft.CognitiveServices.Speech.Audio;
    
    class Program 
    {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION");
    
        static void OutputSpeechRecognitionResult(SpeechRecognitionResult speechRecognitionResult)
        {
            switch (speechRecognitionResult.Reason)
            {
                case ResultReason.RecognizedSpeech:
                    Console.WriteLine($"RECOGNIZED: Text={speechRecognitionResult.Text}");
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(speechRecognitionResult);
                    Console.WriteLine($"CANCELED: Reason={cancellation.Reason}");
    
                    if (cancellation.Reason == CancellationReason.Error)
                    {
                        Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}");
                        Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}");
                        Console.WriteLine($"CANCELED: Did you set the speech resource key and region values?");
                    }
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);        
            speechConfig.SpeechRecognitionLanguage = "en-US";
    
            using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
            using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            Console.WriteLine("Speak into your microphone.");
            var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync();
            OutputSpeechRecognitionResult(speechRecognitionResult);
        }
    }
    
  4. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik bijvoorbeeld es-ES voor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaarde en-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

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

    dotnet run
    

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGION omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  6. Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:

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

Opmerkingen

Hier volgen enkele andere overwegingen:

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

  • Als u spraak uit een audiobestand wilt herkennen, gebruikt FromWavFileInput u in plaats 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 maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

De omgeving instellen

De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding. Zie De Speech SDK installeren voor andere vereisten.

Omgevingsvariabelen instellen

U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

  • Als u de SPEECH_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 opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak herkennen met een microfoon

Tip

Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.

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

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

  2. Selecteer Tools>Nuget Pakketbeheer> Pakketbeheer Console. Voer in de Pakketbeheer Console deze opdracht uit:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Vervang de inhoud door SpeechRecognition.cpp de volgende code:

    #include <iostream> 
    #include <stdlib.h>
    #include <speechapi_cxx.h>
    
    using namespace Microsoft::CognitiveServices::Speech;
    using namespace Microsoft::CognitiveServices::Speech::Audio;
    
    std::string GetEnvironmentVariable(const char* name);
    
    int main()
    {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto speechRegion = GetEnvironmentVariable("SPEECH_REGION");
    
        if ((size(speechKey) == 0) || (size(speechRegion) == 0)) {
            std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl;
            return -1;
        }
    
        auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion);
    
        speechConfig->SetSpeechRecognitionLanguage("en-US");
    
        auto audioConfig = AudioConfig::FromDefaultMicrophoneInput();
        auto speechRecognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = speechRecognizer->RecognizeOnceAsync().get();
    
        if (result->Reason == ResultReason::RecognizedSpeech)
        {
            std::cout << "RECOGNIZED: Text=" << result->Text << std::endl;
        }
        else if (result->Reason == ResultReason::NoMatch)
        {
            std::cout << "NOMATCH: Speech could not be recognized." << std::endl;
        }
        else if (result->Reason == ResultReason::Canceled)
        {
            auto cancellation = CancellationDetails::FromResult(result);
            std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl;
    
            if (cancellation->Reason == CancellationReason::Error)
            {
                std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl;
                std::cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl;
                std::cout << "CANCELED: Did you set the speech resource key and region values?" << std::endl;
            }
        }
    }
    
    std::string GetEnvironmentVariable(const char* name)
    {
    #if defined(_MSC_VER)
        size_t requiredSize = 0;
        (void)getenv_s(&requiredSize, nullptr, 0, name);
        if (requiredSize == 0)
        {
            return "";
        }
        auto buffer = std::make_unique<char[]>(requiredSize);
        (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name);
        return buffer.get();
    #else
        auto value = getenv(name);
        return value ? value : "";
    #endif
    }
    
  4. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik bijvoorbeeld es-ES voor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaarde en-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

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

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGION omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  6. Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:

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

Opmerkingen

Hier volgen enkele andere overwegingen:

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

  • Als u spraak uit een audiobestand wilt herkennen, gebruikt FromWavFileInput u in plaats van FromDefaultMicrophoneInput:

    auto 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 (Go) | Aanvullende voorbeelden op GitHub |

In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

De omgeving instellen

Installeer de Speech SDK voor Go. Zie De Speech SDK installeren voor vereisten en instructies.

Omgevingsvariabelen instellen

U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

  • Als u de SPEECH_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 opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak herkennen met een microfoon

Volg deze stappen om een GO-module te maken.

  1. Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Maak een nieuw bestand met de naam speech-recognition.go.

  2. Kopieer de volgende code naar spraakherkenning.go:

    package main
    
    import (
        "bufio"
        "fmt"
        "os"
    
        "github.com/Microsoft/cognitive-services-speech-sdk-go/audio"
        "github.com/Microsoft/cognitive-services-speech-sdk-go/speech"
    )
    
    func sessionStartedHandler(event speech.SessionEventArgs) {
        defer event.Close()
        fmt.Println("Session Started (ID=", event.SessionID, ")")
    }
    
    func sessionStoppedHandler(event speech.SessionEventArgs) {
        defer event.Close()
        fmt.Println("Session Stopped (ID=", event.SessionID, ")")
    }
    
    func recognizingHandler(event speech.SpeechRecognitionEventArgs) {
        defer event.Close()
        fmt.Println("Recognizing:", event.Result.Text)
    }
    
    func recognizedHandler(event speech.SpeechRecognitionEventArgs) {
        defer event.Close()
        fmt.Println("Recognized:", event.Result.Text)
    }
    
    func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) {
        defer event.Close()
        fmt.Println("Received a cancellation: ", event.ErrorDetails)
        fmt.Println("Did you set the speech resource key and region values?")
    }
    
    func main() {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speechKey :=  os.Getenv("SPEECH_KEY")
        speechRegion := os.Getenv("SPEECH_REGION")
    
        audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput()
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer audioConfig.Close()
        speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechConfig.Close()
        speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechRecognizer.Close()
        speechRecognizer.SessionStarted(sessionStartedHandler)
        speechRecognizer.SessionStopped(sessionStoppedHandler)
        speechRecognizer.Recognizing(recognizingHandler)
        speechRecognizer.Recognized(recognizedHandler)
        speechRecognizer.Canceled(cancelledHandler)
        speechRecognizer.StartContinuousRecognitionAsync()
        defer speechRecognizer.StopContinuousRecognitionAsync()
        bufio.NewReader(os.Stdin).ReadBytes('\n')
    }
    
  3. Voer de volgende opdrachten uit om een go.mod-bestand te maken dat is gekoppeld aan onderdelen die worden gehost op GitHub:

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

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGION omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  4. Bouw en voer de code uit:

    go build
    go run speech-recognition
    

Resources opschonen

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

Referentiedocumentatie | Aanvullende voorbeelden op GitHub

In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

De omgeving instellen

Installeer de Speech SDK om uw omgeving in te stellen. 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 de volgende code erin:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.microsoft.cognitiveservices.speech.samples</groupId>
        <artifactId>quickstart-eclipse</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                <source>1.8</source>
                <target>1.8</target>
                </configuration>
            </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.40.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Installeer de Speech SDK en afhankelijkheden.

    mvn clean dependency:copy-dependencies
    

Omgevingsvariabelen instellen

U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

  • Als u de SPEECH_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 opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak herkennen met een microfoon

Volg deze stappen om een consoletoepassing te maken voor spraakherkenning.

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

  2. Kopieer de volgende code naar SpeechRecognition.java:

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.Future;
    
    public class SpeechRecognition {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String speechRegion = System.getenv("SPEECH_REGION");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion);
            speechConfig.setSpeechRecognitionLanguage("en-US");
            recognizeFromMicrophone(speechConfig);
        }
    
        public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException {
            AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput();
            SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            System.out.println("Speak into your microphone.");
            Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync();
            SpeechRecognitionResult speechRecognitionResult = task.get();
    
            if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) {
                System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText());
            }
            else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (speechRecognitionResult.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult);
                System.out.println("CANCELED: Reason=" + cancellation.getReason());
    
                if (cancellation.getReason() == CancellationReason.Error) {
                    System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode());
                    System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails());
                    System.out.println("CANCELED: Did you set the speech resource key and region values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik bijvoorbeeld es-ES voor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaarde en-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

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

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

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGION omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  5. Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:

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

Opmerkingen

Hier volgen enkele andere overwegingen:

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

  • Als u spraak uit een audiobestand wilt herkennen, gebruikt fromWavFileInput u in plaats 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 in broncode van GitHub Library | |

In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

U hebt ook een .wav audiobestand nodig op uw lokale computer. U kunt uw eigen .wav-bestand (maximaal 30 seconden) gebruiken of het https://crbn.us/whatstheweatherlike.wav voorbeeldbestand downloaden.

De omgeving instellen

Installeer de Speech SDK voor JavaScript om uw omgeving in te stellen. Voer deze opdracht uit: npm install microsoft-cognitiveservices-speech-sdk. Zie De Speech SDK installeren voor instructies voor begeleide installatie.

Omgevingsvariabelen instellen

U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

  • Als u de SPEECH_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 opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak herkennen uit een bestand

Tip

Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.

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

  1. Open een opdrachtpromptvenster waarin u het nieuwe project wilt opnemen en maak een nieuw bestand met de naam SpeechRecognition.js.

  2. Installeer de Speech SDK voor JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Kopieer de volgende code naar SpeechRecognition.js:

    const fs = require("fs");
    const sdk = require("microsoft-cognitiveservices-speech-sdk");
    
    // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
    speechConfig.speechRecognitionLanguage = "en-US";
    
    function fromFile() {
        let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav"));
        let speechRecognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
    
        speechRecognizer.recognizeOnceAsync(result => {
            switch (result.reason) {
                case sdk.ResultReason.RecognizedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    break;
                case sdk.ResultReason.NoMatch:
                    console.log("NOMATCH: Speech could not be recognized.");
                    break;
                case sdk.ResultReason.Canceled:
                    const cancellation = sdk.CancellationDetails.fromResult(result);
                    console.log(`CANCELED: Reason=${cancellation.reason}`);
    
                    if (cancellation.reason == sdk.CancellationReason.Error) {
                        console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`);
                        console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`);
                        console.log("CANCELED: Did you set the speech resource key and region values?");
                    }
                    break;
            }
            speechRecognizer.close();
        });
    }
    fromFile();
    
  4. Vervang in SpeechRecognition.js YourAudioFile.wav door uw eigen .wav-bestand. In dit voorbeeld wordt alleen spraak herkend uit een .wav-bestand . Zie Gecomprimeerde invoeraudio gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.

  5. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik bijvoorbeeld es-ES voor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaarde en-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

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

    node.exe SpeechRecognition.js
    

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGION omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

    De spraak uit het audiobestand moet als tekst worden uitgevoerd:

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

Opmerkingen

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

Notitie

Spraak herkennen vanaf een microfoon wordt niet ondersteund in Node.js. Dit wordt alleen ondersteund in een javaScript-omgeving in een browser. Zie het React-voorbeeld en de implementatie van spraak naar tekst vanuit een microfoon op GitHub voor meer informatie.

Het React-voorbeeld toont ontwerppatronen voor de uitwisseling en het beheer van verificatietokens. Ook wordt de opname van audio van een microfoon of bestand voor spraak-naar-tekstconversies weergegeven.

Resources opschonen

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

Referentiedocumentatiepakket (PyPi) | Aanvullende voorbeelden op GitHub |

In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

De omgeving instellen

De Speech SDK voor 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. Zie De Speech SDK installeren voor andere vereisten.

Omgevingsvariabelen instellen

U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

  • Als u de SPEECH_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 opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak herkennen met een microfoon

Tip

Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.

Volg deze stappen om een consoletoepassing te maken.

  1. Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Maak een nieuw bestand met de naam speech_recognition.py.

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

    pip install azure-cognitiveservices-speech
    
  3. Kopieer de volgende code naar speech_recognition.py:

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    def recognize_from_microphone():
        # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
        speech_config.speech_recognition_language="en-US"
    
        audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
        speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
    
        print("Speak into your microphone.")
        speech_recognition_result = speech_recognizer.recognize_once_async().get()
    
        if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech:
            print("Recognized: {}".format(speech_recognition_result.text))
        elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch:
            print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details))
        elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled:
            cancellation_details = speech_recognition_result.cancellation_details
            print("Speech Recognition canceled: {}".format(cancellation_details.reason))
            if cancellation_details.reason == speechsdk.CancellationReason.Error:
                print("Error details: {}".format(cancellation_details.error_details))
                print("Did you set the speech resource key and region values?")
    
    recognize_from_microphone()
    
  4. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik bijvoorbeeld es-ES voor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaarde en-US. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

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

    python speech_recognition.py
    

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGION omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  6. Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:

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

Opmerkingen

Hier volgen enkele andere overwegingen:

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

  • Als u spraak uit een audiobestand wilt herkennen, gebruikt filename u in plaats 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.

Referentiedocumentatiepakket (download) | Aanvullende voorbeelden op GitHub |

In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

De omgeving instellen

De Speech SDK voor Swift wordt gedistribueerd als een frameworkbundel. Het framework ondersteunt zowel Objective-C als Swift in zowel iOS als macOS.

De Speech SDK kan worden gebruikt in Xcode-projecten als een CocoaPod, of rechtstreeks en handmatig worden gedownload. In deze handleiding wordt gebruikgemaakt van een CocoaPod. Installeer het CocoaPod-afhankelijkheidsbeheer zoals beschreven in de installatie-instructies.

Omgevingsvariabelen instellen

U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

  • Als u de SPEECH_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 opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak herkennen met een microfoon

Volg deze stappen om spraak te herkennen in een macOS-toepassing.

  1. Kloon de opslagplaats Azure-Samples/cognitive-services-speech-sdk om de Recognize-spraak op te halen uit een microfoon in Swift in macOS-voorbeeldproject . De opslagplaats bevat ook iOS-voorbeelden.

  2. Navigeer naar de map van de gedownloade voorbeeld-app (helloworld) in een terminal.

  3. Voer de opdracht pod install uit. Met deze opdracht wordt een helloworld.xcworkspace Xcode-werkruimte gegenereerd die zowel de voorbeeld-app als de Speech SDK als een afhankelijkheid bevat.

  4. Open de werkruimte helloworld.xcworkspace in Xcode.

  5. Open het bestand met de naam AppDelegate.swift en zoek de applicationDidFinishLaunching en recognizeFromMic methoden zoals hier wordt weergegeven.

    import Cocoa
    
    @NSApplicationMain
    class AppDelegate: NSObject, NSApplicationDelegate {
        var label: NSTextField!
        var fromMicButton: NSButton!
    
        var sub: String!
        var region: String!
    
        @IBOutlet weak var window: NSWindow!
    
        func applicationDidFinishLaunching(_ aNotification: Notification) {
            print("loading")
            // load subscription information
            sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
            region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
            label = NSTextField(frame: NSRect(x: 100, y: 50, width: 200, height: 200))
            label.textColor = NSColor.black
            label.lineBreakMode = .byWordWrapping
    
            label.stringValue = "Recognition Result"
            label.isEditable = false
    
            self.window.contentView?.addSubview(label)
    
            fromMicButton = NSButton(frame: NSRect(x: 100, y: 300, width: 200, height: 30))
            fromMicButton.title = "Recognize"
            fromMicButton.target = self
            fromMicButton.action = #selector(fromMicButtonClicked)
            self.window.contentView?.addSubview(fromMicButton)
        }
    
        @objc func fromMicButtonClicked() {
            DispatchQueue.global(qos: .userInitiated).async {
                self.recognizeFromMic()
            }
        }
    
        func recognizeFromMic() {
            var speechConfig: SPXSpeechConfiguration?
            do {
                try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region)
            } catch {
                print("error \(error) happened")
                speechConfig = nil
            }
            speechConfig?.speechRecognitionLanguage = "en-US"
    
            let audioConfig = SPXAudioConfiguration()
    
            let reco = try! SPXSpeechRecognizer(speechConfiguration: speechConfig!, audioConfiguration: audioConfig)
    
            reco.addRecognizingEventHandler() {reco, evt in
                print("intermediate recognition result: \(evt.result.text ?? "(no result)")")
                self.updateLabel(text: evt.result.text, color: .gray)
            }
    
            updateLabel(text: "Listening ...", color: .gray)
            print("Listening...")
    
            let result = try! reco.recognizeOnce()
            print("recognition result: \(result.text ?? "(no result)"), reason: \(result.reason.rawValue)")
            updateLabel(text: result.text, color: .black)
    
            if result.reason != SPXResultReason.recognizedSpeech {
                let cancellationDetails = try! SPXCancellationDetails(fromCanceledRecognitionResult: result)
                print("cancelled: \(result.reason), \(cancellationDetails.errorDetails)")
                print("Did you set the speech resource key and region values?")
                updateLabel(text: "Error: \(cancellationDetails.errorDetails)", color: .red)
            }
        }
    
        func updateLabel(text: String?, color: NSColor) {
            DispatchQueue.main.async {
                self.label.stringValue = text!
                self.label.textColor = color
            }
        }
    }
    
  6. Gebruik in AppDelegate.m de omgevingsvariabelen die u eerder hebt ingesteld voor uw Spraak-resourcesleutel en -regio.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik bijvoorbeeld es-ES voor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaarde en-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.

  8. Als u de uitvoer voor foutopsporing zichtbaar wilt maken, selecteert u Debug>Area>Activate Console weergeven.

  9. Bouw en voer de voorbeeldcode uit door Productuitvoering> te selecteren in het menu of door de knop Afspelen te selecteren.

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGION omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

Nadat u de knop in de app hebt geselecteerd en een paar woorden hebt gezegd, ziet u de tekst die u op het onderste deel van het scherm hebt gesproken. Wanneer u de app voor het eerst uitvoert, wordt u gevraagd om de app toegang te geven tot de microfoon van uw computer.

Opmerkingen

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

Objective-C

De Speech SDK voor Objective-C deelt clientbibliotheken en referentiedocumentatie met de Speech SDK voor Swift. Zie de recognize speech van een microfoon in Objective-C in macOS-voorbeeldproject in GitHub voor voorbeelden van Objective-C-code.

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 to text REST API voor korte audioverwijzing | Aanvullende voorbeelden op GitHub |

In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

U hebt ook een .wav audiobestand nodig op uw lokale computer. U kunt uw eigen .wav-bestand tot 60 seconden gebruiken of het https://crbn.us/whatstheweatherlike.wav voorbeeldbestand downloaden.

Omgevingsvariabelen instellen

U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

  • Als u de SPEECH_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 opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Spraak herkennen uit een bestand

Open een consolevenster en voer de volgende cURL-opdracht uit. Vervang YourAudioFile.wav door het pad en de naam van het audiobestand.

curl --location --request POST "https://%SPEECH_REGION%.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: audio/wav" ^
--data-binary "@YourAudioFile.wav"

Belangrijk

Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGION omgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

U zou een antwoord moeten ontvangen dat lijkt op wat hier wordt weergegeven. Dit DisplayText moet de tekst zijn die is herkend uit uw audiobestand. De opdracht herkent maximaal 60 seconden audio en converteert deze naar tekst.

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

Zie Speech to text REST API voor korte audio voor meer informatie.

Resources opschonen

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

In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.

Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?

Vereisten

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een spraakresource in Azure Portal.
  • Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.

De omgeving instellen

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 herkennen met een microfoon

  1. Voer de volgende opdracht uit om spraakherkenning vanaf een microfoon te starten:

    spx recognize --microphone --source en-US
    
  2. Praat in de microfoon en u ziet transcriptie van uw woorden in realtime. De Speech CLI stopt na een stilteperiode, 30 seconden of wanneer u Ctrl+C selecteert.

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

Opmerkingen

Hier volgen enkele andere overwegingen:

  • Als u spraak uit een audiobestand wilt herkennen, gebruikt --file u in plaats van --microphone. Installeer GStreamer en gebruik --formatvoor gecomprimeerde audiobestanden zoals MP4. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.

    spx recognize --file YourAudioFile.wav
    spx recognize --file YourAudioFile.mp4 --format any
    
  • Gebruik een woordgroepenlijst om de nauwkeurigheid van herkenning van specifieke woorden of uitingen te verbeteren. U neemt een woordgroepenlijst in de regel op of met een tekstbestand, samen met de recognize opdracht:

    spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx recognize --microphone --phrases @phrases.txt
    
  • Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik bijvoorbeeld es-ES voor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaarde en-US.

    spx recognize --microphone --source es-ES
    
  • Voor continue herkenning van audio die langer is dan 30 seconden, voegt u het volgende toe --continuous:

    spx recognize --microphone --source es-ES --continuous
    
  • Voer deze opdracht uit voor informatie over meer opties voor spraakherkenning, zoals bestandsinvoer en uitvoer:

    spx help recognize
    

Resources opschonen

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

Volgende stap