jovotech/jovo-framework

Create Improved Polly TTS plugin that includes caching, $tts object, and expanded $response objects

rmtuckerphx opened this issue · 1 comments

I'm submitting a...

  • Bug report
  • Feature request
  • Documentation issue or request
  • Other... Please describe:

Expected Behavior

Expand the functionality for TTS in Jovo 4.
This includes:

  • TtsPlugin - base plugin for other TTS plugins to inherit from
  • PollyTts plugin (WIP) - a TTS provider for Amazon Polly
  • BaseTtsCache plugin - items found in the cache don't call Polly to generate
  • S3TtsCache plugin - a cache for S3 website that serves up audio files
  • Add methods on JovoResponse to iterate all spoken items in platform-specific response
  • Add $tts object to Jovo during response.tts and add audio to Web/Core responses - see proposal
  • FFmpegCombine plugin for cases when there are multiple web urls for a given item

To see the main components and the WIP implementation see jovo4-sample-polly-tts
NOTE: For some reason, the response.tts middleware doesn't fire from Jovo Debugger. There is an open issue about this.

I'm willing to work with anyone on the Jovo team to complete the design and do most of the implementation. Need some help working with JovoResponse and putting all the files in the correct places.

I think all these changes can be made without any breaking changes.

Current Behavior

No TTS functionality for v4. This very much needed especially when it comes to Web/Core responses if you want to customize the voice output.

Error Log

No error

Your Environment

@jovotech/cli: 4.1.6

Jovo packages of the current project :

@jovotech/cli-command-build: 4.1.6
@jovotech/cli-command-deploy: 4.1.6
@jovotech/cli-command-get: 4.1.6
@jovotech/cli-command-new: 4.1.6
@jovotech/cli-command-run: 4.1.7
@jovotech/cli-core: 4.1.7
@jovotech/common: 4.2.9
@jovotech/db-filedb: 4.2.15
@jovotech/filebuilder: 0.0.1
@jovotech/framework: 4.2.15
@jovotech/model: 4.0.0
@jovotech/model-nlpjs: 4.0.0
@jovotech/nlu-nlpjs: 4.2.15
@jovotech/output: 4.2.11
@jovotech/platform-core: 4.2.15
@jovotech/platform-web: 4.2.15
@jovotech/plugin-debugger: 4.2.16
@jovotech/server-express: 4.2.15
Environment:
System:
OS: Windows 10 10.0.22000
Binaries:
Node: 14.19.0 - C:\Program Files\nodejs\node.EXE
npm: 8.10.0 - C:\Program Files\nodejs\npm.CMD