Sample code for 30+ languages & platforms
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

Xojo Plugin
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