如何在 Linux 中重新采样 Hi-Res FLAC
Hi-Res FLAC 文件是 Hi-Fi 音频体验的巅峰之作之一。但是,如果你将 CD 翻录成 FLAC 文件,你可能会发现它们通常很难在制作它们的设备之外播放。对于拥有高分辨率音轨但没有正确播放它们的工具的用户来说,这可能是一个问题。
解决此问题的一种方法是使用 sox 重新采样你的高分辨率 FLAC 文件。本教程教授 sox 的基础知识以及如何使用它在 Linux 中重新采样 FLAC 文件。
什么是 Sox 以及重采样如何工作?
sox 的核心是一个命令行音频处理程序。与Audacity不同,它允许你直接从终端操作音频文件。这使得 sox 对于那些想要进行简单编辑或自动化复杂音频任务的人非常有用。
另一方面,重采样是使用复杂算法将高保真信号转换为低保真信号的过程。这种方法保留了音轨的质量,同时减少了你存储在计算机中的数据量。
除此之外,重采样还允许你在低端设备上播放高分辨率 FLAC 文件。例如, Rockbox iPod Video 在播放 24 位音频文件时会出现延迟和卡顿。
替代方案:除了 sox,你还可以使用 flac2all 将 FLAC 文件转码为其他现代音频格式。
使用 sox 重新采样高分辨率 FLAC 文件
注意:以下步骤适用于 Ubuntu,但无论你使用哪种 Linux 发行版,用法都保持不变。
重新采样 FLAC 文件的第一步是安装 sox 实用程序及其依赖项。在 Debian 和 Ubuntu 中运行以下命令:
sudo apt install sox flac ffmpeg
检查是否正确安装:sox --version.
通过使用内置file程序在终端中打印这些详细信息,找到 FLAC 文件的位深度和采样率: 文件样本.flac
就我而言,我的 FLAC 文件的位深度为 24 位,采样率为 96 kHz。
为 sox 找到合适的重采样率
为你的 FLAC 文件找到正确的重采样率。重采样的一般经验法则是目标重采样率应该能被原始采样率整除 2 或 4。
高分辨率 Flac Sox 重采样 08 可分割采样率
你应该只将 192 kHz FLAC 文件重新采样为 96 或 48 kHz,以确保重新采样算法可以以尽可能少的失真来转换原始信号。
优化高分辨率 FLAC 文件中的重采样
一旦你知道要使用的正确重采样率,你就可以运行 sox 来重采样你的 FLAC 文件。就我而言,我正在重新采样 96 kHz 文件,因此我正在运行以下命令:
sox -S sample.flac -b 16 resample.flac rate -v -L 48000抖动
- 该-b标志告诉 sox 为输出文件设置一个新的位深度。例如,值 16 会将新的位深度设置为 16 位。
- 另一方面,该rate选项告诉 sox 为输出文件设置一个新的采样率。
- 该-v标志强制 sox 使用“非常高质量”的重采样算法。
- 该-L标志还强制 sox 在重新采样期间使用“线性相位”响应。这是一个试图消除 FLAC 文件中的任何“信号回波”的过滤器。
- 最后,该dither选项会在整个轨道上产生少量噪音。这用作掩码,可以隐藏重采样过程中的任何缺陷。
自动化重采样过程
虽然在每个文件的基础上使用 sox 是可行的,但也可以使用 shell 自动化整个过程。(查看shell 脚本的初学者指南。)如果你打算重新采样整张 Hi-Res FLAC 曲目专辑,这将非常有用。
自动化重采样过程的最快方法之一是使用 Bash for 循环。例如,你可以运行以下代码行来重新采样 FLAC 文件的整个文件夹:
mkdir -p。/ flac 目录/重新采样&& cd。/ flac-dir for flac in * .flac; 做 sox -S " ${flac} " -b 16 resample / " ${flac} " rate -v -L 48000抖动;完毕
第一个命令将为新的 FLAC 文件创建输出文件夹并更改当前工作目录。第二个命令将遍历当前文件夹中的每个文件并使用 sox 对其重新采样。
经常问的问题
是否可以使用 sox 重新采样 MP3 文件?
sox 的 rate 命令不适用于有损格式,因此不能用于重新采样 MP3 文件。
我收到“没有检测到文件类型的处理程序”错误。
不!每当 sox 无法读取和解码你的高分辨率 FLAC 文件时,就会发生这种情况。此问题的最常见原因是缺少系统库和缺少编译器标志。
要修复丢失的系统库,请运行以下命令:sudo apt install libsox-fmt-all 修复缺少的编译器标志将需要你卸载当前的 sox 包并从源代码编译它。
Sox 报告我的高分辨率 FLAC 文件正在剪辑。我的重采样失败了吗?
在重新采样期间,高分辨率 FLAC 文件被剪辑是正常的,因为重新采样过程将忽略 FLAC 文件的大部分较高且听不见的频率数据。
尽管如此,仍然可以告诉 sox 在重采样期间补偿可能的削波。为此,请将-G标志添加到您的 sox 命令sox -S sample.flac -G -b 16 resample.flac rate -v -L 48000 dither中:
|