Bun*_*nny 4 conversion flac wav
长话短说:我需要一个脚本将 wav 文件转换为 flac,同时将文件名(减去扩展名)放入 flac 文件的歌曲标题标签中。
我有大约 1200 张音频 CD,我决定在 TB 驱动器上无损存档。由于有足够的空间,我使用 k3b 将它们翻录为 wav 文件,认为跳过压缩步骤会节省大量时间。嗯,确实如此,但在我发现错误之前我已经撕掉了很多:当我尝试将它们导入 Rhythmbox 之类的播放器时,它们没有任何标签(元数据),因此无法识别和排序他们正确。为了避免这个问题,我已经转为将其余部分翻录到 flac,但我想修复错误,而无需返回并再次重新安装所有这些 CD。有什么建议?
flac
从同名包安装命令并运行
#!/bin/bash
find . -name '*.wav' |
while read file # eg stuff/artist/album/title.wav
do file="$PWD/${file#./}" # make absolute to get more info
album=${file%/*} # stuff/artist/album
artist=${album%/*} # stuff/artist
album=${album##*/} # album
artist=${artist##*/} # artist
title=${file##*/} # title.wav
title=${title%.wav} # title
flac -s --best --delete-input-file \
--tag="TITLE=$title" \
--tag="ALBUM=$album" \
--tag="ARTIST=$artist" \
"$file" # creates .flac removes .wav
done
Run Code Online (Sandbox Code Playgroud)
标题是文件的基本名称,减去 .wav 后缀,专辑是上面的直接目录,艺术家是上面的目录。该--delete-input-file
选项会删除 .wav。请参阅bash 手册页中的参数扩展,${var%pattern}
其中删除了变量末尾或开头 (${var#pattern})的 glob 模式(即由*
?
和形成[...]
);%% 和 ## 版本删除最长的匹配项。
归档时间: |
|
查看次数: |
3865 次 |
最近记录: |