找回密码
 -注册-
楼主: xtb888
打印 上一主题 下一主题

讨论:同为44.1+16Bit的WAV、APE和FLAC音乐文件,你觉得哪个音质好?

[复制链接]
21
发表于 2021-5-18 09:09 | 只看该作者 来自 浙江杭州
zousky 发表于 2021-5-18 00:35
不用怀疑,文件头的区别也是没有的。验一下md5或者打开文件就能看到是完全一样的。

我只是探讨可能性。

文件头里面大多是固定文本,正因为是固定文本,可能有些播放器就不检查了。

昨天我搞了个wav,把前面四个字节改了,foobar就报错不能播放。但毕竟没有试过所有的播放器。

回复

使用道具 举报

22
发表于 2021-5-18 10:20 | 只看该作者 来自 湖北襄阳
llbird2021 发表于 2021-5-18 09:09
我只是探讨可能性。

文件头里面大多是固定文本,正因为是固定文本,可能有些播放器就不检查了。

分享一个wav文件的二进制的前几个字节,

wav文件二进制图.png (21.85 KB, 下载次数: 116)

wav文件二进制图.png
回复

使用道具 举报

23
发表于 2021-5-18 11:09 | 只看该作者 来自 浙江杭州
本帖最后由 llbird2021 于 2021-5-18 11:26 编辑
solomon1011 发表于 2021-5-18 10:20
分享一个wav文件的二进制的前几个字节,

比如说里面这个 RIFF,WAVE ,fmt_  data 这些字节,你自己做播放器,偷懒不检查也没事,不影响后面信息的解读。RIFF后面紧跟的四个字节,不检查也没事,文件长度减4即可。

决定播放参数的是 fmt_后面这几个字节,采样率、声道数之类。这些不能改,改了就肯定挂了。

如果你自己做flac或ape的解码器,只要不涉及保存wav的功能,那这些标识符都压根不用出现。

当然这些一般不影响主观听感。







回复

使用道具 举报

24
发表于 2021-5-18 11:24 | 只看该作者 来自 浙江杭州
本帖最后由 llbird2021 于 2021-5-18 11:26 编辑

另外,要检查解码数据,可能还是需要跟踪输出到声卡的数据流,这个才是真正听到的东西。而声卡数据流,这与“解压缩保存成wav”的那些数据,确实是有可能不一样的。

自己做过解码器就知道,,非标解码,只要保证解码错误不累积,做解码器的人,真的是什么脑洞都有可能的。

有时候是为了提高速度,有时候是偷懒或者水平不行,有时候是奇技淫巧,,,


回复

使用道具 举报

25
 楼主| 发表于 2021-5-18 12:00 | 只看该作者 来自 湖北襄阳
solomon1011 发表于 2021-5-18 10:20
分享一个wav文件的二进制的前几个字节,

硬菜上来了!
回复

使用道具 举报

26
 楼主| 发表于 2021-5-18 12:02 | 只看该作者 来自 湖北襄阳
llbird2021 发表于 2021-5-18 11:24
另外,要检查解码数据,可能还是需要跟踪输出到声卡的数据流,这个才是真正听到的东西。而声卡数据流,这与 ...

关键环节。
回复

使用道具 举报

27
发表于 2021-5-18 23:10 | 只看该作者 来自 北京
llbird2021 发表于 2021-5-18 11:09
比如说里面这个 RIFF,WAVE ,fmt_  data 这些字节,你自己做播放器,偷懒不检查也没事,不影响后面信息 ...

自己抓一个wav文件,先压成flac,再解压还原成wav,你说的这前几个字节会有区别?
我之前操作过,没有验出文件有任何不同。
难道用某些特定的软件转换会有区别吗?
回复

使用道具 举报

28
发表于 2021-5-19 08:57 | 只看该作者 来自 浙江杭州
本帖最后由 llbird2021 于 2021-5-19 08:58 编辑
zousky 发表于 2021-5-18 23:10
自己抓一个wav文件,先压成flac,再解压还原成wav,你说的这前几个字节会有区别?
我之前操作过,没有验 ...

其实我最开始的说法跟你是一摸一样的。后来改的。

你要知道,论坛上的网友,连flac和wav都能“听出区别,一个温暖,一个厚重”的。

那万一呢,有哪个解码器发神经,把前面几个字节给改了呢?再比如说,某些特殊情况下,解压文件后面给你加几个零或删几个零?

这种东西,你须要搞个测试集,怎么着也得弄个千儿八百的wav,做个批处理,压缩后解压,然后二进制比较吧?

那还不如承认算了,“确实有亿万分之一的可能,有几个字节不一样”


回复

使用道具 举报

29
 楼主| 发表于 2021-5-19 12:47 | 只看该作者 来自 湖北襄阳
llbird2021 发表于 2021-5-19 08:57
其实我最开始的说法跟你是一摸一样的。后来改的。

你要知道,论坛上的网友,连flac和wav都能“听出区 ...

大家的讨论有些深度了
回复

使用道具 举报

30
发表于 2021-5-19 13:35 | 只看该作者 来自 上海
llbird2021 发表于 2021-5-17 09:08
这个可以用二进制比较来检查的。用示波器,16bit的东西用示波器看波形,反而不一定能看出来最细微的差别 ...

RIFF是Resources Interchange File Format文件的包头,改了播放器不知道该如何处理,它需要通过包头来确定使用哪种解码器。
二进制比较我做过,可以肯定无区别。
如果你有几份不同格式的音频文件,flac,ape,applelossless,wav等等,不确定他们是不是一样的,最简单的办法就是用foobar里的右键-Utilities-verify integrity,如果hash一样,就可以确定它们是从同一份wav编码的。


回复

使用道具 举报

31
发表于 2021-5-19 13:48 | 只看该作者 来自 浙江杭州
whig 发表于 2021-5-19 13:35
RIFF是Resources Interchange File Format文件的包头,改了播放器不知道该如何处理,它需要通过包头来确 ...

verify 这个功能我这边的foobar好像没有。。需要啥插件么?

如果有这个功能肯定是最好不过的了。。

我本人相信绝大部分都是一摸一样的。但是毕竟有网友声称“flac和wav听起来不一样,一个细腻,一个灵动”,那说不定他们能举出一个通不过二进制比较的实例,我也很期待。

RIFF 确实是我想当然的。不过现在不少wav可以增加作曲家演奏者之类的tag信息或者metadata。这些东西本来就是可以人工改的。这些字节上通不过二进制比较,甚至因为指针错位而导致整个文件都不匹配,我看也是有可能的。

当然这个我也还没试。




回复

使用道具 举报

32
 楼主| 发表于 2021-5-19 14:17 | 只看该作者 来自 湖北襄阳
把一个wav文件转换成FLAC/APE后,分别导入foobar里,右键-Utilities-verify integrity,查看hash都一样。
回复

使用道具 举报

33
发表于 2021-5-19 15:08 | 只看该作者 来自 上海
本帖最后由 whig 于 2021-5-19 15:27 编辑
llbird2021 发表于 2021-5-19 13:48
verify 这个功能我这边的foobar好像没有。。需要啥插件么?

如果有这个功能肯定是最好不过的了。。

foo_verifier

(C) 2006-2020 Peter Pawlowski

Usage: Select one or more tracks to test, choose "Utilities / Verify Integrity" from the context menu.


这个插件会自动忽略那些TAG信息,只从media本身比较hash。文件格式都是定义死的,哪个部分是音频,哪个部分是视频,哪个部分是tag,图片插在哪里都有定义,所以除非读写过程中出错,不存在插入或修改几个tag信息就影响hash的。


我copy了两个wav文件,做测试,一个加了Artist tag: unknown,一个保持原样。整文件hash结果:

certutil -hashfile "01 -- TIMON OF ATHENS- Overture.wav" md5
MD5 的 01 -- TIMON OF ATHENS- Overture.wav 哈希:
d35c11611680382cdf938ecfbc515f80
CertUtil: -hashfile 命令成功完成。

certutil -hashfile "01 -- TIMON OF ATHENS- Overture - 副本 (2).wav" md5
MD5 的 01 -- TIMON OF ATHENS- Overture - 副本 (2).wav 哈希:
3959f034879746ac6c625db6845de4c0
CertUtil: -hashfile 命令成功完成。


用foobar verifier插件


Item: "01 -- TIMON OF ATHENS- Overture - 副本 (2).wav"
MD5: E261824677E111727F9298873956F190
CRC32: BD579450
No problems found.

Item: "01 -- TIMON OF ATHENS- Overture.wav"
MD5: E261824677E111727F9298873956F190
CRC32: BD579450
No problems found.


All items decoded successfully.

PS: 据我所知MD5已经出现理论上不同文件hash值一样的情况,但毕竟可能性很小,暂时不考虑了。
回复

使用道具 举报

34
 楼主| 发表于 2021-5-22 20:15 | 只看该作者 来自 湖北襄阳
WAV波形文件是音响设备和很多软件可以直接读取的波形文件,基本上不存在编解码问题。
flac和ape都对WAV进行了编码,故能换取较小的体积,但同时造成解码播放时,因播放器材解析力很敏感,会因出现一定的jitter抖动而导致播放效果不够饱满和流畅。
这点我们可以通过统一转换为WAV格式来试听解决。
编码越复杂,解码越麻烦,自然占用内存率越高,耗电量自然越大。
那些伤不起的播放机们感触最深,同样的电量,三种格式播放时长依次为由长到短:WAV、FLAC、APE,所以,如果你的便携式播放机比较脆弱,自然选择WAV可以享受更长时间的音乐。
回复

使用道具 举报

35
发表于 2021-5-23 11:31 来自手机 | 只看该作者 来自 中国
我全部转成alac了,照顾iphone也能播放的无损
回复

使用道具 举报

36
发表于 2021-5-30 01:15 来自手机 | 只看该作者 来自 湖南
感谢分享
回复

使用道具 举报

37
发表于 2023-5-26 15:22 | 只看该作者 来自 辽宁沈阳
wav》flac》ape。至少在我的电脑上是这样。
回复

使用道具 举报

38
发表于 2023-5-26 15:49 | 只看该作者 来自 浙江
soundworld2022 发表于 2023-5-26 15:22
wav》flac》ape。至少在我的电脑上是这样。

只要硬件是正常的、软件也是正常的,二者abx是没有任何区别的。

当然不排除你的软件被优化过,比如说,检测出wav后就软件自动加料,或者检测出ape后软件自动给你叠加一点什么白噪声之类的。不排除这种可能性。这帮程序员什么都做得出来。


回复

使用道具 举报

39
发表于 2023-5-27 20:40 | 只看该作者 来自 山东青岛
我认为,只要抓规处理过程中没有数据损失,这三种方式在听感上不会有任何区别。

都是数字文件,数据完全相同,播放流程也没有什么区别,怎么会造成听感上的差异?

高端器材播放正版CD,音质确实好。但问题是,恐怕没几个人在那种器材上播放后面说的这些格式,播了的话也应该没什么区别。

要玩玄学也不是不可以,但有一个前提,不能违背科学和逻辑。

不然的话,就不是器材行不行耳朵行不行,而是“脑袋行不行”了。

回复

使用道具 举报

40
发表于 2023-5-28 08:58 | 只看该作者 来自 中国
weib02 发表于 2023-5-27 20:40
我认为,只要抓规处理过程中没有数据损失,这三种方式在听感上不会有任何区别。

都是数字文件,数据完全 ...

既然有区别,那AB盲测肯定能测出来。如果测不出来,那即使有区别,纠结这种区别又有何意义。  但 咱谁也不要试图去教育说服别人,烧友们可能是脑子被烧糊了,大都很固执。如果自己觉得哪种格式好自己喜欢就行,萝卜白菜,各取所好。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | -注册-

本版积分规则

Archiver|手机版|粤icp备09046054号|耳机网-耳机大家坛

粤公网安备 44030602000598号 耳机大家坛、www.erji.net、网站LOGO图形均为注册商标

GMT+8, 2025-7-19 23:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表