Sample code for 30+ languages & platforms
Java

IBM Cloud - Text to Speech - Synthesize Audio (POST)

See more IBM Text to Speech Examples

Synthesizes text to audio that is spoken in the specified voice. Uses a POST which allows for more text to be synthesized.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        http.setLogin("apikey");
        http.setPassword("my_apikey");
        http.setBasicAuth(true);

        // Send the following request:

        // curl -X POST -u "apikey:{apikey}"
        //    --header "Content-Type: application/json"
        //    --header "Accept: audio/wav"
        //    --data "{\"text\":\"When life gives you lemons, order the lobster tail.\"}"
        //    --output lobster.wav "{url}/v1/synthesize?voice=en-US_AllisonV3Voice"

        // Use your base URL shown in the credentials web page (below your apikey)
        String myBaseUrl = "https://api.us-south.text-to-speech.watson.cloud.ibm.com/instances/31941e96-7b89-4d56-8993-9cd8f18ec2d8";

        StringBuilder sbUrl = new StringBuilder();
        sbUrl.append(myBaseUrl);
        sbUrl.append("/v1/synthesize?voice=en-US_AllisonV3Voice");

        http.setAccept("audio/wav");

        JsonObject json = new JsonObject();
        json.updateString("text", "When life gives you lemons, order the lobster tail.");

        String url = sbUrl.getAsString();
        HttpResponse resp = new HttpResponse();
        try {
            http.httpJson("POST", url, json, "application/json", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        int respStatusCode = resp.getStatusCode();
        System.out.println("response status code = " + respStatusCode);

        if (respStatusCode == 200) {
            resp.saveBodyBinary("qa_output/lobster.wav");
            System.out.println("Success!");
        } else {
            System.out.println(resp.getBodyStr());
        }
    }
}