Skip to content

Latest commit

 

History

History
359 lines (254 loc) · 20.7 KB

File metadata and controls

359 lines (254 loc) · 20.7 KB

配置参考

网页只显示当前选择会用到的字段。切换识别模型、翻译服务或合成后端时,无关参数会隐藏,但已经保存的值不会因此丢失;切回原后端后仍可继续使用。

默认设置和项目设置

全局默认值保存在:

.asmr-dubber/config/settings.json

新建项目时,程序把这些值复制到项目的 project.json。从那以后,项目使用自己的设置快照,不会每次打开都重新读取全局默认值。

设置页底部只有一个“保存设置”按钮。它始终写入 settings.json;如果当前已经打开项目,也会更新该项目的设置快照。

如果应用的内容会影响识别、VAD(语音活动检测)、对齐或多模型校对,现有句子表会标记为待更新。下次点击“运行 ASR(语音识别)”时才真正重做,表格不会在保存设置的一刻消失。项目统一音色参考属于项目数据,应用设置不会清空它。

项目保存带 revision 检查。两个窗口同时打开同一项目时,较旧的窗口不能覆盖已经写入磁盘的新内容;重新打开项目后再继续编辑。

常规

设置 默认 说明
项目保存目录 .asmr-dubber/projects 留空保持便携;填写外部绝对路径后,项目不再随程序目录一起卸载
Hugging Face 下载端点 留空 只在显式允许相应下载源时使用;默认下载策略仍由 mirrors.json 决定
Python 软件源 留空 安装运行依赖时的首选地址;已发布的 ModelScope wheelhouse 优先级更高

日常使用不需要填写后两项。国内网络环境保持留空,安装器会采用仓库维护者配置并校验过的 ModelScope 路径。

设备与模型

这个页面只做本地检查,不会为了显示状态而加载模型或访问网络。

状态 含义
可用 运行环境和所需模型都完整
未安装 缺少运行时或对应 Python 依赖
模型不完整 运行时可用,但固定模型快照缺文件或校验不通过
外部服务 本程序只负责连接 API;服务端由用户准备
不兼容 当前系统、设备或显存不满足后端声明

“安装/修复”、模型下载和本地推理共用一个任务队列,避免一边改运行环境一边加载模型。网页下载可以暂停;再次执行会复用已经完成的文件和有效断点。

ASR(语音识别)

“新建媒体项目的音频语言”只决定以后新建的项目。已经打开的项目会保留自己的语言,不会因为修改默认值而被重新标记。选择英语时,页面只保留 Faster-Whisper 及其兼容模型;日语专用后端、VAD 和交叉校对模型会隐藏。

识别器和运行参数

设置 默认 建议
ASR 后端 Parakeet(日语) 主识别器只能是 Parakeet(日语)、Kotoba-Whisper(日语)或 Faster-Whisper(日语/英语)
ASR 模型 Parakeet CTC 1.1B JA GAL 下拉框按所选后端刷新
识别设备 CUDA 没有可用 NVIDIA 环境时选择 CPU
计算精度 float16 Faster-Whisper GPU 常用 float16,CPU 常用 int8
批大小 1 提高会增加显存占用,也可能改变少量结果
Beam Size 5 主要影响 Whisper 系列;更大通常更慢
停顿切句 0.55 秒 更小会产生更多短句,更大容易合并相邻台词
单句最长 15 秒 达到上限时允许按标点和停顿继续切分
识别提示词 留空 只放人名、作品名或读法提示,不要粘贴预期全文;英语项目填写英文提示

“使用上一段文字作为识别条件”只在相应 Whisper 流程中有意义。它能改善连续语境,也可能让错误或重复延续到下一段;出现循环文字时关闭后对照。

后端专属参数

Parakeet:

  • 单次超时默认 600 秒;
  • 分块默认 120 秒,可设 15–600 秒;
  • 0.6B 模型可选 TDT 或 CTC 解码头;1.1B 按其支持方式运行。

Kotoba-Whisper:

  • 分块默认 30 秒,可设 5–120 秒;
  • 分块过大增加内存和显存峰值,过小会减少跨块语境。

Faster-Whisper:

  • GPU 可选 float16int8_float16
  • CPU 建议 int8
  • Beam Size、上一段文字条件和后端 VAD 会按当前选择生效。

网页切换后端时只保留该后端真正使用的字段,避免误以为某个 Parakeet 参数会影响 Faster-Whisper。

VAD(语音活动检测)

模式 适用范围 说明
不做 VAD 预处理 所有识别器 默认;最不容易漏掉低响度耳语
后端自带 VAD Parakeet、Faster-Whisper 使用各自的 Silero VAD 能力;Kotoba 不显示
日语 ASMR 专用 VAD 日语识别器 需要独立 ONNX 模型和运行依赖完整;英语项目不会使用

后端 VAD 的“最短静音”默认 500 ms。ASMR 专用 VAD 参数:

参数 默认 调整方向
语音阈值 0.5 漏耳语时降低;噪声段太多时提高
最短语音 250 ms 降低会保留更短的发声
最短静音 100 ms 提高会减少碎片化区间
边界保留 200 ms 增加可避免吃掉句首句尾

Qwen3 ForcedAligner

启用后,Qwen/Qwen3-ForcedAligner-0.6B 根据识别出的日语或英语重新计算每句起止时间。模型只改边界,不改文字。该选项只有在模型快照与 qwen-asr 运行环境都完整时显示。

多模型交叉校对

参与者只能来自本地可用的 Parakeet、Kotoba-Whisper 和 Faster-Whisper。每个选择项同时绑定后端和具体模型,未下载或依赖损坏的模型不显示。

新项目默认不启用交叉校对。进阶模型可用时,参与模型预选 Parakeet 与 Kotoba-Whisper,文字优先参考 Parakeet,最终时间戳预选 Qwen3 ForcedAligner;缺少的模型会自动从界面选项中排除。

设置 作用
参与校对的识别模型 依次运行的候选集合,最多 6 个
文字判断优先来源 候选冲突时优先参考的识别器,不是无条件覆盖
最终时间戳来源 使用某个候选的边界,或用 Qwen3 ForcedAligner 对最终文字重新对齐
允许时间漂移 把其它模型的全文结果投影到比较窗口时容许的边界差,默认 1.5 秒
作品、人物与场景背景 帮助专名和上下文消歧,不允许据此补写台词
校对 Prompt 约束 LLM 只能选择现有候选并输出严格 JSON;不确定时保留默认值

校对只支持 DeepSeek、阿里云百炼、豆包、商汤 SenseNova、OpenAI、Anthropic、Gemini 和 OpenAI-compatible 服务。Prompt 不应要求模型改写或拼接候选;程序会追加 window_idselected_candidate 和结果 JSON 的硬性合同。

翻译

服务

类型 服务 是否可做多 ASR 校对
LLM DeepSeek、阿里云百炼、豆包、商汤 SenseNova、OpenAI、Anthropic Claude、Google Gemini、OpenAI-compatible 可以
机器翻译 DeepL、Google Cloud Translation、Microsoft Azure Translator 不可以

默认翻译服务是 DeepSeek,模型为 deepseek-v4-flash。选择服务后,模型、基础地址、说明和密钥状态会一起刷新。模型框允许填写账户实际可用的模型 ID。

LLM 参数

参数 默认 说明
Temperature 0.1 较低更利于逐句一致和 JSON 稳定
Top P 1.0 核采样概率上限
最大输出 Token 16384 单个请求的输出上限
发送相邻句上下文 开启 让代词、称呼和语气参考周围句子
上下文句数 24 当前批次周围的有界窗口
翻译记忆句数 50 已确认日中对照的有界记忆
翻译 Prompt 按项目语言显示内置内容 日语和英语分别保存;编辑后只覆盖当前语言,恢复按钮可重新跟随内置版本
API 附加请求参数 {} JSON 对象;用于 reasoning_effortenable_thinkingthinking 等服务商字段

翻译保持句子 ID 和顺序。纯非语言内容返回空中文;包含台词的混合句只翻译有意义的部分。长项目不会把全部历史无限发送给服务。切换新项目的音频语言时,Prompt 编辑框会同步切换到对应语言;未编辑的一侧不会被覆盖。

服务专属字段

  • DeepL 的“正式程度”只在 DeepL 下显示;Free 账户通常要把地址设为 https://api-free.deepl.com
  • Microsoft Azure Translator 的区域字段只在该服务下显示;
  • Google Cloud Translation 使用 Basic v2 API Key;
  • 阿里云百炼默认使用 https://dashscope.aliyuncs.com/compatible-mode/v1;API Key、地域和地址必须匹配;
  • 豆包默认使用火山方舟北京地址;模型框也可填写控制台中的推理接入点 ID;
  • 商汤 SenseNova 默认使用 https://api.sensenova.cn/compatible-mode/v2,结构化请求会显式发送 reasoning_effort=none
  • OpenAI-compatible 适用于本地或自建接口,密钥可选,默认地址示例是 http://127.0.0.1:11434/v1。如果服务有额外字段,可填“API 附加请求参数(JSON)”。

TTS(语音合成)

通用项

设置 默认 说明
TTS 后端 IndexTTS2;未就绪时为 Edge TTS 可选择 IndexTTS2 API、通用 TTS API、Edge、MiMo、MiniMax、GPT-SoVITS、CosyVoice 或 Fish API
模型 随后端变化 云服务允许填写账号实际可用的模型 ID
单句超时 600 秒 本地任务和外部请求的失败上限
在线/API 并发 2 只对 HTTP 后端显示,范围 1–8;限流时设为 1
音色 ID 随后端变化 Edge、MiMo 预置音色和 MiniMax 使用
参考来源 项目参考句 只在当前模型需要参考音频时显示
参考策略 统一声纹 支持逐句参考的克隆后端可按句切换

程序不会启动第三方服务端。每个响应先写到唯一临时文件,通过音频校验后再替换句子缓存。

IndexTTS2

设置 默认 说明
模型目录 .asmr-dubber/runtimes/index-tts/checkpoints 一般由安装器填写
配置文件 checkpoints 下的 config.yaml 必须与 checkpoints 配套
FP16 开启 关闭会增加显存和运行时间
情绪权重 0.5 控制情绪条件强度,范围 0–1
音色参考 项目统一参考句 也可选择当前句或外部音频
情绪参考 当前句 也可用项目参考、音色参考、外部音频或文字描述

IndexTTS2 使用独立 Python 环境,不要把它手工安装进主程序 venv。它支持 NVIDIA CUDA 和 CPU;CPU 模式通常会慢很多,建议优先使用 CUDA。

IndexTTS2 API 与通用 TTS API

IndexTTS2 API 连接远程或自建的 IndexTTS2 服务,使用 /v1/tts multipart 请求上传参考音频;服务端负责模型和显卡。通用 TTS API 使用 OpenAI-compatible /audio/speech,只发送文本、模型和音色,不使用参考音频。两者都不会由 Setup 下载模型。

这两个后端都支持“API 附加请求参数(JSON)”,用于传递服务端额外字段。JSON 必须是对象,不能覆盖程序生成的 modeltext/inputstream 等核心字段。服务返回音频文件,或返回含 audio_base64audio_url 等字段的 JSON,程序会统一写入逐句 WAV 缓存。

Edge TTS

设置 默认 说明
模型 edge-tts 固定客户端类型
音色 ID zh-CN-XiaoxiaoNeural 可从下拉列表选择,也可填写有效的 Edge 音色 ID;旁边可以试听
语速 1.0 1.0 为原速,范围 0.25–4.0

Edge TTS 无需 API Key,不使用参考音频,也不支持音色克隆。它需要联网;基础依赖由 Setup 一并安装。全局默认仍指向 IndexTTS2 但本地运行环境或 checkpoints 不完整时,程序会为新项目选择 Edge TTS。

小米 MiMo TTS

模型 使用的设置
mimo-v2.5-tts-voiceclone 项目或外部参考音频;不需要参考文字
mimo-v2.5-tts 音色 ID,可使用预置音色或账号支持的 ID
mimo-v2.5-tts-voicedesign MiMo 语气与风格说明

默认地址是 https://api.xiaomimimo.com/v1。三种模型都可填写语气与风格说明;文字设计音色留空时使用程序提供的温柔自然女声描述。API Key 单独保存在 MiMo TTS 服务项下。

MiniMax TTS

默认地址是 https://api.minimaxi.com,默认模型是 speech-2.8-hd。设置项包括音色 ID、语速、音量、音调和情绪。音量范围 0.1–10,音调范围 -12–12;情绪设为“自动”时不向接口发送固定情绪。MiniMax 不使用项目参考音频,复刻音色需要先在 MiniMax 平台创建,再填写对应音色 ID。

GPT-SoVITS

  • 默认连接 http://127.0.0.1:9880 的官方 api_v2.py
  • 参考音频对应源文是必填语义数据;英语项目填写英语原文;
  • 服务端必须能访问请求中的参考文件路径;
  • 可设置语速、Temperature、Top P、Top K、文本切分方法和采样步数。

CosyVoice

  • 默认连接 http://127.0.0.1:50000 的官方 FastAPI runtime;
  • “零样本”使用参考音频和文字;
  • “跨语言”只使用参考音频,因此会隐藏参考文字输入。

Fish Speech / Fish Audio

  • 连接兼容 /v1/tts 的服务;
  • 请求携带 base64 参考音频和对应文字;
  • 云服务通常需要 API Key,保存在服务 ID tts:fish_speech 下。

混音与字幕

中文时间

设置 默认 作用
中文配音整体偏移 +500 ms 相对原字幕开始时间统一移动;负数提前,正数延后
中文配音排程方式 尽量放入原时间窗口 可改为上一句结束后再播放下一句
冲突时最大自动加速倍速 1.8× 只在“尽量放入原时间窗口”下使用,可选 1.0–4.0×

程序只在发生冲突时加速,并只加速到放入当前窗口所需的倍速。超过设置上限后不会继续加速,而是允许剩余重叠。最后一句保持原速。偏移和自动加速属于混音设置,不会使逐句 TTS 缓存失效。

“上一句结束后再播放下一句”不做自动加速。当前句尚未结束时,下一句从当前句结束位置开始,因此中文不会互相覆盖,但延迟会逐句累积,最终输出可能长于原媒体。切换排程方式后只需重新混音。

响度

“音量处理方式”只需选择一种:

方式 默认参数 作用
跟随对应原声(推荐) 中文比原声低 8 dB 保留不同场景的强弱变化
所有中文保持统一音量 -30 RMS dBFS 不参考原片段,把每句调到统一目标
保留 TTS 原始音量 0 dB 微调 不做逐句规范化,只进行手动微调和后续混音保护

高级响度参数默认折叠:

参数 默认 作用
自动匹配的最安静目标 -42 RMS dBFS 原片段极安静时防止中文目标低到几乎听不见
自动匹配的最响目标 -30 RMS dBFS 原片段很响时限制中文跟随结果
每句最大自动提升 12 dB 防止把过轻 TTS 的底噪一起过度放大
单句峰值上限 -9 dBFS 规范化后限制每句瞬时峰值,避免单句削波
中文轨叠加峰值上限 -3 dBFS 多句重叠时限制中文中间轨的合计峰值
句首句尾淡入淡出 8 ms 减少切口处的爆音和咔哒声
自动处理后的整体微调 0 dB 在跟随或统一响度完成后整体增减中文音量

最终混音峰值保护默认开启,上限为 -1 dBFS。普通用户通常只需选择处理方式并调整主音量参数。

“自动(优先中置)”在立体声中送到左右声道,在常见多声道布局中优先中置;“复制到全部声道”会把中文铺到每个声道。通常保持自动。

“音频输出方式”有三种:同时保存混音成品和中文克隆音轨、只保存混音成品、只保存中文克隆音轨。中文克隆音轨保持完整时间轴,之后切回包含混音即可重新加入原音轨,不需要重新生成逐句 TTS。“跳过纯日语语气词”会避免为没有实义的短语气词合成中文。“参考音频边缘扩展”给逐句参考前后增加少量上下文。

字幕

设置 默认
时间轴 原源语言时间
每行最多字符 22
最短显示 1 秒
最大阅读速度 18 字/秒

选择“中文配音时间”后,字幕会跟随实际配音开始位置和生成音频时长。SRT、LRC 与字幕视频都采用安全临时文件写入。

自动处理

这些设置用于顶层“批量处理”页面。每个批量项目的 ASR、翻译、TTS 和混音参数仍取自前面的主程序设置。保存后,批量页尚未加入队列的默认选项会立即更新;队列中已有任务保留加入时的值。

设置 默认 说明
输出文件夹名称 AutoFlow输出 在每个源作品目录下建立的成品子目录
默认输出类型 普通静态视频 也可选择纯音频或和谐静态视频
默认成品组织 合并成一部 可改为每条音轨分别输出,或分轨和合并都保留
默认包含附加音轨 关闭 控制特典、样本、Free Talk 和闹钟等附加内容
默认视频画面 预选推荐图片 扫描后显示具体图片路径和预览;没有图片时使用黑色背景
默认内嵌字幕 开启 无论是否内嵌,SRT 和 LRC 都会单独保留
翻译作品文件夹名称 开启 用于成品标题和时间戳文档;关闭后保留原文件夹名称
翻译音轨标题 开启 用于分轨文件名和曲目清单;关闭后保留原音轨标题
音频格式优先顺序 wav,flac,ape,m4a,mp3 同一版本存在多种格式时从左到右选择
和谐视频降低音量 10 dB 只影响和谐视频成品
和谐视频整体延后 20 分钟 视频、音频和字幕使用同一段前置空档
时间戳文档页脚 内置说明 写入总时间戳和分轨时间戳末尾,可留空

作品扫描后,音频版本、附加音轨、字幕、输出类型和画面都可以在加入队列前按作品修改。设置页只提供下一次任务的初始值;已经加入队列的任务不会因保存默认设置而改变。

字幕选择按音轨保存。批量扫描只接受 SRT、VTT、ASS/SSA 和 LRC,并根据文件名、目录和内容判断中文、日语或英语。完整的带时间轴中文字幕直接建立中文句子表并跳过 ASR 与翻译;日语或英语字幕跳过 ASR;没有字幕的音轨按正常流程识别。用户在音轨卡片中修改的字幕和语言优先于自动判断。

“每条音轨分别处理并输出”只建立分轨任务,不生成合并版。“分轨输出 + 合并版”先完成分轨,再复用分轨成品和时间轴生成合并结果,不会为合并版重复运行 ASR 或 TTS。

密钥

网页保存的翻译和 TTS API Key 位于:

.asmr-dubber/config/secrets.json

这是便携式明文存储。密码框不会显示旧值;只有“清除”按钮会删除对应密钥。程序不会把密钥写进 project.jsonperformance.json、安装日志、字幕或导出表格。

同一个服务既有便携密钥又有环境变量时,便携密钥优先。支持的环境变量:

DEEPSEEK_API_KEY
OPENAI_API_KEY
ANTHROPIC_API_KEY
GEMINI_API_KEY
DEEPL_API_KEY
GOOGLE_TRANSLATE_API_KEY
AZURE_TRANSLATOR_KEY
OPENAI_COMPATIBLE_API_KEY

运行环境变量

这些变量主要用于管理员、脚本和排障;普通用户保持默认即可。

变量 作用
ASMR_DUBBER_HOME 覆盖整个便携数据根目录
ASMR_DUBBER_DATA_DIR 覆盖模型、项目、缓存等数据目录
ASMR_DUBBER_CONFIG_DIR 覆盖设置和密钥目录
ASMR_DUBBER_PROJECTS 覆盖默认项目目录
ASMR_DUBBER_FFMPEG 指向自定义 FFmpeg 可执行文件
ASMR_DUBBER_LOCAL_CACHE_ROOTS 从其它只读 ASMR Dubber 目录复用通过校验的制品
ASMR_DUBBER_ALLOW_EXTERNAL_DOWNLOADS=1 当前进程允许海外备用下载源
MODELSCOPE_API_TOKEN 访问需要认证的 ModelScope 仓库
ASMR_DUBBER_UI_USERNAME 非本机监听时的网页用户名,默认 asmr
ASMR_DUBBER_UI_PASSWORD 非本机监听时的网页密码
ASMR_DUBBER_MAX_UPLOAD_SIZE 上传上限,默认 20gb

覆盖 HOME、数据目录或项目目录会改变“一整个程序文件夹即可备份和卸载”的边界。使用前应明确哪些文件留在外部路径。

网页默认只监听 127.0.0.1。绑定 0.0.0.0 等非 loopback 地址时强制登录;没有提供密码时,程序为本次进程生成随机密码并打印到启动终端。不要把本地网页直接暴露到公网。