推荐使用anaconda创建虚拟环境,具体安装步骤请参考anaconda官网
- 安装pytorch
推荐在官网(pytorch)选择适合自己的脚本安装,安装时注意选择合适的cuda版本
例如
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117-
安装ffmpeg 前往ffmpeg官网下载安装包,需要添加环境变量
-
安装其他依赖
pip3 install -r requirements.txt本脚本提供4个功能,分别是
- 从视频中提取字幕(使用whisper)
- 将字幕转为csv文件
- 从手动标注的csv文件中提取特征
- 通过第三步得到特征文件,再通过视频与字幕文件,自动分类台词所属人物
通常流程顺序使用即可,对于同一番剧。在特征足够的情况下,可以直接使用第四步进行分类。
支持从视频中提取字幕,输出为srt格式
python yuki_builder.py whisper -input_video <input_video> -srt_folder <srt_folder>input_video: 输入视频文件路径 srt_folder: 输出字幕文件夹路径
支持将srt文件或是ass文件转为csv文件, 用于后续使用,
这个步骤会输出一个csv文件,这个文件中包含了每一句台词的开始时间,结束时间,台词内容
台词所属人物需要人工进行标注,作为后期人物的特征数据
python yuki_builder.py srt2csv -input_srt <input_srt> -srt_folder <srt_folder>input_srt: 输入srt文件路径
srt_folder: 输出csv文件夹路径
此步会去下载声纹模型,若下载失败,可考虑从这里进行下载放入./yuki_builder/audio_feature_ext/models文件夹中
这步将根据已经标注好的csv文件,去切割视频,提取特征,输出为wav, pkl等文件
python yuki_builder.py crop -annotate_map <annotate_map> -role_audios <role_audios>annotate_map: 输入csv文件路径(此csv为手动标注的csv文件与视频文件的对应关系)
示例: annotate_map.csv
标注文件,视频文件
Z:\ChatHaruhi\Chat-Haruhi-Suzumiya\yuki_builder\testWhisper\Oshi.no.Ko.S01E11.Idol.1080p.NF.WEB-DL.AAC2.0.H.264-ZigZag.cht&jp.csv,D:\推子\桜都字幕组(简日双语)\[Sakurato] Oshi no Ko [11][AVC-8bit 1080p AAC][CHS&JPN].mp4role_audios: 输出特征,声音文件夹路径,将在下一步用到
此步将根据第三步得到的特征文件,自动分类视频台词所属人物,输出为csv,txt文件
python yuki_builder.py recognize -input_video <input_video> -input_srt <input_srt> -role_audios <role_audios> -output_folder <output_folder>input_video: 输入视频文件路径 input_srt: 视频srt文件路径 role_audios: 特征文件夹路径(第三步得到) output_folder: 结果输出文件夹路径