From 99e8849b6cbdf2bc603a246ce215c9fcc60598de Mon Sep 17 00:00:00 2001 From: Lukas Schaefer Date: Sat, 26 Apr 2025 00:41:45 -0400 Subject: feat(TaskProcessing): Add TextToSpeech provider Signed-off-by: Lukas Schaefer --- .../TaskProcessing/TaskTypes/TextToSpeech.php | 92 ++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 lib/public/TaskProcessing/TaskTypes/TextToSpeech.php (limited to 'lib/public/TaskProcessing') diff --git a/lib/public/TaskProcessing/TaskTypes/TextToSpeech.php b/lib/public/TaskProcessing/TaskTypes/TextToSpeech.php new file mode 100644 index 00000000000..ce35be32a6f --- /dev/null +++ b/lib/public/TaskProcessing/TaskTypes/TextToSpeech.php @@ -0,0 +1,92 @@ +l = $l10nFactory->get('lib'); + } + + + /** + * @inheritDoc + * @since 32.0.0 + */ + public function getName(): string { + return $this->l->t('Generate speech'); + } + + /** + * @inheritDoc + * @since 32.0.0 + */ + public function getDescription(): string { + return $this->l->t('Generate speech from a transcript'); + } + + /** + * @return string + * @since 32.0.0 + */ + public function getId(): string { + return self::ID; + } + + /** + * @return ShapeDescriptor[] + * @since 32.0.0 + */ + public function getInputShape(): array { + return [ + 'input' => new ShapeDescriptor( + $this->l->t('Prompt'), + $this->l->t('Write transcript that you want the assistant to generate speech from'), + EShapeType::Text + ), + ]; + } + + /** + * @return ShapeDescriptor[] + * @since 32.0.0 + */ + public function getOutputShape(): array { + return [ + 'speech' => new ShapeDescriptor( + $this->l->t('Output speech'), + $this->l->t('The generated speech'), + EShapeType::Audio + ), + ]; + } +} -- cgit v1.2.3