1.2.9 • Published 6 years ago
@extra-youtube/tts v1.2.9
Get TTS audio for english text.
setup
- Install ffmpeg and add to
PATH
. - Enable API for Google Cloud Text-to-Speech API.
- 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
References: SSML, TTS voices, TTS client docs.
1.2.9
6 years ago