def synthesize_speech(params = {}, options = {}, &block)
      req = build_request(:synthesize_speech, params)
      req.send_request(options, &block)
    end
def synthesize_speech(params = {}, options = {}, &block)
      req = build_request(:synthesize_speech, params)
      req.send_request(options, &block)
    end
Synthesizes UTF-8 input, plain text or SSML, to a stream of bytes.
 SSML input must be valid, well-formed SSML. Some alphabets might not
 be available with all the voices (for example, Cyrillic might not be
 read at all by English voices) unless phoneme mapping is used. For
 more information, see [How it Works][1].



 [1]: http://docs.aws.amazon.com/polly/latest/dg/how-text-to-speech-works.html

 @option params [Array<String>] :lexicon_names
   List of one or more pronunciation lexicon names you want the service
   to apply during synthesis. Lexicons are applied only if the language
   of the lexicon is the same as the language of the voice. For
   information about storing lexicons, see [PutLexicon][1].



   [1]: http://docs.aws.amazon.com/polly/latest/dg/API_PutLexicon.html

 @option params [required, String] :output_format
   The format in which the returned output will be encoded. For audio
   stream, this will be mp3, ogg\_vorbis, or pcm. For speech marks, this
   will be json.

   When pcm is used, the content returned is audio/pcm in a signed
   16-bit, 1 channel (mono), little-endian format.

 @option params [String] :sample_rate
   The audio frequency specified in Hz.

   The valid values for `mp3` and `ogg_vorbis` are "8000", "16000",
   and "22050". The default value is "22050".

   Valid values for `pcm` are "8000" and "16000" The default value is
   "16000".

 @option params [Array<String>] :speech_mark_types
   The type of speech marks returned for the input text.

 @option params [required, String] :text
   Input text to synthesize. If you specify `ssml` as the `TextType`,
   follow the SSML format for the input text.

 @option params [String] :text_type
   Specifies whether the input text is plain text or SSML. The default
   value is plain text. For more information, see [Using SSML][1].



   [1]: http://docs.aws.amazon.com/polly/latest/dg/ssml.html

 @option params [required, String] :voice_id
   Voice ID to use for the synthesis. You can get a list of available
   voice IDs by calling the [DescribeVoices][1] operation.



   [1]: http://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html

 @option params [String] :language_code
   Optional language code for the Synthesize Speech request. This is only
   necessary if using a bilingual voice, such as Aditi, which can be used
   for either Indian English (en-IN) or Hindi (hi-IN).

   If a bilingual voice is used and no language code is specified, Amazon
   Polly will use the default language of the bilingual voice. The
   default language for any voice is the one returned by the
   [DescribeVoices][1] operation for the `LanguageCode` parameter. For
   example, if no language code is specified, Aditi will use Indian
   English rather than Hindi.



   [1]: https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html

 @return [Types::SynthesizeSpeechOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

   * {Types::SynthesizeSpeechOutput#audio_stream #audio_stream} => IO
   * {Types::SynthesizeSpeechOutput#content_type #content_type} => String
   * {Types::SynthesizeSpeechOutput#request_characters #request_characters} => Integer


 @example Example: To synthesize speech

   # Synthesizes plain text or SSML into a file of human-like speech.

   resp = client.synthesize_speech({
     lexicon_names: [
       "example",
     ],
     output_format: "mp3",
     sample_rate: "8000",
     text: "All Gaul is divided into three parts",
     text_type: "text",
     voice_id: "Joanna",
   })

   resp.to_h outputs the following:
   {
     audio_stream: "TEXT",
     content_type: "audio/mpeg",
     request_characters: 37,
   }

 @example Request syntax with placeholder values

   resp = client.synthesize_speech({
     lexicon_names: ["LexiconName"],
     output_format: "json", # required, accepts json, mp3, ogg_vorbis, pcm
     sample_rate: "SampleRate",
     speech_mark_types: ["sentence"], # accepts sentence, ssml, viseme, word
     text: "Text", # required
     text_type: "ssml", # accepts ssml, text
     voice_id: "Aditi", # required, accepts Aditi, Amy, Astrid, Bianca, Brian, Carla, Carmen, Celine, Chantal, Conchita, Cristiano, Dora, Emma, Enrique, Ewa, Filiz, Geraint, Giorgio, Gwyneth, Hans, Ines, Ivy, Jacek, Jan, Joanna, Joey, Justin, Karl, Kendra, Kimberly, Lea, Liv, Lotte, Lucia, Mads, Maja, Marlene, Mathieu, Matthew, Maxim, Mia, Miguel, Mizuki, Naja, Nicole, Penelope, Raveena, Ricardo, Ruben, Russell, Salli, Seoyeon, Takumi, Tatyana, Vicki, Vitoria, Zeina, Zhiyu
     language_code: "arb", # accepts arb, cmn-CN, cy-GB, da-DK, de-DE, en-AU, en-GB, en-GB-WLS, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, is-IS, it-IT, ja-JP, hi-IN, ko-KR, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ro-RO, ru-RU, sv-SE, tr-TR
   })

 @example Response structure

   resp.audio_stream #=> IO
   resp.content_type #=> String
   resp.request_characters #=> Integer

 @see http://docs.aws.amazon.com/goto/WebAPI/polly-2016-06-10/SynthesizeSpeech AWS API Documentation

 @overload synthesize_speech(params = {})
 @param [Hash] params ({})