Accelerate the value of multicloud with collaborative DevSecOps Learn more

Generate human-like audio from text

Summary

Using Node.js and React components, create a web app that generates human-like audio from text. The app uses IBM® Watson™ Text to Speech to provide a selection of voices with support for multiple languages and genders. Watson Text to Speech is available on IBM Cloud and with the Watson API Kit on IBM Cloud Pak™ for Data.

Description

Built with React components and a Node.js server, the text-to-speech web app takes text input and sends it to the Watson Text to Speech service to be spoken in the voice you choose. Various voices (male and female) are available, covering many languages and regions.

By adding SSML elements to the input text, you can manipulate the voice. SSML can be used to control the timing, expressiveness, pitch, breathiness, rate, pronunciation, and more.

This app is intended to get you started. A text-to-speech app is a fun example, but the real results happen when you use this code to give your own application a voice.

Watson Text to Speech is available on IBM Cloud and with the Watson API Kit on IBM Cloud Pak for Data. With IBM Cloud Pak for Data, you can provision Watson Text to Speech on your own private cloud or wherever Red Hat OpenShift runs.

When you have completed this code pattern, you understand how to:

  • Retrieve and play audio from the Watson Text to Speech service using a REST API
  • Integrate the Watson Text to Speech service in a web app
  • Use React components and a Node.js server

Flow

Generate human-like audio from text

  1. The user supplies some text as input to the application (running locally, in IBM Cloud, or in IBM Cloud Pak for Data).
  2. The application sends the text to the Text to Speech service.
  3. As the data is processed, the Text to Speech service returns audio information to the HTML5 audio element for playback.

Instructions

Find the detailed steps for this pattern in the readme file. The steps show you how to:

  1. Provision the Watson Text to Speech service.
  2. Deploy the server.
  3. Use the web app.