Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


:microphone: Sample Node.js Application for the IBM Watson Speech to Text Service

Subscribe to updates I use speech-to-text-nodejs

Statistics on speech-to-text-nodejs

Number of watchers on Github 586
Number of open issues 12
Average time to close an issue 8 days
Main language CSS
Average time to merge a PR 2 days
Open pull requests 13+
Closed pull requests 15+
Last commit over 2 years ago
Repo Created over 5 years ago
Repo Last Updated about 2 years ago
Size 28.9 MB
Homepage https://speech-to...
Organization / Authorwatson-developer-cloud
Latest Releasev1.0.1
Page Updated
Do you use speech-to-text-nodejs? Leave a review!
View open issues (12)
View speech-to-text-nodejs activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating speech-to-text-nodejs for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Speech to Text Browser Application

Build Status

The Speech to Text service uses IBM's speech recognition capabilities to convert speech in multiple languages into text. The transcription of incoming audio is continuously sent back to the client with minimal delay, and it is corrected as more speech is heard. The service is accessed via a WebSocket interface; a REST HTTP interface is also available;

Node.js is also used to provide the browser client's authentication token.

Deploy to Bluemix

Getting started

  1. You need a Bluemix account. If you don't have one, sign up.

  2. Download and install the Cloud-foundry CLI tool if you haven't already.

  3. Edit the manifest.yml file and change <application-name> to something unique. The name you use determines the URL of your application. For example, <application-name>.mybluemix.net.

  - services:
    - my-service-instance
    name: <application-name>
    command: npm start
    path: .
    memory: 512M
  1. Connect to Bluemix with the command line tool.
  cf api https://api.ng.bluemix.net
  cf login
  1. Create and retrieve service keys to access the Speech to Text service:
  cf create-service speech_to_text standard my-stt-service
  cf create-service-key my-stt-service myKey
  cf service-key my-stt-service myKey
  1. Create a .env file in the root directory by copying the sample .env.example file using the following command:
  cp .env.example .env

You will update the .env with the information you retrieved in steps 5.

The .env file will look something like the following:

  1. Install the dependencies you application need:
  npm install
  1. Start the application locally:
  npm start
  1. Point your browser to http://localhost:3000.

  2. Optional: Push the application to Bluemix:

  cf push

After completing the steps above, you are ready to test your application. Start a browser and enter the URL of your application.

        <your application name>.mybluemix.net

For more details about developing applications that use Watson Developer Cloud services in Bluemix, see Getting started with Watson Developer Cloud and Bluemix.


  • The main source of troubleshooting and recovery information is the Bluemix log. To view the log, run the following command:
  cf logs <application-name> --recent
  • For more details about the service, see the documentation for the Speech to Text service.

Directory structure

 app.js                      // express routes
 config                      // express configuration
 public                      // static resources
 server.js                   // entry point
 test                        // tests
 views                       // react components


This sample code is licensed under Apache 2.0.



Open Source @ IBM

Find more open source projects on the IBM Github Page

Privacy Notice

Sample web applications that include this package may be configured to track deployments to IBM Bluemix and other Cloud Foundry platforms. The following information is sent to a Deployment Tracker service on each deployment:

  • Node.js package version
  • Node.js repository URL
  • Application Name (application_name)
  • Space ID (space_id)
  • Application Version (application_version)
  • Application URIs (application_uris)
  • Labels of bound services
  • Number of instances for each bound service and associated plan information

This data is collected from the package.json file in the sample application and the VCAP_APPLICATION and VCAP_SERVICES environment variables in IBM Bluemix and other Cloud Foundry platforms. This data is used by IBM to track metrics around deployments of sample applications to IBM Bluemix to measure the usefulness of our examples, so that we can continuously improve the content we offer to you. Only deployments of sample applications that include code to ping the Deployment Tracker service will be tracked.

speech-to-text-nodejs open issues Ask a question     (View All Issues)
  • over 3 years Unable to run locally in chrome
  • almost 4 years [Speech to Text]:Not working in mobile
  • almost 4 years the app does not seem to work in mac when using firefox
  • almost 4 years STT DEMO KWS -- Text normalization is needed for all models; all keywords are erroneously not spotted for all non-US English models
  • about 4 years Recognized Text Formatting
  • about 4 years reCaptcha option to reset rate-limit
  • over 4 years Play Sample doesn't work on Safari
  • over 4 years No/wrong error message on Safari
  • over 4 years Split front-end code into a library
  • almost 5 years microphone capture from W540 laptops
speech-to-text-nodejs open pull requests (View All Pulls)
  • Convert demo to using new Speech JS SDK
  • ejs@2.4.1 untested ⚠️
  • express@4.13.4 untested ⚠️
  • watson-developer-cloud@1.2.1 untested ⚠️
  • express-rate-limit@2.1.0 untested ⚠️
  • helmet@1.1.0 untested ⚠️
  • watson-developer-cloud@1.2.0 untested ⚠️
  • CNs and KWS support
  • watson-developer-cloud@1.2.4 untested ⚠️
  • watson-developer-cloud@1.2.3 untested ⚠️
  • watson-developer-cloud@1.2.2 untested ⚠️
  • Update body-parser to version 1.15.0 ?
  • watson-developer-cloud@1.2.5 untested ⚠️
speech-to-text-nodejs list of languages used
speech-to-text-nodejs latest release notes
v1.0.1 First Release

Speech to text node application that uses the Authorization service to get a token and then WebSockets to recognize audio.

Other projects in CSS