Class: Google::Cloud::Speech::V1p1beta1::StreamingRecognizeResponse

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/speech/v1p1beta1/cloud_speech.rb

Overview

StreamingRecognizeResponse is the only message returned to the client by StreamingRecognize. A series of zero or more StreamingRecognizeResponse messages are streamed back to the client. If there is no recognizable audio, and single_utterance is set to false, then no messages are streamed back to the client.

Here's an example of a series of StreamingRecognizeResponses that might be returned while processing audio:

  1. results { alternatives { transcript: "tube" } stability: 0.01 }

  2. results { alternatives { transcript: "to be a" } stability: 0.01 }

  3. results { alternatives { transcript: "to be" } stability: 0.9 } results { alternatives { transcript: " or not to be" } stability: 0.01 }

  4. results { alternatives { transcript: "to be or not to be" confidence: 0.92 } alternatives { transcript: "to bee or not to bee" } is_final: true }

  5. results { alternatives { transcript: " that's" } stability: 0.01 }

  6. results { alternatives { transcript: " that is" } stability: 0.9 } results { alternatives { transcript: " the question" } stability: 0.01 }

  7. results { alternatives { transcript: " that is the question" confidence: 0.98 } alternatives { transcript: " that was the question" } is_final: true }

Notes:

  • Only two of the above responses #4 and #7 contain final results; they are indicated by is_final: true. Concatenating these together generates the full transcript: "to be or not to be that is the question".

  • The others contain interim results. #3 and #6 contain two interim results: the first portion has a high stability and is less likely to change; the second portion has a low stability and is very likely to change. A UI designer might choose to show only high stability results.

  • The specific stability and confidence values shown above are only for illustrative purposes. Actual values may vary.

  • In each response, only one of these fields will be set: error, speech_event_type, or one or more (repeated) results.

Defined Under Namespace

Modules: SpeechEventType

Instance Attribute Summary collapse

Instance Attribute Details

#error::Google::Rpc::Status

Returns If set, returns a google.rpc.Status message that specifies the error for the operation.

Returns:



836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
# File 'proto_docs/google/cloud/speech/v1p1beta1/cloud_speech.rb', line 836

class StreamingRecognizeResponse
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Indicates the type of speech event.
  module SpeechEventType
    # No speech event specified.
    SPEECH_EVENT_UNSPECIFIED = 0

    # This event indicates that the server has detected the end of the user's
    # speech utterance and expects no additional speech. Therefore, the server
    # will not process additional audio (although it may subsequently return
    # additional results). The client should stop sending additional audio
    # data, half-close the gRPC connection, and wait for any additional results
    # until the server closes the gRPC connection. This event is only sent if
    # `single_utterance` was set to `true`, and is not used otherwise.
    END_OF_SINGLE_UTTERANCE = 1

    # This event indicates that the server has detected the beginning of human
    # voice activity in the stream. This event can be returned multiple times
    # if speech starts and stops repeatedly throughout the stream. This event
    # is only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_BEGIN = 2

    # This event indicates that the server has detected the end of human voice
    # activity in the stream. This event can be returned multiple times if
    # speech starts and stops repeatedly throughout the stream. This event is
    # only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_END = 3

    # This event indicates that the user-set timeout for speech activity begin
    # or end has exceeded. Upon receiving this event, the client is expected to
    # send a half close. Further audio will not be processed.
    SPEECH_ACTIVITY_TIMEOUT = 4
  end
end

#request_id::Integer

Returns The ID associated with the request. This is a unique ID specific only to the given request.

Returns:

  • (::Integer)

    The ID associated with the request. This is a unique ID specific only to the given request.



836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
# File 'proto_docs/google/cloud/speech/v1p1beta1/cloud_speech.rb', line 836

class StreamingRecognizeResponse
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Indicates the type of speech event.
  module SpeechEventType
    # No speech event specified.
    SPEECH_EVENT_UNSPECIFIED = 0

    # This event indicates that the server has detected the end of the user's
    # speech utterance and expects no additional speech. Therefore, the server
    # will not process additional audio (although it may subsequently return
    # additional results). The client should stop sending additional audio
    # data, half-close the gRPC connection, and wait for any additional results
    # until the server closes the gRPC connection. This event is only sent if
    # `single_utterance` was set to `true`, and is not used otherwise.
    END_OF_SINGLE_UTTERANCE = 1

    # This event indicates that the server has detected the beginning of human
    # voice activity in the stream. This event can be returned multiple times
    # if speech starts and stops repeatedly throughout the stream. This event
    # is only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_BEGIN = 2

    # This event indicates that the server has detected the end of human voice
    # activity in the stream. This event can be returned multiple times if
    # speech starts and stops repeatedly throughout the stream. This event is
    # only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_END = 3

    # This event indicates that the user-set timeout for speech activity begin
    # or end has exceeded. Upon receiving this event, the client is expected to
    # send a half close. Further audio will not be processed.
    SPEECH_ACTIVITY_TIMEOUT = 4
  end
end

#results::Array<::Google::Cloud::Speech::V1p1beta1::StreamingRecognitionResult>

Returns This repeated list contains zero or more results that correspond to consecutive portions of the audio currently being processed. It contains zero or one is_final=true result (the newly settled portion), followed by zero or more is_final=false results (the interim results).

Returns:

  • (::Array<::Google::Cloud::Speech::V1p1beta1::StreamingRecognitionResult>)

    This repeated list contains zero or more results that correspond to consecutive portions of the audio currently being processed. It contains zero or one is_final=true result (the newly settled portion), followed by zero or more is_final=false results (the interim results).



836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
# File 'proto_docs/google/cloud/speech/v1p1beta1/cloud_speech.rb', line 836

class StreamingRecognizeResponse
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Indicates the type of speech event.
  module SpeechEventType
    # No speech event specified.
    SPEECH_EVENT_UNSPECIFIED = 0

    # This event indicates that the server has detected the end of the user's
    # speech utterance and expects no additional speech. Therefore, the server
    # will not process additional audio (although it may subsequently return
    # additional results). The client should stop sending additional audio
    # data, half-close the gRPC connection, and wait for any additional results
    # until the server closes the gRPC connection. This event is only sent if
    # `single_utterance` was set to `true`, and is not used otherwise.
    END_OF_SINGLE_UTTERANCE = 1

    # This event indicates that the server has detected the beginning of human
    # voice activity in the stream. This event can be returned multiple times
    # if speech starts and stops repeatedly throughout the stream. This event
    # is only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_BEGIN = 2

    # This event indicates that the server has detected the end of human voice
    # activity in the stream. This event can be returned multiple times if
    # speech starts and stops repeatedly throughout the stream. This event is
    # only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_END = 3

    # This event indicates that the user-set timeout for speech activity begin
    # or end has exceeded. Upon receiving this event, the client is expected to
    # send a half close. Further audio will not be processed.
    SPEECH_ACTIVITY_TIMEOUT = 4
  end
end

#speech_adaptation_info::Google::Cloud::Speech::V1p1beta1::SpeechAdaptationInfo

Returns Provides information on adaptation behavior in response.

Returns:



836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
# File 'proto_docs/google/cloud/speech/v1p1beta1/cloud_speech.rb', line 836

class StreamingRecognizeResponse
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Indicates the type of speech event.
  module SpeechEventType
    # No speech event specified.
    SPEECH_EVENT_UNSPECIFIED = 0

    # This event indicates that the server has detected the end of the user's
    # speech utterance and expects no additional speech. Therefore, the server
    # will not process additional audio (although it may subsequently return
    # additional results). The client should stop sending additional audio
    # data, half-close the gRPC connection, and wait for any additional results
    # until the server closes the gRPC connection. This event is only sent if
    # `single_utterance` was set to `true`, and is not used otherwise.
    END_OF_SINGLE_UTTERANCE = 1

    # This event indicates that the server has detected the beginning of human
    # voice activity in the stream. This event can be returned multiple times
    # if speech starts and stops repeatedly throughout the stream. This event
    # is only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_BEGIN = 2

    # This event indicates that the server has detected the end of human voice
    # activity in the stream. This event can be returned multiple times if
    # speech starts and stops repeatedly throughout the stream. This event is
    # only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_END = 3

    # This event indicates that the user-set timeout for speech activity begin
    # or end has exceeded. Upon receiving this event, the client is expected to
    # send a half close. Further audio will not be processed.
    SPEECH_ACTIVITY_TIMEOUT = 4
  end
end

#speech_event_time::Google::Protobuf::Duration

Returns Time offset between the beginning of the audio and event emission.

Returns:



836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
# File 'proto_docs/google/cloud/speech/v1p1beta1/cloud_speech.rb', line 836

class StreamingRecognizeResponse
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Indicates the type of speech event.
  module SpeechEventType
    # No speech event specified.
    SPEECH_EVENT_UNSPECIFIED = 0

    # This event indicates that the server has detected the end of the user's
    # speech utterance and expects no additional speech. Therefore, the server
    # will not process additional audio (although it may subsequently return
    # additional results). The client should stop sending additional audio
    # data, half-close the gRPC connection, and wait for any additional results
    # until the server closes the gRPC connection. This event is only sent if
    # `single_utterance` was set to `true`, and is not used otherwise.
    END_OF_SINGLE_UTTERANCE = 1

    # This event indicates that the server has detected the beginning of human
    # voice activity in the stream. This event can be returned multiple times
    # if speech starts and stops repeatedly throughout the stream. This event
    # is only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_BEGIN = 2

    # This event indicates that the server has detected the end of human voice
    # activity in the stream. This event can be returned multiple times if
    # speech starts and stops repeatedly throughout the stream. This event is
    # only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_END = 3

    # This event indicates that the user-set timeout for speech activity begin
    # or end has exceeded. Upon receiving this event, the client is expected to
    # send a half close. Further audio will not be processed.
    SPEECH_ACTIVITY_TIMEOUT = 4
  end
end

#speech_event_type::Google::Cloud::Speech::V1p1beta1::StreamingRecognizeResponse::SpeechEventType

Returns Indicates the type of speech event.

Returns:



836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
# File 'proto_docs/google/cloud/speech/v1p1beta1/cloud_speech.rb', line 836

class StreamingRecognizeResponse
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Indicates the type of speech event.
  module SpeechEventType
    # No speech event specified.
    SPEECH_EVENT_UNSPECIFIED = 0

    # This event indicates that the server has detected the end of the user's
    # speech utterance and expects no additional speech. Therefore, the server
    # will not process additional audio (although it may subsequently return
    # additional results). The client should stop sending additional audio
    # data, half-close the gRPC connection, and wait for any additional results
    # until the server closes the gRPC connection. This event is only sent if
    # `single_utterance` was set to `true`, and is not used otherwise.
    END_OF_SINGLE_UTTERANCE = 1

    # This event indicates that the server has detected the beginning of human
    # voice activity in the stream. This event can be returned multiple times
    # if speech starts and stops repeatedly throughout the stream. This event
    # is only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_BEGIN = 2

    # This event indicates that the server has detected the end of human voice
    # activity in the stream. This event can be returned multiple times if
    # speech starts and stops repeatedly throughout the stream. This event is
    # only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_END = 3

    # This event indicates that the user-set timeout for speech activity begin
    # or end has exceeded. Upon receiving this event, the client is expected to
    # send a half close. Further audio will not be processed.
    SPEECH_ACTIVITY_TIMEOUT = 4
  end
end

#total_billed_time::Google::Protobuf::Duration

Returns When available, billed audio seconds for the stream. Set only if this is the last response in the stream.

Returns:

  • (::Google::Protobuf::Duration)

    When available, billed audio seconds for the stream. Set only if this is the last response in the stream.



836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
# File 'proto_docs/google/cloud/speech/v1p1beta1/cloud_speech.rb', line 836

class StreamingRecognizeResponse
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Indicates the type of speech event.
  module SpeechEventType
    # No speech event specified.
    SPEECH_EVENT_UNSPECIFIED = 0

    # This event indicates that the server has detected the end of the user's
    # speech utterance and expects no additional speech. Therefore, the server
    # will not process additional audio (although it may subsequently return
    # additional results). The client should stop sending additional audio
    # data, half-close the gRPC connection, and wait for any additional results
    # until the server closes the gRPC connection. This event is only sent if
    # `single_utterance` was set to `true`, and is not used otherwise.
    END_OF_SINGLE_UTTERANCE = 1

    # This event indicates that the server has detected the beginning of human
    # voice activity in the stream. This event can be returned multiple times
    # if speech starts and stops repeatedly throughout the stream. This event
    # is only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_BEGIN = 2

    # This event indicates that the server has detected the end of human voice
    # activity in the stream. This event can be returned multiple times if
    # speech starts and stops repeatedly throughout the stream. This event is
    # only sent if `voice_activity_events` is set to true.
    SPEECH_ACTIVITY_END = 3

    # This event indicates that the user-set timeout for speech activity begin
    # or end has exceeded. Upon receiving this event, the client is expected to
    # send a half close. Further audio will not be processed.
    SPEECH_ACTIVITY_TIMEOUT = 4
  end
end