了解无损音频的转换和(解)压缩

了解无损音频的转换和(解)压缩

我有几个关于无损音频的问题。我正在考虑将我的整个音乐收藏翻录成无损 .flac,但我想先了解一些相关知识。

如果我有一个 .flac 文件,我想将其转换为 .wav,我该怎么做才能不损失质量?如果我解压缩它,我知道我不会损失质量。将 .flac 转换为 .wav 与解压缩一样吗?

这也适用于 .ape 格式吗?我下载了一些 .ape 格式的公共领域录音,但我想将其转换为 .flac 格式。不使用 .wav 作为中间人,是否可以将 .ape 转换为 .flac 格式。我想确保不会以任何方式丢失哪怕一丁点。

此外,如果有任何指南可以完美地解释无损的世界,有人愿意分享链接吗?:)

答案1

第一的:

了解编码和一个容器格式http://en.wikipedia.org/wiki/Digital_container_format

容器格式是一种“封装”其他编码数据的数据格式。它通常包含有关编码数据的“元信息”,或者可以存储多个单独的编码数据流,或诸如此类的内容。

编解码器产生的编码是数据流的实际“核心”。

我能想到的最常见的例子是“Ogg/Vorbis”格式。Ogg 是容器格式,Vorbis 是编码。因此,您有一个 Ogg 格式的文件,里面有这些包含编码数据的小桶。每个桶内都有一个 Vorbis 编码的数据流,没有其他内容。例如,桶上可能印有艺术家的名字和歌曲名称。

回到技术上:

  1. 如果你已经有了有损格式的音乐,比如 mp3 或 ogg/vorbis,那么将其转换为无损格式只会占用(大量)磁盘空间,而且绝对不会将不会——无论如何都要提高音频的质量。一旦丢失了保真度,就无法再创造保真度。除非你用 Visual Basic 为某个名为 CSI 的热门电视节目编写 GUI 界面,但那是幻想,不是现实。

  2. 如果您有其他无损格式的音乐并且想要将其转换为 FLAC,您可以这样做。

  3. 谨慎使用“WAV”一词。Wav 不一定是无损的;实际上,WAV 只是各种可能格式的容器。从这个意义上讲,它有点像 AVI。如果只是原始 PCM 数据,则可以获得无损 WAV,但您也可以将 MPEG-1 Layer III 数据(有损)嵌入到 WAV 文件中。

  4. 如果降低数据的保真度,则在从一种无损格式转换为另一种无损格式时可能会丢失数据。例如,如果将 48000 Hz 的无符号 16 位 PCM 数据流转换为 44100 Hz 的 8 位 PCM 数据流,则会以两种方式损失保真度:样本从每秒 48000 个合并到只有 44100 个(导致数据丢失),并且必须对数据进行向下混合以将信息压缩到仅 8 位而不是每个样本 16 位,这将极大地损害质量。

每一个数字音频流,即使是由压缩(有损或无损)编码器编码的音频流,也具有以下“样本格式属性”,它们是描述流属性的基本元素:

  1. 样本位宽和位深,即 8 位、16 位等。位宽和位深略有不同,还有小端/大端(不影响质量)和有符号或无符号(也不影响质量,但会影响编码器/解码器处理数据的方式)。要记住的关键点是“位数越多越好”。因此 32 位比 16 位好,等等。

  2. 频率,也称为采样率。频率越高越好,因为每秒播放的音频“样本”就越多。想象一下,用手指快速扫过一副牌,看着牌模糊地飞过——这就是数字音频的本质。每个样本都是一张牌,如果每秒飞过的牌越多,音频就越无缝。比如,如果你每秒只翻 5 张牌,你会真正注意到,但如果你每秒翻数千张牌,它们就会模糊在一起。所以越多越好,因为它更自然,更接近现实,它是模拟的,可以无限分割(好吧,可以精确到普朗克单位,但这是有争议的,而且离题了)。

“无损”只是意味着如果您在输出中使用与输入相同或更好的样本格式,则不会丢失任何数据。

因此,如果您从 16 位转换为 32 位样本格式,则不会丢失数据。但是,如果您从 32 位转换为 16 位,则确实会丢失数据。

因此,对于您关于使用 FLAC 是否合理的问题,答案取决于源数据:如果您有 64 位 WAV 文件,这些文件最初以 192000 Hz(即 192KHz)的采样格式录制,然后您将其转换为 16 位和 44.1 KHz 的“标准”FLAC 采样格式,那么您将丢失大量数据。但是,如果您的 WAV 文件是 8 位的,每秒只有 22100 个采样,而您将其转换为 16 位 FLAC,每秒有 44100 个采样,那么您不会丢失数据。而且您甚至可能会增加文件大小,这取决于无损压缩或较小的采样格式是否胜出。

样本格式会影响文件占用的空间大小,因此“更大”的位和“更快”的采样率将占用更多空间。

就实际问题和人耳而言:如果你将真正高保真的原件转换为 16 位 44.1KHz FLAC,你不会真正注意到这一点。但如果你将 MP3 转换为 FLAC,你也不会注意到任何改进。因此,在决定做什么之前,你需要评估源数据的样本格式。

现在我已经向您提供了所有这些信息,以下是我对您的问题的直接、直截了当、零解释的回答:

我有几个关于无损音频的问题。我正在考虑将我的整个音乐收藏翻录成无损 .flac,但我想先了解一些相关知识。

如果您的音乐收藏在 CD 上,并且您想将其翻录成 FLAC,那么我认为这非常合适。CD 质量的音频将为 44.1 KHz 和每样本 16 位。这与 FLAC 的默认设置完全匹配(至少是我使用的编码器中的默认设置)。因此,您不会丢失任何数据,并且在解码时它将在数学上与输入数据相同。

如果我有一个 .flac 文件,我想将其转换为 .wav,我该怎么做才能不损失质量?如果我解压缩它,我知道我不会损失质量。将 .flac 转换为 .wav 与解压缩一样吗?

您可以将其转换为具有与输入数据相同或更宽的样本格式的 .wav 文件,并且不会有任何质量损失。

当媒体播放器播放 flac 文件中的音频时,它实际上是先将 flac 数据解码为 PCM 格式,然后再将该 PCM 数据发送到声卡。它会将其解压缩为与输入完全相同的数据;因此,如果输入的是 16 位 44.1 KHz PCM 数据,那么输出的就是该数据,并发送到扬声器。

这项活动和转换将音频转换为 WAV 文件的一个好处是,当您将其转换为 WAV 文件时,它必须创建一个带有适当填充位等的 WAV 容器,并且它还允许您选择 WAV 文件的样本格式。但假设样本格式相同,那么您的 FLAC 和 WAV 文件之间的唯一区别就是文件大小:WAV 文件将大得多。

这也适用于 .ape 格式吗?我下载了一些 .ape 格式的公共领域录音,但我想将其转换为 .flac 格式。不使用 .wav 作为中间人,是否可以将 .ape 转换为 .flac 格式。我想确保不会以任何方式丢失哪怕一丁点。

不,如果不使用,就不可能做到这一点一些PCM 格式作为中间人。但是,是的,它不使用 WAV 文件也可以做到这一点。注意区别。PCM 数据流。WAV 文件。如果您不清楚区别,请重新阅读我文章的开头。如果您想确保“一点”都不会丢失,那么您需要检查您的 APE 文件并了解它们的样本格式,并确保您的 FLAC 编码器设置为使用相同设置进行编码。

在内部,任何音频转换程序都将从源格式解码为某种无损 PCM 样本格式,然后获取这些 PCM 样本并以目标格式重新编码它们。

此外,如果有任何指南可以完美地解释无损的世界,有人愿意分享链接吗?:)

我认为,最好的学习方式就是实践。如果您花时间学习 Gstreamer 框架、如何使用它、样本格式的各种可调参数的含义以及如何构建管道,您将对数字音频有非常深入的了解。查看一下。http://gstreamer.freedesktop.org/您还可以从以下位置获取 Gstreamer SDKhttp://code.entropywave.com/gstreamer-sdk/(支持 Windows)并试验 gst-launch-0.10,而无需从源代码编译任何内容。

一些值得揭露的事情:

gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 audioconvert gst-inspect-0.10 audioresample

然后了解上限、构建管道等,您就可以顺利前进。

*注:我意识到我没有解释什么是 PCM。维基百科对此比我做得更好:http://en.wikipedia.org/wiki/Pulse-code_modulation

答案2

我不同意 allquixotic 的说法。

如果您已有有损格式的音乐,例如 mp3 或 ogg/vorbis,将其转换为无损格式只会占用(大量)磁盘空间,并且不会——绝对不会——改善音频质量。一旦丢失,您就无法创建保真度。除非您正在用 Visual Basic 为某个名为 CSI 的热门电视节目编写 GUI 界面,但那是幻想,不是现实。

您缺乏音频工程方面的知识,并向人们提供虚假陈述。

  1. Ogg 和 Vorbis 都有保存原始波形数据信息的容器,可以使用该数据将其转换为无损。请多多谷歌搜索。

  2. 即使低质量的 MP3 到无损转换也会使声音得到很大的改善,它并不像原来的那么完美,但可以通过动态和抖动轻松修复。https://www.izotope.com/en/products/master-and-deliver/ozone.html/OzoneDitheringGuide.pdf

音频不是 10100110101001 数据,因此文件大小较小并不意味着质量下降。几十年前,您可能有过 128kbps 到 320kbps 的经验,并认为 128kbps 到无损是不可能的。请亲自测试一下这个简单的任务并实现它。

相关内容