1.2.9 • Published 6 years ago

@extra-youtube/tts v1.2.9

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

Get TTS audio for english text.

setup

  1. Install ffmpeg and add to PATH.
  2. Enable API for Google Cloud Text-to-Speech API.
  3. Setup authentication with a service account.

usage

const tts = require('@extra-youtube/tts');
// tts(<output>, <text>, [options])
// -> Promise <output>

// [options]: {
//   output: {
//     text: $EYOUTUBE_OUTPUT_TEXT||false,
//     ssmls: $EYOUTUBE_OUTPUT_SSMLS||false,
//     audios: $EYOUTUBE_OUTPUT_AUDIOS||false
//   },
//   tts: {
//     // See TTS client options (below)
//   },
//   audio: {
//     acodec: $EYOUTUBE_AUDIO_ACODEC||'copy',
//     cp: {
//       sync: true,
//       stdio: [0, 1, 2]
//     }
//   },
//   audios: {
//     voice: {
//       name: $EYOUTUBE_AUDIOS_VOICE_NAME||'en-US-Standard-D',
//       languageCode: $EYOUTUBE_AUDIOS_VOICE_LANGUAGECODE||'en-US',
//       ssmlGender: $EYOUTUBE_AUDIOS_VOICE_SSMLGENDER||'NEUTRAL'
//     }
//   },
//   ssmls: {
//     block: {
//       length: $EYOUTUBE_SSMLS_BLOCK_LENGTH||5000,
//       separator: $EYOUTUBE_SSMLS_BLOCK_SEPARATOR||'.'
//     },
//     quote: {
//       breakTime: $EYOUTUBE_SSMLS_QUOTE_BREAKTIME||500,
//       emphasisLevel: $EYOUTUBE_SSMLS_QUOTE_EMPHASISLEVEL||null
//     },
//     heading: {
//       breakTime: $EYOUTUBE_SSMLS_HEADING_BREAKTIME||4000,
//       breakDiff: $EYOUTUBE_SSMLS_HEADING_BREAKDIFF||500,
//       prosodyRate: $EYOUTUBE_SSMLS_HEADING_PROSODYRATE||70,
//       prosodyPitch: $EYOUTUBE_SSMLS_HEADING_PROSODYPITCH||-2
//     },
//     ellipsis: {
//       breakTime: $EYOUTUBE_SSMLS_ELLIPSIS_BREAKTIME||2000
//     },
//     dash: {
//       breakTime: $EYOUTUBE_SSMLS_DASH_BREAKTIME||1500
//     },
//     newline: {
//       breakTime: $EYOUTUBE_SSMLS_NEWLINE_BREAKTIME||2000
//     }
//   }
// }



await tts('output.mp3', 'The Knight said you were gutless!');
// output.mp3 created

extra-youtube

References: SSML, TTS voices, TTS client docs.