返回顶部
g

giggle-generation-speech咯咯语音生成

Use when the user wants to generate speech, voiceover, or text-to-audio. Converts text to AI voice via Giggle.pro TTS API. Triggers: generate speech, text-to-speech, TTS, voiceover, read this text aloud, synthesize speech.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.0.10
安全检测
已通过
221
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

giggle-generation-speech

技能名称: giggle-generation-speech

详细描述:
简体中文 | English

文本转语音

通过 giggle.pro 将文本合成为 AI 语音/配音。支持多种音色、情感和语速。

⚠️ 安装前须知

请在安装前仔细阅读以下内容。 此技能将:

  1. 1. 写入 ~/.openclaw/skills/giggle-generation-speech/logs/ – 用于 Cron 去重的任务状态文件
  2. 注册 Cron(30 秒间隔)– 用户发起语音生成时的异步轮询;完成后移除
  3. 转发原始标准输出 – 脚本输出(音频链接、状态)将原样传递给用户

要求:python3、GIGGLEAPIKEY(系统环境变量)、pip 包:requests



API 密钥:设置系统环境变量 GIGGLEAPIKEY。如果未配置,脚本会提示。

禁止内联 Python:所有命令必须通过 exec 工具执行。切勿使用 heredoc 内联代码。

出错不重试:如果脚本执行遇到错误,不要重试。直接向用户报告错误并停止。

执行流程(阶段 1 提交 + 阶段 2 Cron + 阶段 3 同步回退)

语音生成通常需要 10–30 秒。采用“快速提交 + Cron 轮询 + 同步回退”三阶段架构。

重要切勿在 exec 的 env 参数中传递 GIGGLEAPIKEY。API 密钥从系统环境变量读取。


阶段 0:引导用户选择音色和情感(必需)

在提交之前,你必须引导用户选择音色和情感。不要使用默认值。

  1. 1. 运行 --list-voices 获取可用音色:

bash
python3 scripts/texttoaudio_api.py --list-voices

  1. 2. 以可读格式向用户展示音色列表(voice_id、名称、风格、性别等),并引导用户选择一个
  2. 询问用户偏好的情感(例如 joy、sad、neutral、angry、surprise)。如果没有偏好则使用 neutral
  3. 只有在用户确认音色和情感后,才能进入阶段 1 提交

阶段 1:提交任务(exec 约 10 秒完成)

首先向用户发送消息:“语音生成进行中,通常需要 10–30 秒。结果将自动发送。”

bash

必须指定用户选择的音色和情感


python3 scripts/texttoaudio_api.py \
--text 今天天气真好 \
--voice-id Calm_Woman \
--emotion joy \
--speed 1.2 \
--no-wait --json

查看可用音色

python3 scripts/texttoaudio_api.py --list-voices

响应示例:

json
{status: started, task_id: xxx}

立即将 task_id 存入内存(addMemory):

giggle-generation-speech task_id: xxx(提交时间:YYYY-MM-DD HH:mm)



阶段 2:注册 Cron(30 秒间隔)

使用 cron 工具注册轮询任务。严格遵循参数格式

json
{
action: add,
job: {
name: giggle-generation-speech-,
schedule: {
kind: every,
everyMs: 30000
},
payload: {
kind: systemEvent,
text: 语音任务轮询:执行 python3 scripts/texttoaudioapi.py --query --task-id <完整 taskid>,根据 Cron 逻辑处理标准输出。如果标准输出是非 JSON 的纯文本,转发给用户并移除 Cron。如果标准输出是 JSON,不发送消息,继续等待。如果标准输出为空,立即移除 Cron。
},
sessionTarget: main
}
}

Cron 触发处理(基于 exec 的标准输出):

标准输出模式操作
非空纯文本(不以 { 开头)原样转发给用户移除 Cron
标准输出为空
已推送,立即移除 Cron,不发送消息 |
| JSON(以 { 开头,包含 status 字段) | 不发送消息,不移除 Cron,继续等待 |


阶段 3:同步等待(乐观路径,Cron 未触发时的回退)

无论 Cron 注册是否成功,都要执行此步骤。

bash
python3 scripts/texttoaudioapi.py --query --task-id id> --poll --max-wait 120

处理逻辑

  • - 返回纯文本(语音就绪/失败消息)→ 原样转发给用户,移除 Cron
  • 标准输出为空 → Cron 已推送,移除 Cron,不发送消息
  • exec 超时 → Cron 继续轮询

查看音色列表

当用户想查看可用音色时,运行:

bash
python3 scripts/texttoaudio_api.py --list-voices

脚本调用 GET /api/v1/project/presettones,并向用户展示 voiceid、名称、风格、性别、年龄、语言。



链接返回规则

返回给用户的音频链接必须是完整的签名 URL(包含 Policy、Key-Pair-Id、Signature 查询参数)。正确示例:https://assets.giggle.pro/...?Policy=...&Key-Pair-Id=...&Signature=...。错误示例:不要返回仅包含基础路径(无查询参数)的未签名 URL。脚本会处理 ~ 编码为 %7E;转发时保持原样。



新请求 vs 查询旧任务

当用户发起新的语音生成请求时必须运行阶段 1 提交新任务。不要重复使用内存中的旧 task_id。

只有当用户明确询问之前任务的进度时,才从内存中查询旧的 task_id。



参数参考


参数必需默认值描述
--text-要合成的文本
--voice-id
是 | - | 音色 ID;必须通过 --list-voices 获取并引导用户选择 |
| --emotion | 是 | - | 情感:joy、sad、neutral、angry、surprise 等。引导用户选择 |
| --speed | 否 | 1 | 语速倍数 |
| --list-voices | - | - | 获取可用音色列表 |
| --query | - | - | 查询任务状态 |
| --task-id | 查询时必需 | - | 任务 ID |
| --poll | 否 | - | 与 --query 配合的同步轮询 |
| --max-wait | 否 | 120 | 最大等待秒数 |


交互指南

每次语音生成前,完成以下交互

  1. 1. 如果用户未提供文本,询问:“您想将哪段文本转换为语音?”
  2. 必须引导用户选择音色:运行 --list-voices,展示列表,让用户选择。不要使用默认音色
  3. 必须引导用户选择情感:询问用户偏好的情感(joy、sad、neutral、angry、surprise 等)
  4. 用户确认文本、音色和情感后,运行阶段 1 提交 → 阶段 2 注册 Cron → 阶段 3 同步等待

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 giggle-generation-speech-1776120681 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 giggle-generation-speech-1776120681 技能

通过命令行安装

skillhub install giggle-generation-speech-1776120681

下载

⬇ 下载 giggle-generation-speech v0.0.10(免费)

文件大小: 11.38 KB | 发布时间: 2026-4-15 12:53

v0.0.10 最新 2026-4-15 12:53
- English documentation added, replacing original Chinese SKILL.md for international compatibility and clarity
- Now explicitly documents and enforces requirements: writes to logs, pip dependency on requests, cron registration for async polling
- Adds version, license, and clearer structured requirements fields for installer compatibility
- Introduces new section on review before install, with security and resource notes
- Usage/documentation clarified, with more concise step-by-step user guidance and requirements
- SKILL.zh-CN.md (Simplified Chinese version) added for Chinese users

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部