Công cụ phổ biến nhất để kiểm tra chất lượng nhạc Lossless là Lossless Audio Checker. Tuy nhiên lại chỉ có phiên bản dòng lệnh cho macOS, và phiên bản dòng lệnh chỉ kiểm tra được file .wav.
Bài viết này chia sẻ lại xử lý của Ngọc để sử dụng trên macOS. Để bắt đầu, ta mở Terminal, dùng lệnh cd chuyển đến thư mục chưa file nhạc.
Chuẩn bị: Cài đặt brew, sau đó dùng brew cài ffmpeg
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew instal ffmpeg
Bước 1: Chuyển định dạng .flac sang .wav (nếu là Apple Lossless thì thay *.flac thành *.m4a)
for f in .flac; do ffmpeg -i "$f" "${f%.}.wav"; done
Bước 2: Dùng Lossless Audio Checker để check, trong đó thay /Users/lucngoc/LAC bằng đường dẫn nơi bạn đặt file LAC
for f in *.wav; do /Users/lucngoc/LAC "$f" | tee -a result.txt; done
Bước 3: Xóa các file .wav đã tạo ra
rm -f *.wav
Ta có thể đóng gói thành 1 dòng lệnh duy nhất cho tiện sử dụng:
for f in .flac; do ffmpeg -i "$f" "${f%.}.wav"; done && for f in *.wav; do /Users/lucngoc/LAC "$f" | tee -a losslessaudiochecker.txt; done && rm -f *.wav && say Done
Tối ưu một chút để có thể sử dụng cho cả file alac và flac mà không tạo ra quá nhiều file .wav cùng lúc:
echo -n '' > losslessaudiochecker.txt && for f in .{m4a(N),flac(N)}; do ffmpeg -i "$f" "${f%.}.wav" && /Users/lucngoc/LAC "${f%.}.wav" | tee -a losslessaudiochecker.txt && echo "" | tee -a losslessaudiochecker.txt && rm -f "${f%.}.wav"; done && open -a TextEdit losslessaudiochecker.txt
Kết quả kiểm tra sẽ được lưu ra file losslessaudiochecker.txt
Ta có thể tạo lối tắt trong zsh:
tee -a ~/.zshrc <<EOF
function checka(){
echo -n '' > losslessaudiochecker.txt && for f in .{m4a(N),flac(N)}; do ffmpeg -i "$f" "${f%.}.wav" && /Users/lucngoc/LAC "${f%.}.wav" | tee -a losslessaudiochecker.txt && echo "" | tee -a losslessaudiochecker.txt && rm -f "${f%.}.wav"; done && open -a TextEdit losslessaudiochecker.txt
}
EOF
Tải lại cấu hình zsh:
source ~/.zshrc
Từ giờ ta chỉ cần gõ lệnh checka là xong.