侧边栏壁纸
  • 累计撰写 88 篇文章
  • 累计创建 41 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

超长视频人声分离提高人声降低背景音乐

勤为径苦作舟
2024-07-05 / 0 评论 / 0 点赞 / 12 阅读 / 0 字

简介

刷到一个长视频,背景音乐很大,所以调高人声音量。

下载视频用的是篡改猴脚本懒人专用系列 ——— 视频下载,视频大小 10G。

CUDA 肯定是要装的,参考之前的博文安装配置 CUDA

提取分割音频

下载安装 ffmpeg,然后将解压目录\bin 添加到环境变量,比如D:\ProgramFiles\ffmpeg\bin

提取音频:

ffmpeg -i 0.mp4 -vn -acodec flac 0.flac
  • -i 0.mp4:输入文件。
  • -vn:不复制视频
  • -vcodec copy:编解码器为复制,即不进行重新编码
  • 0.flac:输出为 FLAC 无损文件。

此处音频文件太大需要先分割,使用ffmpeg -i 0.flac -f segment -segment_time 3600 -c copy output_%d.flac按时长分割,但是每段文件的时长都和原文件一样,添加-reset_timestamps 1后依旧如此,尝试去掉-c copy后每段文件的时长都为 0。

但奇怪的是用ffmpeg -i 0.mp4 -f segment -segment_time 3600 -reset_timestamps 1 -c copy output_%d.mp4分割视频却很精准,无奈只能先分割视频再提取音频了。

  • -i 0.flac:输入文件。
  • -f segment:输出格式为分段。
  • -segment_time 3600:每个分段的时长,单位秒
  • -c copy:复制编解码数据,不进行重新编码,速度更快且不会有质量损失
  • -reset_timestamps 1:重置分段输出文件的起始时间戳(PTS),否则连续播放时播放器会尝试从上一个分段的末尾时间戳继续播放。
  • output_%03d.flac:输出文件名,一定要有前缀才能正常运行,%d 为递增数字,从 0 开始。
# 分割视频
ffmpeg -i 0.mp4 -f segment -segment_time 3600 -reset_timestamps 1 -c copy output_%d.mp4

# 循环提取(Git Bash)
# for f in output_*.mp4; do ffmpeg -i "$f" -vn -acodec flac "${f%.mp4}.flac"; done

MDX23 V2 一键包分离

下载并解压,密码领航员未鸟

将需要分离的文件放到input目录下,按需运行1.开始分离(GPU).bat(至少 8G 显存)或2.开始分离(CPU).bat。文件太大不管哪种都会报错所以要先分割。

如果报错audioread.exceptions.NoBackendError,可以给env/Lib/site-packages/audioread/ffdec.py中的COMMANDS = ('ffmpeg', 'avconv')指定 ffmpeg 的绝对路径,比如COMMANDS = ('D:/ProgramFiles/ffmpeg/bin/ffmpeg', 'avconv')

UVR5 分离

用 MDX23 V2 一直不动,换成了 UVR5。

点击“Start Processing”旁设置按钮进入“Settings Guide”页面。

在“Download Center”选项卡选择“MDX-Net”中的… MDX23C-InstVoc HQ,科学上网点击下载按钮或点击“Try Manual Download”按钮手动下载。

在“Additional Settings”选项卡选择“Wav Type”的项为32-bit Float

主界面设置输入文件、输出目录、输出格式。

“PROCESS METHOD”选择MDX-Net,“MDX-NET MODEL”选择MDX23C-InstVoc HQ,“SEGMENT SIZE”和“OVERLAP”可以用默认选项。

GPU Conversion(是否使用 GPU 转换)、Vocals Only(仅输出人声文件)、Instrumental Only(仅输出乐器文件)按需勾选。

点击Start Processing等待即可。

更多配置用法查看参考链接。

剪辑软件调高人声

PR 或剪映等剪辑软件将视频和人声放在轨道上对齐,调高人声。

TODO

参考

0

评论区