Delen via


Quickstart: Spraak herkennen en converteren naar tekst

In deze quickstart probeert u realtime spraak naar tekst in Microsoft Foundry.

Vereiste voorwaarden

Realtime spraak naar tekst proberen

  1. Meld u aan bij Microsoft Foundry. Zorg ervoor dat de wisselknop New Foundry is ingeschakeld. Deze stappen verwijzen naar Foundry (nieuw).
  2. Selecteer Build in het menu rechtsboven.
  3. Selecteer Modellen in het linkerdeelvenster.
  4. Op het tabblad AI Services ziet u de Foundry-modellen die standaard kunnen worden gebruikt in de Foundry-portal. Selecteer Azure Speech - Spraak naar tekst om de spraak-naar-tekst-speeltuin te openen.
  5. U kunt desgewenst de sectie Parameters gebruiken om het taak-, taal-, scheldwoordsbeleid en andere instellingen te wijzigen. U kunt ook speciale instructies voor de LLM toevoegen.
  6. Gebruik de sectie Bestanden uploaden om uw audiobestand te selecteren. Selecteer vervolgens Start.
  7. Bekijk de transcriptieuitvoer op het tabblad Transcript . U kunt eventueel de uitvoer van het onbewerkte API-antwoord weergeven op het tabblad JSON .
  8. Ga naar het tabblad Code om de voorbeeldcode op te halen voor het gebruik van de functie spraak-naar-tekst in uw toepassing.

Referentiedocumentatiepakket (NuGet) |

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

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een AI-dienstenresource voor Spraak in de Azure portal.
  • Haal de spraakresource-sleutel en het eindpunt 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 Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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 -eindpunt 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 ENDPOINT omgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

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

Aanbeveling

Probeer de Azure Speech in Foundry Tools 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 "ENDPOINT"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT");
    
        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 endpoint values?");
                    }
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechConfig = SpeechConfig.FromEndpoint(speechKey, endpoint);
            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 ENDPOINTomgevingsvariabelen 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.

De hulpbronnen opschonen

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

Referentiedocumentatiepakket (NuGet) |

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

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een AI-dienstenresource voor Spraak in de Azure portal.
  • Haal de spraakresource-sleutel en het eindpunt 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 Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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 -eindpunt 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 ENDPOINT omgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

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

Aanbeveling

Probeer de Azure Speech in Foundry Tools 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 van SpeechRecognition.cpp met 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 "ENDPOINT"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto endpoint = GetEnvironmentVariable("ENDPOINT");
    
        if ((size(speechKey) == 0) || (size(endpoint) == 0)) {
            std::cout << "Please set both SPEECH_KEY and ENDPOINT environment variables." << std::endl;
            return -1;
        }
    
        auto speechConfig = SpeechConfig::FromEndpoint(speechKey, endpoint);
    
        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 endpoint 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. Als u spraakherkenning vanaf een microfoon wilt starten, bouwt u de nieuwe consoletoepassing en voert u deze uit .

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en ENDPOINTomgevingsvariabelen 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.

De hulpbronnen 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.

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een Foundry-resource voor Spraak in de Azure-portal.
  • Haal de sleutel voor de spraakbron en de 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 Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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.
  • Als u de ENDPOINT omgevingsvariabele wilt instellen, vervangt u deze door your-endpoint het werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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_REGIONomgevingsvariabelen 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
    

De hulpbronnen 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.

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een AI-dienstenresource voor Spraak in de Azure portal.
  • Haal de spraakresource-sleutel en het eindpunt 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.43.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 Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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 -eindpunt 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 ENDPOINT omgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

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 "ENDPOINT"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String endpoint = System.getenv("ENDPOINT");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechConfig speechConfig = SpeechConfig.fromEndpoint(speechKey, endpoint);
            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 endpoint 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 ENDPOINTomgevingsvariabelen 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.

De hulpbronnen opschonen

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

Referentiedocumentatie | Pakket (npm) | Aanvullende voorbeelden op GitHub | Broncode van de bibliotheek

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

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een Foundry-resource voor Spraak in de Azure-portal.
  • Haal de sleutel voor de spraakbron en de 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.

Configuratie

  1. Maak een nieuwe map transcription-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir transcription-quickstart && cd transcription-quickstart
    
  2. Maak de package.json opdracht met de volgende opdracht:

    npm init -y
    
  3. Installeer de Speech SDK voor JavaScript met:

    npm install microsoft-cognitiveservices-speech-sdk
    

Resourcegegevens ophalen

U moet uw toepassing verifiëren voor toegang tot Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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.
  • Als u de ENDPOINT omgevingsvariabele wilt instellen, vervangt u deze door your-endpoint het werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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

Spraak uit een bestand transcriberen:

  1. Maak een nieuw bestand met de naam transcription.js met de volgende inhoud:

    import { readFileSync, createReadStream } from "fs";
    import { SpeechConfig, AudioConfig, ConversationTranscriber, AudioInputStream } from "microsoft-cognitiveservices-speech-sdk";
    // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY"
    const speechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT), process.env.SPEECH_KEY);
    function fromFile() {
        const filename = "katiesteve.wav";
        const audioConfig = AudioConfig.fromWavFileInput(readFileSync(filename));
        const conversationTranscriber = new ConversationTranscriber(speechConfig, audioConfig);
        const pushStream = AudioInputStream.createPushStream();
        createReadStream(filename).on('data', function (chunk) {
            pushStream.write(chunk.slice());
        }).on('end', function () {
            pushStream.close();
        });
        console.log("Transcribing from: " + filename);
        conversationTranscriber.sessionStarted = function (s, e) {
            console.log("SessionStarted event");
            console.log("SessionId:" + e.sessionId);
        };
        conversationTranscriber.sessionStopped = function (s, e) {
            console.log("SessionStopped event");
            console.log("SessionId:" + e.sessionId);
            conversationTranscriber.stopTranscribingAsync();
        };
        conversationTranscriber.canceled = function (s, e) {
            console.log("Canceled event");
            console.log(e.errorDetails);
            conversationTranscriber.stopTranscribingAsync();
        };
        conversationTranscriber.transcribed = function (s, e) {
            console.log("TRANSCRIBED: Text=" + e.result.text + " Speaker ID=" + e.result.speakerId);
        };
        // Start conversation transcription
        conversationTranscriber.startTranscribingAsync(function () { }, function (err) {
            console.trace("err - starting transcription: " + err);
        });
    }
    fromFile();
    

    Vervang in transcription.jsYourAudioFile.wav door uw eigen .wav bestand. In dit voorbeeld wordt alleen spraak herkend uit een .wav-bestand . Zie Hoe gecomprimeerde invoeraudio te gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.

    Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik 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.

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

    node transcription.js
    

Wacht even om het antwoord te krijgen.

Uitvoer

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.

De hulpbronnen opschonen

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

Referentiedocumentatiepakket (PyPi) |

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

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een AI-dienstenresource voor Spraak in de Azure portal.
  • Haal de spraakresource-sleutel en het eindpunt 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 Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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 -eindpunt 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 ENDPOINT omgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

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

Aanbeveling

Probeer de Azure Speech in Foundry Tools 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 "ENDPOINT"
         # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com"
        speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT'))
        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 endpoint 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 ENDPOINTomgevingsvariabelen 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.

De hulpbronnen 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.

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een Foundry-resource voor Spraak in de Azure-portal.
  • Haal de sleutel voor de spraakbron en de 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 in Xcode-projecten worden gebruikt als een CocoaPod, of kan rechtstreeks worden gedownload en handmatig worden gekoppeld. 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 Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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.
  • Als u de ENDPOINT omgevingsvariabele wilt instellen, vervangt u deze door your-endpoint het werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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 repository Azure-Samples/cognitive-services-speech-sdk om het voorbeeldproject Herken spraak van een microfoon in Swift op macOS te verkrijgen. 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 Weergave>Foutopsporingsgebied>Console activeren.

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

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen 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 het voorbeeldproject voor het herkennen van spraak van een microfoon in Objective-C op macOS op GitHub voor voorbeelden van Objective-C-code.

De hulpbronnen opschonen

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

Referentiedocumentatie | Pakket (npm) | Aanvullende voorbeelden op GitHub | Broncode van de bibliotheek

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

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een Foundry-resource voor Spraak in de Azure-portal.
  • Haal de sleutel voor de spraakbron en de 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.

Configuratie

  1. Maak een nieuwe map transcription-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir transcription-quickstart && cd transcription-quickstart
    
  2. Maak de package.json opdracht met de volgende opdracht:

    npm init -y
    
  3. Werk de package.json bij naar ECMAScript met het volgende commando:

    npm pkg set type=module
    
  4. Installeer de Speech SDK voor JavaScript met:

    npm install microsoft-cognitiveservices-speech-sdk
    
  5. U moet de Node.js typedefinities installeren om TypeScript-fouten te voorkomen. Voer de volgende opdracht uit:

    npm install --save-dev @types/node
    

Resourcegegevens ophalen

U moet uw toepassing verifiëren voor toegang tot Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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.
  • Als u de ENDPOINT omgevingsvariabele wilt instellen, vervangt u deze door your-endpoint het werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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

Spraak uit een bestand transcriberen:

  1. Maak een nieuw bestand met de naam transcription.ts met de volgende inhoud:

    import { readFileSync } from "fs";
    import { 
        SpeechConfig, 
        AudioConfig, 
        SpeechRecognizer, 
        ResultReason, 
        CancellationDetails, 
        CancellationReason,
        SpeechRecognitionResult 
    } from "microsoft-cognitiveservices-speech-sdk";
    
    // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY"
    const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!);
    speechConfig.speechRecognitionLanguage = "en-US";
    
    function fromFile(): void {
        const audioConfig: AudioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav"));
        const speechRecognizer: SpeechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
        speechRecognizer.recognizeOnceAsync((result: SpeechRecognitionResult) => {
            switch (result.reason) {
                case ResultReason.RecognizedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    break;
                case ResultReason.NoMatch:
                    console.log("NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    const cancellation: CancellationDetails = CancellationDetails.fromResult(result);
                    console.log(`CANCELED: Reason=${cancellation.reason}`);
    
                    if (cancellation.reason === CancellationReason.Error) {
                        console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`);
                        console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`);
                        console.log("CANCELED: Did you set the speech resource key and region values?");
                    }
                    break;
            }
            speechRecognizer.close();
        });
    }
    
    fromFile();
    

    Vervang in transcription.tsYourAudioFile.wav door uw eigen .wav bestand. In dit voorbeeld wordt alleen spraak herkend uit een .wav-bestand . Zie Hoe gecomprimeerde invoeraudio te gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.

    Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door en-US een andere ondersteunde taal. Gebruik 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.

  2. Maak het tsconfig.json bestand om de TypeScript-code te transpileren en kopieer de volgende code voor ECMAScript.

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. Transpile van TypeScript naar JavaScript.

    tsc
    

    Wanneer de opdracht succesvol is uitgevoerd, moet er geen uitvoer geproduceerd worden.

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

    node transcription.js
    

Wacht even om het antwoord te krijgen.

Uitvoer

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.

De hulpbronnen 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 |

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

Aanbeveling

Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.

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?

Vereiste voorwaarden

  • Een Azure-abonnement. U kunt er gratis een maken.
  • Maak een Foundry-resource voor Spraak in de Azure-portal.
  • Haal de sleutel voor de spraakbron en de 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 Foundry Tools. 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 benaderen.

Belangrijk

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

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

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.
  • Als u de ENDPOINT omgevingsvariabele wilt instellen, vervangt u deze door your-endpoint het werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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_REGIONomgevingsvariabelen 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.

De hulpbronnen opschonen

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

Volgende stap