1// Copyright 2021 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// http://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// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.25.0-devel 18// protoc v3.12.2 19// source: google/cloud/speech/v1p1beta1/cloud_speech.proto 20 21package speech 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 proto "github.com/golang/protobuf/proto" 29 _ "google.golang.org/genproto/googleapis/api/annotations" 30 longrunning "google.golang.org/genproto/googleapis/longrunning" 31 status "google.golang.org/genproto/googleapis/rpc/status" 32 grpc "google.golang.org/grpc" 33 codes "google.golang.org/grpc/codes" 34 status1 "google.golang.org/grpc/status" 35 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 36 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 37 _ "google.golang.org/protobuf/types/known/anypb" 38 durationpb "google.golang.org/protobuf/types/known/durationpb" 39 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 40 wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" 41) 42 43const ( 44 // Verify that this generated code is sufficiently up-to-date. 45 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 46 // Verify that runtime/protoimpl is sufficiently up-to-date. 47 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 48) 49 50// This is a compile-time assertion that a sufficiently up-to-date version 51// of the legacy proto package is being used. 52const _ = proto.ProtoPackageIsVersion4 53 54// The encoding of the audio data sent in the request. 55// 56// All encodings support only 1 channel (mono) audio, unless the 57// `audio_channel_count` and `enable_separate_recognition_per_channel` fields 58// are set. 59// 60// For best results, the audio source should be captured and transmitted using 61// a lossless encoding (`FLAC` or `LINEAR16`). The accuracy of the speech 62// recognition can be reduced if lossy codecs are used to capture or transmit 63// audio, particularly if background noise is present. Lossy codecs include 64// `MULAW`, `AMR`, `AMR_WB`, `OGG_OPUS`, `SPEEX_WITH_HEADER_BYTE`, `MP3`. 65// 66// The `FLAC` and `WAV` audio file formats include a header that describes the 67// included audio content. You can request recognition for `WAV` files that 68// contain either `LINEAR16` or `MULAW` encoded audio. 69// If you send `FLAC` or `WAV` audio file format in 70// your request, you do not need to specify an `AudioEncoding`; the audio 71// encoding format is determined from the file header. If you specify 72// an `AudioEncoding` when you send send `FLAC` or `WAV` audio, the 73// encoding configuration must match the encoding described in the audio 74// header; otherwise the request returns an 75// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error code. 76type RecognitionConfig_AudioEncoding int32 77 78const ( 79 // Not specified. 80 RecognitionConfig_ENCODING_UNSPECIFIED RecognitionConfig_AudioEncoding = 0 81 // Uncompressed 16-bit signed little-endian samples (Linear PCM). 82 RecognitionConfig_LINEAR16 RecognitionConfig_AudioEncoding = 1 83 // `FLAC` (Free Lossless Audio 84 // Codec) is the recommended encoding because it is 85 // lossless--therefore recognition is not compromised--and 86 // requires only about half the bandwidth of `LINEAR16`. `FLAC` stream 87 // encoding supports 16-bit and 24-bit samples, however, not all fields in 88 // `STREAMINFO` are supported. 89 RecognitionConfig_FLAC RecognitionConfig_AudioEncoding = 2 90 // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. 91 RecognitionConfig_MULAW RecognitionConfig_AudioEncoding = 3 92 // Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000. 93 RecognitionConfig_AMR RecognitionConfig_AudioEncoding = 4 94 // Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000. 95 RecognitionConfig_AMR_WB RecognitionConfig_AudioEncoding = 5 96 // Opus encoded audio frames in Ogg container 97 // ([OggOpus](https://wiki.xiph.org/OggOpus)). 98 // `sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, or 48000. 99 RecognitionConfig_OGG_OPUS RecognitionConfig_AudioEncoding = 6 100 // Although the use of lossy encodings is not recommended, if a very low 101 // bitrate encoding is required, `OGG_OPUS` is highly preferred over 102 // Speex encoding. The [Speex](https://speex.org/) encoding supported by 103 // Cloud Speech API has a header byte in each block, as in MIME type 104 // `audio/x-speex-with-header-byte`. 105 // It is a variant of the RTP Speex encoding defined in 106 // [RFC 5574](https://tools.ietf.org/html/rfc5574). 107 // The stream is a sequence of blocks, one block per RTP packet. Each block 108 // starts with a byte containing the length of the block, in bytes, followed 109 // by one or more frames of Speex data, padded to an integral number of 110 // bytes (octets) as specified in RFC 5574. In other words, each RTP header 111 // is replaced with a single byte containing the block length. Only Speex 112 // wideband is supported. `sample_rate_hertz` must be 16000. 113 RecognitionConfig_SPEEX_WITH_HEADER_BYTE RecognitionConfig_AudioEncoding = 7 114 // MP3 audio. MP3 encoding is a Beta feature and only available in 115 // v1p1beta1. Support all standard MP3 bitrates (which range from 32-320 116 // kbps). When using this encoding, `sample_rate_hertz` has to match the 117 // sample rate of the file being used. 118 RecognitionConfig_MP3 RecognitionConfig_AudioEncoding = 8 119 // Opus encoded audio frames in WebM container 120 // ([OggOpus](https://wiki.xiph.org/OggOpus)). This is a Beta features and 121 // only available in v1p1beta1. `sample_rate_hertz` must be one of 8000, 122 // 12000, 16000, 24000, or 48000. 123 RecognitionConfig_WEBM_OPUS RecognitionConfig_AudioEncoding = 9 124) 125 126// Enum value maps for RecognitionConfig_AudioEncoding. 127var ( 128 RecognitionConfig_AudioEncoding_name = map[int32]string{ 129 0: "ENCODING_UNSPECIFIED", 130 1: "LINEAR16", 131 2: "FLAC", 132 3: "MULAW", 133 4: "AMR", 134 5: "AMR_WB", 135 6: "OGG_OPUS", 136 7: "SPEEX_WITH_HEADER_BYTE", 137 8: "MP3", 138 9: "WEBM_OPUS", 139 } 140 RecognitionConfig_AudioEncoding_value = map[string]int32{ 141 "ENCODING_UNSPECIFIED": 0, 142 "LINEAR16": 1, 143 "FLAC": 2, 144 "MULAW": 3, 145 "AMR": 4, 146 "AMR_WB": 5, 147 "OGG_OPUS": 6, 148 "SPEEX_WITH_HEADER_BYTE": 7, 149 "MP3": 8, 150 "WEBM_OPUS": 9, 151 } 152) 153 154func (x RecognitionConfig_AudioEncoding) Enum() *RecognitionConfig_AudioEncoding { 155 p := new(RecognitionConfig_AudioEncoding) 156 *p = x 157 return p 158} 159 160func (x RecognitionConfig_AudioEncoding) String() string { 161 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 162} 163 164func (RecognitionConfig_AudioEncoding) Descriptor() protoreflect.EnumDescriptor { 165 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[0].Descriptor() 166} 167 168func (RecognitionConfig_AudioEncoding) Type() protoreflect.EnumType { 169 return &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[0] 170} 171 172func (x RecognitionConfig_AudioEncoding) Number() protoreflect.EnumNumber { 173 return protoreflect.EnumNumber(x) 174} 175 176// Deprecated: Use RecognitionConfig_AudioEncoding.Descriptor instead. 177func (RecognitionConfig_AudioEncoding) EnumDescriptor() ([]byte, []int) { 178 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{5, 0} 179} 180 181// Use case categories that the audio recognition request can be described 182// by. 183type RecognitionMetadata_InteractionType int32 184 185const ( 186 // Use case is either unknown or is something other than one of the other 187 // values below. 188 RecognitionMetadata_INTERACTION_TYPE_UNSPECIFIED RecognitionMetadata_InteractionType = 0 189 // Multiple people in a conversation or discussion. For example in a 190 // meeting with two or more people actively participating. Typically 191 // all the primary people speaking would be in the same room (if not, 192 // see PHONE_CALL) 193 RecognitionMetadata_DISCUSSION RecognitionMetadata_InteractionType = 1 194 // One or more persons lecturing or presenting to others, mostly 195 // uninterrupted. 196 RecognitionMetadata_PRESENTATION RecognitionMetadata_InteractionType = 2 197 // A phone-call or video-conference in which two or more people, who are 198 // not in the same room, are actively participating. 199 RecognitionMetadata_PHONE_CALL RecognitionMetadata_InteractionType = 3 200 // A recorded message intended for another person to listen to. 201 RecognitionMetadata_VOICEMAIL RecognitionMetadata_InteractionType = 4 202 // Professionally produced audio (eg. TV Show, Podcast). 203 RecognitionMetadata_PROFESSIONALLY_PRODUCED RecognitionMetadata_InteractionType = 5 204 // Transcribe spoken questions and queries into text. 205 RecognitionMetadata_VOICE_SEARCH RecognitionMetadata_InteractionType = 6 206 // Transcribe voice commands, such as for controlling a device. 207 RecognitionMetadata_VOICE_COMMAND RecognitionMetadata_InteractionType = 7 208 // Transcribe speech to text to create a written document, such as a 209 // text-message, email or report. 210 RecognitionMetadata_DICTATION RecognitionMetadata_InteractionType = 8 211) 212 213// Enum value maps for RecognitionMetadata_InteractionType. 214var ( 215 RecognitionMetadata_InteractionType_name = map[int32]string{ 216 0: "INTERACTION_TYPE_UNSPECIFIED", 217 1: "DISCUSSION", 218 2: "PRESENTATION", 219 3: "PHONE_CALL", 220 4: "VOICEMAIL", 221 5: "PROFESSIONALLY_PRODUCED", 222 6: "VOICE_SEARCH", 223 7: "VOICE_COMMAND", 224 8: "DICTATION", 225 } 226 RecognitionMetadata_InteractionType_value = map[string]int32{ 227 "INTERACTION_TYPE_UNSPECIFIED": 0, 228 "DISCUSSION": 1, 229 "PRESENTATION": 2, 230 "PHONE_CALL": 3, 231 "VOICEMAIL": 4, 232 "PROFESSIONALLY_PRODUCED": 5, 233 "VOICE_SEARCH": 6, 234 "VOICE_COMMAND": 7, 235 "DICTATION": 8, 236 } 237) 238 239func (x RecognitionMetadata_InteractionType) Enum() *RecognitionMetadata_InteractionType { 240 p := new(RecognitionMetadata_InteractionType) 241 *p = x 242 return p 243} 244 245func (x RecognitionMetadata_InteractionType) String() string { 246 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 247} 248 249func (RecognitionMetadata_InteractionType) Descriptor() protoreflect.EnumDescriptor { 250 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[1].Descriptor() 251} 252 253func (RecognitionMetadata_InteractionType) Type() protoreflect.EnumType { 254 return &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[1] 255} 256 257func (x RecognitionMetadata_InteractionType) Number() protoreflect.EnumNumber { 258 return protoreflect.EnumNumber(x) 259} 260 261// Deprecated: Use RecognitionMetadata_InteractionType.Descriptor instead. 262func (RecognitionMetadata_InteractionType) EnumDescriptor() ([]byte, []int) { 263 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{7, 0} 264} 265 266// Enumerates the types of capture settings describing an audio file. 267type RecognitionMetadata_MicrophoneDistance int32 268 269const ( 270 // Audio type is not known. 271 RecognitionMetadata_MICROPHONE_DISTANCE_UNSPECIFIED RecognitionMetadata_MicrophoneDistance = 0 272 // The audio was captured from a closely placed microphone. Eg. phone, 273 // dictaphone, or handheld microphone. Generally if there speaker is within 274 // 1 meter of the microphone. 275 RecognitionMetadata_NEARFIELD RecognitionMetadata_MicrophoneDistance = 1 276 // The speaker if within 3 meters of the microphone. 277 RecognitionMetadata_MIDFIELD RecognitionMetadata_MicrophoneDistance = 2 278 // The speaker is more than 3 meters away from the microphone. 279 RecognitionMetadata_FARFIELD RecognitionMetadata_MicrophoneDistance = 3 280) 281 282// Enum value maps for RecognitionMetadata_MicrophoneDistance. 283var ( 284 RecognitionMetadata_MicrophoneDistance_name = map[int32]string{ 285 0: "MICROPHONE_DISTANCE_UNSPECIFIED", 286 1: "NEARFIELD", 287 2: "MIDFIELD", 288 3: "FARFIELD", 289 } 290 RecognitionMetadata_MicrophoneDistance_value = map[string]int32{ 291 "MICROPHONE_DISTANCE_UNSPECIFIED": 0, 292 "NEARFIELD": 1, 293 "MIDFIELD": 2, 294 "FARFIELD": 3, 295 } 296) 297 298func (x RecognitionMetadata_MicrophoneDistance) Enum() *RecognitionMetadata_MicrophoneDistance { 299 p := new(RecognitionMetadata_MicrophoneDistance) 300 *p = x 301 return p 302} 303 304func (x RecognitionMetadata_MicrophoneDistance) String() string { 305 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 306} 307 308func (RecognitionMetadata_MicrophoneDistance) Descriptor() protoreflect.EnumDescriptor { 309 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[2].Descriptor() 310} 311 312func (RecognitionMetadata_MicrophoneDistance) Type() protoreflect.EnumType { 313 return &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[2] 314} 315 316func (x RecognitionMetadata_MicrophoneDistance) Number() protoreflect.EnumNumber { 317 return protoreflect.EnumNumber(x) 318} 319 320// Deprecated: Use RecognitionMetadata_MicrophoneDistance.Descriptor instead. 321func (RecognitionMetadata_MicrophoneDistance) EnumDescriptor() ([]byte, []int) { 322 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{7, 1} 323} 324 325// The original media the speech was recorded on. 326type RecognitionMetadata_OriginalMediaType int32 327 328const ( 329 // Unknown original media type. 330 RecognitionMetadata_ORIGINAL_MEDIA_TYPE_UNSPECIFIED RecognitionMetadata_OriginalMediaType = 0 331 // The speech data is an audio recording. 332 RecognitionMetadata_AUDIO RecognitionMetadata_OriginalMediaType = 1 333 // The speech data originally recorded on a video. 334 RecognitionMetadata_VIDEO RecognitionMetadata_OriginalMediaType = 2 335) 336 337// Enum value maps for RecognitionMetadata_OriginalMediaType. 338var ( 339 RecognitionMetadata_OriginalMediaType_name = map[int32]string{ 340 0: "ORIGINAL_MEDIA_TYPE_UNSPECIFIED", 341 1: "AUDIO", 342 2: "VIDEO", 343 } 344 RecognitionMetadata_OriginalMediaType_value = map[string]int32{ 345 "ORIGINAL_MEDIA_TYPE_UNSPECIFIED": 0, 346 "AUDIO": 1, 347 "VIDEO": 2, 348 } 349) 350 351func (x RecognitionMetadata_OriginalMediaType) Enum() *RecognitionMetadata_OriginalMediaType { 352 p := new(RecognitionMetadata_OriginalMediaType) 353 *p = x 354 return p 355} 356 357func (x RecognitionMetadata_OriginalMediaType) String() string { 358 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 359} 360 361func (RecognitionMetadata_OriginalMediaType) Descriptor() protoreflect.EnumDescriptor { 362 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[3].Descriptor() 363} 364 365func (RecognitionMetadata_OriginalMediaType) Type() protoreflect.EnumType { 366 return &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[3] 367} 368 369func (x RecognitionMetadata_OriginalMediaType) Number() protoreflect.EnumNumber { 370 return protoreflect.EnumNumber(x) 371} 372 373// Deprecated: Use RecognitionMetadata_OriginalMediaType.Descriptor instead. 374func (RecognitionMetadata_OriginalMediaType) EnumDescriptor() ([]byte, []int) { 375 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{7, 2} 376} 377 378// The type of device the speech was recorded with. 379type RecognitionMetadata_RecordingDeviceType int32 380 381const ( 382 // The recording device is unknown. 383 RecognitionMetadata_RECORDING_DEVICE_TYPE_UNSPECIFIED RecognitionMetadata_RecordingDeviceType = 0 384 // Speech was recorded on a smartphone. 385 RecognitionMetadata_SMARTPHONE RecognitionMetadata_RecordingDeviceType = 1 386 // Speech was recorded using a personal computer or tablet. 387 RecognitionMetadata_PC RecognitionMetadata_RecordingDeviceType = 2 388 // Speech was recorded over a phone line. 389 RecognitionMetadata_PHONE_LINE RecognitionMetadata_RecordingDeviceType = 3 390 // Speech was recorded in a vehicle. 391 RecognitionMetadata_VEHICLE RecognitionMetadata_RecordingDeviceType = 4 392 // Speech was recorded outdoors. 393 RecognitionMetadata_OTHER_OUTDOOR_DEVICE RecognitionMetadata_RecordingDeviceType = 5 394 // Speech was recorded indoors. 395 RecognitionMetadata_OTHER_INDOOR_DEVICE RecognitionMetadata_RecordingDeviceType = 6 396) 397 398// Enum value maps for RecognitionMetadata_RecordingDeviceType. 399var ( 400 RecognitionMetadata_RecordingDeviceType_name = map[int32]string{ 401 0: "RECORDING_DEVICE_TYPE_UNSPECIFIED", 402 1: "SMARTPHONE", 403 2: "PC", 404 3: "PHONE_LINE", 405 4: "VEHICLE", 406 5: "OTHER_OUTDOOR_DEVICE", 407 6: "OTHER_INDOOR_DEVICE", 408 } 409 RecognitionMetadata_RecordingDeviceType_value = map[string]int32{ 410 "RECORDING_DEVICE_TYPE_UNSPECIFIED": 0, 411 "SMARTPHONE": 1, 412 "PC": 2, 413 "PHONE_LINE": 3, 414 "VEHICLE": 4, 415 "OTHER_OUTDOOR_DEVICE": 5, 416 "OTHER_INDOOR_DEVICE": 6, 417 } 418) 419 420func (x RecognitionMetadata_RecordingDeviceType) Enum() *RecognitionMetadata_RecordingDeviceType { 421 p := new(RecognitionMetadata_RecordingDeviceType) 422 *p = x 423 return p 424} 425 426func (x RecognitionMetadata_RecordingDeviceType) String() string { 427 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 428} 429 430func (RecognitionMetadata_RecordingDeviceType) Descriptor() protoreflect.EnumDescriptor { 431 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[4].Descriptor() 432} 433 434func (RecognitionMetadata_RecordingDeviceType) Type() protoreflect.EnumType { 435 return &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[4] 436} 437 438func (x RecognitionMetadata_RecordingDeviceType) Number() protoreflect.EnumNumber { 439 return protoreflect.EnumNumber(x) 440} 441 442// Deprecated: Use RecognitionMetadata_RecordingDeviceType.Descriptor instead. 443func (RecognitionMetadata_RecordingDeviceType) EnumDescriptor() ([]byte, []int) { 444 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{7, 3} 445} 446 447// Indicates the type of speech event. 448type StreamingRecognizeResponse_SpeechEventType int32 449 450const ( 451 // No speech event specified. 452 StreamingRecognizeResponse_SPEECH_EVENT_UNSPECIFIED StreamingRecognizeResponse_SpeechEventType = 0 453 // This event indicates that the server has detected the end of the user's 454 // speech utterance and expects no additional speech. Therefore, the server 455 // will not process additional audio (although it may subsequently return 456 // additional results). The client should stop sending additional audio 457 // data, half-close the gRPC connection, and wait for any additional results 458 // until the server closes the gRPC connection. This event is only sent if 459 // `single_utterance` was set to `true`, and is not used otherwise. 460 StreamingRecognizeResponse_END_OF_SINGLE_UTTERANCE StreamingRecognizeResponse_SpeechEventType = 1 461) 462 463// Enum value maps for StreamingRecognizeResponse_SpeechEventType. 464var ( 465 StreamingRecognizeResponse_SpeechEventType_name = map[int32]string{ 466 0: "SPEECH_EVENT_UNSPECIFIED", 467 1: "END_OF_SINGLE_UTTERANCE", 468 } 469 StreamingRecognizeResponse_SpeechEventType_value = map[string]int32{ 470 "SPEECH_EVENT_UNSPECIFIED": 0, 471 "END_OF_SINGLE_UTTERANCE": 1, 472 } 473) 474 475func (x StreamingRecognizeResponse_SpeechEventType) Enum() *StreamingRecognizeResponse_SpeechEventType { 476 p := new(StreamingRecognizeResponse_SpeechEventType) 477 *p = x 478 return p 479} 480 481func (x StreamingRecognizeResponse_SpeechEventType) String() string { 482 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 483} 484 485func (StreamingRecognizeResponse_SpeechEventType) Descriptor() protoreflect.EnumDescriptor { 486 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[5].Descriptor() 487} 488 489func (StreamingRecognizeResponse_SpeechEventType) Type() protoreflect.EnumType { 490 return &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes[5] 491} 492 493func (x StreamingRecognizeResponse_SpeechEventType) Number() protoreflect.EnumNumber { 494 return protoreflect.EnumNumber(x) 495} 496 497// Deprecated: Use StreamingRecognizeResponse_SpeechEventType.Descriptor instead. 498func (StreamingRecognizeResponse_SpeechEventType) EnumDescriptor() ([]byte, []int) { 499 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{13, 0} 500} 501 502// The top-level message sent by the client for the `Recognize` method. 503type RecognizeRequest struct { 504 state protoimpl.MessageState 505 sizeCache protoimpl.SizeCache 506 unknownFields protoimpl.UnknownFields 507 508 // Required. Provides information to the recognizer that specifies how to 509 // process the request. 510 Config *RecognitionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 511 // Required. The audio data to be recognized. 512 Audio *RecognitionAudio `protobuf:"bytes,2,opt,name=audio,proto3" json:"audio,omitempty"` 513} 514 515func (x *RecognizeRequest) Reset() { 516 *x = RecognizeRequest{} 517 if protoimpl.UnsafeEnabled { 518 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[0] 519 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 520 ms.StoreMessageInfo(mi) 521 } 522} 523 524func (x *RecognizeRequest) String() string { 525 return protoimpl.X.MessageStringOf(x) 526} 527 528func (*RecognizeRequest) ProtoMessage() {} 529 530func (x *RecognizeRequest) ProtoReflect() protoreflect.Message { 531 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[0] 532 if protoimpl.UnsafeEnabled && x != nil { 533 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 534 if ms.LoadMessageInfo() == nil { 535 ms.StoreMessageInfo(mi) 536 } 537 return ms 538 } 539 return mi.MessageOf(x) 540} 541 542// Deprecated: Use RecognizeRequest.ProtoReflect.Descriptor instead. 543func (*RecognizeRequest) Descriptor() ([]byte, []int) { 544 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{0} 545} 546 547func (x *RecognizeRequest) GetConfig() *RecognitionConfig { 548 if x != nil { 549 return x.Config 550 } 551 return nil 552} 553 554func (x *RecognizeRequest) GetAudio() *RecognitionAudio { 555 if x != nil { 556 return x.Audio 557 } 558 return nil 559} 560 561// The top-level message sent by the client for the `LongRunningRecognize` 562// method. 563type LongRunningRecognizeRequest struct { 564 state protoimpl.MessageState 565 sizeCache protoimpl.SizeCache 566 unknownFields protoimpl.UnknownFields 567 568 // Required. Provides information to the recognizer that specifies how to 569 // process the request. 570 Config *RecognitionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 571 // Required. The audio data to be recognized. 572 Audio *RecognitionAudio `protobuf:"bytes,2,opt,name=audio,proto3" json:"audio,omitempty"` 573 // Optional. Specifies an optional destination for the recognition results. 574 OutputConfig *TranscriptOutputConfig `protobuf:"bytes,4,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 575} 576 577func (x *LongRunningRecognizeRequest) Reset() { 578 *x = LongRunningRecognizeRequest{} 579 if protoimpl.UnsafeEnabled { 580 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[1] 581 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 582 ms.StoreMessageInfo(mi) 583 } 584} 585 586func (x *LongRunningRecognizeRequest) String() string { 587 return protoimpl.X.MessageStringOf(x) 588} 589 590func (*LongRunningRecognizeRequest) ProtoMessage() {} 591 592func (x *LongRunningRecognizeRequest) ProtoReflect() protoreflect.Message { 593 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[1] 594 if protoimpl.UnsafeEnabled && x != nil { 595 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 596 if ms.LoadMessageInfo() == nil { 597 ms.StoreMessageInfo(mi) 598 } 599 return ms 600 } 601 return mi.MessageOf(x) 602} 603 604// Deprecated: Use LongRunningRecognizeRequest.ProtoReflect.Descriptor instead. 605func (*LongRunningRecognizeRequest) Descriptor() ([]byte, []int) { 606 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{1} 607} 608 609func (x *LongRunningRecognizeRequest) GetConfig() *RecognitionConfig { 610 if x != nil { 611 return x.Config 612 } 613 return nil 614} 615 616func (x *LongRunningRecognizeRequest) GetAudio() *RecognitionAudio { 617 if x != nil { 618 return x.Audio 619 } 620 return nil 621} 622 623func (x *LongRunningRecognizeRequest) GetOutputConfig() *TranscriptOutputConfig { 624 if x != nil { 625 return x.OutputConfig 626 } 627 return nil 628} 629 630// Specifies an optional destination for the recognition results. 631type TranscriptOutputConfig struct { 632 state protoimpl.MessageState 633 sizeCache protoimpl.SizeCache 634 unknownFields protoimpl.UnknownFields 635 636 // Types that are assignable to OutputType: 637 // *TranscriptOutputConfig_GcsUri 638 OutputType isTranscriptOutputConfig_OutputType `protobuf_oneof:"output_type"` 639} 640 641func (x *TranscriptOutputConfig) Reset() { 642 *x = TranscriptOutputConfig{} 643 if protoimpl.UnsafeEnabled { 644 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[2] 645 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 646 ms.StoreMessageInfo(mi) 647 } 648} 649 650func (x *TranscriptOutputConfig) String() string { 651 return protoimpl.X.MessageStringOf(x) 652} 653 654func (*TranscriptOutputConfig) ProtoMessage() {} 655 656func (x *TranscriptOutputConfig) ProtoReflect() protoreflect.Message { 657 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[2] 658 if protoimpl.UnsafeEnabled && x != nil { 659 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 660 if ms.LoadMessageInfo() == nil { 661 ms.StoreMessageInfo(mi) 662 } 663 return ms 664 } 665 return mi.MessageOf(x) 666} 667 668// Deprecated: Use TranscriptOutputConfig.ProtoReflect.Descriptor instead. 669func (*TranscriptOutputConfig) Descriptor() ([]byte, []int) { 670 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{2} 671} 672 673func (m *TranscriptOutputConfig) GetOutputType() isTranscriptOutputConfig_OutputType { 674 if m != nil { 675 return m.OutputType 676 } 677 return nil 678} 679 680func (x *TranscriptOutputConfig) GetGcsUri() string { 681 if x, ok := x.GetOutputType().(*TranscriptOutputConfig_GcsUri); ok { 682 return x.GcsUri 683 } 684 return "" 685} 686 687type isTranscriptOutputConfig_OutputType interface { 688 isTranscriptOutputConfig_OutputType() 689} 690 691type TranscriptOutputConfig_GcsUri struct { 692 // Specifies a Cloud Storage URI for the recognition results. Must be 693 // specified in the format: `gs://bucket_name/object_name`, and the bucket 694 // must already exist. 695 GcsUri string `protobuf:"bytes,1,opt,name=gcs_uri,json=gcsUri,proto3,oneof"` 696} 697 698func (*TranscriptOutputConfig_GcsUri) isTranscriptOutputConfig_OutputType() {} 699 700// The top-level message sent by the client for the `StreamingRecognize` method. 701// Multiple `StreamingRecognizeRequest` messages are sent. The first message 702// must contain a `streaming_config` message and must not contain 703// `audio_content`. All subsequent messages must contain `audio_content` and 704// must not contain a `streaming_config` message. 705type StreamingRecognizeRequest struct { 706 state protoimpl.MessageState 707 sizeCache protoimpl.SizeCache 708 unknownFields protoimpl.UnknownFields 709 710 // The streaming request, which is either a streaming config or audio content. 711 // 712 // Types that are assignable to StreamingRequest: 713 // *StreamingRecognizeRequest_StreamingConfig 714 // *StreamingRecognizeRequest_AudioContent 715 StreamingRequest isStreamingRecognizeRequest_StreamingRequest `protobuf_oneof:"streaming_request"` 716} 717 718func (x *StreamingRecognizeRequest) Reset() { 719 *x = StreamingRecognizeRequest{} 720 if protoimpl.UnsafeEnabled { 721 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[3] 722 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 723 ms.StoreMessageInfo(mi) 724 } 725} 726 727func (x *StreamingRecognizeRequest) String() string { 728 return protoimpl.X.MessageStringOf(x) 729} 730 731func (*StreamingRecognizeRequest) ProtoMessage() {} 732 733func (x *StreamingRecognizeRequest) ProtoReflect() protoreflect.Message { 734 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[3] 735 if protoimpl.UnsafeEnabled && x != nil { 736 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 737 if ms.LoadMessageInfo() == nil { 738 ms.StoreMessageInfo(mi) 739 } 740 return ms 741 } 742 return mi.MessageOf(x) 743} 744 745// Deprecated: Use StreamingRecognizeRequest.ProtoReflect.Descriptor instead. 746func (*StreamingRecognizeRequest) Descriptor() ([]byte, []int) { 747 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{3} 748} 749 750func (m *StreamingRecognizeRequest) GetStreamingRequest() isStreamingRecognizeRequest_StreamingRequest { 751 if m != nil { 752 return m.StreamingRequest 753 } 754 return nil 755} 756 757func (x *StreamingRecognizeRequest) GetStreamingConfig() *StreamingRecognitionConfig { 758 if x, ok := x.GetStreamingRequest().(*StreamingRecognizeRequest_StreamingConfig); ok { 759 return x.StreamingConfig 760 } 761 return nil 762} 763 764func (x *StreamingRecognizeRequest) GetAudioContent() []byte { 765 if x, ok := x.GetStreamingRequest().(*StreamingRecognizeRequest_AudioContent); ok { 766 return x.AudioContent 767 } 768 return nil 769} 770 771type isStreamingRecognizeRequest_StreamingRequest interface { 772 isStreamingRecognizeRequest_StreamingRequest() 773} 774 775type StreamingRecognizeRequest_StreamingConfig struct { 776 // Provides information to the recognizer that specifies how to process the 777 // request. The first `StreamingRecognizeRequest` message must contain a 778 // `streaming_config` message. 779 StreamingConfig *StreamingRecognitionConfig `protobuf:"bytes,1,opt,name=streaming_config,json=streamingConfig,proto3,oneof"` 780} 781 782type StreamingRecognizeRequest_AudioContent struct { 783 // The audio data to be recognized. Sequential chunks of audio data are sent 784 // in sequential `StreamingRecognizeRequest` messages. The first 785 // `StreamingRecognizeRequest` message must not contain `audio_content` data 786 // and all subsequent `StreamingRecognizeRequest` messages must contain 787 // `audio_content` data. The audio bytes must be encoded as specified in 788 // `RecognitionConfig`. Note: as with all bytes fields, proto buffers use a 789 // pure binary representation (not base64). See 790 // [content limits](https://cloud.google.com/speech-to-text/quotas#content). 791 AudioContent []byte `protobuf:"bytes,2,opt,name=audio_content,json=audioContent,proto3,oneof"` 792} 793 794func (*StreamingRecognizeRequest_StreamingConfig) isStreamingRecognizeRequest_StreamingRequest() {} 795 796func (*StreamingRecognizeRequest_AudioContent) isStreamingRecognizeRequest_StreamingRequest() {} 797 798// Provides information to the recognizer that specifies how to process the 799// request. 800type StreamingRecognitionConfig struct { 801 state protoimpl.MessageState 802 sizeCache protoimpl.SizeCache 803 unknownFields protoimpl.UnknownFields 804 805 // Required. Provides information to the recognizer that specifies how to 806 // process the request. 807 Config *RecognitionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 808 // If `false` or omitted, the recognizer will perform continuous 809 // recognition (continuing to wait for and process audio even if the user 810 // pauses speaking) until the client closes the input stream (gRPC API) or 811 // until the maximum time limit has been reached. May return multiple 812 // `StreamingRecognitionResult`s with the `is_final` flag set to `true`. 813 // 814 // If `true`, the recognizer will detect a single spoken utterance. When it 815 // detects that the user has paused or stopped speaking, it will return an 816 // `END_OF_SINGLE_UTTERANCE` event and cease recognition. It will return no 817 // more than one `StreamingRecognitionResult` with the `is_final` flag set to 818 // `true`. 819 // 820 // The `single_utterance` field can only be used with specified models, 821 // otherwise an error is thrown. The `model` field in [`RecognitionConfig`][] 822 // must be set to: 823 // 824 // * `command_and_search` 825 // * `phone_call` AND additional field `useEnhanced`=`true` 826 // * The `model` field is left undefined. In this case the API auto-selects 827 // a model based on any other parameters that you set in 828 // `RecognitionConfig`. 829 SingleUtterance bool `protobuf:"varint,2,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"` 830 // If `true`, interim results (tentative hypotheses) may be 831 // returned as they become available (these interim results are indicated with 832 // the `is_final=false` flag). 833 // If `false` or omitted, only `is_final=true` result(s) are returned. 834 InterimResults bool `protobuf:"varint,3,opt,name=interim_results,json=interimResults,proto3" json:"interim_results,omitempty"` 835} 836 837func (x *StreamingRecognitionConfig) Reset() { 838 *x = StreamingRecognitionConfig{} 839 if protoimpl.UnsafeEnabled { 840 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[4] 841 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 842 ms.StoreMessageInfo(mi) 843 } 844} 845 846func (x *StreamingRecognitionConfig) String() string { 847 return protoimpl.X.MessageStringOf(x) 848} 849 850func (*StreamingRecognitionConfig) ProtoMessage() {} 851 852func (x *StreamingRecognitionConfig) ProtoReflect() protoreflect.Message { 853 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[4] 854 if protoimpl.UnsafeEnabled && x != nil { 855 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 856 if ms.LoadMessageInfo() == nil { 857 ms.StoreMessageInfo(mi) 858 } 859 return ms 860 } 861 return mi.MessageOf(x) 862} 863 864// Deprecated: Use StreamingRecognitionConfig.ProtoReflect.Descriptor instead. 865func (*StreamingRecognitionConfig) Descriptor() ([]byte, []int) { 866 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{4} 867} 868 869func (x *StreamingRecognitionConfig) GetConfig() *RecognitionConfig { 870 if x != nil { 871 return x.Config 872 } 873 return nil 874} 875 876func (x *StreamingRecognitionConfig) GetSingleUtterance() bool { 877 if x != nil { 878 return x.SingleUtterance 879 } 880 return false 881} 882 883func (x *StreamingRecognitionConfig) GetInterimResults() bool { 884 if x != nil { 885 return x.InterimResults 886 } 887 return false 888} 889 890// Provides information to the recognizer that specifies how to process the 891// request. 892type RecognitionConfig struct { 893 state protoimpl.MessageState 894 sizeCache protoimpl.SizeCache 895 unknownFields protoimpl.UnknownFields 896 897 // Encoding of audio data sent in all `RecognitionAudio` messages. 898 // This field is optional for `FLAC` and `WAV` audio files and required 899 // for all other audio formats. For details, see [AudioEncoding][google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding]. 900 Encoding RecognitionConfig_AudioEncoding `protobuf:"varint,1,opt,name=encoding,proto3,enum=google.cloud.speech.v1p1beta1.RecognitionConfig_AudioEncoding" json:"encoding,omitempty"` 901 // Sample rate in Hertz of the audio data sent in all 902 // `RecognitionAudio` messages. Valid values are: 8000-48000. 903 // 16000 is optimal. For best results, set the sampling rate of the audio 904 // source to 16000 Hz. If that's not possible, use the native sample rate of 905 // the audio source (instead of re-sampling). 906 // This field is optional for FLAC and WAV audio files, but is 907 // required for all other audio formats. For details, see [AudioEncoding][google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding]. 908 SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"` 909 // The number of channels in the input audio data. 910 // ONLY set this for MULTI-CHANNEL recognition. 911 // Valid values for LINEAR16 and FLAC are `1`-`8`. 912 // Valid values for OGG_OPUS are '1'-'254'. 913 // Valid value for MULAW, AMR, AMR_WB and SPEEX_WITH_HEADER_BYTE is only `1`. 914 // If `0` or omitted, defaults to one channel (mono). 915 // Note: We only recognize the first channel by default. 916 // To perform independent recognition on each channel set 917 // `enable_separate_recognition_per_channel` to 'true'. 918 AudioChannelCount int32 `protobuf:"varint,7,opt,name=audio_channel_count,json=audioChannelCount,proto3" json:"audio_channel_count,omitempty"` 919 // This needs to be set to `true` explicitly and `audio_channel_count` > 1 920 // to get each channel recognized separately. The recognition result will 921 // contain a `channel_tag` field to state which channel that result belongs 922 // to. If this is not true, we will only recognize the first channel. The 923 // request is billed cumulatively for all channels recognized: 924 // `audio_channel_count` multiplied by the length of the audio. 925 EnableSeparateRecognitionPerChannel bool `protobuf:"varint,12,opt,name=enable_separate_recognition_per_channel,json=enableSeparateRecognitionPerChannel,proto3" json:"enable_separate_recognition_per_channel,omitempty"` 926 // Required. The language of the supplied audio as a 927 // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. 928 // Example: "en-US". 929 // See [Language 930 // Support](https://cloud.google.com/speech-to-text/docs/languages) for a list 931 // of the currently supported language codes. 932 LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 933 // A list of up to 3 additional 934 // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags, 935 // listing possible alternative languages of the supplied audio. 936 // See [Language 937 // Support](https://cloud.google.com/speech-to-text/docs/languages) for a list 938 // of the currently supported language codes. If alternative languages are 939 // listed, recognition result will contain recognition in the most likely 940 // language detected including the main language_code. The recognition result 941 // will include the language tag of the language detected in the audio. Note: 942 // This feature is only supported for Voice Command and Voice Search use cases 943 // and performance may vary for other use cases (e.g., phone call 944 // transcription). 945 AlternativeLanguageCodes []string `protobuf:"bytes,18,rep,name=alternative_language_codes,json=alternativeLanguageCodes,proto3" json:"alternative_language_codes,omitempty"` 946 // Maximum number of recognition hypotheses to be returned. 947 // Specifically, the maximum number of `SpeechRecognitionAlternative` messages 948 // within each `SpeechRecognitionResult`. 949 // The server may return fewer than `max_alternatives`. 950 // Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of 951 // one. If omitted, will return a maximum of one. 952 MaxAlternatives int32 `protobuf:"varint,4,opt,name=max_alternatives,json=maxAlternatives,proto3" json:"max_alternatives,omitempty"` 953 // If set to `true`, the server will attempt to filter out 954 // profanities, replacing all but the initial character in each filtered word 955 // with asterisks, e.g. "f***". If set to `false` or omitted, profanities 956 // won't be filtered out. 957 ProfanityFilter bool `protobuf:"varint,5,opt,name=profanity_filter,json=profanityFilter,proto3" json:"profanity_filter,omitempty"` 958 // Speech adaptation configuration improves the accuracy of speech 959 // recognition. When speech adaptation is set it supersedes the 960 // `speech_contexts` field. For more information, see the [speech 961 // adaptation](https://cloud.google.com/speech-to-text/docs/adaptation) 962 // documentation. 963 Adaptation *SpeechAdaptation `protobuf:"bytes,20,opt,name=adaptation,proto3" json:"adaptation,omitempty"` 964 // Array of [SpeechContext][google.cloud.speech.v1p1beta1.SpeechContext]. 965 // A means to provide context to assist the speech recognition. For more 966 // information, see 967 // [speech 968 // adaptation](https://cloud.google.com/speech-to-text/docs/adaptation). 969 SpeechContexts []*SpeechContext `protobuf:"bytes,6,rep,name=speech_contexts,json=speechContexts,proto3" json:"speech_contexts,omitempty"` 970 // If `true`, the top result includes a list of words and 971 // the start and end time offsets (timestamps) for those words. If 972 // `false`, no word-level time offset information is returned. The default is 973 // `false`. 974 EnableWordTimeOffsets bool `protobuf:"varint,8,opt,name=enable_word_time_offsets,json=enableWordTimeOffsets,proto3" json:"enable_word_time_offsets,omitempty"` 975 // If `true`, the top result includes a list of words and the 976 // confidence for those words. If `false`, no word-level confidence 977 // information is returned. The default is `false`. 978 EnableWordConfidence bool `protobuf:"varint,15,opt,name=enable_word_confidence,json=enableWordConfidence,proto3" json:"enable_word_confidence,omitempty"` 979 // If 'true', adds punctuation to recognition result hypotheses. 980 // This feature is only available in select languages. Setting this for 981 // requests in other languages has no effect at all. 982 // The default 'false' value does not add punctuation to result hypotheses. 983 EnableAutomaticPunctuation bool `protobuf:"varint,11,opt,name=enable_automatic_punctuation,json=enableAutomaticPunctuation,proto3" json:"enable_automatic_punctuation,omitempty"` 984 // The spoken punctuation behavior for the call 985 // If not set, uses default behavior based on model of choice 986 // e.g. command_and_search will enable spoken punctuation by default 987 // If 'true', replaces spoken punctuation with the corresponding symbols in 988 // the request. For example, "how are you question mark" becomes "how are 989 // you?". See https://cloud.google.com/speech-to-text/docs/spoken-punctuation 990 // for support. If 'false', spoken punctuation is not replaced. 991 EnableSpokenPunctuation *wrapperspb.BoolValue `protobuf:"bytes,22,opt,name=enable_spoken_punctuation,json=enableSpokenPunctuation,proto3" json:"enable_spoken_punctuation,omitempty"` 992 // The spoken emoji behavior for the call 993 // If not set, uses default behavior based on model of choice 994 // If 'true', adds spoken emoji formatting for the request. This will replace 995 // spoken emojis with the corresponding Unicode symbols in the final 996 // transcript. If 'false', spoken emojis are not replaced. 997 EnableSpokenEmojis *wrapperspb.BoolValue `protobuf:"bytes,23,opt,name=enable_spoken_emojis,json=enableSpokenEmojis,proto3" json:"enable_spoken_emojis,omitempty"` 998 // If 'true', enables speaker detection for each recognized word in 999 // the top alternative of the recognition result using a speaker_tag provided 1000 // in the WordInfo. 1001 // Note: Use diarization_config instead. 1002 // 1003 // Deprecated: Do not use. 1004 EnableSpeakerDiarization bool `protobuf:"varint,16,opt,name=enable_speaker_diarization,json=enableSpeakerDiarization,proto3" json:"enable_speaker_diarization,omitempty"` 1005 // If set, specifies the estimated number of speakers in the conversation. 1006 // Defaults to '2'. Ignored unless enable_speaker_diarization is set to true. 1007 // Note: Use diarization_config instead. 1008 // 1009 // Deprecated: Do not use. 1010 DiarizationSpeakerCount int32 `protobuf:"varint,17,opt,name=diarization_speaker_count,json=diarizationSpeakerCount,proto3" json:"diarization_speaker_count,omitempty"` 1011 // Config to enable speaker diarization and set additional 1012 // parameters to make diarization better suited for your application. 1013 // Note: When this is enabled, we send all the words from the beginning of the 1014 // audio for the top alternative in every consecutive STREAMING responses. 1015 // This is done in order to improve our speaker tags as our models learn to 1016 // identify the speakers in the conversation over time. 1017 // For non-streaming requests, the diarization results will be provided only 1018 // in the top alternative of the FINAL SpeechRecognitionResult. 1019 DiarizationConfig *SpeakerDiarizationConfig `protobuf:"bytes,19,opt,name=diarization_config,json=diarizationConfig,proto3" json:"diarization_config,omitempty"` 1020 // Metadata regarding this request. 1021 Metadata *RecognitionMetadata `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` 1022 // Which model to select for the given request. Select the model 1023 // best suited to your domain to get best results. If a model is not 1024 // explicitly specified, then we auto-select a model based on the parameters 1025 // in the RecognitionConfig. 1026 // <table> 1027 // <tr> 1028 // <td><b>Model</b></td> 1029 // <td><b>Description</b></td> 1030 // </tr> 1031 // <tr> 1032 // <td><code>command_and_search</code></td> 1033 // <td>Best for short queries such as voice commands or voice search.</td> 1034 // </tr> 1035 // <tr> 1036 // <td><code>phone_call</code></td> 1037 // <td>Best for audio that originated from a phone call (typically 1038 // recorded at an 8khz sampling rate).</td> 1039 // </tr> 1040 // <tr> 1041 // <td><code>video</code></td> 1042 // <td>Best for audio that originated from video or includes multiple 1043 // speakers. Ideally the audio is recorded at a 16khz or greater 1044 // sampling rate. This is a premium model that costs more than the 1045 // standard rate.</td> 1046 // </tr> 1047 // <tr> 1048 // <td><code>default</code></td> 1049 // <td>Best for audio that is not one of the specific audio models. 1050 // For example, long-form audio. Ideally the audio is high-fidelity, 1051 // recorded at a 16khz or greater sampling rate.</td> 1052 // </tr> 1053 // </table> 1054 Model string `protobuf:"bytes,13,opt,name=model,proto3" json:"model,omitempty"` 1055 // Set to true to use an enhanced model for speech recognition. 1056 // If `use_enhanced` is set to true and the `model` field is not set, then 1057 // an appropriate enhanced model is chosen if an enhanced model exists for 1058 // the audio. 1059 // 1060 // If `use_enhanced` is true and an enhanced version of the specified model 1061 // does not exist, then the speech is recognized using the standard version 1062 // of the specified model. 1063 UseEnhanced bool `protobuf:"varint,14,opt,name=use_enhanced,json=useEnhanced,proto3" json:"use_enhanced,omitempty"` 1064} 1065 1066func (x *RecognitionConfig) Reset() { 1067 *x = RecognitionConfig{} 1068 if protoimpl.UnsafeEnabled { 1069 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[5] 1070 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1071 ms.StoreMessageInfo(mi) 1072 } 1073} 1074 1075func (x *RecognitionConfig) String() string { 1076 return protoimpl.X.MessageStringOf(x) 1077} 1078 1079func (*RecognitionConfig) ProtoMessage() {} 1080 1081func (x *RecognitionConfig) ProtoReflect() protoreflect.Message { 1082 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[5] 1083 if protoimpl.UnsafeEnabled && x != nil { 1084 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1085 if ms.LoadMessageInfo() == nil { 1086 ms.StoreMessageInfo(mi) 1087 } 1088 return ms 1089 } 1090 return mi.MessageOf(x) 1091} 1092 1093// Deprecated: Use RecognitionConfig.ProtoReflect.Descriptor instead. 1094func (*RecognitionConfig) Descriptor() ([]byte, []int) { 1095 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{5} 1096} 1097 1098func (x *RecognitionConfig) GetEncoding() RecognitionConfig_AudioEncoding { 1099 if x != nil { 1100 return x.Encoding 1101 } 1102 return RecognitionConfig_ENCODING_UNSPECIFIED 1103} 1104 1105func (x *RecognitionConfig) GetSampleRateHertz() int32 { 1106 if x != nil { 1107 return x.SampleRateHertz 1108 } 1109 return 0 1110} 1111 1112func (x *RecognitionConfig) GetAudioChannelCount() int32 { 1113 if x != nil { 1114 return x.AudioChannelCount 1115 } 1116 return 0 1117} 1118 1119func (x *RecognitionConfig) GetEnableSeparateRecognitionPerChannel() bool { 1120 if x != nil { 1121 return x.EnableSeparateRecognitionPerChannel 1122 } 1123 return false 1124} 1125 1126func (x *RecognitionConfig) GetLanguageCode() string { 1127 if x != nil { 1128 return x.LanguageCode 1129 } 1130 return "" 1131} 1132 1133func (x *RecognitionConfig) GetAlternativeLanguageCodes() []string { 1134 if x != nil { 1135 return x.AlternativeLanguageCodes 1136 } 1137 return nil 1138} 1139 1140func (x *RecognitionConfig) GetMaxAlternatives() int32 { 1141 if x != nil { 1142 return x.MaxAlternatives 1143 } 1144 return 0 1145} 1146 1147func (x *RecognitionConfig) GetProfanityFilter() bool { 1148 if x != nil { 1149 return x.ProfanityFilter 1150 } 1151 return false 1152} 1153 1154func (x *RecognitionConfig) GetAdaptation() *SpeechAdaptation { 1155 if x != nil { 1156 return x.Adaptation 1157 } 1158 return nil 1159} 1160 1161func (x *RecognitionConfig) GetSpeechContexts() []*SpeechContext { 1162 if x != nil { 1163 return x.SpeechContexts 1164 } 1165 return nil 1166} 1167 1168func (x *RecognitionConfig) GetEnableWordTimeOffsets() bool { 1169 if x != nil { 1170 return x.EnableWordTimeOffsets 1171 } 1172 return false 1173} 1174 1175func (x *RecognitionConfig) GetEnableWordConfidence() bool { 1176 if x != nil { 1177 return x.EnableWordConfidence 1178 } 1179 return false 1180} 1181 1182func (x *RecognitionConfig) GetEnableAutomaticPunctuation() bool { 1183 if x != nil { 1184 return x.EnableAutomaticPunctuation 1185 } 1186 return false 1187} 1188 1189func (x *RecognitionConfig) GetEnableSpokenPunctuation() *wrapperspb.BoolValue { 1190 if x != nil { 1191 return x.EnableSpokenPunctuation 1192 } 1193 return nil 1194} 1195 1196func (x *RecognitionConfig) GetEnableSpokenEmojis() *wrapperspb.BoolValue { 1197 if x != nil { 1198 return x.EnableSpokenEmojis 1199 } 1200 return nil 1201} 1202 1203// Deprecated: Do not use. 1204func (x *RecognitionConfig) GetEnableSpeakerDiarization() bool { 1205 if x != nil { 1206 return x.EnableSpeakerDiarization 1207 } 1208 return false 1209} 1210 1211// Deprecated: Do not use. 1212func (x *RecognitionConfig) GetDiarizationSpeakerCount() int32 { 1213 if x != nil { 1214 return x.DiarizationSpeakerCount 1215 } 1216 return 0 1217} 1218 1219func (x *RecognitionConfig) GetDiarizationConfig() *SpeakerDiarizationConfig { 1220 if x != nil { 1221 return x.DiarizationConfig 1222 } 1223 return nil 1224} 1225 1226func (x *RecognitionConfig) GetMetadata() *RecognitionMetadata { 1227 if x != nil { 1228 return x.Metadata 1229 } 1230 return nil 1231} 1232 1233func (x *RecognitionConfig) GetModel() string { 1234 if x != nil { 1235 return x.Model 1236 } 1237 return "" 1238} 1239 1240func (x *RecognitionConfig) GetUseEnhanced() bool { 1241 if x != nil { 1242 return x.UseEnhanced 1243 } 1244 return false 1245} 1246 1247// Config to enable speaker diarization. 1248type SpeakerDiarizationConfig struct { 1249 state protoimpl.MessageState 1250 sizeCache protoimpl.SizeCache 1251 unknownFields protoimpl.UnknownFields 1252 1253 // If 'true', enables speaker detection for each recognized word in 1254 // the top alternative of the recognition result using a speaker_tag provided 1255 // in the WordInfo. 1256 EnableSpeakerDiarization bool `protobuf:"varint,1,opt,name=enable_speaker_diarization,json=enableSpeakerDiarization,proto3" json:"enable_speaker_diarization,omitempty"` 1257 // Minimum number of speakers in the conversation. This range gives you more 1258 // flexibility by allowing the system to automatically determine the correct 1259 // number of speakers. If not set, the default value is 2. 1260 MinSpeakerCount int32 `protobuf:"varint,2,opt,name=min_speaker_count,json=minSpeakerCount,proto3" json:"min_speaker_count,omitempty"` 1261 // Maximum number of speakers in the conversation. This range gives you more 1262 // flexibility by allowing the system to automatically determine the correct 1263 // number of speakers. If not set, the default value is 6. 1264 MaxSpeakerCount int32 `protobuf:"varint,3,opt,name=max_speaker_count,json=maxSpeakerCount,proto3" json:"max_speaker_count,omitempty"` 1265 // Output only. Unused. 1266 // 1267 // Deprecated: Do not use. 1268 SpeakerTag int32 `protobuf:"varint,5,opt,name=speaker_tag,json=speakerTag,proto3" json:"speaker_tag,omitempty"` 1269} 1270 1271func (x *SpeakerDiarizationConfig) Reset() { 1272 *x = SpeakerDiarizationConfig{} 1273 if protoimpl.UnsafeEnabled { 1274 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[6] 1275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1276 ms.StoreMessageInfo(mi) 1277 } 1278} 1279 1280func (x *SpeakerDiarizationConfig) String() string { 1281 return protoimpl.X.MessageStringOf(x) 1282} 1283 1284func (*SpeakerDiarizationConfig) ProtoMessage() {} 1285 1286func (x *SpeakerDiarizationConfig) ProtoReflect() protoreflect.Message { 1287 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[6] 1288 if protoimpl.UnsafeEnabled && x != nil { 1289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1290 if ms.LoadMessageInfo() == nil { 1291 ms.StoreMessageInfo(mi) 1292 } 1293 return ms 1294 } 1295 return mi.MessageOf(x) 1296} 1297 1298// Deprecated: Use SpeakerDiarizationConfig.ProtoReflect.Descriptor instead. 1299func (*SpeakerDiarizationConfig) Descriptor() ([]byte, []int) { 1300 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{6} 1301} 1302 1303func (x *SpeakerDiarizationConfig) GetEnableSpeakerDiarization() bool { 1304 if x != nil { 1305 return x.EnableSpeakerDiarization 1306 } 1307 return false 1308} 1309 1310func (x *SpeakerDiarizationConfig) GetMinSpeakerCount() int32 { 1311 if x != nil { 1312 return x.MinSpeakerCount 1313 } 1314 return 0 1315} 1316 1317func (x *SpeakerDiarizationConfig) GetMaxSpeakerCount() int32 { 1318 if x != nil { 1319 return x.MaxSpeakerCount 1320 } 1321 return 0 1322} 1323 1324// Deprecated: Do not use. 1325func (x *SpeakerDiarizationConfig) GetSpeakerTag() int32 { 1326 if x != nil { 1327 return x.SpeakerTag 1328 } 1329 return 0 1330} 1331 1332// Description of audio data to be recognized. 1333type RecognitionMetadata struct { 1334 state protoimpl.MessageState 1335 sizeCache protoimpl.SizeCache 1336 unknownFields protoimpl.UnknownFields 1337 1338 // The use case most closely describing the audio content to be recognized. 1339 InteractionType RecognitionMetadata_InteractionType `protobuf:"varint,1,opt,name=interaction_type,json=interactionType,proto3,enum=google.cloud.speech.v1p1beta1.RecognitionMetadata_InteractionType" json:"interaction_type,omitempty"` 1340 // The industry vertical to which this speech recognition request most 1341 // closely applies. This is most indicative of the topics contained 1342 // in the audio. Use the 6-digit NAICS code to identify the industry 1343 // vertical - see https://www.naics.com/search/. 1344 IndustryNaicsCodeOfAudio uint32 `protobuf:"varint,3,opt,name=industry_naics_code_of_audio,json=industryNaicsCodeOfAudio,proto3" json:"industry_naics_code_of_audio,omitempty"` 1345 // The audio type that most closely describes the audio being recognized. 1346 MicrophoneDistance RecognitionMetadata_MicrophoneDistance `protobuf:"varint,4,opt,name=microphone_distance,json=microphoneDistance,proto3,enum=google.cloud.speech.v1p1beta1.RecognitionMetadata_MicrophoneDistance" json:"microphone_distance,omitempty"` 1347 // The original media the speech was recorded on. 1348 OriginalMediaType RecognitionMetadata_OriginalMediaType `protobuf:"varint,5,opt,name=original_media_type,json=originalMediaType,proto3,enum=google.cloud.speech.v1p1beta1.RecognitionMetadata_OriginalMediaType" json:"original_media_type,omitempty"` 1349 // The type of device the speech was recorded with. 1350 RecordingDeviceType RecognitionMetadata_RecordingDeviceType `protobuf:"varint,6,opt,name=recording_device_type,json=recordingDeviceType,proto3,enum=google.cloud.speech.v1p1beta1.RecognitionMetadata_RecordingDeviceType" json:"recording_device_type,omitempty"` 1351 // The device used to make the recording. Examples 'Nexus 5X' or 1352 // 'Polycom SoundStation IP 6000' or 'POTS' or 'VoIP' or 1353 // 'Cardioid Microphone'. 1354 RecordingDeviceName string `protobuf:"bytes,7,opt,name=recording_device_name,json=recordingDeviceName,proto3" json:"recording_device_name,omitempty"` 1355 // Mime type of the original audio file. For example `audio/m4a`, 1356 // `audio/x-alaw-basic`, `audio/mp3`, `audio/3gpp`. 1357 // A list of possible audio mime types is maintained at 1358 // http://www.iana.org/assignments/media-types/media-types.xhtml#audio 1359 OriginalMimeType string `protobuf:"bytes,8,opt,name=original_mime_type,json=originalMimeType,proto3" json:"original_mime_type,omitempty"` 1360 // Obfuscated (privacy-protected) ID of the user, to identify number of 1361 // unique users using the service. 1362 // 1363 // Deprecated: Do not use. 1364 ObfuscatedId int64 `protobuf:"varint,9,opt,name=obfuscated_id,json=obfuscatedId,proto3" json:"obfuscated_id,omitempty"` 1365 // Description of the content. Eg. "Recordings of federal supreme court 1366 // hearings from 2012". 1367 AudioTopic string `protobuf:"bytes,10,opt,name=audio_topic,json=audioTopic,proto3" json:"audio_topic,omitempty"` 1368} 1369 1370func (x *RecognitionMetadata) Reset() { 1371 *x = RecognitionMetadata{} 1372 if protoimpl.UnsafeEnabled { 1373 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[7] 1374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1375 ms.StoreMessageInfo(mi) 1376 } 1377} 1378 1379func (x *RecognitionMetadata) String() string { 1380 return protoimpl.X.MessageStringOf(x) 1381} 1382 1383func (*RecognitionMetadata) ProtoMessage() {} 1384 1385func (x *RecognitionMetadata) ProtoReflect() protoreflect.Message { 1386 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[7] 1387 if protoimpl.UnsafeEnabled && x != nil { 1388 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1389 if ms.LoadMessageInfo() == nil { 1390 ms.StoreMessageInfo(mi) 1391 } 1392 return ms 1393 } 1394 return mi.MessageOf(x) 1395} 1396 1397// Deprecated: Use RecognitionMetadata.ProtoReflect.Descriptor instead. 1398func (*RecognitionMetadata) Descriptor() ([]byte, []int) { 1399 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{7} 1400} 1401 1402func (x *RecognitionMetadata) GetInteractionType() RecognitionMetadata_InteractionType { 1403 if x != nil { 1404 return x.InteractionType 1405 } 1406 return RecognitionMetadata_INTERACTION_TYPE_UNSPECIFIED 1407} 1408 1409func (x *RecognitionMetadata) GetIndustryNaicsCodeOfAudio() uint32 { 1410 if x != nil { 1411 return x.IndustryNaicsCodeOfAudio 1412 } 1413 return 0 1414} 1415 1416func (x *RecognitionMetadata) GetMicrophoneDistance() RecognitionMetadata_MicrophoneDistance { 1417 if x != nil { 1418 return x.MicrophoneDistance 1419 } 1420 return RecognitionMetadata_MICROPHONE_DISTANCE_UNSPECIFIED 1421} 1422 1423func (x *RecognitionMetadata) GetOriginalMediaType() RecognitionMetadata_OriginalMediaType { 1424 if x != nil { 1425 return x.OriginalMediaType 1426 } 1427 return RecognitionMetadata_ORIGINAL_MEDIA_TYPE_UNSPECIFIED 1428} 1429 1430func (x *RecognitionMetadata) GetRecordingDeviceType() RecognitionMetadata_RecordingDeviceType { 1431 if x != nil { 1432 return x.RecordingDeviceType 1433 } 1434 return RecognitionMetadata_RECORDING_DEVICE_TYPE_UNSPECIFIED 1435} 1436 1437func (x *RecognitionMetadata) GetRecordingDeviceName() string { 1438 if x != nil { 1439 return x.RecordingDeviceName 1440 } 1441 return "" 1442} 1443 1444func (x *RecognitionMetadata) GetOriginalMimeType() string { 1445 if x != nil { 1446 return x.OriginalMimeType 1447 } 1448 return "" 1449} 1450 1451// Deprecated: Do not use. 1452func (x *RecognitionMetadata) GetObfuscatedId() int64 { 1453 if x != nil { 1454 return x.ObfuscatedId 1455 } 1456 return 0 1457} 1458 1459func (x *RecognitionMetadata) GetAudioTopic() string { 1460 if x != nil { 1461 return x.AudioTopic 1462 } 1463 return "" 1464} 1465 1466// Provides "hints" to the speech recognizer to favor specific words and phrases 1467// in the results. 1468type SpeechContext struct { 1469 state protoimpl.MessageState 1470 sizeCache protoimpl.SizeCache 1471 unknownFields protoimpl.UnknownFields 1472 1473 // A list of strings containing words and phrases "hints" so that 1474 // the speech recognition is more likely to recognize them. This can be used 1475 // to improve the accuracy for specific words and phrases, for example, if 1476 // specific commands are typically spoken by the user. This can also be used 1477 // to add additional words to the vocabulary of the recognizer. See 1478 // [usage limits](https://cloud.google.com/speech-to-text/quotas#content). 1479 // 1480 // List items can also be set to classes for groups of words that represent 1481 // common concepts that occur in natural language. For example, rather than 1482 // providing phrase hints for every month of the year, using the $MONTH class 1483 // improves the likelihood of correctly transcribing audio that includes 1484 // months. 1485 Phrases []string `protobuf:"bytes,1,rep,name=phrases,proto3" json:"phrases,omitempty"` 1486 // Hint Boost. Positive value will increase the probability that a specific 1487 // phrase will be recognized over other similar sounding phrases. The higher 1488 // the boost, the higher the chance of false positive recognition as well. 1489 // Negative boost values would correspond to anti-biasing. Anti-biasing is not 1490 // enabled, so negative boost will simply be ignored. Though `boost` can 1491 // accept a wide range of positive values, most use cases are best served with 1492 // values between 0 and 20. We recommend using a binary search approach to 1493 // finding the optimal value for your use case. 1494 Boost float32 `protobuf:"fixed32,4,opt,name=boost,proto3" json:"boost,omitempty"` 1495} 1496 1497func (x *SpeechContext) Reset() { 1498 *x = SpeechContext{} 1499 if protoimpl.UnsafeEnabled { 1500 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[8] 1501 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1502 ms.StoreMessageInfo(mi) 1503 } 1504} 1505 1506func (x *SpeechContext) String() string { 1507 return protoimpl.X.MessageStringOf(x) 1508} 1509 1510func (*SpeechContext) ProtoMessage() {} 1511 1512func (x *SpeechContext) ProtoReflect() protoreflect.Message { 1513 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[8] 1514 if protoimpl.UnsafeEnabled && x != nil { 1515 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1516 if ms.LoadMessageInfo() == nil { 1517 ms.StoreMessageInfo(mi) 1518 } 1519 return ms 1520 } 1521 return mi.MessageOf(x) 1522} 1523 1524// Deprecated: Use SpeechContext.ProtoReflect.Descriptor instead. 1525func (*SpeechContext) Descriptor() ([]byte, []int) { 1526 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{8} 1527} 1528 1529func (x *SpeechContext) GetPhrases() []string { 1530 if x != nil { 1531 return x.Phrases 1532 } 1533 return nil 1534} 1535 1536func (x *SpeechContext) GetBoost() float32 { 1537 if x != nil { 1538 return x.Boost 1539 } 1540 return 0 1541} 1542 1543// Contains audio data in the encoding specified in the `RecognitionConfig`. 1544// Either `content` or `uri` must be supplied. Supplying both or neither 1545// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. See 1546// [content limits](https://cloud.google.com/speech-to-text/quotas#content). 1547type RecognitionAudio struct { 1548 state protoimpl.MessageState 1549 sizeCache protoimpl.SizeCache 1550 unknownFields protoimpl.UnknownFields 1551 1552 // The audio source, which is either inline content or a Google Cloud 1553 // Storage uri. 1554 // 1555 // Types that are assignable to AudioSource: 1556 // *RecognitionAudio_Content 1557 // *RecognitionAudio_Uri 1558 AudioSource isRecognitionAudio_AudioSource `protobuf_oneof:"audio_source"` 1559} 1560 1561func (x *RecognitionAudio) Reset() { 1562 *x = RecognitionAudio{} 1563 if protoimpl.UnsafeEnabled { 1564 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[9] 1565 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1566 ms.StoreMessageInfo(mi) 1567 } 1568} 1569 1570func (x *RecognitionAudio) String() string { 1571 return protoimpl.X.MessageStringOf(x) 1572} 1573 1574func (*RecognitionAudio) ProtoMessage() {} 1575 1576func (x *RecognitionAudio) ProtoReflect() protoreflect.Message { 1577 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[9] 1578 if protoimpl.UnsafeEnabled && x != nil { 1579 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1580 if ms.LoadMessageInfo() == nil { 1581 ms.StoreMessageInfo(mi) 1582 } 1583 return ms 1584 } 1585 return mi.MessageOf(x) 1586} 1587 1588// Deprecated: Use RecognitionAudio.ProtoReflect.Descriptor instead. 1589func (*RecognitionAudio) Descriptor() ([]byte, []int) { 1590 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{9} 1591} 1592 1593func (m *RecognitionAudio) GetAudioSource() isRecognitionAudio_AudioSource { 1594 if m != nil { 1595 return m.AudioSource 1596 } 1597 return nil 1598} 1599 1600func (x *RecognitionAudio) GetContent() []byte { 1601 if x, ok := x.GetAudioSource().(*RecognitionAudio_Content); ok { 1602 return x.Content 1603 } 1604 return nil 1605} 1606 1607func (x *RecognitionAudio) GetUri() string { 1608 if x, ok := x.GetAudioSource().(*RecognitionAudio_Uri); ok { 1609 return x.Uri 1610 } 1611 return "" 1612} 1613 1614type isRecognitionAudio_AudioSource interface { 1615 isRecognitionAudio_AudioSource() 1616} 1617 1618type RecognitionAudio_Content struct { 1619 // The audio data bytes encoded as specified in 1620 // `RecognitionConfig`. Note: as with all bytes fields, proto buffers use a 1621 // pure binary representation, whereas JSON representations use base64. 1622 Content []byte `protobuf:"bytes,1,opt,name=content,proto3,oneof"` 1623} 1624 1625type RecognitionAudio_Uri struct { 1626 // URI that points to a file that contains audio data bytes as specified in 1627 // `RecognitionConfig`. The file must not be compressed (for example, gzip). 1628 // Currently, only Google Cloud Storage URIs are 1629 // supported, which must be specified in the following format: 1630 // `gs://bucket_name/object_name` (other URI formats return 1631 // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see 1632 // [Request URIs](https://cloud.google.com/storage/docs/reference-uris). 1633 Uri string `protobuf:"bytes,2,opt,name=uri,proto3,oneof"` 1634} 1635 1636func (*RecognitionAudio_Content) isRecognitionAudio_AudioSource() {} 1637 1638func (*RecognitionAudio_Uri) isRecognitionAudio_AudioSource() {} 1639 1640// The only message returned to the client by the `Recognize` method. It 1641// contains the result as zero or more sequential `SpeechRecognitionResult` 1642// messages. 1643type RecognizeResponse struct { 1644 state protoimpl.MessageState 1645 sizeCache protoimpl.SizeCache 1646 unknownFields protoimpl.UnknownFields 1647 1648 // Sequential list of transcription results corresponding to 1649 // sequential portions of audio. 1650 Results []*SpeechRecognitionResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` 1651} 1652 1653func (x *RecognizeResponse) Reset() { 1654 *x = RecognizeResponse{} 1655 if protoimpl.UnsafeEnabled { 1656 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[10] 1657 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1658 ms.StoreMessageInfo(mi) 1659 } 1660} 1661 1662func (x *RecognizeResponse) String() string { 1663 return protoimpl.X.MessageStringOf(x) 1664} 1665 1666func (*RecognizeResponse) ProtoMessage() {} 1667 1668func (x *RecognizeResponse) ProtoReflect() protoreflect.Message { 1669 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[10] 1670 if protoimpl.UnsafeEnabled && x != nil { 1671 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1672 if ms.LoadMessageInfo() == nil { 1673 ms.StoreMessageInfo(mi) 1674 } 1675 return ms 1676 } 1677 return mi.MessageOf(x) 1678} 1679 1680// Deprecated: Use RecognizeResponse.ProtoReflect.Descriptor instead. 1681func (*RecognizeResponse) Descriptor() ([]byte, []int) { 1682 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{10} 1683} 1684 1685func (x *RecognizeResponse) GetResults() []*SpeechRecognitionResult { 1686 if x != nil { 1687 return x.Results 1688 } 1689 return nil 1690} 1691 1692// The only message returned to the client by the `LongRunningRecognize` method. 1693// It contains the result as zero or more sequential `SpeechRecognitionResult` 1694// messages. It is included in the `result.response` field of the `Operation` 1695// returned by the `GetOperation` call of the `google::longrunning::Operations` 1696// service. 1697type LongRunningRecognizeResponse struct { 1698 state protoimpl.MessageState 1699 sizeCache protoimpl.SizeCache 1700 unknownFields protoimpl.UnknownFields 1701 1702 // Sequential list of transcription results corresponding to 1703 // sequential portions of audio. 1704 Results []*SpeechRecognitionResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` 1705 // Original output config if present in the request. 1706 OutputConfig *TranscriptOutputConfig `protobuf:"bytes,6,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 1707 // If the transcript output fails this field contains the relevant error. 1708 OutputError *status.Status `protobuf:"bytes,7,opt,name=output_error,json=outputError,proto3" json:"output_error,omitempty"` 1709} 1710 1711func (x *LongRunningRecognizeResponse) Reset() { 1712 *x = LongRunningRecognizeResponse{} 1713 if protoimpl.UnsafeEnabled { 1714 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[11] 1715 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1716 ms.StoreMessageInfo(mi) 1717 } 1718} 1719 1720func (x *LongRunningRecognizeResponse) String() string { 1721 return protoimpl.X.MessageStringOf(x) 1722} 1723 1724func (*LongRunningRecognizeResponse) ProtoMessage() {} 1725 1726func (x *LongRunningRecognizeResponse) ProtoReflect() protoreflect.Message { 1727 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[11] 1728 if protoimpl.UnsafeEnabled && x != nil { 1729 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1730 if ms.LoadMessageInfo() == nil { 1731 ms.StoreMessageInfo(mi) 1732 } 1733 return ms 1734 } 1735 return mi.MessageOf(x) 1736} 1737 1738// Deprecated: Use LongRunningRecognizeResponse.ProtoReflect.Descriptor instead. 1739func (*LongRunningRecognizeResponse) Descriptor() ([]byte, []int) { 1740 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{11} 1741} 1742 1743func (x *LongRunningRecognizeResponse) GetResults() []*SpeechRecognitionResult { 1744 if x != nil { 1745 return x.Results 1746 } 1747 return nil 1748} 1749 1750func (x *LongRunningRecognizeResponse) GetOutputConfig() *TranscriptOutputConfig { 1751 if x != nil { 1752 return x.OutputConfig 1753 } 1754 return nil 1755} 1756 1757func (x *LongRunningRecognizeResponse) GetOutputError() *status.Status { 1758 if x != nil { 1759 return x.OutputError 1760 } 1761 return nil 1762} 1763 1764// Describes the progress of a long-running `LongRunningRecognize` call. It is 1765// included in the `metadata` field of the `Operation` returned by the 1766// `GetOperation` call of the `google::longrunning::Operations` service. 1767type LongRunningRecognizeMetadata struct { 1768 state protoimpl.MessageState 1769 sizeCache protoimpl.SizeCache 1770 unknownFields protoimpl.UnknownFields 1771 1772 // Approximate percentage of audio processed thus far. Guaranteed to be 100 1773 // when the audio is fully processed and the results are available. 1774 ProgressPercent int32 `protobuf:"varint,1,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"` 1775 // Time when the request was received. 1776 StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 1777 // Time of the most recent processing update. 1778 LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` 1779 // Output only. The URI of the audio file being transcribed. Empty if the audio was sent 1780 // as byte content. 1781 Uri string `protobuf:"bytes,4,opt,name=uri,proto3" json:"uri,omitempty"` 1782 // Output only. A copy of the TranscriptOutputConfig if it was set in the request. 1783 OutputConfig *TranscriptOutputConfig `protobuf:"bytes,5,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 1784} 1785 1786func (x *LongRunningRecognizeMetadata) Reset() { 1787 *x = LongRunningRecognizeMetadata{} 1788 if protoimpl.UnsafeEnabled { 1789 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[12] 1790 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1791 ms.StoreMessageInfo(mi) 1792 } 1793} 1794 1795func (x *LongRunningRecognizeMetadata) String() string { 1796 return protoimpl.X.MessageStringOf(x) 1797} 1798 1799func (*LongRunningRecognizeMetadata) ProtoMessage() {} 1800 1801func (x *LongRunningRecognizeMetadata) ProtoReflect() protoreflect.Message { 1802 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[12] 1803 if protoimpl.UnsafeEnabled && x != nil { 1804 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1805 if ms.LoadMessageInfo() == nil { 1806 ms.StoreMessageInfo(mi) 1807 } 1808 return ms 1809 } 1810 return mi.MessageOf(x) 1811} 1812 1813// Deprecated: Use LongRunningRecognizeMetadata.ProtoReflect.Descriptor instead. 1814func (*LongRunningRecognizeMetadata) Descriptor() ([]byte, []int) { 1815 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{12} 1816} 1817 1818func (x *LongRunningRecognizeMetadata) GetProgressPercent() int32 { 1819 if x != nil { 1820 return x.ProgressPercent 1821 } 1822 return 0 1823} 1824 1825func (x *LongRunningRecognizeMetadata) GetStartTime() *timestamppb.Timestamp { 1826 if x != nil { 1827 return x.StartTime 1828 } 1829 return nil 1830} 1831 1832func (x *LongRunningRecognizeMetadata) GetLastUpdateTime() *timestamppb.Timestamp { 1833 if x != nil { 1834 return x.LastUpdateTime 1835 } 1836 return nil 1837} 1838 1839func (x *LongRunningRecognizeMetadata) GetUri() string { 1840 if x != nil { 1841 return x.Uri 1842 } 1843 return "" 1844} 1845 1846func (x *LongRunningRecognizeMetadata) GetOutputConfig() *TranscriptOutputConfig { 1847 if x != nil { 1848 return x.OutputConfig 1849 } 1850 return nil 1851} 1852 1853// `StreamingRecognizeResponse` is the only message returned to the client by 1854// `StreamingRecognize`. A series of zero or more `StreamingRecognizeResponse` 1855// messages are streamed back to the client. If there is no recognizable 1856// audio, and `single_utterance` is set to false, then no messages are streamed 1857// back to the client. 1858// 1859// Here's an example of a series of `StreamingRecognizeResponse`s that might be 1860// returned while processing audio: 1861// 1862// 1. results { alternatives { transcript: "tube" } stability: 0.01 } 1863// 1864// 2. results { alternatives { transcript: "to be a" } stability: 0.01 } 1865// 1866// 3. results { alternatives { transcript: "to be" } stability: 0.9 } 1867// results { alternatives { transcript: " or not to be" } stability: 0.01 } 1868// 1869// 4. results { alternatives { transcript: "to be or not to be" 1870// confidence: 0.92 } 1871// alternatives { transcript: "to bee or not to bee" } 1872// is_final: true } 1873// 1874// 5. results { alternatives { transcript: " that's" } stability: 0.01 } 1875// 1876// 6. results { alternatives { transcript: " that is" } stability: 0.9 } 1877// results { alternatives { transcript: " the question" } stability: 0.01 } 1878// 1879// 7. results { alternatives { transcript: " that is the question" 1880// confidence: 0.98 } 1881// alternatives { transcript: " that was the question" } 1882// is_final: true } 1883// 1884// Notes: 1885// 1886// - Only two of the above responses #4 and #7 contain final results; they are 1887// indicated by `is_final: true`. Concatenating these together generates the 1888// full transcript: "to be or not to be that is the question". 1889// 1890// - The others contain interim `results`. #3 and #6 contain two interim 1891// `results`: the first portion has a high stability and is less likely to 1892// change; the second portion has a low stability and is very likely to 1893// change. A UI designer might choose to show only high stability `results`. 1894// 1895// - The specific `stability` and `confidence` values shown above are only for 1896// illustrative purposes. Actual values may vary. 1897// 1898// - In each response, only one of these fields will be set: 1899// `error`, 1900// `speech_event_type`, or 1901// one or more (repeated) `results`. 1902type StreamingRecognizeResponse struct { 1903 state protoimpl.MessageState 1904 sizeCache protoimpl.SizeCache 1905 unknownFields protoimpl.UnknownFields 1906 1907 // If set, returns a [google.rpc.Status][google.rpc.Status] message that 1908 // specifies the error for the operation. 1909 Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` 1910 // This repeated list contains zero or more results that 1911 // correspond to consecutive portions of the audio currently being processed. 1912 // It contains zero or one `is_final=true` result (the newly settled portion), 1913 // followed by zero or more `is_final=false` results (the interim results). 1914 Results []*StreamingRecognitionResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` 1915 // Indicates the type of speech event. 1916 SpeechEventType StreamingRecognizeResponse_SpeechEventType `protobuf:"varint,4,opt,name=speech_event_type,json=speechEventType,proto3,enum=google.cloud.speech.v1p1beta1.StreamingRecognizeResponse_SpeechEventType" json:"speech_event_type,omitempty"` 1917} 1918 1919func (x *StreamingRecognizeResponse) Reset() { 1920 *x = StreamingRecognizeResponse{} 1921 if protoimpl.UnsafeEnabled { 1922 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[13] 1923 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1924 ms.StoreMessageInfo(mi) 1925 } 1926} 1927 1928func (x *StreamingRecognizeResponse) String() string { 1929 return protoimpl.X.MessageStringOf(x) 1930} 1931 1932func (*StreamingRecognizeResponse) ProtoMessage() {} 1933 1934func (x *StreamingRecognizeResponse) ProtoReflect() protoreflect.Message { 1935 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[13] 1936 if protoimpl.UnsafeEnabled && x != nil { 1937 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1938 if ms.LoadMessageInfo() == nil { 1939 ms.StoreMessageInfo(mi) 1940 } 1941 return ms 1942 } 1943 return mi.MessageOf(x) 1944} 1945 1946// Deprecated: Use StreamingRecognizeResponse.ProtoReflect.Descriptor instead. 1947func (*StreamingRecognizeResponse) Descriptor() ([]byte, []int) { 1948 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{13} 1949} 1950 1951func (x *StreamingRecognizeResponse) GetError() *status.Status { 1952 if x != nil { 1953 return x.Error 1954 } 1955 return nil 1956} 1957 1958func (x *StreamingRecognizeResponse) GetResults() []*StreamingRecognitionResult { 1959 if x != nil { 1960 return x.Results 1961 } 1962 return nil 1963} 1964 1965func (x *StreamingRecognizeResponse) GetSpeechEventType() StreamingRecognizeResponse_SpeechEventType { 1966 if x != nil { 1967 return x.SpeechEventType 1968 } 1969 return StreamingRecognizeResponse_SPEECH_EVENT_UNSPECIFIED 1970} 1971 1972// A streaming speech recognition result corresponding to a portion of the audio 1973// that is currently being processed. 1974type StreamingRecognitionResult struct { 1975 state protoimpl.MessageState 1976 sizeCache protoimpl.SizeCache 1977 unknownFields protoimpl.UnknownFields 1978 1979 // May contain one or more recognition hypotheses (up to the 1980 // maximum specified in `max_alternatives`). 1981 // These alternatives are ordered in terms of accuracy, with the top (first) 1982 // alternative being the most probable, as ranked by the recognizer. 1983 Alternatives []*SpeechRecognitionAlternative `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"` 1984 // If `false`, this `StreamingRecognitionResult` represents an 1985 // interim result that may change. If `true`, this is the final time the 1986 // speech service will return this particular `StreamingRecognitionResult`, 1987 // the recognizer will not return any further hypotheses for this portion of 1988 // the transcript and corresponding audio. 1989 IsFinal bool `protobuf:"varint,2,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"` 1990 // An estimate of the likelihood that the recognizer will not 1991 // change its guess about this interim result. Values range from 0.0 1992 // (completely unstable) to 1.0 (completely stable). 1993 // This field is only provided for interim results (`is_final=false`). 1994 // The default of 0.0 is a sentinel value indicating `stability` was not set. 1995 Stability float32 `protobuf:"fixed32,3,opt,name=stability,proto3" json:"stability,omitempty"` 1996 // Time offset of the end of this result relative to the 1997 // beginning of the audio. 1998 ResultEndTime *durationpb.Duration `protobuf:"bytes,4,opt,name=result_end_time,json=resultEndTime,proto3" json:"result_end_time,omitempty"` 1999 // For multi-channel audio, this is the channel number corresponding to the 2000 // recognized result for the audio from that channel. 2001 // For audio_channel_count = N, its output values can range from '1' to 'N'. 2002 ChannelTag int32 `protobuf:"varint,5,opt,name=channel_tag,json=channelTag,proto3" json:"channel_tag,omitempty"` 2003 // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag 2004 // of the language in this result. This language code was detected to have 2005 // the most likelihood of being spoken in the audio. 2006 LanguageCode string `protobuf:"bytes,6,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 2007} 2008 2009func (x *StreamingRecognitionResult) Reset() { 2010 *x = StreamingRecognitionResult{} 2011 if protoimpl.UnsafeEnabled { 2012 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[14] 2013 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2014 ms.StoreMessageInfo(mi) 2015 } 2016} 2017 2018func (x *StreamingRecognitionResult) String() string { 2019 return protoimpl.X.MessageStringOf(x) 2020} 2021 2022func (*StreamingRecognitionResult) ProtoMessage() {} 2023 2024func (x *StreamingRecognitionResult) ProtoReflect() protoreflect.Message { 2025 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[14] 2026 if protoimpl.UnsafeEnabled && x != nil { 2027 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2028 if ms.LoadMessageInfo() == nil { 2029 ms.StoreMessageInfo(mi) 2030 } 2031 return ms 2032 } 2033 return mi.MessageOf(x) 2034} 2035 2036// Deprecated: Use StreamingRecognitionResult.ProtoReflect.Descriptor instead. 2037func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) { 2038 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{14} 2039} 2040 2041func (x *StreamingRecognitionResult) GetAlternatives() []*SpeechRecognitionAlternative { 2042 if x != nil { 2043 return x.Alternatives 2044 } 2045 return nil 2046} 2047 2048func (x *StreamingRecognitionResult) GetIsFinal() bool { 2049 if x != nil { 2050 return x.IsFinal 2051 } 2052 return false 2053} 2054 2055func (x *StreamingRecognitionResult) GetStability() float32 { 2056 if x != nil { 2057 return x.Stability 2058 } 2059 return 0 2060} 2061 2062func (x *StreamingRecognitionResult) GetResultEndTime() *durationpb.Duration { 2063 if x != nil { 2064 return x.ResultEndTime 2065 } 2066 return nil 2067} 2068 2069func (x *StreamingRecognitionResult) GetChannelTag() int32 { 2070 if x != nil { 2071 return x.ChannelTag 2072 } 2073 return 0 2074} 2075 2076func (x *StreamingRecognitionResult) GetLanguageCode() string { 2077 if x != nil { 2078 return x.LanguageCode 2079 } 2080 return "" 2081} 2082 2083// A speech recognition result corresponding to a portion of the audio. 2084type SpeechRecognitionResult struct { 2085 state protoimpl.MessageState 2086 sizeCache protoimpl.SizeCache 2087 unknownFields protoimpl.UnknownFields 2088 2089 // May contain one or more recognition hypotheses (up to the 2090 // maximum specified in `max_alternatives`). 2091 // These alternatives are ordered in terms of accuracy, with the top (first) 2092 // alternative being the most probable, as ranked by the recognizer. 2093 Alternatives []*SpeechRecognitionAlternative `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"` 2094 // For multi-channel audio, this is the channel number corresponding to the 2095 // recognized result for the audio from that channel. 2096 // For audio_channel_count = N, its output values can range from '1' to 'N'. 2097 ChannelTag int32 `protobuf:"varint,2,opt,name=channel_tag,json=channelTag,proto3" json:"channel_tag,omitempty"` 2098 // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag 2099 // of the language in this result. This language code was detected to have 2100 // the most likelihood of being spoken in the audio. 2101 LanguageCode string `protobuf:"bytes,5,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 2102} 2103 2104func (x *SpeechRecognitionResult) Reset() { 2105 *x = SpeechRecognitionResult{} 2106 if protoimpl.UnsafeEnabled { 2107 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[15] 2108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2109 ms.StoreMessageInfo(mi) 2110 } 2111} 2112 2113func (x *SpeechRecognitionResult) String() string { 2114 return protoimpl.X.MessageStringOf(x) 2115} 2116 2117func (*SpeechRecognitionResult) ProtoMessage() {} 2118 2119func (x *SpeechRecognitionResult) ProtoReflect() protoreflect.Message { 2120 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[15] 2121 if protoimpl.UnsafeEnabled && x != nil { 2122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2123 if ms.LoadMessageInfo() == nil { 2124 ms.StoreMessageInfo(mi) 2125 } 2126 return ms 2127 } 2128 return mi.MessageOf(x) 2129} 2130 2131// Deprecated: Use SpeechRecognitionResult.ProtoReflect.Descriptor instead. 2132func (*SpeechRecognitionResult) Descriptor() ([]byte, []int) { 2133 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{15} 2134} 2135 2136func (x *SpeechRecognitionResult) GetAlternatives() []*SpeechRecognitionAlternative { 2137 if x != nil { 2138 return x.Alternatives 2139 } 2140 return nil 2141} 2142 2143func (x *SpeechRecognitionResult) GetChannelTag() int32 { 2144 if x != nil { 2145 return x.ChannelTag 2146 } 2147 return 0 2148} 2149 2150func (x *SpeechRecognitionResult) GetLanguageCode() string { 2151 if x != nil { 2152 return x.LanguageCode 2153 } 2154 return "" 2155} 2156 2157// Alternative hypotheses (a.k.a. n-best list). 2158type SpeechRecognitionAlternative struct { 2159 state protoimpl.MessageState 2160 sizeCache protoimpl.SizeCache 2161 unknownFields protoimpl.UnknownFields 2162 2163 // Transcript text representing the words that the user spoke. 2164 Transcript string `protobuf:"bytes,1,opt,name=transcript,proto3" json:"transcript,omitempty"` 2165 // The confidence estimate between 0.0 and 1.0. A higher number 2166 // indicates an estimated greater likelihood that the recognized words are 2167 // correct. This field is set only for the top alternative of a non-streaming 2168 // result or, of a streaming result where `is_final=true`. 2169 // This field is not guaranteed to be accurate and users should not rely on it 2170 // to be always provided. 2171 // The default of 0.0 is a sentinel value indicating `confidence` was not set. 2172 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` 2173 // A list of word-specific information for each recognized word. 2174 // Note: When `enable_speaker_diarization` is true, you will see all the words 2175 // from the beginning of the audio. 2176 Words []*WordInfo `protobuf:"bytes,3,rep,name=words,proto3" json:"words,omitempty"` 2177} 2178 2179func (x *SpeechRecognitionAlternative) Reset() { 2180 *x = SpeechRecognitionAlternative{} 2181 if protoimpl.UnsafeEnabled { 2182 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[16] 2183 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2184 ms.StoreMessageInfo(mi) 2185 } 2186} 2187 2188func (x *SpeechRecognitionAlternative) String() string { 2189 return protoimpl.X.MessageStringOf(x) 2190} 2191 2192func (*SpeechRecognitionAlternative) ProtoMessage() {} 2193 2194func (x *SpeechRecognitionAlternative) ProtoReflect() protoreflect.Message { 2195 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[16] 2196 if protoimpl.UnsafeEnabled && x != nil { 2197 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2198 if ms.LoadMessageInfo() == nil { 2199 ms.StoreMessageInfo(mi) 2200 } 2201 return ms 2202 } 2203 return mi.MessageOf(x) 2204} 2205 2206// Deprecated: Use SpeechRecognitionAlternative.ProtoReflect.Descriptor instead. 2207func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) { 2208 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{16} 2209} 2210 2211func (x *SpeechRecognitionAlternative) GetTranscript() string { 2212 if x != nil { 2213 return x.Transcript 2214 } 2215 return "" 2216} 2217 2218func (x *SpeechRecognitionAlternative) GetConfidence() float32 { 2219 if x != nil { 2220 return x.Confidence 2221 } 2222 return 0 2223} 2224 2225func (x *SpeechRecognitionAlternative) GetWords() []*WordInfo { 2226 if x != nil { 2227 return x.Words 2228 } 2229 return nil 2230} 2231 2232// Word-specific information for recognized words. 2233type WordInfo struct { 2234 state protoimpl.MessageState 2235 sizeCache protoimpl.SizeCache 2236 unknownFields protoimpl.UnknownFields 2237 2238 // Time offset relative to the beginning of the audio, 2239 // and corresponding to the start of the spoken word. 2240 // This field is only set if `enable_word_time_offsets=true` and only 2241 // in the top hypothesis. 2242 // This is an experimental feature and the accuracy of the time offset can 2243 // vary. 2244 StartTime *durationpb.Duration `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 2245 // Time offset relative to the beginning of the audio, 2246 // and corresponding to the end of the spoken word. 2247 // This field is only set if `enable_word_time_offsets=true` and only 2248 // in the top hypothesis. 2249 // This is an experimental feature and the accuracy of the time offset can 2250 // vary. 2251 EndTime *durationpb.Duration `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 2252 // The word corresponding to this set of information. 2253 Word string `protobuf:"bytes,3,opt,name=word,proto3" json:"word,omitempty"` 2254 // The confidence estimate between 0.0 and 1.0. A higher number 2255 // indicates an estimated greater likelihood that the recognized words are 2256 // correct. This field is set only for the top alternative of a non-streaming 2257 // result or, of a streaming result where `is_final=true`. 2258 // This field is not guaranteed to be accurate and users should not rely on it 2259 // to be always provided. 2260 // The default of 0.0 is a sentinel value indicating `confidence` was not set. 2261 Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"` 2262 // Output only. A distinct integer value is assigned for every speaker within 2263 // the audio. This field specifies which one of those speakers was detected to 2264 // have spoken this word. Value ranges from '1' to diarization_speaker_count. 2265 // speaker_tag is set if enable_speaker_diarization = 'true' and only in the 2266 // top alternative. 2267 SpeakerTag int32 `protobuf:"varint,5,opt,name=speaker_tag,json=speakerTag,proto3" json:"speaker_tag,omitempty"` 2268} 2269 2270func (x *WordInfo) Reset() { 2271 *x = WordInfo{} 2272 if protoimpl.UnsafeEnabled { 2273 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[17] 2274 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2275 ms.StoreMessageInfo(mi) 2276 } 2277} 2278 2279func (x *WordInfo) String() string { 2280 return protoimpl.X.MessageStringOf(x) 2281} 2282 2283func (*WordInfo) ProtoMessage() {} 2284 2285func (x *WordInfo) ProtoReflect() protoreflect.Message { 2286 mi := &file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[17] 2287 if protoimpl.UnsafeEnabled && x != nil { 2288 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2289 if ms.LoadMessageInfo() == nil { 2290 ms.StoreMessageInfo(mi) 2291 } 2292 return ms 2293 } 2294 return mi.MessageOf(x) 2295} 2296 2297// Deprecated: Use WordInfo.ProtoReflect.Descriptor instead. 2298func (*WordInfo) Descriptor() ([]byte, []int) { 2299 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP(), []int{17} 2300} 2301 2302func (x *WordInfo) GetStartTime() *durationpb.Duration { 2303 if x != nil { 2304 return x.StartTime 2305 } 2306 return nil 2307} 2308 2309func (x *WordInfo) GetEndTime() *durationpb.Duration { 2310 if x != nil { 2311 return x.EndTime 2312 } 2313 return nil 2314} 2315 2316func (x *WordInfo) GetWord() string { 2317 if x != nil { 2318 return x.Word 2319 } 2320 return "" 2321} 2322 2323func (x *WordInfo) GetConfidence() float32 { 2324 if x != nil { 2325 return x.Confidence 2326 } 2327 return 0 2328} 2329 2330func (x *WordInfo) GetSpeakerTag() int32 { 2331 if x != nil { 2332 return x.SpeakerTag 2333 } 2334 return 0 2335} 2336 2337var File_google_cloud_speech_v1p1beta1_cloud_speech_proto protoreflect.FileDescriptor 2338 2339var file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDesc = []byte{ 2340 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73, 2341 0x70, 0x65, 0x65, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 2342 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 2343 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2344 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 2345 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 2346 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2347 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 2348 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2349 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 2350 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2351 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2f, 0x76, 2352 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 2353 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2354 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 2355 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 2356 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 2357 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2358 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 2359 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2360 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 2361 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2362 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 2363 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2364 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2365 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 2366 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2367 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2368 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 2369 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 2370 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 2371 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x02, 2372 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2373 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 2374 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 2375 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 2376 0x6f, 0x22, 0x99, 0x02, 0x0a, 0x1b, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 2377 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2378 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 2379 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2380 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 2381 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 2382 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2383 0x12, 0x4a, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 2384 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 2385 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2386 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x64, 0x69, 0x6f, 2387 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x5f, 0x0a, 0x0d, 2388 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 2389 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2390 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 2391 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x4f, 0x75, 2392 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 2393 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x42, 0x0a, 2394 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 2395 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 2396 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 2397 0x72, 0x69, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 2398 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 2399 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 2400 0x66, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 2401 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2402 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 2403 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 2404 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 2405 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 2406 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 2407 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 2408 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x13, 2409 0x0a, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 2410 0x65, 0x73, 0x74, 0x22, 0xbf, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 2411 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 2412 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 2413 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2414 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 2415 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 2416 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 2417 0x67, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x74, 0x74, 0x65, 2418 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x69, 0x6e, 2419 0x67, 0x6c, 0x65, 0x55, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 2420 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 2421 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6d, 0x52, 0x65, 2422 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xf7, 0x0b, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 2423 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x08, 0x65, 2424 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 2425 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 2426 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 2427 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 2428 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 2429 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x70, 0x6c, 2430 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x74, 0x7a, 0x18, 0x02, 0x20, 0x01, 2431 0x28, 0x05, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x65, 2432 0x72, 0x74, 0x7a, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x68, 0x61, 2433 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 2434 0x52, 0x11, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 2435 0x75, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x27, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 2436 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 2437 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0c, 2438 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x70, 0x61, 2439 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 2440 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 2441 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 2442 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 2443 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 2444 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 2445 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 2446 0x74, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 2447 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 2448 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, 2449 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 2450 0x70, 0x72, 0x6f, 0x66, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 2451 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x61, 0x6e, 0x69, 0x74, 2452 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0a, 0x61, 0x64, 0x61, 0x70, 0x74, 2453 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 2454 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 2455 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x65, 2456 0x63, 0x68, 0x41, 0x64, 0x61, 0x70, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x64, 2457 0x61, 0x70, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x65, 2458 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 2459 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2460 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 2461 0x31, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 2462 0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 2463 0x37, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x74, 2464 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 2465 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 2466 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 2467 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 2468 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 2469 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x40, 2470 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 2471 0x69, 0x63, 0x5f, 0x70, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 2472 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 2473 0x6d, 0x61, 0x74, 0x69, 0x63, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2474 0x12, 0x56, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x6b, 0x65, 2475 0x6e, 0x5f, 0x70, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 2476 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 2477 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 2478 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x75, 0x6e, 2479 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 2480 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x73, 2481 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2482 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 2483 0x75, 0x65, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x6b, 0x65, 0x6e, 2484 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x73, 0x12, 0x40, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 2485 0x5f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x61, 0x72, 0x69, 0x7a, 0x61, 2486 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x18, 2487 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x44, 0x69, 0x61, 2488 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x19, 0x64, 0x69, 0x61, 0x72, 2489 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 2490 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 2491 0x17, 0x64, 0x69, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x61, 2492 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x66, 0x0a, 0x12, 0x64, 0x69, 0x61, 0x72, 2493 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 2494 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2495 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 2496 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x44, 0x69, 0x61, 0x72, 2497 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x64, 2498 0x69, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2499 0x12, 0x4e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 2500 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2501 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 2502 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 2503 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 2504 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 2505 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x5f, 0x65, 0x6e, 2506 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 2507 0x65, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x41, 0x75, 2508 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x14, 0x45, 2509 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 2510 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, 0x31, 2511 0x36, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x4c, 0x41, 0x43, 0x10, 0x02, 0x12, 0x09, 0x0a, 2512 0x05, 0x4d, 0x55, 0x4c, 0x41, 0x57, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4d, 0x52, 0x10, 2513 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4d, 0x52, 0x5f, 0x57, 0x42, 0x10, 0x05, 0x12, 0x0c, 0x0a, 2514 0x08, 0x4f, 0x47, 0x47, 0x5f, 0x4f, 0x50, 0x55, 0x53, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x53, 2515 0x50, 0x45, 0x45, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 2516 0x5f, 0x42, 0x59, 0x54, 0x45, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x50, 0x33, 0x10, 0x08, 2517 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x45, 0x42, 0x4d, 0x5f, 0x4f, 0x50, 0x55, 0x53, 0x10, 0x09, 0x22, 2518 0xd8, 0x01, 0x0a, 0x18, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x44, 0x69, 0x61, 0x72, 0x69, 2519 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x1a, 2520 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x64, 2521 0x69, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 2522 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x44, 2523 0x69, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 2524 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 2525 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 2526 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 2527 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 2528 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 2529 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x61, 2530 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x03, 0x52, 0x0a, 2531 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x61, 0x67, 0x22, 0xff, 0x09, 0x0a, 0x13, 0x52, 2532 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 2533 0x74, 0x61, 0x12, 0x6d, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 2534 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 2535 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 2536 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 2537 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 2538 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 2539 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 2540 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x6e, 0x61, 2541 0x69, 0x63, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x61, 0x75, 0x64, 0x69, 2542 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 2543 0x79, 0x4e, 0x61, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x4f, 0x66, 0x41, 0x75, 0x64, 0x69, 2544 0x6f, 0x12, 0x76, 0x0a, 0x13, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 2545 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 2546 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 2547 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 2548 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 2549 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x44, 0x69, 0x73, 2550 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 2551 0x65, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x74, 0x0a, 0x13, 0x6f, 0x72, 0x69, 2552 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 2553 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2554 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 2555 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 2556 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 2557 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x6f, 0x72, 2558 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 2559 0x7a, 0x0a, 0x15, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x76, 2560 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 2561 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 2562 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 2563 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 2564 0x74, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 2565 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 2566 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x72, 2567 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 2568 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x63, 0x6f, 2569 0x72, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 2570 0x2c, 0x0a, 0x12, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6d, 0x65, 2571 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x69, 2572 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 2573 0x0d, 0x6f, 0x62, 0x66, 0x75, 0x73, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 2574 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x6f, 0x62, 0x66, 0x75, 0x73, 0x63, 2575 0x61, 0x74, 0x65, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 2576 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 2577 0x69, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0xc5, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 2578 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x49, 2579 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 2580 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 2581 0x0a, 0x44, 0x49, 0x53, 0x43, 0x55, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x10, 0x0a, 2582 0x0c, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 2583 0x0e, 0x0a, 0x0a, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x12, 2584 0x0d, 0x0a, 0x09, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x04, 0x12, 0x1b, 2585 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x46, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x4c, 0x59, 2586 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x45, 0x44, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x56, 2587 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x06, 0x12, 0x11, 0x0a, 2588 0x0d, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x07, 2589 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x22, 2590 0x64, 0x0a, 0x12, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x44, 0x69, 0x73, 2591 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x50, 0x48, 2592 0x4f, 0x4e, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 2593 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x45, 2594 0x41, 0x52, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x49, 0x44, 2595 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x52, 0x46, 0x49, 2596 0x45, 0x4c, 0x44, 0x10, 0x03, 0x22, 0x4e, 0x0a, 0x11, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 2597 0x6c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x4f, 0x52, 2598 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x59, 0x50, 2599 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 2600 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 2601 0x44, 0x45, 0x4f, 0x10, 0x02, 0x22, 0xa4, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 2602 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 2603 0x21, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 2604 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 2605 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4d, 0x41, 0x52, 0x54, 0x50, 0x48, 0x4f, 2606 0x4e, 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x43, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 2607 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 2608 0x56, 0x45, 0x48, 0x49, 0x43, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x54, 0x48, 2609 0x45, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x44, 0x4f, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 2610 0x45, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x44, 2611 0x4f, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x10, 0x06, 0x22, 0x3f, 0x0a, 0x0d, 2612 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 2613 0x07, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 2614 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 2615 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x22, 0x52, 0x0a, 2616 0x10, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x64, 0x69, 2617 0x6f, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 2618 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 2619 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 2620 0x69, 0x42, 0x0e, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 2621 0x65, 0x22, 0x65, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 2622 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 2623 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2624 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 2625 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x65, 2626 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 2627 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x1c, 0x4c, 0x6f, 0x6e, 2628 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 2629 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x72, 0x65, 0x73, 2630 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 2631 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 2632 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 2633 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 2634 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x0d, 0x6f, 2635 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 2636 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2637 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 2638 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x4f, 0x75, 0x74, 2639 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 2640 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 2641 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 2642 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 2643 0x73, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc2, 2644 0x02, 0x0a, 0x1c, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 2645 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 2646 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 2647 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 2648 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 2649 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 2650 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2651 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 2652 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 2653 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2654 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2655 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 2656 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 2657 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 2658 0x72, 0x69, 0x12, 0x5f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 2659 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2660 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 2661 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 2662 0x72, 0x69, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2663 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 2664 0x66, 0x69, 0x67, 0x22, 0xe0, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 2665 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2666 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 2667 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 2668 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x53, 0x0a, 0x07, 2669 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 2670 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 2671 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 2672 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 2673 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 2674 0x73, 0x12, 0x75, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x65, 0x76, 0x65, 0x6e, 2675 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x67, 2676 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 2677 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 2678 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 2679 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x76, 2680 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 2681 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4c, 0x0a, 0x0f, 0x53, 0x70, 0x65, 0x65, 2682 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x53, 2683 0x50, 0x45, 0x45, 0x43, 0x48, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 2684 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x44, 2685 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x55, 0x54, 0x54, 0x45, 0x52, 2686 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x22, 0xc4, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 2687 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 2688 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5f, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 2689 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 2690 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 2691 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x65, 2692 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x74, 2693 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 2694 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 2695 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 2696 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 2697 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 2698 0x41, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 2699 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2700 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 2701 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x64, 0x54, 0x69, 2702 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, 2703 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 2704 0x54, 0x61, 0x67, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 2705 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 2706 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xc5, 0x01, 2707 0x0a, 0x17, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 2708 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5f, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 2709 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 2710 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 2711 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2712 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 2713 0x6e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x0c, 0x61, 0x6c, 2714 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 2715 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 2716 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 2717 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 2718 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 2719 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x1c, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 2720 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x74, 0x65, 0x72, 2721 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 2722 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 2723 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 2724 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 2725 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 2726 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2727 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 2728 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 2729 0x77, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 2730 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 2731 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2732 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 2733 0x6e, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x08, 2734 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 2735 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2736 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 2737 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 2738 0x52, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 2739 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 2740 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 2741 0x72, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 2742 0x52, 0x0a, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x61, 0x67, 0x32, 0x82, 0x05, 0x0a, 2743 0x06, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x12, 0xa5, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x6f, 2744 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2745 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 2746 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 2747 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2748 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 2749 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 2750 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 2751 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x70, 0x65, 2752 0x65, 0x63, 0x68, 0x3a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x3a, 0x01, 0x2a, 2753 0xda, 0x41, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 2754 0xf2, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 2755 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2756 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 2757 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 2758 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 2759 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 2760 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 2761 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x31, 2762 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x3a, 0x6c, 2763 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 2764 0x69, 0x7a, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 2765 0x61, 0x75, 0x64, 0x69, 0x6f, 0xca, 0x41, 0x3c, 0x0a, 0x1c, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 2766 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 2767 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 2768 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x4d, 0x65, 0x74, 0x61, 2769 0x64, 0x61, 0x74, 0x61, 0x12, 0x8f, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 2770 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 2771 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 2772 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 2773 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 2774 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2775 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x70, 0x31, 2776 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 2777 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2778 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x73, 0x70, 0x65, 0x65, 0x63, 2779 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 2780 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 2781 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 2782 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2783 0x6d, 0x42, 0x80, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2784 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x31, 2785 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0b, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x50, 2786 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 2787 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 2788 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 2789 0x6f, 0x75, 0x64, 0x2f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 2790 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0xf8, 0x01, 0x01, 0xa2, 0x02, 2791 0x03, 0x47, 0x43, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2792} 2793 2794var ( 2795 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescOnce sync.Once 2796 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescData = file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDesc 2797) 2798 2799func file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescGZIP() []byte { 2800 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescOnce.Do(func() { 2801 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescData) 2802 }) 2803 return file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDescData 2804} 2805 2806var file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes = make([]protoimpl.EnumInfo, 6) 2807var file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes = make([]protoimpl.MessageInfo, 18) 2808var file_google_cloud_speech_v1p1beta1_cloud_speech_proto_goTypes = []interface{}{ 2809 (RecognitionConfig_AudioEncoding)(0), // 0: google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding 2810 (RecognitionMetadata_InteractionType)(0), // 1: google.cloud.speech.v1p1beta1.RecognitionMetadata.InteractionType 2811 (RecognitionMetadata_MicrophoneDistance)(0), // 2: google.cloud.speech.v1p1beta1.RecognitionMetadata.MicrophoneDistance 2812 (RecognitionMetadata_OriginalMediaType)(0), // 3: google.cloud.speech.v1p1beta1.RecognitionMetadata.OriginalMediaType 2813 (RecognitionMetadata_RecordingDeviceType)(0), // 4: google.cloud.speech.v1p1beta1.RecognitionMetadata.RecordingDeviceType 2814 (StreamingRecognizeResponse_SpeechEventType)(0), // 5: google.cloud.speech.v1p1beta1.StreamingRecognizeResponse.SpeechEventType 2815 (*RecognizeRequest)(nil), // 6: google.cloud.speech.v1p1beta1.RecognizeRequest 2816 (*LongRunningRecognizeRequest)(nil), // 7: google.cloud.speech.v1p1beta1.LongRunningRecognizeRequest 2817 (*TranscriptOutputConfig)(nil), // 8: google.cloud.speech.v1p1beta1.TranscriptOutputConfig 2818 (*StreamingRecognizeRequest)(nil), // 9: google.cloud.speech.v1p1beta1.StreamingRecognizeRequest 2819 (*StreamingRecognitionConfig)(nil), // 10: google.cloud.speech.v1p1beta1.StreamingRecognitionConfig 2820 (*RecognitionConfig)(nil), // 11: google.cloud.speech.v1p1beta1.RecognitionConfig 2821 (*SpeakerDiarizationConfig)(nil), // 12: google.cloud.speech.v1p1beta1.SpeakerDiarizationConfig 2822 (*RecognitionMetadata)(nil), // 13: google.cloud.speech.v1p1beta1.RecognitionMetadata 2823 (*SpeechContext)(nil), // 14: google.cloud.speech.v1p1beta1.SpeechContext 2824 (*RecognitionAudio)(nil), // 15: google.cloud.speech.v1p1beta1.RecognitionAudio 2825 (*RecognizeResponse)(nil), // 16: google.cloud.speech.v1p1beta1.RecognizeResponse 2826 (*LongRunningRecognizeResponse)(nil), // 17: google.cloud.speech.v1p1beta1.LongRunningRecognizeResponse 2827 (*LongRunningRecognizeMetadata)(nil), // 18: google.cloud.speech.v1p1beta1.LongRunningRecognizeMetadata 2828 (*StreamingRecognizeResponse)(nil), // 19: google.cloud.speech.v1p1beta1.StreamingRecognizeResponse 2829 (*StreamingRecognitionResult)(nil), // 20: google.cloud.speech.v1p1beta1.StreamingRecognitionResult 2830 (*SpeechRecognitionResult)(nil), // 21: google.cloud.speech.v1p1beta1.SpeechRecognitionResult 2831 (*SpeechRecognitionAlternative)(nil), // 22: google.cloud.speech.v1p1beta1.SpeechRecognitionAlternative 2832 (*WordInfo)(nil), // 23: google.cloud.speech.v1p1beta1.WordInfo 2833 (*SpeechAdaptation)(nil), // 24: google.cloud.speech.v1p1beta1.SpeechAdaptation 2834 (*wrapperspb.BoolValue)(nil), // 25: google.protobuf.BoolValue 2835 (*status.Status)(nil), // 26: google.rpc.Status 2836 (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp 2837 (*durationpb.Duration)(nil), // 28: google.protobuf.Duration 2838 (*longrunning.Operation)(nil), // 29: google.longrunning.Operation 2839} 2840var file_google_cloud_speech_v1p1beta1_cloud_speech_proto_depIdxs = []int32{ 2841 11, // 0: google.cloud.speech.v1p1beta1.RecognizeRequest.config:type_name -> google.cloud.speech.v1p1beta1.RecognitionConfig 2842 15, // 1: google.cloud.speech.v1p1beta1.RecognizeRequest.audio:type_name -> google.cloud.speech.v1p1beta1.RecognitionAudio 2843 11, // 2: google.cloud.speech.v1p1beta1.LongRunningRecognizeRequest.config:type_name -> google.cloud.speech.v1p1beta1.RecognitionConfig 2844 15, // 3: google.cloud.speech.v1p1beta1.LongRunningRecognizeRequest.audio:type_name -> google.cloud.speech.v1p1beta1.RecognitionAudio 2845 8, // 4: google.cloud.speech.v1p1beta1.LongRunningRecognizeRequest.output_config:type_name -> google.cloud.speech.v1p1beta1.TranscriptOutputConfig 2846 10, // 5: google.cloud.speech.v1p1beta1.StreamingRecognizeRequest.streaming_config:type_name -> google.cloud.speech.v1p1beta1.StreamingRecognitionConfig 2847 11, // 6: google.cloud.speech.v1p1beta1.StreamingRecognitionConfig.config:type_name -> google.cloud.speech.v1p1beta1.RecognitionConfig 2848 0, // 7: google.cloud.speech.v1p1beta1.RecognitionConfig.encoding:type_name -> google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding 2849 24, // 8: google.cloud.speech.v1p1beta1.RecognitionConfig.adaptation:type_name -> google.cloud.speech.v1p1beta1.SpeechAdaptation 2850 14, // 9: google.cloud.speech.v1p1beta1.RecognitionConfig.speech_contexts:type_name -> google.cloud.speech.v1p1beta1.SpeechContext 2851 25, // 10: google.cloud.speech.v1p1beta1.RecognitionConfig.enable_spoken_punctuation:type_name -> google.protobuf.BoolValue 2852 25, // 11: google.cloud.speech.v1p1beta1.RecognitionConfig.enable_spoken_emojis:type_name -> google.protobuf.BoolValue 2853 12, // 12: google.cloud.speech.v1p1beta1.RecognitionConfig.diarization_config:type_name -> google.cloud.speech.v1p1beta1.SpeakerDiarizationConfig 2854 13, // 13: google.cloud.speech.v1p1beta1.RecognitionConfig.metadata:type_name -> google.cloud.speech.v1p1beta1.RecognitionMetadata 2855 1, // 14: google.cloud.speech.v1p1beta1.RecognitionMetadata.interaction_type:type_name -> google.cloud.speech.v1p1beta1.RecognitionMetadata.InteractionType 2856 2, // 15: google.cloud.speech.v1p1beta1.RecognitionMetadata.microphone_distance:type_name -> google.cloud.speech.v1p1beta1.RecognitionMetadata.MicrophoneDistance 2857 3, // 16: google.cloud.speech.v1p1beta1.RecognitionMetadata.original_media_type:type_name -> google.cloud.speech.v1p1beta1.RecognitionMetadata.OriginalMediaType 2858 4, // 17: google.cloud.speech.v1p1beta1.RecognitionMetadata.recording_device_type:type_name -> google.cloud.speech.v1p1beta1.RecognitionMetadata.RecordingDeviceType 2859 21, // 18: google.cloud.speech.v1p1beta1.RecognizeResponse.results:type_name -> google.cloud.speech.v1p1beta1.SpeechRecognitionResult 2860 21, // 19: google.cloud.speech.v1p1beta1.LongRunningRecognizeResponse.results:type_name -> google.cloud.speech.v1p1beta1.SpeechRecognitionResult 2861 8, // 20: google.cloud.speech.v1p1beta1.LongRunningRecognizeResponse.output_config:type_name -> google.cloud.speech.v1p1beta1.TranscriptOutputConfig 2862 26, // 21: google.cloud.speech.v1p1beta1.LongRunningRecognizeResponse.output_error:type_name -> google.rpc.Status 2863 27, // 22: google.cloud.speech.v1p1beta1.LongRunningRecognizeMetadata.start_time:type_name -> google.protobuf.Timestamp 2864 27, // 23: google.cloud.speech.v1p1beta1.LongRunningRecognizeMetadata.last_update_time:type_name -> google.protobuf.Timestamp 2865 8, // 24: google.cloud.speech.v1p1beta1.LongRunningRecognizeMetadata.output_config:type_name -> google.cloud.speech.v1p1beta1.TranscriptOutputConfig 2866 26, // 25: google.cloud.speech.v1p1beta1.StreamingRecognizeResponse.error:type_name -> google.rpc.Status 2867 20, // 26: google.cloud.speech.v1p1beta1.StreamingRecognizeResponse.results:type_name -> google.cloud.speech.v1p1beta1.StreamingRecognitionResult 2868 5, // 27: google.cloud.speech.v1p1beta1.StreamingRecognizeResponse.speech_event_type:type_name -> google.cloud.speech.v1p1beta1.StreamingRecognizeResponse.SpeechEventType 2869 22, // 28: google.cloud.speech.v1p1beta1.StreamingRecognitionResult.alternatives:type_name -> google.cloud.speech.v1p1beta1.SpeechRecognitionAlternative 2870 28, // 29: google.cloud.speech.v1p1beta1.StreamingRecognitionResult.result_end_time:type_name -> google.protobuf.Duration 2871 22, // 30: google.cloud.speech.v1p1beta1.SpeechRecognitionResult.alternatives:type_name -> google.cloud.speech.v1p1beta1.SpeechRecognitionAlternative 2872 23, // 31: google.cloud.speech.v1p1beta1.SpeechRecognitionAlternative.words:type_name -> google.cloud.speech.v1p1beta1.WordInfo 2873 28, // 32: google.cloud.speech.v1p1beta1.WordInfo.start_time:type_name -> google.protobuf.Duration 2874 28, // 33: google.cloud.speech.v1p1beta1.WordInfo.end_time:type_name -> google.protobuf.Duration 2875 6, // 34: google.cloud.speech.v1p1beta1.Speech.Recognize:input_type -> google.cloud.speech.v1p1beta1.RecognizeRequest 2876 7, // 35: google.cloud.speech.v1p1beta1.Speech.LongRunningRecognize:input_type -> google.cloud.speech.v1p1beta1.LongRunningRecognizeRequest 2877 9, // 36: google.cloud.speech.v1p1beta1.Speech.StreamingRecognize:input_type -> google.cloud.speech.v1p1beta1.StreamingRecognizeRequest 2878 16, // 37: google.cloud.speech.v1p1beta1.Speech.Recognize:output_type -> google.cloud.speech.v1p1beta1.RecognizeResponse 2879 29, // 38: google.cloud.speech.v1p1beta1.Speech.LongRunningRecognize:output_type -> google.longrunning.Operation 2880 19, // 39: google.cloud.speech.v1p1beta1.Speech.StreamingRecognize:output_type -> google.cloud.speech.v1p1beta1.StreamingRecognizeResponse 2881 37, // [37:40] is the sub-list for method output_type 2882 34, // [34:37] is the sub-list for method input_type 2883 34, // [34:34] is the sub-list for extension type_name 2884 34, // [34:34] is the sub-list for extension extendee 2885 0, // [0:34] is the sub-list for field type_name 2886} 2887 2888func init() { file_google_cloud_speech_v1p1beta1_cloud_speech_proto_init() } 2889func file_google_cloud_speech_v1p1beta1_cloud_speech_proto_init() { 2890 if File_google_cloud_speech_v1p1beta1_cloud_speech_proto != nil { 2891 return 2892 } 2893 file_google_cloud_speech_v1p1beta1_resource_proto_init() 2894 if !protoimpl.UnsafeEnabled { 2895 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2896 switch v := v.(*RecognizeRequest); i { 2897 case 0: 2898 return &v.state 2899 case 1: 2900 return &v.sizeCache 2901 case 2: 2902 return &v.unknownFields 2903 default: 2904 return nil 2905 } 2906 } 2907 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2908 switch v := v.(*LongRunningRecognizeRequest); i { 2909 case 0: 2910 return &v.state 2911 case 1: 2912 return &v.sizeCache 2913 case 2: 2914 return &v.unknownFields 2915 default: 2916 return nil 2917 } 2918 } 2919 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2920 switch v := v.(*TranscriptOutputConfig); i { 2921 case 0: 2922 return &v.state 2923 case 1: 2924 return &v.sizeCache 2925 case 2: 2926 return &v.unknownFields 2927 default: 2928 return nil 2929 } 2930 } 2931 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2932 switch v := v.(*StreamingRecognizeRequest); i { 2933 case 0: 2934 return &v.state 2935 case 1: 2936 return &v.sizeCache 2937 case 2: 2938 return &v.unknownFields 2939 default: 2940 return nil 2941 } 2942 } 2943 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2944 switch v := v.(*StreamingRecognitionConfig); i { 2945 case 0: 2946 return &v.state 2947 case 1: 2948 return &v.sizeCache 2949 case 2: 2950 return &v.unknownFields 2951 default: 2952 return nil 2953 } 2954 } 2955 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2956 switch v := v.(*RecognitionConfig); i { 2957 case 0: 2958 return &v.state 2959 case 1: 2960 return &v.sizeCache 2961 case 2: 2962 return &v.unknownFields 2963 default: 2964 return nil 2965 } 2966 } 2967 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2968 switch v := v.(*SpeakerDiarizationConfig); i { 2969 case 0: 2970 return &v.state 2971 case 1: 2972 return &v.sizeCache 2973 case 2: 2974 return &v.unknownFields 2975 default: 2976 return nil 2977 } 2978 } 2979 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2980 switch v := v.(*RecognitionMetadata); i { 2981 case 0: 2982 return &v.state 2983 case 1: 2984 return &v.sizeCache 2985 case 2: 2986 return &v.unknownFields 2987 default: 2988 return nil 2989 } 2990 } 2991 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2992 switch v := v.(*SpeechContext); i { 2993 case 0: 2994 return &v.state 2995 case 1: 2996 return &v.sizeCache 2997 case 2: 2998 return &v.unknownFields 2999 default: 3000 return nil 3001 } 3002 } 3003 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3004 switch v := v.(*RecognitionAudio); i { 3005 case 0: 3006 return &v.state 3007 case 1: 3008 return &v.sizeCache 3009 case 2: 3010 return &v.unknownFields 3011 default: 3012 return nil 3013 } 3014 } 3015 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3016 switch v := v.(*RecognizeResponse); i { 3017 case 0: 3018 return &v.state 3019 case 1: 3020 return &v.sizeCache 3021 case 2: 3022 return &v.unknownFields 3023 default: 3024 return nil 3025 } 3026 } 3027 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3028 switch v := v.(*LongRunningRecognizeResponse); i { 3029 case 0: 3030 return &v.state 3031 case 1: 3032 return &v.sizeCache 3033 case 2: 3034 return &v.unknownFields 3035 default: 3036 return nil 3037 } 3038 } 3039 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3040 switch v := v.(*LongRunningRecognizeMetadata); i { 3041 case 0: 3042 return &v.state 3043 case 1: 3044 return &v.sizeCache 3045 case 2: 3046 return &v.unknownFields 3047 default: 3048 return nil 3049 } 3050 } 3051 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3052 switch v := v.(*StreamingRecognizeResponse); i { 3053 case 0: 3054 return &v.state 3055 case 1: 3056 return &v.sizeCache 3057 case 2: 3058 return &v.unknownFields 3059 default: 3060 return nil 3061 } 3062 } 3063 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3064 switch v := v.(*StreamingRecognitionResult); i { 3065 case 0: 3066 return &v.state 3067 case 1: 3068 return &v.sizeCache 3069 case 2: 3070 return &v.unknownFields 3071 default: 3072 return nil 3073 } 3074 } 3075 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3076 switch v := v.(*SpeechRecognitionResult); i { 3077 case 0: 3078 return &v.state 3079 case 1: 3080 return &v.sizeCache 3081 case 2: 3082 return &v.unknownFields 3083 default: 3084 return nil 3085 } 3086 } 3087 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3088 switch v := v.(*SpeechRecognitionAlternative); i { 3089 case 0: 3090 return &v.state 3091 case 1: 3092 return &v.sizeCache 3093 case 2: 3094 return &v.unknownFields 3095 default: 3096 return nil 3097 } 3098 } 3099 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3100 switch v := v.(*WordInfo); i { 3101 case 0: 3102 return &v.state 3103 case 1: 3104 return &v.sizeCache 3105 case 2: 3106 return &v.unknownFields 3107 default: 3108 return nil 3109 } 3110 } 3111 } 3112 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[2].OneofWrappers = []interface{}{ 3113 (*TranscriptOutputConfig_GcsUri)(nil), 3114 } 3115 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[3].OneofWrappers = []interface{}{ 3116 (*StreamingRecognizeRequest_StreamingConfig)(nil), 3117 (*StreamingRecognizeRequest_AudioContent)(nil), 3118 } 3119 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes[9].OneofWrappers = []interface{}{ 3120 (*RecognitionAudio_Content)(nil), 3121 (*RecognitionAudio_Uri)(nil), 3122 } 3123 type x struct{} 3124 out := protoimpl.TypeBuilder{ 3125 File: protoimpl.DescBuilder{ 3126 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3127 RawDescriptor: file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDesc, 3128 NumEnums: 6, 3129 NumMessages: 18, 3130 NumExtensions: 0, 3131 NumServices: 1, 3132 }, 3133 GoTypes: file_google_cloud_speech_v1p1beta1_cloud_speech_proto_goTypes, 3134 DependencyIndexes: file_google_cloud_speech_v1p1beta1_cloud_speech_proto_depIdxs, 3135 EnumInfos: file_google_cloud_speech_v1p1beta1_cloud_speech_proto_enumTypes, 3136 MessageInfos: file_google_cloud_speech_v1p1beta1_cloud_speech_proto_msgTypes, 3137 }.Build() 3138 File_google_cloud_speech_v1p1beta1_cloud_speech_proto = out.File 3139 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_rawDesc = nil 3140 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_goTypes = nil 3141 file_google_cloud_speech_v1p1beta1_cloud_speech_proto_depIdxs = nil 3142} 3143 3144// Reference imports to suppress errors if they are not otherwise used. 3145var _ context.Context 3146var _ grpc.ClientConnInterface 3147 3148// This is a compile-time assertion to ensure that this generated file 3149// is compatible with the grpc package it is being compiled against. 3150const _ = grpc.SupportPackageIsVersion6 3151 3152// SpeechClient is the client API for Speech service. 3153// 3154// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 3155type SpeechClient interface { 3156 // Performs synchronous speech recognition: receive results after all audio 3157 // has been sent and processed. 3158 Recognize(ctx context.Context, in *RecognizeRequest, opts ...grpc.CallOption) (*RecognizeResponse, error) 3159 // Performs asynchronous speech recognition: receive results via the 3160 // google.longrunning.Operations interface. Returns either an 3161 // `Operation.error` or an `Operation.response` which contains 3162 // a `LongRunningRecognizeResponse` message. 3163 // For more information on asynchronous speech recognition, see the 3164 // [how-to](https://cloud.google.com/speech-to-text/docs/async-recognize). 3165 LongRunningRecognize(ctx context.Context, in *LongRunningRecognizeRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 3166 // Performs bidirectional streaming speech recognition: receive results while 3167 // sending audio. This method is only available via the gRPC API (not REST). 3168 StreamingRecognize(ctx context.Context, opts ...grpc.CallOption) (Speech_StreamingRecognizeClient, error) 3169} 3170 3171type speechClient struct { 3172 cc grpc.ClientConnInterface 3173} 3174 3175func NewSpeechClient(cc grpc.ClientConnInterface) SpeechClient { 3176 return &speechClient{cc} 3177} 3178 3179func (c *speechClient) Recognize(ctx context.Context, in *RecognizeRequest, opts ...grpc.CallOption) (*RecognizeResponse, error) { 3180 out := new(RecognizeResponse) 3181 err := c.cc.Invoke(ctx, "/google.cloud.speech.v1p1beta1.Speech/Recognize", in, out, opts...) 3182 if err != nil { 3183 return nil, err 3184 } 3185 return out, nil 3186} 3187 3188func (c *speechClient) LongRunningRecognize(ctx context.Context, in *LongRunningRecognizeRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 3189 out := new(longrunning.Operation) 3190 err := c.cc.Invoke(ctx, "/google.cloud.speech.v1p1beta1.Speech/LongRunningRecognize", in, out, opts...) 3191 if err != nil { 3192 return nil, err 3193 } 3194 return out, nil 3195} 3196 3197func (c *speechClient) StreamingRecognize(ctx context.Context, opts ...grpc.CallOption) (Speech_StreamingRecognizeClient, error) { 3198 stream, err := c.cc.NewStream(ctx, &_Speech_serviceDesc.Streams[0], "/google.cloud.speech.v1p1beta1.Speech/StreamingRecognize", opts...) 3199 if err != nil { 3200 return nil, err 3201 } 3202 x := &speechStreamingRecognizeClient{stream} 3203 return x, nil 3204} 3205 3206type Speech_StreamingRecognizeClient interface { 3207 Send(*StreamingRecognizeRequest) error 3208 Recv() (*StreamingRecognizeResponse, error) 3209 grpc.ClientStream 3210} 3211 3212type speechStreamingRecognizeClient struct { 3213 grpc.ClientStream 3214} 3215 3216func (x *speechStreamingRecognizeClient) Send(m *StreamingRecognizeRequest) error { 3217 return x.ClientStream.SendMsg(m) 3218} 3219 3220func (x *speechStreamingRecognizeClient) Recv() (*StreamingRecognizeResponse, error) { 3221 m := new(StreamingRecognizeResponse) 3222 if err := x.ClientStream.RecvMsg(m); err != nil { 3223 return nil, err 3224 } 3225 return m, nil 3226} 3227 3228// SpeechServer is the server API for Speech service. 3229type SpeechServer interface { 3230 // Performs synchronous speech recognition: receive results after all audio 3231 // has been sent and processed. 3232 Recognize(context.Context, *RecognizeRequest) (*RecognizeResponse, error) 3233 // Performs asynchronous speech recognition: receive results via the 3234 // google.longrunning.Operations interface. Returns either an 3235 // `Operation.error` or an `Operation.response` which contains 3236 // a `LongRunningRecognizeResponse` message. 3237 // For more information on asynchronous speech recognition, see the 3238 // [how-to](https://cloud.google.com/speech-to-text/docs/async-recognize). 3239 LongRunningRecognize(context.Context, *LongRunningRecognizeRequest) (*longrunning.Operation, error) 3240 // Performs bidirectional streaming speech recognition: receive results while 3241 // sending audio. This method is only available via the gRPC API (not REST). 3242 StreamingRecognize(Speech_StreamingRecognizeServer) error 3243} 3244 3245// UnimplementedSpeechServer can be embedded to have forward compatible implementations. 3246type UnimplementedSpeechServer struct { 3247} 3248 3249func (*UnimplementedSpeechServer) Recognize(context.Context, *RecognizeRequest) (*RecognizeResponse, error) { 3250 return nil, status1.Errorf(codes.Unimplemented, "method Recognize not implemented") 3251} 3252func (*UnimplementedSpeechServer) LongRunningRecognize(context.Context, *LongRunningRecognizeRequest) (*longrunning.Operation, error) { 3253 return nil, status1.Errorf(codes.Unimplemented, "method LongRunningRecognize not implemented") 3254} 3255func (*UnimplementedSpeechServer) StreamingRecognize(Speech_StreamingRecognizeServer) error { 3256 return status1.Errorf(codes.Unimplemented, "method StreamingRecognize not implemented") 3257} 3258 3259func RegisterSpeechServer(s *grpc.Server, srv SpeechServer) { 3260 s.RegisterService(&_Speech_serviceDesc, srv) 3261} 3262 3263func _Speech_Recognize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3264 in := new(RecognizeRequest) 3265 if err := dec(in); err != nil { 3266 return nil, err 3267 } 3268 if interceptor == nil { 3269 return srv.(SpeechServer).Recognize(ctx, in) 3270 } 3271 info := &grpc.UnaryServerInfo{ 3272 Server: srv, 3273 FullMethod: "/google.cloud.speech.v1p1beta1.Speech/Recognize", 3274 } 3275 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3276 return srv.(SpeechServer).Recognize(ctx, req.(*RecognizeRequest)) 3277 } 3278 return interceptor(ctx, in, info, handler) 3279} 3280 3281func _Speech_LongRunningRecognize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3282 in := new(LongRunningRecognizeRequest) 3283 if err := dec(in); err != nil { 3284 return nil, err 3285 } 3286 if interceptor == nil { 3287 return srv.(SpeechServer).LongRunningRecognize(ctx, in) 3288 } 3289 info := &grpc.UnaryServerInfo{ 3290 Server: srv, 3291 FullMethod: "/google.cloud.speech.v1p1beta1.Speech/LongRunningRecognize", 3292 } 3293 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3294 return srv.(SpeechServer).LongRunningRecognize(ctx, req.(*LongRunningRecognizeRequest)) 3295 } 3296 return interceptor(ctx, in, info, handler) 3297} 3298 3299func _Speech_StreamingRecognize_Handler(srv interface{}, stream grpc.ServerStream) error { 3300 return srv.(SpeechServer).StreamingRecognize(&speechStreamingRecognizeServer{stream}) 3301} 3302 3303type Speech_StreamingRecognizeServer interface { 3304 Send(*StreamingRecognizeResponse) error 3305 Recv() (*StreamingRecognizeRequest, error) 3306 grpc.ServerStream 3307} 3308 3309type speechStreamingRecognizeServer struct { 3310 grpc.ServerStream 3311} 3312 3313func (x *speechStreamingRecognizeServer) Send(m *StreamingRecognizeResponse) error { 3314 return x.ServerStream.SendMsg(m) 3315} 3316 3317func (x *speechStreamingRecognizeServer) Recv() (*StreamingRecognizeRequest, error) { 3318 m := new(StreamingRecognizeRequest) 3319 if err := x.ServerStream.RecvMsg(m); err != nil { 3320 return nil, err 3321 } 3322 return m, nil 3323} 3324 3325var _Speech_serviceDesc = grpc.ServiceDesc{ 3326 ServiceName: "google.cloud.speech.v1p1beta1.Speech", 3327 HandlerType: (*SpeechServer)(nil), 3328 Methods: []grpc.MethodDesc{ 3329 { 3330 MethodName: "Recognize", 3331 Handler: _Speech_Recognize_Handler, 3332 }, 3333 { 3334 MethodName: "LongRunningRecognize", 3335 Handler: _Speech_LongRunningRecognize_Handler, 3336 }, 3337 }, 3338 Streams: []grpc.StreamDesc{ 3339 { 3340 StreamName: "StreamingRecognize", 3341 Handler: _Speech_StreamingRecognize_Handler, 3342 ServerStreams: true, 3343 ClientStreams: true, 3344 }, 3345 }, 3346 Metadata: "google/cloud/speech/v1p1beta1/cloud_speech.proto", 3347} 3348