Documentation

Overview

Package speech provides access to the Cloud Speech-to-Text API.

This package is DEPRECATED. Use package cloud.google.com/go/speech/apiv1 instead.

For product documentation, see: https://cloud.google.com/speech-to-text/docs/quickstart-protocol

Creating a client

Usage example:

import "google.golang.org/api/speech/v2beta1"
...
ctx := context.Background()
speechService, err := speech.NewService(ctx)

In this example, Google Application Default Credentials are used for authentication.

For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.

Other authentication options

To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:

speechService, err := speech.NewService(ctx, option.WithAPIKey("AIza..."))

To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:

config := &oauth2.Config{...}
// ...
token, err := config.Exchange(ctx, ...)
speechService, err := speech.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))

See https://godoc.org/google.golang.org/api/option/ for details on options.

Index

Constants

View Source
const (
	// View and manage your data across Google Cloud Platform services
	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)

    OAuth2 scopes used by this API.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type ListOperationsResponse

    type ListOperationsResponse struct {
    	// NextPageToken: The standard List next-page token.
    	NextPageToken string `json:"nextPageToken,omitempty"`
    
    	// Operations: A list of operations that matches the specified filter in
    	// the request.
    	Operations []*Operation `json:"operations,omitempty"`
    
    	// ServerResponse contains the HTTP response code and headers from the
    	// server.
    	googleapi.ServerResponse `json:"-"`
    
    	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
    	// unconditionally include in API requests. By default, fields with
    	// empty values are omitted from API requests. However, any non-pointer,
    	// non-interface field appearing in ForceSendFields will be sent to the
    	// server regardless of whether the field is empty or not. This may be
    	// used to include empty fields in Patch requests.
    	ForceSendFields []string `json:"-"`
    
    	// NullFields is a list of field names (e.g. "NextPageToken") to include
    	// in API requests with the JSON null value. By default, fields with
    	// empty values are omitted from API requests. However, any field with
    	// an empty value appearing in NullFields will be sent to the server as
    	// null. It is an error if a field in this list has a non-empty value.
    	// This may be used to include null fields in Patch requests.
    	NullFields []string `json:"-"`
    }

      ListOperationsResponse: The response message for Operations.ListOperations.

      func (*ListOperationsResponse) MarshalJSON

      func (s *ListOperationsResponse) MarshalJSON() ([]byte, error)

      type LongRunningRecognizeMetadata

      type LongRunningRecognizeMetadata struct {
      	// LastUpdateTime: Output only. Time of the most recent processing
      	// update.
      	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
      
      	// ProgressPercent: Output only. Approximate percentage of audio
      	// processed thus far. Guaranteed to be 100 when the audio is fully
      	// processed and the results are available.
      	ProgressPercent int64 `json:"progressPercent,omitempty"`
      
      	// StartTime: Output only. Time when the request was received.
      	StartTime string `json:"startTime,omitempty"`
      
      	// Uri: The URI of the audio file being transcribed. Empty if the audio
      	// was sent as byte content.
      	Uri string `json:"uri,omitempty"`
      
      	// ForceSendFields is a list of field names (e.g. "LastUpdateTime") to
      	// unconditionally include in API requests. By default, fields with
      	// empty values are omitted from API requests. However, any non-pointer,
      	// non-interface field appearing in ForceSendFields will be sent to the
      	// server regardless of whether the field is empty or not. This may be
      	// used to include empty fields in Patch requests.
      	ForceSendFields []string `json:"-"`
      
      	// NullFields is a list of field names (e.g. "LastUpdateTime") to
      	// include in API requests with the JSON null value. By default, fields
      	// with empty values are omitted from API requests. However, any field
      	// with an empty value appearing in NullFields will be sent to the
      	// server as null. It is an error if a field in this list has a
      	// non-empty value. This may be used to include null fields in Patch
      	// requests.
      	NullFields []string `json:"-"`
      }

        LongRunningRecognizeMetadata: Describes the progress of a long-running `LongRunningRecognize` call. It is included in the `metadata` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.

        func (*LongRunningRecognizeMetadata) MarshalJSON

        func (s *LongRunningRecognizeMetadata) MarshalJSON() ([]byte, error)

        type LongRunningRecognizeResponse

        type LongRunningRecognizeResponse struct {
        	// Results: Output only. Sequential list of transcription results
        	// corresponding to sequential portions of audio.
        	Results []*SpeechRecognitionResult `json:"results,omitempty"`
        
        	// ForceSendFields is a list of field names (e.g. "Results") to
        	// unconditionally include in API requests. By default, fields with
        	// empty values are omitted from API requests. However, any non-pointer,
        	// non-interface field appearing in ForceSendFields will be sent to the
        	// server regardless of whether the field is empty or not. This may be
        	// used to include empty fields in Patch requests.
        	ForceSendFields []string `json:"-"`
        
        	// NullFields is a list of field names (e.g. "Results") to include in
        	// API requests with the JSON null value. By default, fields with empty
        	// values are omitted from API requests. However, any field with an
        	// empty value appearing in NullFields will be sent to the server as
        	// null. It is an error if a field in this list has a non-empty value.
        	// This may be used to include null fields in Patch requests.
        	NullFields []string `json:"-"`
        }

          LongRunningRecognizeResponse: The only message returned to the client by the `LongRunningRecognize` method. It contains the result as zero or more sequential SpeechRecognitionResult messages. It is included in the `result.response` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.

          func (*LongRunningRecognizeResponse) MarshalJSON

          func (s *LongRunningRecognizeResponse) MarshalJSON() ([]byte, error)

          type Operation

          type Operation struct {
          	// Done: If the value is `false`, it means the operation is still in
          	// progress. If `true`, the operation is completed, and either `error`
          	// or `response` is available.
          	Done bool `json:"done,omitempty"`
          
          	// Error: The error result of the operation in case of failure or
          	// cancellation.
          	Error *Status `json:"error,omitempty"`
          
          	// Metadata: Service-specific metadata associated with the operation. It
          	// typically contains progress information and common metadata such as
          	// create time. Some services might not provide such metadata. Any
          	// method that returns a long-running operation should document the
          	// metadata type, if any.
          	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
          
          	// Name: The server-assigned name, which is only unique within the same
          	// service that originally returns it. If you use the default HTTP
          	// mapping, the `name` should be a resource name ending with
          	// `operations/{unique_id}`.
          	Name string `json:"name,omitempty"`
          
          	// Response: The normal response of the operation in case of success. If
          	// the original method returns no data on success, such as `Delete`, the
          	// response is `google.protobuf.Empty`. If the original method is
          	// standard `Get`/`Create`/`Update`, the response should be the
          	// resource. For other methods, the response should have the type
          	// `XxxResponse`, where `Xxx` is the original method name. For example,
          	// if the original method name is `TakeSnapshot()`, the inferred
          	// response type is `TakeSnapshotResponse`.
          	Response googleapi.RawMessage `json:"response,omitempty"`
          
          	// ServerResponse contains the HTTP response code and headers from the
          	// server.
          	googleapi.ServerResponse `json:"-"`
          
          	// ForceSendFields is a list of field names (e.g. "Done") to
          	// unconditionally include in API requests. By default, fields with
          	// empty values are omitted from API requests. However, any non-pointer,
          	// non-interface field appearing in ForceSendFields will be sent to the
          	// server regardless of whether the field is empty or not. This may be
          	// used to include empty fields in Patch requests.
          	ForceSendFields []string `json:"-"`
          
          	// NullFields is a list of field names (e.g. "Done") to include in API
          	// requests with the JSON null value. By default, fields with empty
          	// values are omitted from API requests. However, any field with an
          	// empty value appearing in NullFields will be sent to the server as
          	// null. It is an error if a field in this list has a non-empty value.
          	// This may be used to include null fields in Patch requests.
          	NullFields []string `json:"-"`
          }

            Operation: This resource represents a long-running operation that is the result of a network API call.

            func (*Operation) MarshalJSON

            func (s *Operation) MarshalJSON() ([]byte, error)

            type ProjectsLocationsOperationsGetCall

            type ProjectsLocationsOperationsGetCall struct {
            	// contains filtered or unexported fields
            }

            func (*ProjectsLocationsOperationsGetCall) Context

              Context sets the context to be used in this call's Do method. Any pending HTTP request will be aborted if the provided context is canceled.

              func (*ProjectsLocationsOperationsGetCall) Do

                Do executes the "speech.projects.locations.operations.get" call. Exactly one of *Operation or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Operation.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

                func (*ProjectsLocationsOperationsGetCall) Fields

                  Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

                  func (*ProjectsLocationsOperationsGetCall) Header

                    Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

                    func (*ProjectsLocationsOperationsGetCall) IfNoneMatch

                      IfNoneMatch sets the optional parameter which makes the operation fail if the object's ETag matches the given value. This is useful for getting updates only after the object has changed since the last request. Use googleapi.IsNotModified to check whether the response error from Do is the result of In-None-Match.

                      type ProjectsLocationsOperationsListCall

                      type ProjectsLocationsOperationsListCall struct {
                      	// contains filtered or unexported fields
                      }

                      func (*ProjectsLocationsOperationsListCall) Context

                        Context sets the context to be used in this call's Do method. Any pending HTTP request will be aborted if the provided context is canceled.

                        func (*ProjectsLocationsOperationsListCall) Do

                          Do executes the "speech.projects.locations.operations.list" call. Exactly one of *ListOperationsResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *ListOperationsResponse.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

                          func (*ProjectsLocationsOperationsListCall) Fields

                            Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

                            func (*ProjectsLocationsOperationsListCall) Filter

                              Filter sets the optional parameter "filter": The standard list filter.

                              func (*ProjectsLocationsOperationsListCall) Header

                                Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

                                func (*ProjectsLocationsOperationsListCall) IfNoneMatch

                                  IfNoneMatch sets the optional parameter which makes the operation fail if the object's ETag matches the given value. This is useful for getting updates only after the object has changed since the last request. Use googleapi.IsNotModified to check whether the response error from Do is the result of In-None-Match.

                                  func (*ProjectsLocationsOperationsListCall) PageSize

                                    PageSize sets the optional parameter "pageSize": The standard list page size.

                                    func (*ProjectsLocationsOperationsListCall) PageToken

                                      PageToken sets the optional parameter "pageToken": The standard list page token.

                                      func (*ProjectsLocationsOperationsListCall) Pages

                                        Pages invokes f for each page of results. A non-nil error returned from f will halt the iteration. The provided context supersedes any context provided to the Context method.

                                        type ProjectsLocationsOperationsService

                                        type ProjectsLocationsOperationsService struct {
                                        	// contains filtered or unexported fields
                                        }

                                        func NewProjectsLocationsOperationsService

                                        func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService

                                        func (*ProjectsLocationsOperationsService) Get

                                          Get: Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

                                          func (*ProjectsLocationsOperationsService) List

                                            List: Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as "/v1/{name=users/*}/operations" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.

                                            type ProjectsLocationsService

                                            type ProjectsLocationsService struct {
                                            	Operations *ProjectsLocationsOperationsService
                                            	// contains filtered or unexported fields
                                            }

                                            func NewProjectsLocationsService

                                            func NewProjectsLocationsService(s *Service) *ProjectsLocationsService

                                            type ProjectsService

                                            type ProjectsService struct {
                                            	Locations *ProjectsLocationsService
                                            	// contains filtered or unexported fields
                                            }

                                            func NewProjectsService

                                            func NewProjectsService(s *Service) *ProjectsService

                                            type Service

                                            type Service struct {
                                            	BasePath  string // API endpoint base URL
                                            	UserAgent string // optional additional User-Agent fragment
                                            
                                            	Projects *ProjectsService
                                            	// contains filtered or unexported fields
                                            }

                                            func New

                                            func New(client *http.Client) (*Service, error)

                                              New creates a new Service. It uses the provided http.Client for requests.

                                              Deprecated: please use NewService instead. To provide a custom HTTP client, use option.WithHTTPClient. If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.

                                              func NewService

                                              func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error)

                                                NewService creates a new Service.

                                                type SpeechRecognitionAlternative

                                                type SpeechRecognitionAlternative struct {
                                                	// Confidence: Output only. The confidence estimate between 0.0 and 1.0.
                                                	// A higher number indicates an estimated greater likelihood that the
                                                	// recognized words are correct. This field is set only for the top
                                                	// alternative of a non-streaming result or, of a streaming result where
                                                	// `is_final=true`. This field is not guaranteed to be accurate and
                                                	// users should not rely on it to be always provided. The default of 0.0
                                                	// is a sentinel value indicating `confidence` was not set.
                                                	Confidence float64 `json:"confidence,omitempty"`
                                                
                                                	// Transcript: Output only. Transcript text representing the words that
                                                	// the user spoke.
                                                	Transcript string `json:"transcript,omitempty"`
                                                
                                                	// Words: Output only. A list of word-specific information for each
                                                	// recognized word. Note: When `enable_speaker_diarization` is true, you
                                                	// will see all the words from the beginning of the audio.
                                                	Words []*WordInfo `json:"words,omitempty"`
                                                
                                                	// ForceSendFields is a list of field names (e.g. "Confidence") to
                                                	// unconditionally include in API requests. By default, fields with
                                                	// empty values are omitted from API requests. However, any non-pointer,
                                                	// non-interface field appearing in ForceSendFields will be sent to the
                                                	// server regardless of whether the field is empty or not. This may be
                                                	// used to include empty fields in Patch requests.
                                                	ForceSendFields []string `json:"-"`
                                                
                                                	// NullFields is a list of field names (e.g. "Confidence") to include in
                                                	// API requests with the JSON null value. By default, fields with empty
                                                	// values are omitted from API requests. However, any field with an
                                                	// empty value appearing in NullFields will be sent to the server as
                                                	// null. It is an error if a field in this list has a non-empty value.
                                                	// This may be used to include null fields in Patch requests.
                                                	NullFields []string `json:"-"`
                                                }

                                                  SpeechRecognitionAlternative: Alternative hypotheses (a.k.a. n-best list).

                                                  func (*SpeechRecognitionAlternative) MarshalJSON

                                                  func (s *SpeechRecognitionAlternative) MarshalJSON() ([]byte, error)

                                                  func (*SpeechRecognitionAlternative) UnmarshalJSON

                                                  func (s *SpeechRecognitionAlternative) UnmarshalJSON(data []byte) error

                                                  type SpeechRecognitionResult

                                                  type SpeechRecognitionResult struct {
                                                  	// Alternatives: Output only. May contain one or more recognition
                                                  	// hypotheses (up to the maximum specified in `max_alternatives`). These
                                                  	// alternatives are ordered in terms of accuracy, with the top (first)
                                                  	// alternative being the most probable, as ranked by the recognizer.
                                                  	Alternatives []*SpeechRecognitionAlternative `json:"alternatives,omitempty"`
                                                  
                                                  	// ChannelTag: Output only. For multi-channel audio, this is the channel
                                                  	// number corresponding to the recognized result for the audio from that
                                                  	// channel. For `audio_channel_count` = N, its output values can range
                                                  	// from `1` to `N`.
                                                  	ChannelTag int64 `json:"channelTag,omitempty"`
                                                  
                                                  	// LanguageCode: Output only. The BCP-47
                                                  	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the
                                                  	// language in this result. This language code was detected to have the
                                                  	// most likelihood of being spoken in the audio.
                                                  	LanguageCode string `json:"languageCode,omitempty"`
                                                  
                                                  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
                                                  	// unconditionally include in API requests. By default, fields with
                                                  	// empty values are omitted from API requests. However, any non-pointer,
                                                  	// non-interface field appearing in ForceSendFields will be sent to the
                                                  	// server regardless of whether the field is empty or not. This may be
                                                  	// used to include empty fields in Patch requests.
                                                  	ForceSendFields []string `json:"-"`
                                                  
                                                  	// NullFields is a list of field names (e.g. "Alternatives") to include
                                                  	// in API requests with the JSON null value. By default, fields with
                                                  	// empty values are omitted from API requests. However, any field with
                                                  	// an empty value appearing in NullFields will be sent to the server as
                                                  	// null. It is an error if a field in this list has a non-empty value.
                                                  	// This may be used to include null fields in Patch requests.
                                                  	NullFields []string `json:"-"`
                                                  }

                                                    SpeechRecognitionResult: A speech recognition result corresponding to a portion of the audio.

                                                    func (*SpeechRecognitionResult) MarshalJSON

                                                    func (s *SpeechRecognitionResult) MarshalJSON() ([]byte, error)

                                                    type Status

                                                    type Status struct {
                                                    	// Code: The status code, which should be an enum value of
                                                    	// google.rpc.Code.
                                                    	Code int64 `json:"code,omitempty"`
                                                    
                                                    	// Details: A list of messages that carry the error details. There is a
                                                    	// common set of message types for APIs to use.
                                                    	Details []googleapi.RawMessage `json:"details,omitempty"`
                                                    
                                                    	// Message: A developer-facing error message, which should be in
                                                    	// English. Any user-facing error message should be localized and sent
                                                    	// in the google.rpc.Status.details field, or localized by the client.
                                                    	Message string `json:"message,omitempty"`
                                                    
                                                    	// ForceSendFields is a list of field names (e.g. "Code") to
                                                    	// unconditionally include in API requests. By default, fields with
                                                    	// empty values are omitted from API requests. However, any non-pointer,
                                                    	// non-interface field appearing in ForceSendFields will be sent to the
                                                    	// server regardless of whether the field is empty or not. This may be
                                                    	// used to include empty fields in Patch requests.
                                                    	ForceSendFields []string `json:"-"`
                                                    
                                                    	// NullFields is a list of field names (e.g. "Code") to include in API
                                                    	// requests with the JSON null value. By default, fields with empty
                                                    	// values are omitted from API requests. However, any field with an
                                                    	// empty value appearing in NullFields will be sent to the server as
                                                    	// null. It is an error if a field in this list has a non-empty value.
                                                    	// This may be used to include null fields in Patch requests.
                                                    	NullFields []string `json:"-"`
                                                    }

                                                      Status: The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).

                                                      func (*Status) MarshalJSON

                                                      func (s *Status) MarshalJSON() ([]byte, error)

                                                      type WordInfo

                                                      type WordInfo struct {
                                                      	// Confidence: Output only. The confidence estimate between 0.0 and 1.0.
                                                      	// A higher number indicates an estimated greater likelihood that the
                                                      	// recognized words are correct. This field is set only for the top
                                                      	// alternative of a non-streaming result or, of a streaming result where
                                                      	// `is_final=true`. This field is not guaranteed to be accurate and
                                                      	// users should not rely on it to be always provided. The default of 0.0
                                                      	// is a sentinel value indicating `confidence` was not set.
                                                      	Confidence float64 `json:"confidence,omitempty"`
                                                      
                                                      	// EndOffset: Output only. Time offset relative to the beginning of the
                                                      	// audio, and corresponding to the end of the spoken word. This field is
                                                      	// only set if `enable_word_time_offsets=true` and only in the top
                                                      	// hypothesis. This is an experimental feature and the accuracy of the
                                                      	// time offset can vary.
                                                      	EndOffset string `json:"endOffset,omitempty"`
                                                      
                                                      	// SpeakerTag: Output only. A distinct integer value is assigned for
                                                      	// every speaker within the audio. This field specifies which one of
                                                      	// those speakers was detected to have spoken this word. Value ranges
                                                      	// from `1` to `diarization_config.max_speaker_count` . `speaker_tag` is
                                                      	// set if `diarization_config.enable_speaker_diarization` = `true` and
                                                      	// only in the top alternative.
                                                      	SpeakerTag int64 `json:"speakerTag,omitempty"`
                                                      
                                                      	// StartOffset: Output only. Time offset relative to the beginning of
                                                      	// the audio, and corresponding to the start of the spoken word. This
                                                      	// field is only set if `enable_word_time_offsets=true` and only in the
                                                      	// top hypothesis. This is an experimental feature and the accuracy of
                                                      	// the time offset can vary.
                                                      	StartOffset string `json:"startOffset,omitempty"`
                                                      
                                                      	// Word: Output only. The word corresponding to this set of information.
                                                      	Word string `json:"word,omitempty"`
                                                      
                                                      	// ForceSendFields is a list of field names (e.g. "Confidence") to
                                                      	// unconditionally include in API requests. By default, fields with
                                                      	// empty values are omitted from API requests. However, any non-pointer,
                                                      	// non-interface field appearing in ForceSendFields will be sent to the
                                                      	// server regardless of whether the field is empty or not. This may be
                                                      	// used to include empty fields in Patch requests.
                                                      	ForceSendFields []string `json:"-"`
                                                      
                                                      	// NullFields is a list of field names (e.g. "Confidence") to include in
                                                      	// API requests with the JSON null value. By default, fields with empty
                                                      	// values are omitted from API requests. However, any field with an
                                                      	// empty value appearing in NullFields will be sent to the server as
                                                      	// null. It is an error if a field in this list has a non-empty value.
                                                      	// This may be used to include null fields in Patch requests.
                                                      	NullFields []string `json:"-"`
                                                      }

                                                        WordInfo: Word-specific information for recognized words.

                                                        func (*WordInfo) MarshalJSON

                                                        func (s *WordInfo) MarshalJSON() ([]byte, error)

                                                        func (*WordInfo) UnmarshalJSON

                                                        func (s *WordInfo) UnmarshalJSON(data []byte) error

                                                        Source Files