-
-
Notifications
You must be signed in to change notification settings - Fork 41
Home
欢迎使用 VoiceTransl!这是一个功能强大的 AI 视频、音频处理工具,集成了语音识别、翻译、字幕处理、音视频剪辑与合成等多种功能。本 Wiki 将为您详细介绍软件的各项功能。
“关于” 页面是您打开软件后看到的第一个界面,提供了项目的基本信息和快速开始的指引。
-
功能简介:
- 项目介绍: VoiceTransl (原 Galtransl for ASMR) 是一个开源免费的离线 AI 视频字幕生成和翻译软件。您可以在这里找到项目的 GitHub 地址 和 B站教程 链接。
-
模式说明:
- 仅下载模式: 选择“不进行听写”和“不进行翻译”。
- 仅听写模式: 选择一个听写模型,但选择“不进行翻译”。
-
仅翻译模式: 直接上传
.srt字幕文件并选择一个翻译模型。 - 完整模式: 同时选择听写模型和翻译模型,处理音视频文件。
- 支持项目: 如果您觉得这个项目对您有帮助,可以通过爱发电、B站充电或 Ko-fi 等方式支持开发者。
-
快速开始:
- 点击 “🚀 开始” 按钮,可以直接跳转到 “主页” 标签页,开始您的工作流程。
“主页” 是软件的核心操作界面,您可以在这里输入文件、配置基本参数并启动任务。
-
文件输入:
- 本地文件: 您可以直接将一个或多个 音视频文件 或 SRT 字幕文件 拖拽到上方的文本框中。注意:文件路径请勿包含非英文字符和空格。
- 在线链接: 在下方的文本框中,您可以输入 Bilibili 视频的 BV 号 或 YouTube 等网站的视频链接,每行一个。
-
核心设置:
-
代理地址: 如果您需要下载在线视频(如 YouTube)或使用需要代理的在线翻译服务,请在此处填写您的代理服务器地址 (例如:
http://127.0.0.1:7890)。如果不需要,请留空。 -
输出格式: 根据您的需求选择最终生成的字幕文件格式:
-
原文SRT: 仅包含语音识别出的原文。 -
中文LRC: 翻译后的中文歌词文件格式。 -
中文SRT: 翻译后的中文字幕文件。 -
双语SRT: 同时包含原文和译文的字幕文件。
-
-
代理地址: 如果您需要下载在线视频(如 YouTube)或使用需要代理的在线翻译服务,请在此处填写您的代理服务器地址 (例如:
-
操作与监控:
- 运行按钮: 配置完成后,点击 “🚀 运行” 按钮开始处理任务。
- 输出信息: 下方的文本框会实时显示任务状态和进度信息。
-
文件夹操作:
-
“📁 打开下载和缓存文件夹”: 点击此按钮可以快速访问存放下载的视频和处理过程中的临时文件的文件夹 (
project/cache)。 - “🧹 清空下载和缓存”: 点击此按钮可以删除所有缓存文件,释放磁盘空间。
-
“📁 打开下载和缓存文件夹”: 点击此按钮可以快速访问存放下载的视频和处理过程中的临时文件的文件夹 (
“日志” 页面会实时显示程序运行过程中的所有详细信息、警告和错误。
-
用途: 当程序运行出现问题时,此处的日志是排查错误的 关键信息来源。您可以将
log.txt文件中的内容复制出来,以便向开发者报告问题。 -
特性:
- 实时更新: 日志会随着程序的运行自动刷新。
- 等宽字体: 方便阅读和对齐。
- 自动滚动: 始终显示最新的日志信息。
“听写设置” 页面用于配置语音识别(即“听写”)功能。
-
模型选择:
-
语音识别模型: 从下拉菜单中选择一个用于语音识别的模型文件。软件支持
Whisper.cpp (ggml)和Faster Whisper两种模型。如果您不想进行语音识别(例如,您只想翻译一个现有的 SRT 文件),请选择 “不进行听写”。 - 模型目录: 您可以点击 “📁 打开Whisper目录” 或 “📁 打开Faster Whisper目录” 来管理您的模型文件。
-
语音识别模型: 从下拉菜单中选择一个用于语音识别的模型文件。软件支持
-
语言和参数:
-
输入语言: 选择视频或音频的原始语言(例如
ja代表日语,en代表英语)。如果原始语言是中文zh,程序将跳过翻译步骤。 -
命令行参数:
-
Whisper 参数: 为
Whisper.cpp模型设置高级参数。 -
Whisper-Faster 参数: 为
Faster Whisper模型设置高级参数。 - 注意: 如果您不清楚这些参数的含义,请保持默认设置。
-
Whisper 参数: 为
-
输入语言: 选择视频或音频的原始语言(例如
- 本项目使用whisper.cpp模型,引擎已经为Vulkan编译配置好,兼容N卡/A卡/I卡。模型需要自行下载,请选择合适的whisper.cpp模型下载然后放到
whisper文件夹。
| 名称 | 磁盘 | 显存 | 链接 |
|---|---|---|---|
| ggml-small.bin | 466 MiB | ~852 MB | 下载 |
| ggml-medium.bin | 1.5 GiB | ~2.1 GB | 下载 |
| ggml-large-v2.bin | 2.9 GiB | ~3.9 GB | 下载 |
- NVIDIA显卡可以使用faster-whisper模型,支持更高的速度和VAD功能。请根据配置要求下载文件。模型需要自行下载,请选择合适的模型下载然后放到
whisper-faster文件夹。
| 名称 | 磁盘 | 显存 | 链接 |
|---|---|---|---|
| faster-whisper-small | 463 MiB | ~1 GB | 下载 |
| faster-whisper-medium | 1.42 GiB | ~2 GB | 下载 |
| faster-whisper-large-v3 | 2.87 GiB | ~3 GB | 下载 |
faster-whisper模型请参考下面的文件夹结构,必须要以faster-whisper-开头。
faster-whisper-xxx/
config.json
model.bin
preprocessor_config.json
tokenizer.json
vocabulary.json
“翻译设置” 页面用于配置翻译功能,支持多种在线和离线翻译模型。
-
翻译模型类别:
- 从下拉菜单中选择您要使用的翻译器。
-
在线模型: 包括
moonshot,glm,deepseek,gemini等。需要配置 API 令牌,部分支持自定义 API 地址。 -
离线模型: 包括
galtransl,sakura-009,sakura-010,llamacpp。需要本地模型文件。 - 不翻译: 选择 “不进行翻译” 来跳过此步骤。
-
在线模型配置:
- 在线模型令牌 (Token): 填写您所选在线翻译服务的 API Key。
-
在线模型名称: 填写具体的模型名称 (例如:
deepseek-chat)。 -
自定义 API 地址: 对于
gpt-custom选项,您可以在此填入兼容 OpenAI 格式的自定义 API 地址 (例如http://localhost:11434)。
-
离线模型配置:
-
离线模型文件: 从下拉菜单中选择一个已下载到
llama文件夹内的gguf格式模型文件。 - 离线模型参数: 通过拖动滑块(范围 0-100)来调整模型卸载到 GPU 的层数。数值越高,使用的显存越多,速度越快。
-
Llama.cpp 命令行参数: 为
Llama.cpp后端设置高级参数。不熟悉请保持默认。 - 模型目录: 点击 “📁 打开离线模型目录” 来管理您的模型文件。
-
离线模型文件: 从下拉菜单中选择一个已下载到
本项目支持以下在线模型API接口,需要填写模型名称和Token。
其他模型请使用gpt-custom兼容接口并配置自定义OpenAI地址(例如https://api.openai.com,默认会自动添加/v1/chat/completions)。
-
本地翻译模型基于llama.cpp引擎,已经为Vulkan编译配置好,兼容N卡/A卡/I卡。
-
NVIDIA显卡可以使用为CUDA编译的版本,支持更高的速度和显存占用,请解压到
llama文件夹覆盖原有文件。
cudart-llama-bin-win-cu12.4-x64.zip
llama-bxxxx-bin-win-cuda-cu12.4-x64.zip
- 模型需要自行下载,请选择合适的llama.cpp模型下载然后放到
llama文件夹。选择模型的时候请使用对应代码,并选择模型。非日语模型,如Qwen和Gemma,请选择llamacpp。
| 名称 | 语言 | 代码 | 磁盘 | 显存 | 链接 |
|---|---|---|---|---|---|
| Sakura-7B-v1.0-Q4 | 日语 | sakura-010 | ~5 GiB | ~8 GB | 下载 |
| Sakura-GalTransl-7B-v3 | 日语 | galtransl | ~5 GiB | ~8 GB | 下载 |
| Sakura-14B-v1.0-Q4 | 日语 | sakura-010 | ~9 GiB | ~16 GB | 下载 |
| Qwen3-8B-Q4 | 多语种 | llamacpp | ~5 GiB | ~8 GB | 下载 |
| Gemma3-12B-Q4 | 多语种 | llamacpp | ~7 GiB | ~14 GB | 下载 |
“字典设置” 页面允许您通过自定义字典和提示来提高翻译的准确性和一致性。
-
自定义字典:
-
翻译前字典: 在语音识别后、送入翻译前,对原文进行替换。格式为
日文原文(Tab键)日文替换词。 -
翻译中字典: 在翻译过程中,为模型提供固定的词语翻译。格式为
日文(Tab键)中文。 -
翻译后字典: 在翻译完成后,对生成的中文字幕进行最终的文本替换。格式为
中文原文(Tab键)中文替换词。
-
翻译前字典: 在语音识别后、送入翻译前,对原文进行替换。格式为
-
额外提示 (Extra Prompt):
- 在此文本框中输入额外的信息,例如故事背景、世界观设定或角色专用名词解释。这些信息会作为上下文提供给翻译模型,有助于提高翻译质量。
“分割工具” 提供了一系列实用工具,用于处理长视频和字幕文件。
-
分割合并:
-
分割:
- 拖动滑块设置每段分割的 音频长度(秒)。
- 将一个长音视频文件拖拽到上方的文本框中。
- 点击 “🚀 分割”。程序会将音频分割成多个较短的
.wav文件,并存放在以原文件名命名的文件夹中。
-
合并:
- 将多个按顺序命名(例如
0000.srt,0001.srt...)的 SRT 字幕文件 拖拽到下方的文本框中。 - 确保滑块设置的分割时长与之前分割音频时一致。
- 点击 “🚀 合并”。程序会将这些字幕文件合并成一个完整的字幕文件,并自动累加时间戳。
- 将多个按顺序命名(例如
-
分割:
-
切片工具:
- 用于从视频中精确截取一个片段。
-
操作:
- 将一个视频文件拖拽到文本框中。
- 在下方输入框中填写 开始时间 和 结束时间 (格式:
HH:MM:SS.xxx)。 - 点击 “🚀 切片”,即可生成截取后的视频文件。
“合成工具” 提供了人声分离和视频合成的功能。
-
人声分离:
- 用于从音乐中分离人声和伴奏。
-
操作:
- 从下拉菜单中选择一个 UVR 模型 (
.onnx文件)。 - 将一个音频文件拖拽到文本框中。
- 点击 “🚀 人声分离”。处理完成后会生成
_vocal.wav(人声) 和_no_vocal.wav(伴奏) 两个文件。
- 从下拉菜单中选择一个 UVR 模型 (
-
字幕合成:
- 用于将字幕文件“压制”到视频中,生成硬字幕视频。
-
操作:
- 将 视频文件 和对应的 SRT 字幕文件 同时拖拽到文本框中 (例如
my_video.mp4和my_video.mp4.srt)。 - 点击 “🚀 字幕合成”,生成带有内嵌字幕的新视频文件。
- 将 视频文件 和对应的 SRT 字幕文件 同时拖拽到文本框中 (例如
-
音频合成:
- 用于将一个音频文件和一张图片合成为一个视频文件。
-
操作:
- 将 音频文件 (
.wav,.mp3等) 和 图像文件 (.png,.jpg等) 同时拖拽到文本框中。 - 点击 “🚀 视频合成”,生成一个以该图像为静态画面的视频。
- 将 音频文件 (
人声分离基于MDX-Net模型,模型请在链接处下载,并放到uvr文件夹下。推荐使用以下模型:
UVR-MDX-NET-Inst_Main.onnxUVR-MDX-NET-Inst_HQ_3.onnxUVR_MDXNET_KARA_2.onnx
“字幕总结” 功能利用大语言模型(LLM)为生成的字幕文件创建带时间戳的内容摘要。
-
API 配置:
-
OpenAI 兼容地址: 输入一个兼容 OpenAI API 格式的服务器地址 (例如:
https://api.deepseek.com/v1)。 -
模型名称: 填写要使用的模型名称 (例如:
deepseek-chat)。 - 模型令牌: 填写对应的 API Key。
-
OpenAI 兼容地址: 输入一个兼容 OpenAI API 格式的服务器地址 (例如:
-
操作流程:
- 模型提示 (Prompt): 您可以自定义或使用默认的提示词,以指导模型生成摘要的格式和内容。
- 输入文件: 将一个或多个 SRT 字幕文件 拖拽到文本框中。
-
运行: 点击 “🚀 运行”,程序会为每个字幕文件生成一个
.summary.txt格式的摘要文件。
- 翻译时提示网络连接错误
- 在线模型请检查网络连接是否正常,或者尝试更换代理。
- 离线模型出现连接错误,先检查是否超显存,把离线参数从0开始逐步增加10;然后确认关闭所有的代理软件,在系统设置-网络和Internet-代理里面应该是空的。
- 更新包覆盖或多次使用之后闪退
- 请尝试删除
config.txt再启动,或重新解压程序到一个新的目录再把相应的模型迁移。 - 缓存文件中可能存在问题,可以尝试清理下载缓存,或者重新解压程序到一个新的目录。
- 命令行输出乱码
请检查系统编码是否为UTF-8,Windows控制面板-区域-更改日期、时间或数字格式-管理-更改系统区域设置-使用UTF-8提供全球语言支持。
- 不是Windows系统可以用吗
Linux可以使用服务器部署进行运行,详细请参考server分支或者使用在线镜像。MacOS暂时不支持。
- 安装依赖
pip install -r requirements.txt
- 构建程序
pyinstaller separate.py --onefile --distpath uvr
pyinstaller app.spec