Xojo Plugin
Xojo Plugin
IBM Cloud - Text to Speech - Synthesize Audio (GET)
See more IBM Text to Speech Examples
Synthesizes text to audio that is spoken in the specified voice.Chilkat Xojo Plugin Downloads
Dim success As Boolean
success = False
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Dim http As New Chilkat.Http
http.Login = "apikey"
http.Password = "my_apikey"
http.BasicAuth = True
// Use your base URL shown in the credentials web page (below your apikey)
Dim myBaseUrl As String
myBaseUrl = "https://api.us-south.text-to-speech.watson.cloud.ibm.com/instances/31941e96-7b89-4d56-8993-9cd8f18ec2d8"
Dim sbUrl As New Chilkat.StringBuilder
success = sbUrl.Append(myBaseUrl)
success = sbUrl.Append("/v1/synthesize?accept=ACCEPT_TYPE&voice=CHOSEN_VOICE&text=TEXT_TO_SYNTHESIZE")
// Choose "audio/wav" for the output file type.
Dim numReplaced As Int32
numReplaced = sbUrl.Replace("ACCEPT_TYPE",http.UrlEncode("audio/wav"))
// See the choices for voices at https://cloud.ibm.com/apidocs/text-to-speech#synthesize-audio-get
numReplaced = sbUrl.Replace("CHOSEN_VOICE","en-US_MichaelVoice")
Dim textToSynthesize As String
textToSynthesize = "When life gives you lemons, order the lobster tail."
numReplaced = sbUrl.Replace("TEXT_TO_SYNTHESIZE",http.UrlEncode(textToSynthesize))
// Send the GET to synthesize the voice.
// The response file will be contained in bdResponseBody
Dim bdResponseBody As New Chilkat.BinData
success = http.QuickGetBd(sbUrl.GetAsString(),bdResponseBody)
If (success = False) Then
System.DebugLog(http.LastErrorText)
Return
End If
Dim respStatusCode As Int32
respStatusCode = http.LastStatus
System.DebugLog("response status code = " + Str(respStatusCode))
If (respStatusCode = 200) Then
success = bdResponseBody.WriteFile("qa_output/lobster.wav")
System.DebugLog("Success!")
Else
System.DebugLog(bdResponseBody.GetString("utf-8"))
End If