如何将一批 flac 文件从 48000 24 位转换为 41000 16 位?

如何将一批 flac 文件从 48000 24 位转换为 41000 16 位?

我需要将一批 48000 个 24 位 flac 样本转换为 41000 个 16 位样本。我想从命令行使用 ffmpeg。

答案1

改编自ffmpeg FLAC 24 位 96khz 至 16 位 48khz

ffmpeg -i Brindisi.flac -af aresample=out_sample_fmt=s16:out_sample_rate=41000 Brindisi_41000_16.flac

并检查:

file Brindisi*
Brindisi.flac:          FLAC audio bitstream data, 24 bit, stereo, 44.1 kHz, 8918016 samples
Brindisi_41000_16.flac: FLAC audio bitstream data, 16 bit, stereo, 8291126 samples

如果要转换目录中的多个文件,最简单的方法是将其放入循环中:

for f in *.flac
do
    [ -s "${f%.*}_41000_16.flac" ] && continue

    printf 'Processing: %s\n' "$f"
    ffmpeg -i "$f" -af aresample=out_sample_fmt=s16:out_sample_rate=41000 "${f%.*}_41000_16.flac"
    # mv -f -- "${f%.*}_41000_16.flac" "$f"    # Replace original
done

与往常一样,在实际执行任何操作之前,先加上前缀ffmpegwithecho来查看发生了什么。

如果在同一组文件上多次运行此循环,它将忽略已处理文件的输出文件。当然,您可以使用 删除这些文件rm *._41000_16.flac

相关内容