ASMR 音频汉化工具,支持人声分离、语音识别、日译中翻译、语音合成和智能混音,输出双语双轨音频。
- 正式产品入口:Tauri 桌面应用,通过
GUIRun.bat双击启动。 - 后端契约入口:HTTP API (
/api/v1/*),由桌面端和兼容 CLI 共用。 - 兼容入口:
src/cli.py与scripts/asmr_bilingual.py、scripts/batch_process.py,不作为 GUI 能力事实源。
- 人声分离 - 基于 Demucs 从背景音中提取纯净人声
- 语音识别 - Faster-Whisper / Fun-ASR / Qwen3-ASR 高精度日文 ASR
- 翻译引擎 - DeepSeek / OpenAI API,批量翻译 + 质量检测
- 语音合成 - Edge-TTS (免费) / Qwen3-TTS / VoxCPM2 (高质量)
- 智能混音 - 时间轴对齐 + 音量平衡,输出原声+中文配音双轨
- HTTP API - FastAPI RESTful API,支持完整流水线和单步操作
- 任务中心 - 统一展示 Pipeline、音频工具、模型安装、音色和台本任务的阶段、错误与产物
- 音频工具 - 人声分离、格式转换、按字幕切分、字幕翻译、音量分析
- 字幕工坊 - 字幕编辑、导出、后台翻译和台本转字幕
- OS: Windows 10/11
- Python: 项目内 UV Python 3.12(默认位于
.runtimes/python) - GPU: NVIDIA (可选,Qwen3-TTS 需要 CUDA)
- 包管理器: uv
注意使用Powershell
# 克隆项目
git clone https://github.com/Flysky701/AsmrHelper.git
cd AsmrHelper
#如果后续关闭了powershell 需要CD到对应文件夹内
# 基础安装(默认 Python 3.12,含 API、桌面端与测试依赖)
powershell -ExecutionPolicy Bypass -File .\setup.ps1
# 安装本地音频引擎和默认模型(含 Faster-Whisper / Demucs)
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -Models
# 完整主环境(API + 本地音频链路;隔离 Provider 不装入主环境)
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -Full
# 环境完全重建
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -CleanReinstall默认安装使用项目内由 UV 管理的 Python 3.12,位置为 .runtimes/python,不会继承当前终端中其他项目的 Conda 环境。只有明确需要复用已有 Python 3.11/3.12 时才传入 -PythonPath;Python 3.13/3.14 不在当前依赖支持范围内。离线重建要求项目内 UV Python 和 .uv-cache 已经准备完成。
Python 依赖由 UV 按当前 UV/Python 索引配置安装;
-Mirror只把 Hugging Face 模型下载切换到https://hf-mirror.com,不会隐式改写 Python 包索引。
下载前重启Powershell
# 下载 Whisper base 模型 (约 74MB,推荐)
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -Models
# 使用国内镜像加速
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -Models -Mirror
# 查看模型目录或只安装明确选择的模型
.\.venv\Scripts\python.exe scripts\install_models.py --list
.\.venv\Scripts\python.exe scripts\install_models.py --model qwen3-custom-voice
# 默认 Faster-Whisper Base
.\.venv\Scripts\python.exe scripts\install_models.py # Whisper base
.\.venv\Scripts\python.exe scripts\install_models.py --whisper large-v3 # Whisper large-v3
.\.venv\Scripts\python.exe scripts\install_models.py --check # 检查状态不建议默认下载所有 Whisper/Qwen 变体。Qwen3-TTS、Qwen3-ASR 和 Fun-ASR 使用各自隔离运行时,应从“引擎与资源”页面或
--model <model-id>按需安装;模型存在不等于当前环境可执行或已真实验收。
编辑 config/config.json 填入翻译 API Key,或设置环境变量:
$env:DEEPSEEK_API_KEY = "your-deepseek-api-key"也可以在 GUI 的 设置 > API 配置 中填写。
# 双击/正常启动:优先使用已构建的 release,无 release 时进入开发模式
.\GUIRun.bat
# 强制使用当前前端源码
.\GUIRun.bat --dev
# 重新构建 release 后启动
.\GUIRun.bat --release
# 仅启动 HTTP API
.\run.bat api
# 或命令行处理单文件
.\.venv\Scripts\python.exe scripts\asmr_bilingual.py --input "path/to/audio.wav"
# 批量处理
.\.venv\Scripts\python.exe scripts\batch_process.py --input-dir "D:/ASMR"桌面启动器会隐藏启动后端并在 APP 退出时清理本次创建的后端进程。后端启动、请求和异常日志保存在 logs/backend.log,启动失败时窗口会显示日志尾部,不再只留下闪退现象。开发模式需要 Node.js 与 Rust;已有 release 的普通启动不要求这两套构建工具。
AsmrHelper/
├── src/ # 核心源代码
│ ├── core/ # 核心处理模块
│ │ ├── engines/ # ASR/TTS/LLM/Separator 引擎
│ │ ├── orchestration/ # Pipeline 与工具编排
│ │ ├── tasks/ # Task Registry、Dispatcher 与状态机
│ │ ├── runtime/ # 隔离运行时与短生命周期 Worker
│ │ ├── artifacts/ # 任务产物索引
│ │ ├── subtitles/ # 字幕、台本处理领域
│ │ └── resources/ # 模型目录、安装与状态
│ ├── api/ # HTTP API (FastAPI)
│ │ └── http/ # RESTful API 路由和服务
│ ├── app/ # 应用层服务
│ │ ├── services/ # 业务服务
│ │ ├── dto/ # 数据传输对象
│ │ └── errors/ # 错误定义
│ ├── mixer/ # 智能混音 + 时间轴对齐
│ ├── cli.py # Click CLI 入口 (实验性)
│ └── config.py # 配置管理
├── desktop/ # Tauri + React + Vite 桌面应用
├── config/ # 配置文件
│ ├── models.yaml # 模型配置
│ ├── config.example.json # 配置模板
│ └── config.json # 用户配置 (git ignored)
├── tests/ # 测试
├── pyproject.toml # 项目依赖
└── uv.lock # 依赖锁定文件
从模板创建配置文件:
cp config/config.example.json config/config.json主要配置项:
| 字段 | 说明 | 默认值 |
|---|---|---|
api.provider |
翻译服务 (deepseek/openai) | deepseek |
api.deepseek_api_key |
DeepSeek API Key | |
tts.engine |
TTS 引擎 (edge/qwen3) | edge |
tts.voice |
Edge-TTS 音色 | zh-CN-XiaoxiaoNeural |
processing.vocal_model |
人声分离模型 | htdemucs |
processing.asr_model |
ASR 模型大小 (tiny/base/medium/large-v3) | base |
| 变量 | 说明 |
|---|---|
DEEPSEEK_API_KEY |
DeepSeek API 密钥 |
OPENAI_API_KEY |
OpenAI API 密钥 |
环境变量优先级高于配置文件。
| 引擎 | 质量 | 速度 | GPU | 说明 |
|---|---|---|---|---|
edge |
一般 | 快 | 不需要 | 微软免费 TTS,适合快速体验 |
qwen3 |
高 | 慢 | 需要 CUDA | Qwen3-TTS,支持音色设计/克隆 |
- 工作台 - 一个或多个输入分别创建独立 Pipeline Task
- 批量处理 - 扫描目录并创建持久 BatchRun,支持总进度、整批取消和失败项重提
- 任务中心 - 查看进度、失败阶段、结构化错误、取消、重提与产物
- 字幕工坊 - 编辑、导出、后台翻译和台本转字幕
- 音色实验室 - Qwen3-TTS 专属的设计、克隆、片段分析和试音
- 音频工具 - 五项独立 Tool Task
- 引擎与资源 / 设置 - 查看 installed、executable、缺失依赖与凭据
| 工具 | 说明 |
|---|---|
| 音频分离 | Demucs 人声/伴奏分离 |
| 按字幕切分 | 按字幕时间轴切分音频 |
| 格式转换 | 音频格式互转 (WAV/MP3/FLAC/OGG) |
| 字幕翻译 | 翻译字幕并保留时间轴 |
| 音量分析 | 分析 RMS 并给出混音比例建议 |
主界面底部集成音频播放器,支持:
- 播放/暂停、停止控制
- 可拖拽进度条
- 当前时间/总时长显示
用于试音预览和音色工坊片段播放。
输入音频 (.wav/.mp3/.flac)
|
v
[1] VTT 字幕检测 (有则跳过人声分离)
|
v
[2] Demucs 人声分离
|
v
[3] Faster-Whisper ASR (日文 -> 日语文字)
|
v
[4] LLM 翻译 (日文 -> 中文)
|
v
[5] TTS 合成 (中文文字 -> 语音)
|
v
[6] 时间轴对齐 + 智能混音
|
v
输出: 双语双轨音频 + SRT 字幕
# 安装开发工具
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -DevOnly
# 运行测试
.\.venv\Scripts\python.exe -m pytest
# 运行环境验证
.\.venv\Scripts\python.exe scripts/verify_env.py
# 检查模型状态
.\.venv\Scripts\python.exe scripts/install_models.py --check
# 下载模型
.\.venv\Scripts\python.exe scripts/install_models.py --whisper base
.\.venv\Scripts\python.exe scripts/install_models.py --model qwen3-custom-voiceMIT License
asr/- ASR 语音识别,支持 Faster-Whisper、Fun-ASR、Qwen3-ASRengines/llm/- 翻译引擎,支持 DeepSeek/OpenAI,包含缓存和术语库tts/- 语音合成,支持 Edge-TTS、Qwen3-TTS、VoxCPM2vocal_separator/- Demucs 人声分离orchestration/- 流水线编排,使用 PipelineExecutor 执行engines/- 引擎运行时,统一管理各引擎生命周期resources/- 模型资源管理,支持模型安装和状态查询
FastAPI RESTful API,提供以下端点:
/api/v1/pipeline/*- 流水线执行/api/v1/asr/*- 语音识别/api/v1/llm/*- LLM 翻译/api/v1/tts/*- 语音合成/api/v1/models/*- 模型管理/api/v1/tasks/*- 任务管理/api/v1/artifacts/*- 产物管理
services/- 业务服务层,封装核心功能dto/- 数据传输对象,定义 API 契约errors/- 错误定义和处理
README 只保留安装、启动和使用入口,不再维护容易失真的 TODO/DONE 双清单。当前能力、验收范围与剩余边界统一记录在:
历史计划和已执行检查表已删除,可通过 Git 历史追溯。