Google TTS (Text-To-Speech) for node.js
$ npm install --save google-tts-api
$ npm install -D typescript @types/node # Only for TypeScript
Please see CHANGELOG.
Method | Options (all optional) | Return Type | Handle Long Text |
---|---|---|---|
getAudioUrl |
lang , slow , host |
string |
|
getAudioBase64 |
lang , slow , host , timeout |
Promise<string> |
|
getAllAudioUrls |
lang , slow , host , splitPunct |
{ shortText: string; url: string; }[] |
✅ |
getAllAudioBase64 |
lang , slow , host , timeout , splitPunct |
Promise<{ shortText: string; base64: string; }[]> |
✅ |
Option | Type | Default | Description |
---|---|---|---|
lang |
string |
en | See all avaiable language code at https://cloud.google.com/speech/docs/languages |
slow |
boolean |
false | Use the slow audio speed if set slow to true |
host |
string |
https://translate.google.com | You can change the host if the default host could not work in your region (e.g. https://translate.google.com.cn). |
timeout |
number |
10000 (ms) | (Only for getAudioBase64 and getAllAudioBase64 ) Set timeout for the HTTP request. |
splitPunct |
string |
(Only for getAllAudioUrls and getAllAudioBase64 ) Set the punctuation to split the long text to short text. (e.g. ",、。") |
getAudioUrl(text, [option])
import * as googleTTS from 'google-tts-api'; // ES6 or TypeScript
const googleTTS = require('google-tts-api'); // CommonJS
// get audio URL
const url = googleTTS.getAudioUrl('Hello World', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
});
console.log(url); // https://translate.google.com/translate_tts?...
getAudioBase64(text, [option])
import * as googleTTS from 'google-tts-api'; // ES6 or TypeScript
const googleTTS = require('google-tts-api'); // CommonJS
// get base64 text
googleTTS
.getAudioBase64('Hello World', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
timeout: 10000,
})
.then(console.log) // base64 text
.catch(console.error);
getAllAudioUrls(text, [option])
(For text longer than 200 characters)import * as googleTTS from 'google-tts-api'; // ES6 or TypeScript
const googleTTS = require('google-tts-api'); // CommonJS
const results = googleTTS.getAllAudioUrls('LONG_TEXT_...', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
splitPunct: ',.?',
});
console.log(results);
// [
// { shortText: '...', url: '...' },
// { shortText: '...', url: '...' },
// ...
// ];
getAllAudioBase64(text, [option])
(For text longer than 200 characters)import * as googleTTS from 'google-tts-api'; // ES6 or TypeScript
const googleTTS = require('google-tts-api'); // CommonJS
googleTTS
.getAllAudioBase64('LONG_TEXT_...', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
timeout: 10000,
splitPunct: ',.?',
})
.then(console.log)
// [
// { shortText: '...', base64: '...' },
// { shortText: '...', base64: '...' },
// ...
// ];
.catch(console.error);
MIT