Page 324 - 3-2
P. 324

"""Yields `StreamingRecognizeRequest`s constructed from a recording audio
                stream.
                Args:
                    data_stream: A generator that yields raw audio data to send.
                    rate: The sampling rate in hertz.
                    interim_results: Whether to return intermediate results, before the
                        transcription is finalized.
                """
                # The initial request must contain metadata about the stream, so the
                # server knows how to interpret it.
                recognition_config = cloud_speech_pb2.RecognitionConfig(
                    # There are a bunch of config options you can specify. See
                    # https://goo.gl/KPZn97 for the full list.
                    encoding='LINEAR16', # raw 16-bit signed LE samples
                    sample_rate=rate, # the rate in hertz
                    # See http://g.co/cloud/speech/docs/languages
                    # for a list of supported languages.
                    language_code='ko-KR', # a BCP-47 language tag
                )
                streaming_config = cloud_speech_pb2.StreamingRecognitionConfig(
                    interim_results=interim_results,
                    config=recognition_config,
                )


                yield cloud_speech_pb2.StreamingRecognizeRequest(
                    streaming_config=streaming_config)


                for data in data_stream:
                    # Subsequent requests can all just have the content
                    yield cloud_speech_pb2.StreamingRecognizeRequest(audio_content=data)




            def listen_print_loop(recognize_stream):
                """Iterates through server responses and prints them.
                The recognize_stream passed is a generator that will block until a response
                is provided by the server. When the transcription response comes, print it.
                In this case, responses are provided for interim results as well. If the
                response is an interim one, print a line feed at the end of it, to allow
                the next result to overwrite it, until the response is a final one. For the
                final one, print a newline to preserve the finalized transcription.
                """
                global musicFiles
                global musicNum
                global MAX_musicNum
                global flag_zero


                                                         - 324 -
   319   320   321   322   323   324   325   326   327   328   329