使用ffmpeg與soundstretch對視頻進(jìn)行簡單變聲處理
簡單的基于命令行的方案(不是實時的),?下載?FFmpeg?https://github.com/BtbN/FFmpeg-Builds/releases?和?SoundStretch?http://www.surina.net/soundtouch/download.html?
解壓至全局或某目錄
創(chuàng)建一個.sh腳本文件(因為有多行命令),?文件內(nèi)容如下
????# 命令行參數(shù), ?文件名
????filename="$1"
????
????# 不要后綴名
????prefix="${filename%.*}"
????echo "$prefix"
????
????# 使用ffmpeg從視頻中提取音頻
????./ffmpeg.exe -i "$filename" -f wav -ar 16000 inputpitch.wav
????
????# 使用soundstretch 進(jìn)行變調(diào), -n 變低沉, +n 變高昂? 我樂理很爛
????./soundstretch.exe inputpitch.wav "$prefix".wav -pitch=-2
????
????# ffmpeg 提取的音頻 音量很小(我試的是很?。砸袅康谜{(diào)大
????./ffmpeg.exe -i "$prefix".wav -filter:a "volume=5" "$prefix"_v.wav
????
????# 把新的音頻放進(jìn)原視頻中,得到最終的視頻
????./ffmpeg -i "$filename" -i "$prefix"_v.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 "$prefix"_final.mp4
執(zhí)行方式
? ? ? bash file_name_to_pitch.sh? target_video_file_name.whatever_postfix_mp4_mkv_api_idontknow
注1:?我是在windows環(huán)境下使用git bash,? windows自帶的command prompt對應(yīng)的.bat文件?或 powershell?不會。如果是在linux/mac環(huán)境下,?自然是要把 .exe?程序后綴名刪掉
注2:?只是為了好玩,?雖然有點晚了,?但可能可以考慮新賬號新方向時使用?
注3: 我最初就是想做變聲處理的,?但因為個人搜索思維問題,?愣是沒搜對關(guān)鍵字,也就沒搜到方案。?有請教過@日常躺平?大佬,他用的 OBS studio錄屏,加 vst 和pitchproof 插件。?我找了半天,成是成功了,?但我平時都用ocam錄屏的(傻瓜式操作), OBS對我來說還是太高端了。
剛才一通亂搜ffmpeg的加速減速,并沒有變聲,?但不小心?搜到?SoundStretch基于命令行的可以修改音調(diào)的工具,于是又試了一通,?成功搞定!