Reconnaissance vocale en continu avec ponctuation
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Effectue une reconnaissance vocale en continu sur des données audio PCM brutes.
Exemple de code
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","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)."]]