Bases: BaseAudioGenerationTask
Source code in griptape/tasks/text_to_speech_task.py
| @define
class TextToSpeechTask(BaseAudioGenerationTask):
DEFAULT_INPUT_TEMPLATE = "{{ args[0] }}"
_input: Union[str, TextArtifact, Callable[[BaseTask], TextArtifact]] = field(default=DEFAULT_INPUT_TEMPLATE)
text_to_speech_driver: BaseTextToSpeechDriver = field(
default=Factory(lambda: Defaults.drivers_config.text_to_speech_driver), kw_only=True
)
@property
def input(self) -> TextArtifact:
if isinstance(self._input, TextArtifact):
return self._input
elif isinstance(self._input, Callable):
return self._input(self)
else:
return TextArtifact(J2().render_from_string(self._input, **self.full_context))
@input.setter
def input(self, value: TextArtifact) -> None:
self._input = value
def try_run(self) -> AudioArtifact:
audio_artifact = self.text_to_speech_driver.run_text_to_audio(prompts=[self.input.to_text()])
if self.output_dir or self.output_file:
self._write_to_file(audio_artifact)
return audio_artifact
|
DEFAULT_INPUT_TEMPLATE = '{{ args[0] }}'
class-attribute
instance-attribute
input: TextArtifact
property
writable
text_to_speech_driver: BaseTextToSpeechDriver = field(default=Factory(lambda: Defaults.drivers_config.text_to_speech_driver), kw_only=True)
class-attribute
instance-attribute
try_run()
Source code in griptape/tasks/text_to_speech_task.py
| def try_run(self) -> AudioArtifact:
audio_artifact = self.text_to_speech_driver.run_text_to_audio(prompts=[self.input.to_text()])
if self.output_dir or self.output_file:
self._write_to_file(audio_artifact)
return audio_artifact
|