text-to-speech using espeak cli program

npm install espeak
1 downloads in the last day
7 downloads in the last week
51 downloads in the last month


Build Status

This simply uses the eSpeak cli program to generate wav audio data from text strings. You can then use the raw binary data to output to a file, send as a http download, get as a base64-encoded data URI string, or whatever else.


$ npm install espeak


var espeak = require('espeak');

// optionally set the path to the `espeak` cli program if it's not in your PATH
//espeak.cmd = '/usr/bin/espeak';

espeak.speak('hello world', function(err, wav) {
  if (err) return console.error(err);

  // get the raw binary wav data
  var buffer = wav.buffer;

  // get a base64-encoded data URI
  var dataUri = wav.toDataUri();

// optionally add custom cli arguments for things such as pitch, speed, wordgap, etc.
espeak.speak('hello world, slower', ['-p 60', '-s 90', '-g 30'], function(err, wav) {});

There are some related modules, although there seems to be some scattered forks and it wasn't clear to the author which was updated and/or compatible with Node.js/npm at the time of writing this.

npm loves you