〖APE解压后的WAV〗和【NRG镜像音轨WAV文件】两种方式得到的WAV有差别吗? 30

本人经常用NREO复制音乐CD使用NRG镜像文件直接刻录,一直认为这样最接近原盘音质,但最近有很多APE+CUE形式的音乐文件,由于对APE没有深入了解,请达人告诉我〖A... 本人经常用NREO复制音乐CD 使用NRG镜像文件直接刻录, 一直认为这样最接近原盘音质, 但最近有很多APE+CUE形式的音乐文件, 由于对APE没有深入了解, 请达人告诉我〖APE解压后的WAV〗和【NRG镜像音轨WAV文件】有差别吗? 如果有请告知是哪些差别,两种方式得到的WAV会差很多吗?
我要专业意见 不要模糊的回答 谢谢各位.
展开
 我来答
swear2
2009-04-27 · TA获得超过3234个赞
知道大有可为答主
回答量:2188
采纳率:0%
帮助的人:2086万
展开全部
请达人告诉我〖APE解压后的WAV〗和【NRG镜像音轨WAV文件】有差别吗?
音质上有!但很小,大概有0.N个1的细微不同....
如果有请告知是哪些差别,两种方式得到的WAV会差很多吗?
体积上的差别是很明显的,wav特肥,ape相对较小
简单讲ape就是一个wav专用的压缩包(类似的还有flac等)
打个华丽的比方,你把文件打进一个压缩包,再还原出来,里面的内容会有变化么?答案是显而易见的~
差别不会很多,其实也可以说是无差别的,那为什么要说有区别,上升到哲学高度讲就是,世界上没有绝对相同的两片叶子

以下为ape的压缩原理,如果你看得懂的话--_
数字音频:

声音简单的说是一种波,而数字化音频是声波的数字化形式。这是通过对大量的模拟信号在每秒钟“采样”很多次而达到的。这个过程在概念上可以理解为在每秒钟内对声波波形的最高点进行多次记录。现在市面上的音乐CD储存的就是对声音的每秒钟进行44100次的采样。自从CD都以立体声方式来压制时,对声音的采样也变为每秒钟同时对左右声道采样44100次,采样得到的数值用16位的二进制整数来表示。基本上,一个WAV(波形)文件都有一个文件头,后面跟随一系列的右(声道信号),左(声道信号),右,左......而当每个采样数值占用32位二进制数位(16位左声道,16位右声道),每秒钟44100的采样频率时,记录一秒钟的声音就要使用1,411,200个二进制位,或者说是176,400字节(176.4KB)。

无损压缩:

1)转化至X,Y
无损压缩的第一步就是更有效的将左右声道的模型化为X,Y值。通常在左右声道之间存在着大量的相关性,可以通过好几种方式来处理,最常用的是通过使用“中/边值编码”。在这种情况下,编码时采用的是一个中点值(X)和一个边值(Y),而不是左右声道数值。中点值(X)是左右声道数值的中间值,边值(Y)是两声道数值的差值。这可由以下的公式得到:

X = (L + R) / 2

Y = (L - R)

2)预测器
下一步,X和Y数据流经一个预测器来去除冗余。基本上,这一步的目的是使得X Y序列中包含尽可能小的可解压的数值。从这一步里,一个压缩进程和另一个压缩进程相互隔开。实际上,有无数种方法可以实现这一步。这里举一个使用简单线形代数的例子:

PX和PY是预测的X,Y值;X1是最初的X值,X2是经过二次预测的返回值;
PX = 2 * X1 - X2
PY = 2 * Y1 - Y2
例如:当X = (2,8,24,?);PX = (2 * X1) - X2 = (2 * 24) - 8 = 40

那样,将预测值和实际值相减,差值(错误)被传送到下一步编码。

多数好的预测器都是具有适应性的,它们能调整到处理当前数据所需的“可预测”程度。举个例子,当我们使用一个在0到1024之间的数m作为因子(0是无法预测,1024是全预测),每次预测后,m会根据预测是否有用来向上或者向下调整。这样,在前面的例子中,留给预测器的是:

X = (2, 8, 24, ?)

PX = (2 * X1) - X2 = (2 * 24) - 8 = 40

如果 ? = 45 并且 m = 512, 那么 [最终值] = ? - (PX * m / 1024) = 45 - (40 * m / 1024) = 45 - (40 * 512 / 1024) = 45 - 20 = 25

在这以后,m将向上调整,因为更高的m数值将会更有效。

使用不同的预测等式和在预测器里使用乘法处理,将会给压缩级别带来细微的不同。这里有份技术文档里的对应于不同需求的预测等式简表:

P0 = 0

P1 = X1

P2 = (2 * X1) - X2

P3 = (3 * X1) - (3 *X2) + X3

3)数据编码/赖斯编码

音频压缩的目的是要让所有的数尽可能地小,通过去除它们之间存在的冗余。一旦这个目的达到之后,结果数据必须要写入到磁盘里。诸多(可能并不是)最有效途径中的一种,就是采用赖斯(Rise)编码。

为什么越小的数值越好?因为它们能用更少的二进制位来表达。例如,我们要对一个数列(32位字长)进行编码:

十进制:10,14,15,46

转成二进制为:1010,1110,1111,101110

现在,如果我们要用最可能少的数位来表示这些数字的话,对于每个数我们都要用32位二进制来表示,显然是很没效率的。那样要占用128个数位,而且仅从二进制表达的数字看来,它们有相同部分,一定有更好的办法来表示。理想的方法就是使用最少的并且必须的数位,直接把四个数拍到一起,那么1010,1110,1111,101110在去掉逗号的时候就是101011101111101110。这里的问题就是,我们不知道一个数从哪里开始,而下一个又是从哪里开始。这个时候就该是赖斯(Rise)编码上场了。

赖斯(Rise)编码是一种使用较少的数位来表示小的数目,同时能保持对数字进行区分的能力的方法。基本上它是这样工作的:
1)对于表达一个数目需要多少数位,你做了你最好的猜测,把它记做k;
2)取数目中的右边k位数并且记住;
3)想象没有右边k位数的二进制数,观察它的新值(不符合k位时溢出);
4)使用这些新值对数目进行编码。编码值用与第3步对应的一组0来表示,0后面以1来终结,用于告知“发出溢出信号完成”,之后跟随第2步得到的k位数。

让我们用我们刚才的例子,对我们的数列10,14,15,46中的第四个数进行编码。

1)既然前面的三个数都占用4个二进制位,那么对于第四个数所占用的数位做个合理的猜测,我们设k=4;
2)取46(101110)中的右边4位1110;
3)当你把101110右边4位去掉后就剩下10(二进制);
4)这样,我们在编码值里先放两个0,然后用1截止,再接上k位数1110,最后我们得到0011110。

现在来逆向进行这个操作,我们只需要有数值0011110和k=4。首先我们发现溢出为2(在终止数位1前面有两个0),我们还看到数的最后4位1110。所以,我们只要对溢出值10和数值1110作简单移位就得到原先的数目。

以下是对相同过程更技术化数学化的描述:

假设一个整数n是被编码的数字,k是这个整数直接编码的数位数。
1)标志(1为正,0为负)
2)n / 2^k个0
3)终止数位1
4)余下的k位数

例如,n=578D=100101000010B,k=8,
1)标志:[1](578为正数)
2)n / 2^k = 578 / 2^8 = 578 / 256 = 2 = [00]
3)终止数位:[1]
4)余下的8位:[01000010]
5)把1~4的结果放到一起:[1][00][1][01000010]=[100101000010]

在编码过程中,最合适的k值视乎前面所有值的平均值而定(取16~128的值为佳)。(基本上是猜测下一个值是什么,然后在此基础上尽量取一个最有效的k值)最适合的k值可以用以下式子来计算
殿月
2009-04-27 · TA获得超过1002个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:275万
展开全部
楼上的太专业,会吓到人的

【有损压缩】就是把人耳不易察觉的部分抹掉,只保留人耳能清楚分辨的部分
【无损压缩】则把所有的细节全部囊括进去,

但是因为涉及到编码转换的问题,误差必然存在的,但是这个误差很小,可能发生在小数点后N位,
这个误差比人声通过专业录音器材记录的误差还小,
比不同的空间环境下专业播放设备回放的误差还小。

好的ape源,好的碟片,好的刻录设备,在大气层内的人类听不出分别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wsh2981
2009-04-18 · TA获得超过1004个赞
知道大有可为答主
回答量:2024
采纳率:0%
帮助的人:2201万
展开全部
差别很小,几乎听不出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d3cbddc
2009-04-19 · TA获得超过284个赞
知道小有建树答主
回答量:933
采纳率:0%
帮助的人:235万
展开全部
都挺好的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式