texttospeech/quickstart/quickstart.go (39 lines of code) (raw):

// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // [START tts_quickstart] // Command quickstart generates an audio file with the content "Hello, World!". package main import ( "context" "fmt" "log" "os" texttospeech "cloud.google.com/go/texttospeech/apiv1" "cloud.google.com/go/texttospeech/apiv1/texttospeechpb" ) func main() { // Instantiates a client. ctx := context.Background() client, err := texttospeech.NewClient(ctx) if err != nil { log.Fatal(err) } defer client.Close() // Perform the text-to-speech request on the text input with the selected // voice parameters and audio file type. req := texttospeechpb.SynthesizeSpeechRequest{ // Set the text input to be synthesized. Input: &texttospeechpb.SynthesisInput{ InputSource: &texttospeechpb.SynthesisInput_Text{Text: "Hello, World!"}, }, // Build the voice request, select the language code ("en-US") and the SSML // voice gender ("neutral"). Voice: &texttospeechpb.VoiceSelectionParams{ LanguageCode: "en-US", SsmlGender: texttospeechpb.SsmlVoiceGender_NEUTRAL, }, // Select the type of audio file you want returned. AudioConfig: &texttospeechpb.AudioConfig{ AudioEncoding: texttospeechpb.AudioEncoding_MP3, }, } resp, err := client.SynthesizeSpeech(ctx, &req) if err != nil { log.Fatal(err) } // The resp's AudioContent is binary. filename := "output.mp3" err = os.WriteFile(filename, resp.AudioContent, 0644) if err != nil { log.Fatal(err) } fmt.Printf("Audio content written to file: %v\n", filename) } // [END tts_quickstart]