google-cloud-speech 0.29.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +2 -1
- data/LICENSE +1 -1
- data/README.md +69 -43
- data/lib/google/cloud/speech.rb +94 -252
- data/lib/google/cloud/speech/v1.rb +11 -1
- data/lib/google/cloud/speech/v1/cloud_speech_services_pb.rb +1 -1
- data/lib/google/cloud/speech/{version.rb → v1/credentials.rb} +12 -2
- data/lib/google/cloud/speech/v1/doc/google/cloud/speech/v1/cloud_speech.rb +2 -2
- data/lib/google/cloud/speech/v1/doc/google/longrunning/operations.rb +92 -0
- data/lib/google/cloud/speech/v1/doc/google/protobuf/any.rb +1 -1
- data/lib/google/cloud/speech/v1/doc/google/protobuf/duration.rb +1 -1
- data/lib/google/cloud/speech/v1/doc/google/rpc/status.rb +1 -1
- data/lib/google/cloud/speech/v1/doc/overview.rb +1 -1
- data/lib/google/cloud/speech/v1/helpers.rb +93 -0
- data/lib/google/cloud/speech/v1/speech_client.rb +26 -49
- data/lib/google/cloud/speech/v1/speech_client_config.json +5 -5
- data/lib/google/cloud/speech/v1/stream.rb +614 -0
- data/lib/google/cloud/speech/v1p1beta1.rb +126 -0
- data/lib/google/cloud/speech/v1p1beta1/cloud_speech_pb.rb +175 -0
- data/lib/google/cloud/speech/v1p1beta1/cloud_speech_services_pb.rb +54 -0
- data/lib/google/cloud/speech/v1p1beta1/credentials.rb +32 -0
- data/lib/google/cloud/speech/v1p1beta1/doc/google/cloud/speech/v1p1beta1/cloud_speech.rb +625 -0
- data/lib/google/cloud/speech/v1p1beta1/doc/google/longrunning/operations.rb +92 -0
- data/lib/google/cloud/speech/v1p1beta1/doc/google/protobuf/any.rb +124 -0
- data/lib/google/cloud/speech/v1p1beta1/doc/google/protobuf/duration.rb +90 -0
- data/lib/google/cloud/speech/v1p1beta1/doc/google/rpc/status.rb +83 -0
- data/lib/google/cloud/speech/v1p1beta1/doc/overview.rb +73 -0
- data/lib/google/cloud/speech/v1p1beta1/helpers.rb +93 -0
- data/lib/google/cloud/speech/v1p1beta1/speech_client.rb +322 -0
- data/lib/google/cloud/speech/v1p1beta1/speech_client_config.json +41 -0
- data/lib/google/cloud/speech/v1p1beta1/stream.rb +614 -0
- metadata +29 -120
- data/lib/google-cloud-speech.rb +0 -142
- data/lib/google/cloud/speech/audio.rb +0 -330
- data/lib/google/cloud/speech/convert.rb +0 -46
- data/lib/google/cloud/speech/credentials.rb +0 -57
- data/lib/google/cloud/speech/operation.rb +0 -262
- data/lib/google/cloud/speech/project.rb +0 -651
- data/lib/google/cloud/speech/result.rb +0 -240
- data/lib/google/cloud/speech/service.rb +0 -121
- data/lib/google/cloud/speech/stream.rb +0 -564
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2018 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -13,6 +13,7 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
require "google/cloud/speech/v1/speech_client"
|
16
|
+
require "google/cloud/speech/v1/helpers"
|
16
17
|
|
17
18
|
module Google
|
18
19
|
module Cloud
|
@@ -93,11 +94,18 @@ module Google
|
|
93
94
|
# or the specified config is missing data points.
|
94
95
|
# @param timeout [Numeric]
|
95
96
|
# The default timeout, in seconds, for calls made through this client.
|
97
|
+
# @param metadata [Hash]
|
98
|
+
# Default metadata to be sent with each request. This can be overridden on a per call basis.
|
99
|
+
# @param exception_transformer [Proc]
|
100
|
+
# An optional proc that intercepts any exceptions raised during an API call to inject
|
101
|
+
# custom error handling.
|
96
102
|
def self.new \
|
97
103
|
credentials: nil,
|
98
104
|
scopes: nil,
|
99
105
|
client_config: nil,
|
100
106
|
timeout: nil,
|
107
|
+
metadata: nil,
|
108
|
+
exception_transformer: nil,
|
101
109
|
lib_name: nil,
|
102
110
|
lib_version: nil
|
103
111
|
kwargs = {
|
@@ -105,6 +113,8 @@ module Google
|
|
105
113
|
scopes: scopes,
|
106
114
|
client_config: client_config,
|
107
115
|
timeout: timeout,
|
116
|
+
metadata: metadata,
|
117
|
+
exception_transformer: exception_transformer,
|
108
118
|
lib_name: lib_name,
|
109
119
|
lib_version: lib_version
|
110
120
|
}.select { |_, v| v != nil }
|
@@ -7,7 +7,7 @@
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
9
|
#
|
10
|
-
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
11
|
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2018 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -12,11 +12,21 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
|
+
require "googleauth"
|
15
16
|
|
16
17
|
module Google
|
17
18
|
module Cloud
|
18
19
|
module Speech
|
19
|
-
|
20
|
+
module V1
|
21
|
+
class Credentials < Google::Auth::Credentials
|
22
|
+
SCOPE = [
|
23
|
+
"https://www.googleapis.com/auth/cloud-platform"
|
24
|
+
].freeze
|
25
|
+
PATH_ENV_VARS = %w(SPEECH_KEYFILE GOOGLE_CLOUD_KEYFILE GCLOUD_KEYFILE)
|
26
|
+
JSON_ENV_VARS = %w(SPEECH_KEYFILE_JSON GOOGLE_CLOUD_KEYFILE_JSON GCLOUD_KEYFILE_JSON)
|
27
|
+
DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
|
28
|
+
end
|
29
|
+
end
|
20
30
|
end
|
21
31
|
end
|
22
32
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2018 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -20,7 +20,7 @@ module Google
|
|
20
20
|
#
|
21
21
|
# | Class | Description |
|
22
22
|
# | ----- | ----------- |
|
23
|
-
# | [SpeechClient][] | Google Cloud Speech API. |
|
23
|
+
# | [SpeechClient][] | Service that implements Google Cloud Speech API. |
|
24
24
|
# | [Data Types][] | Data types for Google::Cloud::Speech::V1 |
|
25
25
|
#
|
26
26
|
# [SpeechClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-speech/latest/google/cloud/speech/v1/speechclient
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# Copyright 2018 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Google
|
16
|
+
module Longrunning
|
17
|
+
# This resource represents a long-running operation that is the result of a
|
18
|
+
# network API call.
|
19
|
+
# @!attribute [rw] name
|
20
|
+
# @return [String]
|
21
|
+
# The server-assigned name, which is only unique within the same service that
|
22
|
+
# originally returns it. If you use the default HTTP mapping, the
|
23
|
+
# +name+ should have the format of +operations/some/unique/name+.
|
24
|
+
# @!attribute [rw] metadata
|
25
|
+
# @return [Google::Protobuf::Any]
|
26
|
+
# Service-specific metadata associated with the operation. It typically
|
27
|
+
# contains progress information and common metadata such as create time.
|
28
|
+
# Some services might not provide such metadata. Any method that returns a
|
29
|
+
# long-running operation should document the metadata type, if any.
|
30
|
+
# @!attribute [rw] done
|
31
|
+
# @return [true, false]
|
32
|
+
# If the value is +false+, it means the operation is still in progress.
|
33
|
+
# If true, the operation is completed, and either +error+ or +response+ is
|
34
|
+
# available.
|
35
|
+
# @!attribute [rw] error
|
36
|
+
# @return [Google::Rpc::Status]
|
37
|
+
# The error result of the operation in case of failure or cancellation.
|
38
|
+
# @!attribute [rw] response
|
39
|
+
# @return [Google::Protobuf::Any]
|
40
|
+
# The normal response of the operation in case of success. If the original
|
41
|
+
# method returns no data on success, such as +Delete+, the response is
|
42
|
+
# +google.protobuf.Empty+. If the original method is standard
|
43
|
+
# +Get+/+Create+/+Update+, the response should be the resource. For other
|
44
|
+
# methods, the response should have the type +XxxResponse+, where +Xxx+
|
45
|
+
# is the original method name. For example, if the original method name
|
46
|
+
# is +TakeSnapshot()+, the inferred response type is
|
47
|
+
# +TakeSnapshotResponse+.
|
48
|
+
class Operation; end
|
49
|
+
|
50
|
+
# The request message for {Google::Longrunning::Operations::GetOperation Operations::GetOperation}.
|
51
|
+
# @!attribute [rw] name
|
52
|
+
# @return [String]
|
53
|
+
# The name of the operation resource.
|
54
|
+
class GetOperationRequest; end
|
55
|
+
|
56
|
+
# The request message for {Google::Longrunning::Operations::ListOperations Operations::ListOperations}.
|
57
|
+
# @!attribute [rw] name
|
58
|
+
# @return [String]
|
59
|
+
# The name of the operation collection.
|
60
|
+
# @!attribute [rw] filter
|
61
|
+
# @return [String]
|
62
|
+
# The standard list filter.
|
63
|
+
# @!attribute [rw] page_size
|
64
|
+
# @return [Integer]
|
65
|
+
# The standard list page size.
|
66
|
+
# @!attribute [rw] page_token
|
67
|
+
# @return [String]
|
68
|
+
# The standard list page token.
|
69
|
+
class ListOperationsRequest; end
|
70
|
+
|
71
|
+
# The response message for {Google::Longrunning::Operations::ListOperations Operations::ListOperations}.
|
72
|
+
# @!attribute [rw] operations
|
73
|
+
# @return [Array<Google::Longrunning::Operation>]
|
74
|
+
# A list of operations that matches the specified filter in the request.
|
75
|
+
# @!attribute [rw] next_page_token
|
76
|
+
# @return [String]
|
77
|
+
# The standard List next-page token.
|
78
|
+
class ListOperationsResponse; end
|
79
|
+
|
80
|
+
# The request message for {Google::Longrunning::Operations::CancelOperation Operations::CancelOperation}.
|
81
|
+
# @!attribute [rw] name
|
82
|
+
# @return [String]
|
83
|
+
# The name of the operation resource to be cancelled.
|
84
|
+
class CancelOperationRequest; end
|
85
|
+
|
86
|
+
# The request message for {Google::Longrunning::Operations::DeleteOperation Operations::DeleteOperation}.
|
87
|
+
# @!attribute [rw] name
|
88
|
+
# @return [String]
|
89
|
+
# The name of the operation resource to be deleted.
|
90
|
+
class DeleteOperationRequest; end
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# Copyright 2018 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require "google/cloud/speech/v1/speech_client"
|
16
|
+
require "google/cloud/speech/v1/stream"
|
17
|
+
|
18
|
+
module Google
|
19
|
+
module Cloud
|
20
|
+
module Speech
|
21
|
+
module V1
|
22
|
+
class SpeechClient
|
23
|
+
# Performs bidirectional streaming speech recognition: receive results
|
24
|
+
# while sending audio. This method is only available via the gRPC API
|
25
|
+
# (not REST).
|
26
|
+
#
|
27
|
+
# @param [Google::Cloud::Speech::V1::StreamingRecognitionConfig,
|
28
|
+
# Hash] streaming_config
|
29
|
+
# Provides information to the recognizer that specifies how to
|
30
|
+
# process the request.
|
31
|
+
# A hash of the same form as
|
32
|
+
# +Google::Cloud::Speech::V1::StreamingRecognitionConfig+
|
33
|
+
# can also be provided.
|
34
|
+
# @param [Google::Gax::CallOptions] options
|
35
|
+
# Overrides the default settings for this call, e.g, timeout,
|
36
|
+
# retries, etc.
|
37
|
+
# @return [Google::Cloud::Speech::V1::Stream]
|
38
|
+
# An object that streams the requests and responses.
|
39
|
+
#
|
40
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# require "google/cloud/speech"
|
44
|
+
#
|
45
|
+
# speech_client = Google::Cloud::Speech.new
|
46
|
+
# streaming_config = {
|
47
|
+
# config: {
|
48
|
+
# encoding: :linear16,
|
49
|
+
# language_code: "en-US",
|
50
|
+
# sample_rate_hertz: 16000
|
51
|
+
# }
|
52
|
+
# }
|
53
|
+
# stream = speech_client.streaming_recognize(streaming_config)
|
54
|
+
#
|
55
|
+
# # Stream 5 seconds of audio from the microphone
|
56
|
+
# # Actual implementation of microphone input varies by platform
|
57
|
+
# 5.times do
|
58
|
+
# stream.send MicrophoneInput.read(32000)
|
59
|
+
# end
|
60
|
+
#
|
61
|
+
# stream.stop
|
62
|
+
# stream.wait_until_complete!
|
63
|
+
#
|
64
|
+
# results = stream.results
|
65
|
+
# result = results.first.alternatives.first
|
66
|
+
# result.transcript #=> "how old is the Brooklyn Bridge"
|
67
|
+
# result.confidence #=> 0.9826789498329163
|
68
|
+
#
|
69
|
+
def streaming_recognize streaming_config, options: nil
|
70
|
+
if streaming_config.is_a?(::Hash) &&
|
71
|
+
streaming_config[:config] &&
|
72
|
+
streaming_config[:config][:encoding]
|
73
|
+
streaming_config[:config][:encoding] =
|
74
|
+
streaming_config[:config][:encoding].upcase
|
75
|
+
end
|
76
|
+
V1::Stream.new(
|
77
|
+
streaming_config,
|
78
|
+
proc do |reqs|
|
79
|
+
request_protos = reqs.lazy.map do |req|
|
80
|
+
Google::Gax.to_proto(
|
81
|
+
req,
|
82
|
+
Google::Cloud::Speech::V1::StreamingRecognizeRequest
|
83
|
+
)
|
84
|
+
end
|
85
|
+
@streaming_recognize.call(request_protos, options)
|
86
|
+
end
|
87
|
+
)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2018 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -18,9 +18,6 @@
|
|
18
18
|
# and updates to that file get reflected here through a refresh process.
|
19
19
|
# For the short term, the refresh process will only be runnable by Google
|
20
20
|
# engineers.
|
21
|
-
#
|
22
|
-
# The only allowed edits are to method and file documentation. A 3-way
|
23
|
-
# merge preserves those additions if the generated source changes.
|
24
21
|
|
25
22
|
require "json"
|
26
23
|
require "pathname"
|
@@ -30,7 +27,7 @@ require "google/gax/operation"
|
|
30
27
|
require "google/longrunning/operations_client"
|
31
28
|
|
32
29
|
require "google/cloud/speech/v1/cloud_speech_pb"
|
33
|
-
require "google/cloud/speech/credentials"
|
30
|
+
require "google/cloud/speech/v1/credentials"
|
34
31
|
|
35
32
|
module Google
|
36
33
|
module Cloud
|
@@ -58,7 +55,7 @@ module Google
|
|
58
55
|
].freeze
|
59
56
|
|
60
57
|
class OperationsClient < Google::Longrunning::OperationsClient
|
61
|
-
SERVICE_ADDRESS = SERVICE_ADDRESS
|
58
|
+
self::SERVICE_ADDRESS = SpeechClient::SERVICE_ADDRESS
|
62
59
|
end
|
63
60
|
|
64
61
|
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
|
@@ -85,11 +82,18 @@ module Google
|
|
85
82
|
# or the specified config is missing data points.
|
86
83
|
# @param timeout [Numeric]
|
87
84
|
# The default timeout, in seconds, for calls made through this client.
|
85
|
+
# @param metadata [Hash]
|
86
|
+
# Default metadata to be sent with each request. This can be overridden on a per call basis.
|
87
|
+
# @param exception_transformer [Proc]
|
88
|
+
# An optional proc that intercepts any exceptions raised during an API call to inject
|
89
|
+
# custom error handling.
|
88
90
|
def initialize \
|
89
91
|
credentials: nil,
|
90
92
|
scopes: ALL_SCOPES,
|
91
93
|
client_config: {},
|
92
94
|
timeout: DEFAULT_TIMEOUT,
|
95
|
+
metadata: nil,
|
96
|
+
exception_transformer: nil,
|
93
97
|
lib_name: nil,
|
94
98
|
lib_version: ""
|
95
99
|
# These require statements are intentionally placed here to initialize
|
@@ -98,7 +102,7 @@ module Google
|
|
98
102
|
require "google/gax/grpc"
|
99
103
|
require "google/cloud/speech/v1/cloud_speech_services_pb"
|
100
104
|
|
101
|
-
credentials ||= Google::Cloud::Speech::Credentials.default
|
105
|
+
credentials ||= Google::Cloud::Speech::V1::Credentials.default
|
102
106
|
|
103
107
|
@operations_client = OperationsClient.new(
|
104
108
|
credentials: credentials,
|
@@ -110,7 +114,7 @@ module Google
|
|
110
114
|
)
|
111
115
|
|
112
116
|
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
113
|
-
updater_proc = Google::Cloud::Speech::Credentials.new(credentials).updater_proc
|
117
|
+
updater_proc = Google::Cloud::Speech::V1::Credentials.new(credentials).updater_proc
|
114
118
|
end
|
115
119
|
if credentials.is_a?(GRPC::Core::Channel)
|
116
120
|
channel = credentials
|
@@ -134,6 +138,7 @@ module Google
|
|
134
138
|
google_api_client.freeze
|
135
139
|
|
136
140
|
headers = { :"x-goog-api-client" => google_api_client }
|
141
|
+
headers.merge!(metadata) unless metadata.nil?
|
137
142
|
client_config_file = Pathname.new(__dir__).join(
|
138
143
|
"speech_client_config.json"
|
139
144
|
)
|
@@ -145,7 +150,7 @@ module Google
|
|
145
150
|
Google::Gax::Grpc::STATUS_CODE_NAMES,
|
146
151
|
timeout,
|
147
152
|
errors: Google::Gax::Grpc::API_ERRORS,
|
148
|
-
|
153
|
+
metadata: headers
|
149
154
|
)
|
150
155
|
end
|
151
156
|
|
@@ -164,15 +169,18 @@ module Google
|
|
164
169
|
|
165
170
|
@recognize = Google::Gax.create_api_call(
|
166
171
|
@speech_stub.method(:recognize),
|
167
|
-
defaults["recognize"]
|
172
|
+
defaults["recognize"],
|
173
|
+
exception_transformer: exception_transformer
|
168
174
|
)
|
169
175
|
@long_running_recognize = Google::Gax.create_api_call(
|
170
176
|
@speech_stub.method(:long_running_recognize),
|
171
|
-
defaults["long_running_recognize"]
|
177
|
+
defaults["long_running_recognize"],
|
178
|
+
exception_transformer: exception_transformer
|
172
179
|
)
|
173
180
|
@streaming_recognize = Google::Gax.create_api_call(
|
174
181
|
@speech_stub.method(:streaming_recognize),
|
175
|
-
defaults["streaming_recognize"]
|
182
|
+
defaults["streaming_recognize"],
|
183
|
+
exception_transformer: exception_transformer
|
176
184
|
)
|
177
185
|
end
|
178
186
|
|
@@ -193,6 +201,9 @@ module Google
|
|
193
201
|
# @param options [Google::Gax::CallOptions]
|
194
202
|
# Overrides the default settings for this call, e.g, timeout,
|
195
203
|
# retries, etc.
|
204
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
205
|
+
# @yieldparam result [Google::Cloud::Speech::V1::RecognizeResponse]
|
206
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
196
207
|
# @return [Google::Cloud::Speech::V1::RecognizeResponse]
|
197
208
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
198
209
|
# @example
|
@@ -214,13 +225,14 @@ module Google
|
|
214
225
|
def recognize \
|
215
226
|
config,
|
216
227
|
audio,
|
217
|
-
options: nil
|
228
|
+
options: nil,
|
229
|
+
&block
|
218
230
|
req = {
|
219
231
|
config: config,
|
220
232
|
audio: audio
|
221
233
|
}.delete_if { |_, v| v.nil? }
|
222
234
|
req = Google::Gax::to_proto(req, Google::Cloud::Speech::V1::RecognizeRequest)
|
223
|
-
@recognize.call(req, options)
|
235
|
+
@recognize.call(req, options, &block)
|
224
236
|
end
|
225
237
|
|
226
238
|
# Performs asynchronous speech recognition: receive results via the
|
@@ -303,41 +315,6 @@ module Google
|
|
303
315
|
operation.on_done { |operation| yield(operation) } if block_given?
|
304
316
|
operation
|
305
317
|
end
|
306
|
-
|
307
|
-
# Performs bidirectional streaming speech recognition: receive results while
|
308
|
-
# sending audio. This method is only available via the gRPC API (not REST).
|
309
|
-
#
|
310
|
-
# @param reqs [Enumerable<Google::Cloud::Speech::V1::StreamingRecognizeRequest>]
|
311
|
-
# The input requests.
|
312
|
-
# @param options [Google::Gax::CallOptions]
|
313
|
-
# Overrides the default settings for this call, e.g, timeout,
|
314
|
-
# retries, etc.
|
315
|
-
# @return [Enumerable<Google::Cloud::Speech::V1::StreamingRecognizeResponse>]
|
316
|
-
# An enumerable of Google::Cloud::Speech::V1::StreamingRecognizeResponse instances.
|
317
|
-
#
|
318
|
-
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
319
|
-
#
|
320
|
-
# @note
|
321
|
-
# EXPERIMENTAL:
|
322
|
-
# Streaming requests are still undergoing review.
|
323
|
-
# This method interface might change in the future.
|
324
|
-
#
|
325
|
-
# @example
|
326
|
-
# require "google/cloud/speech/v1"
|
327
|
-
#
|
328
|
-
# speech_client = Google::Cloud::Speech::V1.new
|
329
|
-
# request = {}
|
330
|
-
# requests = [request]
|
331
|
-
# speech_client.streaming_recognize(requests).each do |element|
|
332
|
-
# # Process element.
|
333
|
-
# end
|
334
|
-
|
335
|
-
def streaming_recognize reqs, options: nil
|
336
|
-
request_protos = reqs.lazy.map do |req|
|
337
|
-
Google::Gax::to_proto(req, Google::Cloud::Speech::V1::StreamingRecognizeRequest)
|
338
|
-
end
|
339
|
-
@streaming_recognize.call(request_protos, options)
|
340
|
-
end
|
341
318
|
end
|
342
319
|
end
|
343
320
|
end
|