Snabbstart: Taligenkänning i C++ på Windows med hjälp av Speech SDKQuickstart: Recognize speech in C++ on Windows by using the Speech SDK

Snabb Starter är också tillgängliga för tal syntes och tal översättning.Quickstarts are also available for speech synthesis and speech translation.

Om du vill kan du välja ett annat programmeringsspråk och en annan miljö:If you want, choose a different programming language and environment:

I den här artikeln får skapa du ett C++-konsolprogram för Windows.In this article, you create a C++ console application for Windows. Du använder Cognitive Services Speech SDK för att transkribera tal till text i realtid från datorns mikrofon.You use the Cognitive Services Speech SDK to transcribe speech to text in real time from your PC's microphone. Programmet har skapats med tal SDK NuGet-paketet och Microsoft Visual Studio 2019 (alla versioner).The application is built with the Speech SDK NuGet package and Microsoft Visual Studio 2019 (any edition).

FörutsättningarPrerequisites

Du behöver en prenumerations nyckel för tal tjänster för att slutföra den här snabb starten.You need a Speech Services subscription key to complete this Quickstart. Du kan skaffa en utan kostnad.You can get one for free. Mer information finns i testa tal tjänsterna kostnads fritt .See Try the Speech Services for free for details.

Skapa ett Visual Studio-projektCreate a Visual Studio project

Om du vill skapa ett Visual Studio C++ -projekt för Skriv bords utveckling måste du konfigurera alternativ för Visual Studio-utveckling, skapa projektet, välja mål arkitekturen och installera talet SDK.To create a Visual Studio project for C++ desktop development, you need to set up Visual Studio development options, create the project, select the target architecture, and install the Speech SDK.

Konfigurera alternativ för Visual Studio-utvecklingSet up Visual Studio development options

Starta genom att kontrol lera att du är korrekt konfigurerad i Visual Studio för C++ Skriv bords utveckling:To start, make sure you're set up correctly in Visual Studio for C++ desktop development:

  1. Öppna Visual Studio 2019 för att visa Start fönstret.Open Visual Studio 2019 to display the Start window.

    Start fönster – Visual Studio

  2. Välj Fortsätt utan kod för att gå till Visual Studio IDE.Select Continue without code to go to the Visual Studio IDE.

  3. I meny raden i Visual Studio väljer du verktyg > Hämta verktyg och funktioner för att öppna Visual Studio Installer och Visa dialog rutan ändra .From the Visual Studio menu bar, select Tools > Get Tools and Features to open Visual Studio Installer and view the Modifying dialog box.

    Fliken arbets belastningar, ändra dialog rutan, Visual Studio Installer

  4. På fliken arbets belastningar går du till Windowsoch letar efter Skriv bords utveckling med C++ arbets belastning.In the Workloads tab, under Windows, find the Desktop development with C++ workload. Om kryss rutan bredvid den arbets belastningen inte redan är markerad, markerar du den.If the check box next to that workload isn't already selected, select it.

  5. På fliken enskilda komponenter letar du upp kryss rutan NuGet Package Manager .In the Individual components tab, find the Nuget package manager check box. Markera kryss rutan om den inte redan är markerad.If the check box isn't already selected, select it.

  6. Välj knappen i hörnet som är märkt antingen Stäng eller ändra.Select the button in the corner labeled either Close or Modify. (Knapp namnet varierar beroende på om du har valt några funktioner för installation.) Om du väljer ändrastartar installationen, vilket kan ta en stund.(The button name varies depending on whether you selected any features for installation.) If you select Modify, installation begins, which may take a while.

  7. Stäng Visual Studio Installer.Close Visual Studio Installer.

Skapa projektet och välj mål arkitekturenCreate the project and select the target architecture

Skapa sedan ditt projekt:Next, create your project:

  1. I meny raden i Visual Studio väljer du fil > nytt > -projekt för att visa fönstret skapa ett nytt projekt .In the Visual Studio menu bar, choose File > New > Project to display the Create a new project window.

    Skapa ett nytt projekt, C++ -Visual Studio

  2. Sök efter och välj konsol program.Find and select Console App. Kontrol lera att du väljer den C++ här projekt typens version (till skillnad från C# eller Visual Basic).Make sure that you select the C++ version of this project type (as opposed to C# or Visual Basic).

  3. Välj Nästa för att visa skärmen Konfigurera ditt nya projekt .Select Next to display the Configure your new project screen.

    Konfigurera det nya projektet, C++ -Visual Studio

  4. Skriv helloworld i projekt namn.In Project name, enter helloworld.

  5. I platsnavigerar du till och väljer eller skapar mappen där du vill spara projektet i.In Location, navigate to and select or create the folder to save your project in.

Välj nu mål plattforms arkitektur.Now select your target platform architecture. I Visual Studio-verktygsfältet hittar du List rutan med plattforms plattformar .In the Visual Studio toolbar, find the Solution Platforms drop-down box. (Om du inte ser det väljer du visa > verktygsfält > standard för att Visa verktygsfältet som innehåller plattform för lösningar.) Om du kör 64-bitars Windows väljer du x64 i list rutan.(If you don't see it, choose View > Toolbars > Standard to display the toolbar containing Solution Platforms.) If you're running 64-bit Windows, choose x64 in the drop-down box. 64-bitars Windows kan också köra 32-bitars program, så du kan välja x86 om du föredrar det.64-bit Windows can also run 32-bit applications, so you can choose x86 if you prefer.

Installera Speech SDKInstall the Speech SDK

Slutligen installerar du NuGet-paketet för tal-SDKoch refererar till tal-SDK: n i projektet:Finally, install the Speech SDK NuGet package, and reference the Speech SDK in your project:

  1. I Solution Explorerhögerklickar du på din lösning och väljer Hantera NuGet-paket för lösning för att gå till fönstret NuGet-lösning .In Solution Explorer, right-click your solution, and choose Manage NuGet Packages for Solution to go to the Nuget - Solution window.

  2. Välj Bläddra.Select Browse.

    NuGet – fliken lösning, Visual Studio

  3. I paket källaväljer du NuGet.org.In Package source, choose nuget.org.

  4. I **sökrutan anger du @no__t** -1 och väljer sedan det paketet när det visas i Sök resultatet.In the Search box, enter Microsoft.CognitiveServices.Speech, and then choose that package after it appears in the search results.

    Microsoft. CognitiveServices. Speech C++ -paket installation-Visual Studio

  5. I fönstret paket status bredvid Sök resultaten väljer du ditt HelloWorld -projekt.In the package status pane next to the search results, select your helloworld project.

  6. Välj Installera.Select Install.

  7. I dialog rutan Förhandsgranska ändringar väljer du OK.In the Preview Changes dialog box, select OK.

  8. I dialog rutan licens godkännande visar du licensen och väljer sedan Jag accepterar.In the License Acceptance dialog box, view the license, and then select I Accept. Paket installationen startar och när installationen är klar visas ett meddelande som liknar följande text i fönstret utdata : Successfully installed 'Microsoft.CognitiveServices.Speech 1.7.0' to helloworld.The package installation begins, and when installation is complete, the Output pane displays a message similar to the following text: Successfully installed 'Microsoft.CognitiveServices.Speech 1.7.0' to helloworld.

Lägga till exempelkodAdd sample code

  1. Öppna källfilen helloworld.cpp.Open the source file helloworld.cpp.

  2. Ersätt all kod med följande kodfragment:Replace all the code with the following snippet:

    #include <iostream>
    #include <speechapi_cxx.h>
    
    using namespace std;
    using namespace Microsoft::CognitiveServices::Speech;
    
    void recognizeSpeech()
    {
        // Creates an instance of a speech config with specified subscription key and service region.
        // Replace with your own subscription key and service region (e.g., "westus").
        auto config = SpeechConfig::FromSubscription("YourSubscriptionKey", "YourServiceRegion");
    
        // Creates a speech recognizer.
        auto recognizer = SpeechRecognizer::FromConfig(config);
        cout << "Say something...\n";
    
        // Starts speech recognition, and returns after a single utterance is recognized. The end of a
        // single utterance is determined by listening for silence at the end or until a maximum of 15
        // seconds of audio is processed.  The task returns the recognition text as result. 
        // Note: Since RecognizeOnceAsync() returns only a single utterance, it is suitable only for single
        // shot recognition like command or query. 
        // For long-running multi-utterance recognition, use StartContinuousRecognitionAsync() instead.
        auto result = recognizer->RecognizeOnceAsync().get();
    
        // Checks result.
        if (result->Reason == ResultReason::RecognizedSpeech)
        {
            cout << "We recognized: " << result->Text << std::endl;
        }
        else if (result->Reason == ResultReason::NoMatch)
        {
            cout << "NOMATCH: Speech could not be recognized." << std::endl;
        }
        else if (result->Reason == ResultReason::Canceled)
        {
            auto cancellation = CancellationDetails::FromResult(result);
            cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl;
    
            if (cancellation->Reason == CancellationReason::Error) 
            {
                cout << "CANCELED: ErrorCode= " << (int)cancellation->ErrorCode << std::endl;
                cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl;
                cout << "CANCELED: Did you update the subscription info?" << std::endl;
            }
        }
    }
    
    int wmain()
    {
        recognizeSpeech();
        cout << "Please press a key to continue.\n";
        cin.get();
        return 0;
    }
    
  3. Ersätt strängen YourSubscriptionKey i samma fil med din prenumerationsnyckel.In the same file, replace the string YourSubscriptionKey with your subscription key.

  4. Ersätt strängen YourServiceRegion med den region som är associerad med din prenumeration (till exempel westus för en kostnadsfri provprenumeration).Replace the string YourServiceRegion with the region associated with your subscription (for example, westus for the free trial subscription).

  5. Välj Arkiv > Spara allapå Meny raden.From the menu bar, choose File > Save All.

Skapa och kör appenBuild and run the application

  1. Välj bygge > build-lösning i meny raden för att bygga programmet.From the menu bar, select Build > Build Solution to build the application. Koden bör nu kompileras utan fel.The code should compile without errors now.

  2. Starta programmet HelloWorld genom att välja Felsök > Starta fel sökning (eller tryck på F5).Choose Debug > Start Debugging (or press F5) to start the helloworld application.

  3. Säg en engelsk fras eller en mening.Speak an English phrase or sentence. Programmet skickar ditt tal till tal tjänsterna, som överförs till text och skickas tillbaka till programmet för visning.The application transmits your speech to the Speech Services, which transcribes to text and sends it back to the application for display.

    Konsol utdata efter lyckad igenkänning

Nästa stegNext steps

Ytterligare exempel, till exempel hur man läser tal från en ljudfil, finns på GitHub.Additional samples, such as how to read speech from an audio file, are available on GitHub.

Se ocksåSee also