2.1.5 • Published 2 months ago

@sefinek/google-tts-api v2.1.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

📢 @sefinek/google-tts-api

Google TTS (Text-To-Speech) for Node.js without any vulnerabilities.

@sefinek/google-tts-api.png @sefinek/google-tts-api.png @sefinek/google-tts-api.png

📥 Installation

$ npm install --save google-tts-api
$ npm install -D typescript @types/node # Only for TypeScript

🤔 Usage

MethodOptions (all optional)Return TypeHandle Long Text
getAudioUrllang, slow, hoststring
getAudioBase64lang, slow, host, timeoutPromise<string>
getAllAudioUrlslang, slow, host, splitPunct{ shortText: string; url: string; }[]
getAllAudioBase64lang, slow, host, timeout, splitPunctPromise<{ shortText: string; base64: string; }[]>

Options (all optional)

OptionTypeDefaultDescription
langstringenSee all available language code at https://cloud.google.com/speech/docs/languages
slowbooleanfalseUse the slow audio speed if set slow to true
hoststringhttps://translate.google.comYou can change the host if the default host could not work in your region (e.g. https://translate.google.com.cn).
timeoutnumber10000 (ms)(Only for getAudioBase64 and getAllAudioBase64) Set timeout for the HTTP request.
splitPunctstring(Only for getAllAudioUrls and getAllAudioBase64) Set the punctuation to split the long text to short text. (e.g. ",、。")

💻 Examples

1. getAudioUrl(text, [option])

import * as googleTTS from '@sefinek/google-tts-api'; // ES6 or TypeScript
const googleTTS = require('@sefinek/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?...

2. getAudioBase64(text, [option])

import * as googleTTS from '@sefinek/google-tts-api'; // ES6 or TypeScript
const googleTTS = require('@sefinek/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);

3. getAllAudioUrls(text, [option]) (For text longer than 200 characters)

import * as googleTTS from '@sefinek/google-tts-api'; // ES6 or TypeScript
const googleTTS = require('@sefinek/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: '...' },
//   ...
// ];

4. getAllAudioBase64(text, [option]) (For text longer than 200 characters)

import * as googleTTS from '@sefinek/google-tts-api'; // ES6 or TypeScript
const googleTTS = require('@sefinek/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);

More examples

📑 License

MIT

2.1.4

2 months ago

2.1.5

2 months ago

2.1.3

5 months ago

2.1.2

5 months ago

2.1.1

5 months ago

2.1.0

6 months ago