字幕生成v2.4 - release
仓库参见:https://github.com/MrXnneHang/Auto-Caption-Generate-Offline
近期应该会发一个整合包。
这是什么?
这是一个基于 Funasr, 将 wav 文件转换为 srt 字幕文件的工具。
如何使用?(从安装开始~)
以安装 cpu 版本为例。(目前也暂时只有 cpu 版本 =_= )
克隆本仓库:
git clone https://github.com/MrXnneHang/Auto-Caption-Generate-Offline@v2.4-cpu
cd Auto-Caption-Generate-Offline
下载必要的模型文件
参见 models/download.md 进行手动下载.
或者直接使用 modelscope
.
pip install modelscope
vad 模型:
cd models/
modelscope download --model iic/speech_fsmn_vad_zh-cn-16k-common-pytorch --local_dir ./speech_fsmn_vad_zh-cn-16k-common-pytorch
punc 模型:
modelscope download --model iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch --local_dir ./punc_ct-transformer_zh-cn-common-vocab272727-pytorch
asr 模型:
modelscope download --model iic/speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorch --local_dir ./speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorch
运行:
uv run acgo -i test.wav -o test.srt
建议使用 uv 运行。不需要手动配置环境。
或者你可以使用 pip 从源码安装:
pip install git+https://github.com/MrXnneHang/Auto-Caption-Generate-Offline@v2.4-cpu
配置文件(更灵活的字幕配置):
你可以把配置文件放在工作目录下或者 ~/.config/acgo.yaml
.
大部分参数都有注释。
这里讲一下一些特别的:
cut
&cut_line
&combine
&combine_line
的联动: 自由调整字幕速度节奏
你可以通过设置它们来调整你字幕中每一句的长度,即字幕速度。
如果你希望在快节奏视频(如游戏解说)中字幕速度快一些,短一些,那么请把cut
设置为True
,cut_line
设置得略微小一些,比如300
,单位是ms
,当两个字幕之间的间隔大于300ms
时,会自动切割。
如果你希望在慢节奏视频(如课程)中字幕慢一点长一点完整一点,那么请把combine
设置为True
,combine_line
设置得略微大一些,比如1000
,单位是ms
,当两个字幕之间的间隔小于1000ms
时,会自动合并。当然为了防止过长,你可以通过max_sentence_length
(单位是字)来限制最长句子长度。
可以都设置为 false,即直接按照模型生成的字幕写入 srt,但是不能同时设置为 true, 会相互抵消。
need_punc
: 是否需要标点恢复
对于字幕很长的比如上面使用了 combine 的用户,那么请打开,它会在生成字幕的时候自动恢复标点。
你并不希望30字的一句话没有一个标点吧?
hot_words_path
: 热词路径
热词功能可以抑制口音带来的口胡,比如一些音近词。西式
和西市
, 当你在热词中加入西市
,那么模型会优先生成西市
而不是西式
。在特定任务中很有用。
hot_words 格式:
请不要加入标点符号
以换行分隔热词
依孜镇
卡落斯
新作
RoadMap:
- 创建 cuda 版本分支
- config 的自动创建
- 简单 gui 的支持.
- mp4 的支持.(需要 ffmpeg)