Dify智能体自定义文本转语音(TTS)工作流

Dify智能体自定义文本转语音(TTS)工作流

图片[1]-Dify智能体自定义文本转语音(TTS)工作流-AI应用集
图片[2]-Dify智能体自定义文本转语音(TTS)工作流-AI应用集

🔊 自定义文本转语音(TTS)工作流

该工作流是一个简洁而实用的语音合成工具。其核心功能是,利用一个自定义部署的 Text-to-Speech (TTS) 服务,将用户输入的任何文本内容,即时转换成一段语音,并生成一个可直接在聊天界面播放的音频播放器。

接收用户文本输入

用户在“开始”节点,通过聊天的方式输入任意一段想要转换成语音的文字。这段文字会被系统捕获,作为后续语音合成的原材料。

调用本地 TTS 服务

用户的文本输入会被直接送入一个“HTTP 请求”节点,该节点负责与外部的 TTS 服务进行通信。

  • 发起请求:它会向一个本地部署的服务地址(http://127.0.0.1:8080/edgetts/generate-tts/)发起一次 POST 请求。
  • 传递参数:请求的正文(Body)是一个 JSON 对象,其中包含了需要转换的文本(input_text)、指定的语音角色(voice: zh-CN-XiaoxiaoNeural)、模型、语速和响应格式等详细参数。

处理返回结果并生成播放器

本地的 TTS 服务在成功生成音频文件后,会返回一个包含音频文件名和访问链接(URL)的 JSON 数据。

  • 解析数据:一个“代码执行”节点会接收这个 JSON 数据。
  • 动态生成 HTML:节点内置的 Python 脚本会解析出音频的 URL,然后动态地生成一段标准的 HTML <audio> 代码,也就是一个嵌入式的音频播放器。

图文并茂地回复

工作流的“直接回复”节点会将原始文本和生成的音频播放器组合在一起,作为最终的输出。

  • 整合输出:用户最终会看到自己输入的原始文本,以及紧随其后的一个音频播放器。点击播放按钮,即可听到由指定声音朗读的文本内容。

主要特点

  • 自定义服务集成:清晰地展示了 Dify 如何通过“HTTP 请求”节点,与任何外部的、甚至是用户自己部署的本地服务(如 EdgeTTS)进行无缝集成,极大地扩展了 Dify 的原生能力。
  • 即时语音合成:实现了对任意文本的即时“发声”功能,为打造语音助手、内容播报、辅助阅读等应用场景提供了基础。
  • 动态 HTML 生成:巧妙地利用“代码”节点,根据上一步 API 返回的动态结果,程序化地生成前端 HTML 元素,实现了灵活的富媒体内容展示。
  • 富媒体输出:最终的回复内容是“文本 + 音频播放器”的组合,而非单一的文本,为用户提供了更丰富、更多感官维度的交互体验。

重要提示

此工作流的正常运行,强依赖于一个在本地 http://127.0.0.1:8080/ 地址上正确部署并运行的 EdgeTTS 服务。如果该服务未启动或地址不正确,工作流将无法生成音频。

非常适合希望在 Dify 应用中使用特定声音、或者希望通过私有化部署来降低 TTS 服务成本的开发者。它为构建具有自定义语音播报功能的应用,提供了一个简洁明了的实现范例。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容