Greasy Fork

来自缓存

Greasy Fork is available in English.

多角色TTS播放器

网页通用TTS播放器,集成GAL游戏流式语音引擎,支持多角色与情绪自动识别、自定义API连接(OpenAI/GPT-SoVITS双模式)、自动播放及移动端UI适配,支持Json自定义模式。

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
JiangChSh1995
日安装量
5
总安装量
24
评分
1 0 0
版本
1.5
创建于
2025-11-30
更新于
2025-12-02
大小
110.8 KB
许可证
All Rights Reserved
适用于
所有网站

📖 网页端 TTS (GAL 引擎版) v1.2 使用指南

一个功能强大的网页端 TTS(文本转语音)Tampermonkey 油猴脚本。它专为网页小说、GALGAME 网页版及在线对话场景设计,集成了 GAL 流式引擎,支持多角色自动识别、情感标签提取以及双引擎后端(OpenAI/GPT-SoVITS)对接。

致谢:本项目的 GAL 模式与多角色情感设计思路参考自 类脑社区cnfh1746_06138kikukiku0662,特此感谢提供的灵感与创意。


✨ 核心功能 (v1.2 Update)

  • 🎭 多角色与情感识别:自动解析网页文本中的【角色名】与〈情绪标签〉。
    • v1.2 新特性:支持将提取的元数据转换为自然语言指令(Prompt)注入 OpenAI 格式模型。
  • 🚀 GAL 流式引擎:专为对话场景优化。支持预加载机制(Preload),在播放当前句时自动后台生成后续语音,实现像玩游戏一样的无缝衔接体验。
  • 🧠 双引擎智能支持
    • OpenAI 模式:适配 GPT-4o-Audio、CosyVoice 等支持 OpenAI 格式的模型。
    • GPT-SoVITS 模式:适配 VITS、GPT-SoVITS 等标准推理后端。
  • 💉 智能引用注入 (Smart Injection)
    • 支持上传参考音频(Ref Audio)进行克隆。
    • 根据配置自动判断发送 Base64 还是 FormData,无需手动切换代码逻辑。
  • 📱 双端适配 UI:现代化的悬浮面板设计,支持 PC 端拖拽与移动端触控,且具备“边缘隐藏”功能,不遮挡阅读视线。
  • 🛡️ 隐私与网络管理
    • 敏感信息脱敏:API 地址/Token 默认显示为掩码(如 ********a1b2),防止截图泄露。
    • 内置心跳检测、超时重试、请求熔断机制及详细的日志系统。

🛠️ 安装与使用

1. 环境准备

  • 安装浏览器扩展 Tampermonkey
  • 拥有一个可用的 TTS 后端接口(推荐本地部署 GPT-SoVITS 或兼容 OpenAI 格式的云端 API)。

2. 快速开始

  1. 安装本脚本。
  2. 打开任意网页,你会看到右侧悬浮的 TTS 面板
  3. 点击 ⚙️ 设置 图标,配置你的 TTS API 地址 和 JSON 参数。
  4. 点击 ▶ 播放 按钮,脚本将自动解析当前页面的对话并开始朗读。

⚙️ 详细配置说明 (核心)

🔌 API 连接设置

在设置面板中,你需要配置以下参数:

  • API 地址: 默认为 http://127.0.0.1:8000
  • 鉴权方式: 支持 None (无)、Bearer TokenAPI Key 及自定义前缀。

📝 JSON 请求体配置 (v1.2)

⚠️ 重要:脚本通过 api_type 字段自动识别后端类型,请根据你的后端选择对应的模板。建议将 api_type 放在 JSON 的第一行。

🟢 模式 A:OpenAI 兼容格式

适用于 OpenAI 官方接口、GPT-4o-Audio 或兼容该格式的第三方后端。

{
  "api_type": "openai",
  "model": "gpt-4o-audio-preview",
  "voice": "alloy",
  "response_format": "wav",
  "references": [
    {
      "audio": "savedRefAudioBase64",
      "text": "promptText"
    }
  ]
}
  • 智能注入savedRefAudioBase64promptText 是特殊占位符。当 JSON 中包含此结构时,脚本会自动读取 UI 上传的文件和文本进行替换。
  • 无需克隆:如果不需要克隆功能,请直接删除整个 references 数组。
  • Prompt 注入:在此模式下,提取到的 [情绪:开心] [角色:爱丽丝] 会被自动转化为 Prompt 前缀注入给模型。

🔵 模式 B:GPT-SoVITS 格式

适用于标准的 GPT-SoVITS 推理后端。

{
  "api_type": "gpt-sovits",
  "speed_facter": 1.0,
  "volume": 1.0,
  "top_k": 10,
  "top_p": 1.0,
  "temperature": 1.0,
  "emotion": "default"
}
  • 克隆/合音:在此模式下,不要在 JSON 中写 refer_wavprompt_text 字段。
  • 操作方式:如需开启克隆,直接在脚本 UI 面板上勾选 「开启合音模式」 并上传文件,脚本会自动切换为 FormData 发送音频数据。

⏯️ 播放模式

  • 基础流式播放: 逐句生成,逐句播放,适合普通长文本。
  • GAL 流式播放: 核心功能。脚本会一次性提取页面所有对话,并建立播放队列。播放第 N 句时,后台会自动预加载第 N+1, N+2 句,极大减少等待时间。

📝 文本识别与正则要求

本脚本的核心在于能够识别文本格式。在设置中选择 “识别模式” 可切换不同的正则匹配逻辑。

1. 【角色】〈情绪〉「对话」 (默认推荐)

最精确的模式,适合标准的剧本或 GAL 文本格式。

  • 正则逻辑: 寻找 【角色名】 + 可选的 〈情绪〉 + 「对话内容」
  • 示例: text 【爱丽丝】〈开心〉「今天天气真好呀!」 【魔王】「哼,无聊的一天。」

2. 〈情绪〉「对话」

适用于单人独白或未标注角色名但有情绪标注的场景。

  • 示例: 〈悲伤〉「为什么会变成这样呢...」

3. 旁白与对话

混合模式,既识别对话,也朗读引号外的旁白文本(旁白使用默认音色)。

4. 引号样式支持

请在设置中选择网页对应的样式:

  • 日式: 「 ... 」
  • 中文: “ ... ”
  • 西式: " ... "

注意: 如果点击播放后没有声音,请先点击控制面板上的 🔍 (检测) 按钮,查看脚本是否成功识别到了文本。


🎨 角色管理系统

  1. 自动捕获: 识别到新的 【角色名】 时,自动添加到角色池。
  2. 独立配置: 点击角色旁的 ⚙️ 按钮,可单独设置 语速 (Speed)
  3. 分组管理: 支持创建自定义分组(如“主角团”、“反派”)并分配颜色,便于日志调试。

❓ 常见问题 (FAQ)

Q: 输入框里的 API 地址/Key 变成了星号? A: 这是 v1.2 的隐私保护功能。未修改时显示为掩码(如 ********a1b2),只有点击修改时才会显示原始内容,防止直播或截图时泄露。

Q: 为什么点击播放后没有反应? A: 请排查:

  1. 网络诊断: 在设置中测试 API 是否连通。
  2. 格式检测: 点击 🔍 检测 按钮,确认页面文本符合正则设置。
  3. 日志: 查看 📋 日志 是否有红色报错。

Q: 网页不在白名单中? A: 出于安全和性能考虑,脚本默认不会在所有网站运行。初次在某网站使用时,请在设置中点击 🌐 白名单 -> 添加当前网站

Q: 移动端怎么隐藏面板? A: 点击面板上的 👁 图标,面板会收起到屏幕右侧边缘,只留一个小角标。点击角标即可恢复。


Copyright Notice & User Guidelines

版权声明(中文原文)

  1. 本脚本(含代码、逻辑架构、功能设计)的完整版权归 JChSh(Bilibili UID:511242) 所有,受《中华人民共和国著作权法》及《伯尔尼保护文学和艺术作品公约》等相关国际公约保护。
  2. 未经版权人事先书面许可,任何组织或个人不得将本脚本用于商业化用途(包括但不限于售卖、出租、植入广告、关联商业服务等以盈利为目的的行为)。任何未经授权的商业使用均需承担法律责任,由此产生的一切收益归版权人所有,侵权方需独立承担全部法律责任。
  3. 非商业化二创需满足以下条件
    • ① 提前通过合法渠道联系版权人 JChSh 并获得书面许可;
    • ② 在二创作品显著位置完整标注版权信息及答谢对象,标注文本为:“本作品基于 JChSh(Bilibili UID:511242)的脚本创作,GAL模式与多角色情感思路特别致谢 类脑社区 cnfh1746_06138 & kikukiku0662”;
    • ③ 不得修改或删除原版权声明及答谢信息。
  4. 严禁利用本脚本从事违法犯罪、侵害他人合法权益等违反法律法规及公序良俗的行为,否则使用者需自行承担全部法律责任。

用户须知(中文原文)

  1. 您仅获得本脚本的非商业性使用权限,无权转让、授权他人使用或进行任何形式的商业化利用。
  2. 如需进行非商业化二创,必须提前联系版权人 JChSh 并取得书面许可,未获许可的二创行为视为侵权。
  3. 二创作品需严格遵守版权声明中的标注要求,确保答谢信息完整、清晰可见,不得擅自篡改或遗漏。
  4. 您应自行承担使用本脚本过程中的相关风险,版权人不对脚本的兼容性、稳定性及使用效果作出任何明示或暗示的担保。
  5. 对于任何违反本版权声明及用户须知的行为,版权人保留追究其法律责任的权利,包括但不限于要求停止侵权、赔偿损失、公开道歉等。

其他附注

  • 本协议受中华人民共和国法律及相关国际版权法管辖,争议解决优先通过协商方式;协商不成的,由版权人住所地有管辖权的人民法院管辖。