Streamingspracherkennung mit Satzzeichen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Streamingspracherkennung für PCM-Rohdaten ausführen.
Codebeispiel
Nächste Schritte
Wenn Sie nach Codebeispielen für andere Google Cloud -Produkte suchen und filtern möchten, können Sie den Google Cloud -Beispielbrowser verwenden.
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],[],[],[],null,["# Streaming speech recognition with punctuation\n\nPerforms streaming speech recognition on raw PCM audio data.\n\nCode sample\n-----------\n\n### Java\n\n\nTo learn how to install and use the client library for Speech-to-Text, see\n[Speech-to-Text client libraries](/speech-to-text/docs/client-libraries).\n\n\nFor more information, see the\n[Speech-to-Text Java API\nreference documentation](/java/docs/reference/google-cloud-speech/latest/overview).\n\n\nTo authenticate to Speech-to-Text, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n /**\n * Performs streaming speech recognition on raw PCM audio data.\n *\n * @param fileName the path to a PCM audio file to transcribe.\n */\n public static void streamingTranscribeWithAutomaticPunctuation(String fileName) throws Exception {\n Path path = Paths.get(fileName);\n byte[] data = Files.readAllBytes(path);\n\n // Instantiates a client with GOOGLE_APPLICATION_CREDENTIALS\n try (SpeechClient speech = SpeechClient.create()) {\n\n // Configure request with local raw PCM audio\n RecognitionConfig recConfig =\n RecognitionConfig.newBuilder()\n .setEncoding(AudioEncoding.LINEAR16)\n .setLanguageCode(\"en-US\")\n .setSampleRateHertz(16000)\n .setEnableAutomaticPunctuation(true)\n .build();\n\n // Build the streaming config with the audio config\n StreamingRecognitionConfig config =\n StreamingRecognitionConfig.newBuilder().setConfig(recConfig).build();\n\n class ResponseApiStreamingObserver\u003cT\u003e implements ApiStreamObserver\u003cT\u003e {\n private final SettableFuture\u003cList\u003cT\u003e\u003e future = SettableFuture.create();\n private final List\u003cT\u003e messages = new java.util.ArrayList\u003cT\u003e();\n\n @Override\n public void onNext(T message) {\n messages.add(message);\n }\n\n @Override\n public void onError(Throwable t) {\n future.setException(t);\n }\n\n @Override\n public void onCompleted() {\n future.set(messages);\n }\n\n // Returns the SettableFuture object to get received messages / exceptions.\n public SettableFuture\u003cList\u003cT\u003e\u003e future() {\n return future;\n }\n }\n\n ResponseApiStreamingObserver\u003cStreamingRecognizeResponse\u003e responseObserver =\n new ResponseApiStreamingObserver\u003c\u003e();\n\n BidiStreamingCallable\u003cStreamingRecognizeRequest, StreamingRecognizeResponse\u003e callable =\n speech.streamingRecognizeCallable();\n\n ApiStreamObserver\u003cStreamingRecognizeRequest\u003e requestObserver =\n callable.bidiStreamingCall(responseObserver);\n\n // The first request must **only** contain the audio configuration:\n requestObserver.onNext(\n StreamingRecognizeRequest.newBuilder().setStreamingConfig(config).build());\n\n // Subsequent requests must **only** contain the audio data.\n requestObserver.onNext(\n StreamingRecognizeRequest.newBuilder()\n .setAudioContent(ByteString.copyFrom(data))\n .build());\n\n // Mark transmission as completed after sending the data.\n requestObserver.onCompleted();\n\n List\u003cStreamingRecognizeResponse\u003e responses = responseObserver.future().get();\n\n for (StreamingRecognizeResponse response : responses) {\n // For streaming recognize, the results list has one is_final result (if available) followed\n // by a number of in-progress results (if iterim_results is true) for subsequent utterances.\n // Just print the first result here.\n StreamingRecognitionResult result = response.getResultsList().get(0);\n // There can be several alternative transcripts for a given chunk of speech. Just use the\n // first (most likely) one here.\n SpeechRecognitionAlternative alternative = result.getAlternativesList().get(0);\n System.out.printf(\"Transcript : %s\\n\", alternative.getTranscript());\n }\n }\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=speech)."]]