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


12

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

如果我有一个.flac文件,并且想将其制成例如.wav,我该怎么做而不会造成质量损失?如果解压缩,我知道我不会失去质量。将.flac转换为.wav是否与解压缩相同?

这也适用于.ape格式吗?我已经在.ape中下载了一些公共领域的录音,但是我想将其制作为.flac。如果不使用.wav作为中间人,将.ape转换为.flac是可能的。我想确保一点都不会丢失。

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

Answers:


14

第一:

了解编码容器格式之间的区别。http://en.wikipedia.org/wiki/Digital_container_format

容器格式是一种“封装”其他编码数据的数据格式。它通常包含有关已编码数据的“元信息”,或者具有一种方法来存储多个单独的已编码数据流,或类似的东西。

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

我能想到的最常见的示例是“ Ogg / Vorbis”格式。Ogg是容器格式,而Vorbis是编码。因此,您有一个Ogg格式的文件,并且内部有这些包含编码数据的小存储桶。每个存储桶中都有一个Vorbis编码的数据流,仅此而已。例如,可以在存储桶上标记艺术家的姓名和歌曲标题。

回到技术:

  1. 如果您已经拥有有损格式的音乐(例如mp3或ogg / vorbis),将其转换为无损格式只会占用(大量)磁盘空间,并且不会-绝对不会 -会提高音频。一旦失去忠诚度,您将无法创建忠诚度。除非您在一些称为CSI的热门电视节目中使用Visual Basic编写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位等。位宽度和深度略有不同,并且还有little-endian / big-endian(不影响质量)和有符号或无符号(也没有)影响质量,但确实会影响编码器/解码器处理数据的方式)。要记住的关键点是“位越多越好”。因此32位优于16位,依此类推。

  2. 频率,也称为采样率。越多越好,因为每秒可以播放更多的音频“样本”。想象一下,迅速在一副纸牌上刷一下手指,看着纸牌模糊不清-这就是数字音频的本质。每个样本都是一张卡,如果每秒有更多卡在飞行,则音频将更加无缝。就像,您真的会注意到,如果您每秒只翻转5张卡片,但是如果您每秒翻转数千张卡片,它们都会模糊在一起。所以越多越好,因为它更自然,更接近于现实,它是模拟的并且可以无限地被整除(嗯,一直到普朗克单位,但这是值得商and的话题)。

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

因此,如果您将样本格式从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/您也可以从http://code.entropywave.com/gstreamer-sdk/(支持Windows)中获取Gstreamer SDK,并尝试gst-launch-0.10,而无需编译任何内容从来源。

一些启示:

gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10音频转换gst-inspect-0.10音频重新采样

然后了解上限,构造管道等,您将继续前进。

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


哇,这简直令人难以置信,您对这一切的解释清楚和出色。以前从未想过其中一半,值得深思。感谢您的回答-以及您花费所有时间输入这些信息!+1!
Ryan McClure'7

您应始终保持完整的比特率和采样率,因为无损理想地意味着相同的PCM数据。将采样率提高到采样率的两倍之外永远不会是无损的(您不能均匀地添加零),并且浪费磁盘空间。无论如何,FLAC都不成问题,因为它可以处理每个样本4到32位的任何PCM位分辨率,以1 Hz为增量从1 Hz到655,350 Hz的任何采样率,以及从1到1的任意数量的通道。 8(en.wikipedia.org/wiki/FLAC#Design
mtone 2012年

WAV始终包含PCM。它可能不是CD品质的PCM(但实际地说,你一般都可以承担这一点,因为它几乎总是如此),但是这将是PCM,没有别的东西如MPEG 3层2
psusi

@psusi:对不起,但是你错了。请阅读有关WAV的维基百科文章:en.wikipedia.org/wiki/WAV。如果您愿意,我可以发布一个指向包含MP3音频的WAV文件的链接。关于WAV文件,要记住的是它们只是RIFF文件,而RIFF文件是媒体容器格式的原始版本。但是,至少从根本上来说,除了仅支持音频而不支持视频外,它与Ogg或Matroska并没有太大不同。编辑:我不必制作wav / mp3文件;好极了!实际上,它是从Wikipedia链接的!nch.com.au/acm/8kmp316.wav
allquixotic 2012年

这个答案有些不正确。“频率,也称为采样率。越多越好,因为每秒有更多的音频“样本”被播放。-这不是采样率的工作方式。如果不涉及比特深度,则具有48khz采样率的数据可以无损地表示高达24khz的信号,并且添加更多采样不会改变这种情况。更多样本只会影响您可以代表的频率。从44.1khz转换到48khz严格来讲也不是无损的,即使引入的误差非常小。
cooky451 '16

1

我不得不不同意allquixotic的说法。

如果您已经拥有有损格式的音乐(例如mp3或ogg / vorbis),则将其转换为无损格式只会占用(大量)磁盘空间,并且不会-绝对不会-会提高音频。一旦失去忠诚度,您将无法创建忠诚度。除非您在一些称为CSI的热门电视节目中使用Visual Basic编写GUI界面,否则那不是幻想,而是现实。

您缺乏音频工程知识,难以为人们提供虚假陈述。

  1. Ogg和Vorbis都具有保存原始波浪数据信息的容器,并且可以使用该数据将其转换为无损。请做足够的谷歌。

  2. 即使是低质量的MP3到无损转换,也可以改善很多声音,它不如原始声音完美,但可以通过动态效果和抖动来固定。https://www.izotope.com/cn/products/master-and-deliver/ozone.html/OzoneDitheringGuide.pdf

音频不是10100110101001数据,因此较小的文件大小并不意味着它会失去质量。您可能在数十年前就拥有128kbps至320kbps的经验,并且猜测128kbps到无损是不可能的。请让自己测试一下这个简单的任务并实现它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.