Documentation
¶
Index ¶
- Constants
- type APIError
- type APIRequest
- type Client
- func (client *Client) NewAPIRequest(resource string) *APIRequest
- func (client *Client) SetAuthTokens() error
- func (client *Client) SpeechToText(apiRequest *APIRequest) (*Recognition, error)
- func (client *Client) SpeechToTextCustom(apiRequest *APIRequest, grammar string, dictionary string) (*Recognition, error)
- func (client *Client) TextToSpeech(apiRequest *APIRequest) ([]byte, error)
- type Recognition
- type Token
Constants ¶
const ( // APIBase is the base URL for the ATT Speech API APIBase = "https://api.att.com" // STTResource is the speech to text resource STTResource = "/speech/v3/speechToText" // STTCResource is the speech to text custom resource STTCResource = "/speech/v3/speechToTextCustom" // TTSResource is the text to speech resource TTSResource = "/speech/v3/textToSpeech" // OauthResource is the oauth resource OauthResource = "/oauth/access_token" // UserAgent is the user agent use for the HTTP client UserAgent = "GoATTSpeechLib" // Version is the version of the ATT Speech API Version = "0.1" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIError ¶
type APIError struct { RequestError struct { ServiceException struct { MessageID string `json:"MessageId"` Text string `json:"Text"` Variables string `json:"Variables"` } `json:"ServiceException"` PolicyException struct { MessageID string `json:"MessageId"` Text string `json:"Text"` Variables string `json:"Variables"` } `json:"PolicyException"` } `json:"RequestError"` }
APIError represents an error from the AT&T Speech API
type APIRequest ¶
type APIRequest struct { Accept string Authorization string ContentLanguage string ContentLength string ContentType string Data io.Reader Filename string Tempo string Text string TransferEncoding string VoiceName string Volume string UserAgent string XArg string XSpeechContext string XSpeechSubContext string }
APIRequest represents the parameters for a Text to Speech request
type Client ¶
type Client struct { APIBase string STTResource string STTCResource string TTSResource string OauthResource string ID string Secret string Tokens map[string]*Token Scope [3]string }
Client is an ATT Speech API client
func New ¶
New creates a new AttSpeechClient
client := attspeech.New("<id>", "<secret>", "") client.SetAuthTokens()
func (*Client) NewAPIRequest ¶
func (client *Client) NewAPIRequest(resource string) *APIRequest
NewAPIRequest sets the common headers for TTS and STT
client := attspeech.New("<id>", "<secret>", "") client.SetAuthTokens() apiRequest := client.NewAPIRequest(TTSResource)
Note, when setting apiRequest.XArg, always append with '+=', unless you specifically intend to overwrite the defaults for ClientApp, ClientVersion, DeviceType and DeviceOs
func (*Client) SetAuthTokens ¶
SetAuthTokens sets the provided authorization tokens for the client
client := attspeech.New("<id>", "<secret>", "") client.SetAuthTokens()
func (*Client) SpeechToText ¶
func (client *Client) SpeechToText(apiRequest *APIRequest) (*Recognition, error)
SpeechToText converts an audio file to text
client := attspeech.New("<id>", "<secret>", "") client.SetAuthTokens() apiRequest := client.NewAPIRequest(STTResource) apiRequest.Data = data // where data is audio content as io.Reader apiRequest.ContentType = "audio/wav" result, apiError, err := client.SpeechToText(apiRequest)
More details available here:
http://developer.att.com/apis/speech/docs#resources-speech-to-text
func (*Client) SpeechToTextCustom ¶
func (client *Client) SpeechToTextCustom(apiRequest *APIRequest, grammar string, dictionary string) (*Recognition, error)
SpeechToTextCustom converts an audio file to text
client := attspeech.New("<id>", "<secret>", "") client.SetAuthTokens() apiRequest := client.NewAPIRequest(STTResource) apiRequest.Data = data // where data is audio content as io.Reader apiRequest.ContentType = "audio/wav" apiRequest.Filename = "test.wav" result, apiError, err := client.SpeechToTextCustom(apiRequest, "<some srgs XML>", "<some pls XML>")
More details available here:
http://developer.att.com/apis/speech/docs#resources-speech-to-text-custom
func (*Client) TextToSpeech ¶
func (client *Client) TextToSpeech(apiRequest *APIRequest) ([]byte, error)
TextToSpeech converts text to a speech file
client := attspeech.New("<id>", "<secret>", "") client.SetAuthTokens() apiRequest := client.NewAPIRequest(TTSResource) apiRequest.Accept = "audio/x-wav", apiRequest.VoiceName = "crystal", apiRequest.Text = "I want to be an airborne ranger, I want to live the life of danger.", data, err := client.TextToSpeech(apiRequest)
More details available here:
http://developer.att.com/apis/speech/docs#resources-text-to-speech
type Recognition ¶
type Recognition struct { Recognition struct { Status string `json:"Status"` ResponseID string `json:"ResponseId"` NBest []struct { Hypothesis string `json:"Hypothesis"` LanguageID string `json:"LanguageId"` Confidence float32 `json:"Confidence"` Grade string `json:"Grade"` ResultText string `json:"ResultText"` Words []string `json:"Words"` WordScores []float32 `json:"WordScores"` NluHypothesis struct { OutComposite []struct { Grammar string `json:"Grammar"` Out string `json:"Out"` } `json:"OutComposite"` } `json:"NluHypothesis"` } `json:"NBest"` } `json:"Recognition"` }
Recognition represents at AT&T recognition response