Snabbstart: Känna igen tal med Speech Service SDK för JavaQuickstart: Recognize speech with the Speech SDK for Java

Snabb Starter är också tillgängliga för tal-till-tal-översättning och röst för första virtuella assistent.Quickstarts are also available for speech-to-speech-translation and voice-first virtual assistant.

Om du vill kan du välja ett annat programmeringsspråk och/eller miljö:If desired, choose a different programming language and/or environment:

I den här artikeln ska du skapa ett Java-konsolprogram med hjälp av Speech SDK.In this article, you create a Java console application by using the Speech SDK. Du transkriberar tal till text i realtid från datorns mikrofon.You transcribe speech to text in real time from your PC's microphone. Programmet har skapats med tal SDK maven-paketet och Sol förmörkelse Java IDE (v 4.8) på 64-bitars Windows, 64-bitars Linux (Ubuntu 16,04, Ubuntu 18,04, Debian 9) eller på macOS 10,13 eller senare.The application is built with the Speech SDK Maven package, and the Eclipse Java IDE (v4.8) on 64-bit Windows, 64-bit Linux (Ubuntu 16.04, Ubuntu 18.04, Debian 9), or on macOS 10.13 or later. Det körs i en 64-bitars Java 8-körningsmiljö (JRE).It runs on a 64-bit Java 8 runtime environment (JRE).

Anteckning

Information om Speech Devices SDK och Roobo-enheten finns i Speech Devices SDK.For the Speech Devices SDK and the Roobo device, see Speech Devices SDK.

FörutsättningarPrerequisites

För den här snabbstarten krävs:This quickstart requires:

Om du kör Linux kontrollerar du att dessa beroenden är installerade innan du startar Sol förmörkelse.If you're running Linux, make sure these dependencies are installed before starting Eclipse.

  • I Ubuntu:On Ubuntu:

    sudo apt-get update
    sudo apt-get install libssl1.0.0 libasound2
    
  • På Debian 9:On Debian 9:

    sudo apt-get update
    sudo apt-get install libssl1.0.2 libasound2
    

Om du kör Windows (64-bitars) bör du kontrol lera att du har installerat C++ Microsoft Visual Redistributable för din plattform.If you're running Windows (64-bit), ensure you have installed Microsoft Visual C++ Redistributable for your platform.

Skapa och konfigurera projektetCreate and configure project

  1. Starta Eclipse.Start Eclipse.

  2. I fältet Arbetsyta i Eclipse-startfönstret anger du namnet på en ny katalog för arbetsytan.In the Eclipse Launcher, in the Workspace field, enter the name of a new workspace directory. Välj sedan Starta.Then select Launch.

    Skärmbild av Eclipse-startfönstret

  3. Efter en liten stund visas huvudfönstret i Eclipse IDE.In a moment, the main window of the Eclipse IDE appears. Stäng välkomstskärmen om en sådan visas.Close the Welcome screen if one is present.

  4. På Eclipse-menyraden skapar du ett nytt projekt genom att välja Arkiv > Nytt > Projekt.From the Eclipse menu bar, create a new project by choosing File > New > Project.

  5. Dialogrutan Nytt projekt visas.The New Project dialog box appears. Välj Java-projekt och välj Nästa.Select Java Project, and select Next.

    Skärmbild av dialogrutan Nytt projekt, med Java-projekt markerat

  6. Guiden Nytt Java-projekt startar.The New Java Project wizard starts. I fältet Projektnamn anger du quickstart (snabbstart) och väljer JavaSE 1.8 som körningsmiljö.In the Project name field, enter quickstart, and choose JavaSE-1.8 as the execution environment. Välj Slutför.Select Finish.

    Skärmbild av guiden Nytt Java-projekt

  7. Om fönstret Open Associated Perspective? (Vill du öppna associerat perspektiv?) visas väljer du Open Perspective (Öppna perspektiv).If the Open Associated Perspective? window appears, select Open Perspective.

  8. I Paketutforskaren högerklickar du på projektet quickstart (snabbstart).In the Package explorer, right-click the quickstart project. Välj Konfigurera > Convert to Maven Project (Konvertera till Maven-projekt) från snabbmenyn.Choose Configure > Convert to Maven Project from the context menu.

    Skärmbild av Paketutforskaren

  9. Fönstret Create new POM (Skapa ny POM) visas.The Create new POM window appears. I fältet Grupp-ID anger du com.microsoft.cognitiveservices.speech.samples och i fältet Artifact Id (Artefakt-ID) anger du quickstart.In the Group Id field, enter com.microsoft.cognitiveservices.speech.samples, and in the Artifact Id field, enter quickstart. Välj sedan Slutför.Then select Finish.

    Skärmbild av fönstret Create new POM (Skapa ny POM)

  10. Öppna filen pom.xml och redigera den.Open the pom.xml file and edit it.

    • I slutet av filen, före sluttaggen </project>, skapar du ett repositories-element med en referens till Maven-databasen för Speech SDK, som du ser här:At the end of the file, before the closing tag </project>, create a repositories element with a reference to the Maven repository for the Speech SDK, as shown here:

      <repositories>
        <repository>
          <id>maven-cognitiveservices-speech</id>
          <name>Microsoft Cognitive Services Speech Maven Repository</name>
          <url>https://csspeechstorage.blob.core.windows.net/maven/</url>
        </repository>
      </repositories>
      
    • Lägg också till dependencies ett-element med tal SDK-versionen 1.6.0 som ett beroende:Also add a dependencies element, with the Speech SDK version 1.6.0 as a dependency:

      <dependencies>
        <dependency>
          <groupId>com.microsoft.cognitiveservices.speech</groupId>
          <artifactId>client-sdk</artifactId>
          <version>1.6.0</version>
        </dependency>
      </dependencies>
      
    • Spara ändringarna.Save the changes.

Lägga till exempelkodAdd sample code

  1. Du lägger till en ny tom klass i Java-projektet genom att välja Arkiv > Nytt > Klass.To add a new empty class to your Java project, select File > New > Class.

  2. I fönstret New Java Class (Ny Java-klass) anger du speechsdk.quickstart i fältet Paket och anger Main i fältet Namn.In the New Java Class window, enter speechsdk.quickstart into the Package field, and Main into the Name field.

    Skärmbild av fönstret New Java Class (Ny Java-klass)

  3. Ersätt all kod i Main.java med följande kodavsnitt:Replace all code in Main.java with the following snippet:

    package speechsdk.quickstart;
    
    import java.util.concurrent.Future;
    import com.microsoft.cognitiveservices.speech.*;
    
    /**
     * Quickstart: recognize speech using the Speech SDK for Java.
     */
    public class Main {
    
        /**
         * @param args Arguments are ignored in this sample.
         */
        public static void main(String[] args) {
            try {
                // Replace below with your own subscription key
                String speechSubscriptionKey = "YourSubscriptionKey";
                // Replace below with your own service region (e.g., "westus").
                String serviceRegion = "YourServiceRegion";
    
                int exitCode = 1;
                SpeechConfig config = SpeechConfig.fromSubscription(speechSubscriptionKey, serviceRegion);
                assert(config != null);
    
                SpeechRecognizer reco = new SpeechRecognizer(config);
                assert(reco != null);
    
                System.out.println("Say something...");
    
                Future<SpeechRecognitionResult> task = reco.recognizeOnceAsync();
                assert(task != null);
    
                SpeechRecognitionResult result = task.get();
                assert(result != null);
    
                if (result.getReason() == ResultReason.RecognizedSpeech) {
                    System.out.println("We recognized: " + result.getText());
                    exitCode = 0;
                }
                else if (result.getReason() == ResultReason.NoMatch) {
                    System.out.println("NOMATCH: Speech could not be recognized.");
                }
                else if (result.getReason() == ResultReason.Canceled) {
                    CancellationDetails cancellation = CancellationDetails.fromResult(result);
                    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 update the subscription info?");
                    }
                }
    
                reco.close();
                
                System.exit(exitCode);
            } catch (Exception ex) {
                System.out.println("Unexpected exception: " + ex.getMessage());
    
                assert(false);
                System.exit(1);
            }
        }
    }
    
  4. Ersätt strängen YourSubscriptionKey med din prenumerationsnyckel.Replace the string YourSubscriptionKey with your subscription key.

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

  6. Spara ändringarna i projektet.Save changes to the project.

Skapa och kör appenBuild and run the app

Tryck på F11 eller välj Kör > Felsök.Press F11, or select Run > Debug. Följande 15 sekunder av talindata från mikrofonen identifieras och loggas i konsolfönstret.The next 15 seconds of speech input from your microphone will be recognized and logged in the console window.

Skärmbild av konsolutdata efter lyckad taligenkänning

Nästa stegNext steps

Ytterligare exempel, till exempel att läsa 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