最近听有声读物,下载下来后发现每一集开头没有说是哪一个,导致分不清听到哪了,所以打算给每一集开头都加上说明,根据文件名标题合成语音,然后拼接到音频文件开头的方法。
任选一个可在线合成语音的站,F12之后,分别合成 '第 1 2 3 4 5 6 7 8 9 10 集' 的语音文件,然后将之保存下来,懒得搞的可以下载下方的内容(听起来比较智障,不过功能是有了)
>>点击查看 安装ffmpeg
最后可参考下列命令格式为每一个语音加上前缀集数,以下命令处理的原音频文件名为 第{1..50}集.mp3 ,如果编译加入了 libmp3lame ,可将下面 -f mp2 改为 -f mp3
mkdir output for val in {1..10};do ffmpeg -i ./tts/第.mp3 -i ./tts/${val}.mp3 -i ./tts/集.mp3 -i ./"第${val}集.mp3" \ -filter_complex '[0:0] [1:0] [2:0] [3:0] concat=n=4:v=0:a=1 [a]' \ -f mp2 -map [a] ./output/"第${val}集.mp3" done for val in {11..49};do left="${val:0:1}";right="${val:1:1}" if [ "$right" != "0" ];then ffmpeg -i ./tts/第.mp3 -i ./tts/${left}.mp3 -i ./tts/10.mp3 -i ./tts/${right}.mp3 -i ./tts/集.mp3 -i ./"第${val}集.mp3" \ -filter_complex '[0:0] [1:0] [2:0] [3:0] [4:0] [5:0] concat=n=6:v=0:a=1 [a]' \ -f mp2 -map [a] ./output/"第${val}集.mp3" else ffmpeg -i ./tts/第.mp3 -i ./tts/${left}.mp3 -i ./tts/10.mp3 -i ./tts/集.mp3 -i ./"第${val}集.mp3" \ -filter_complex '[0:0] [1:0] [2:0] [3:0] [4:0] concat=n=5:v=0:a=1 [a]' \ -f mp2 -map [a] ./output/"第${val}集.mp3" fi done
© 著作权归作者所有
下一篇: mysql 互为主从 互相备份
文章评论(0)