关于用EAC抓轨的测试  
                               数字崇拜  
   本站编者按——Exact Audio Copy是本站重点推荐的一款无损音质CD抓轨软件。网友“数字崇拜”针对这款软件进行了深入的抓轨测试,得出了非常宝贵的经验,因此也就有了这篇文章。文中详细介绍了EAC能够做到无损抓轨的原理以及具体的测试过程,确实是一篇不可多得的优秀文章——

  这两天闲来无事,作了一些抓音轨的试验,本人的机器配置如下:PII400超450,HY128M,EPOX BX3主板。使用两台CDROM:

  1.Acer CD650P 50倍速,传输模式 UDMA/33  
  2.Samsung SC-140 40倍速,传输模式 PIO-4

  使用的软件:Exact Audio Copy V0.9 Prebeta 9

  实验唱片:

  1.Z版 MERCURY Hi-Fi西班牙 编号434 349-2  
  2.D版 MERCURY Hi-Fi西班牙 盘片白底蓝字,标称贵州音像出版公司发行

  测试音轨:使用Track1 BRAZILIAN SLEIGH BELLS

  实验一:同一张Z版唱片在不同的CD-ROM上的多次抓取

  首先在IDE2接上Acer光驱,进行三次抓取,然后关闭计算机,拆下Acer 50X的数据线,接到Samsung 40X上,进行两次抓取,关闭计算机,重新启动,进行三次抓取,关闭计算机,拆下数据线,重新接到Samsung 40X上,再进行两次抓取。在开始和更换光驱后,首先使用EAC检测光驱的特性,发现两台光驱都支持如下三个特点:

  1.不缓冲音频数据(No Cache Audio Data)  
  2.精确流模式(Accurate Stream)  
  3.C2级校错(C2 error correction)

  使用安全模式(Secure Mode)进行抓取,抓取前首先检测音轨之间的间隔(Gap),一次抓取完毕后关闭EAC,再重新启动EAC,检测Gap,然后进行下一次抓取。首先观察十个文件的大小,都是34,052,300字节,即272418400位。 然后使用FC/B进行二进制比较,发现所有的文件都是相同的。由此可见,使用质量好的Z版唱片,在两台CDROM上,使用EAC抓取的WAV文件是完全相同的,但这样的数据是否就是CD上原有的数据呢?这可以通过红皮书的误码率作一个模糊的概率统计,但是红皮书只是一个书面标准,并不能保证我抓取音轨的误码率就是这样,所以我采用了一个通用的数字游戏的方法。

  下面简单地分析一下,为简单起见,首先只考虑其中两个文件A和B。分几种情况讨论。

  1.两个文件都是正确的,这很好。  
  2.一个文件正确,一个文件错误,这与实验结果相矛盾。  
  3.两个文件都错误,但错误的位数不一样。不妨设A,B错误的位数分别为x和y x<>y,那么两个文件至少有x-y位不相同,这与实验结果相矛盾。  
  4.两个文件都错误,且错误的位数一样,不妨设为m(m>0),也就是说B文件也错在m个固定的位(相对A文件来说)。这种事件出现的概率是P=1/C(n,m)=m!(n-m)!/n! n=272418400。当m-n/2越大时,P越大。如果m<>n,也就是说文件不是全错的话,当m=n-1或m=1时,P最大,P=(n-1)!/n!=1/n=1/272418400=3.67e-9。扩展到十个文件,他们全部出错误,错误的位数相同,位置相同,且并非所有位全错的最大概率是(3.67e-9)^9=1.21e-76,这是什么样的小概率事件,不言而喻,我想不会比中一个几百万元的彩票的机会更大。

  看来只有一种情况可能出现了,即m=n,P=1,唉,我的两台光驱读CD数据居然在所有的位上100%的出错,在红皮书的标准之下,这真是不可思意,这种误差如果是随机性的,那么其概率为1/2^272418400,不大于10e-68104600,如果是系统性的,看来又该换光驱了,不过我的光驱读软件可好好的,真是不可思议。

  顺便说一下:在原先的实验中,网友在不同的光驱上抓却音轨往往不一致。但EAC为什么这么厉害呢,我摘译软件作者在文档中的若干描述,本人英文水平不高,也不是相关技术领域专家,错误在所难免。

  EAC的作者Andre Wiethoff是德国多特蒙德大学计算机专业的一名学生,经常抓取和监听各种WAV文件,所以使用了许多抓音轨的软件,但令他不满意的是,这些软件只有时基误差的校正,而CDROM在抓音轨时会产生其他的误差,所以,他就萌发了开发一个完全精确的抓音轨软件的念头,这样EAC诞生了。EAC的特点如下:

抓取技术:

  EAC采用三种抓取方式:安全(Secure),快速(Fast)和爆发(Burst)。在安全模式模式下,对于每一段音频数据至少读取两次,如果两次不一样,则继续读取直到有50%以上的采样是完全相同的为止,不过最多只读取82次,这样就会得到完全正确的或最佳结果,当光驱支持精确流(accurate stream)特性时可以确保这一点。如果光驱对于音频数据进行缓冲(Cache),情况就会变得复杂起来,因为后面每一次读取数据都是第一次的缓冲,是从Cache中读出的,当然是一致的。EAC通过重新初始化光驱来避免这一点。由此可见,安全模式是比较慢的。C2级错误检测是EAC采用的又一种光驱特性。光驱有C1,C2两种错误检测方法,如果在读取音频流时,发现C1和C2校验错误,那么只用读取一次就可以了,不过需要注意的是:光驱对以这一特性的报告可实现并非完全准确,所以为了保险,可以关闭这一选项。如果光驱支持精确流特性,且不对音频数据进行缓冲,那么EAC可以使用快速模式效果是相同的。而爆发模式不进行任何的检测和校正,只是速度快。

  间隙技术:

  EAC可以检测音轨之间的间隙,这种信息并非直接存储在CD上,需要进行测试,使用这种技术的一个好处是可以指明抓取的时间范围。

  光驱特性自动检测技术:

  上面说了,如果光驱支持支持精确流特性,C2级错误校正,且不对音频数据进行缓冲这对于音轨的抓取是非常有好处的。所以在使用EAC之前,首先要检测你自己的光驱,EAC对于精确流特性的检测是完全正确的,但对于Cache的检测并非完全准确,为保险起见,你可以假设你的光驱对音频数据进行缓冲。

  音轨同步技术:

  如果使用这一选项,EAC会对于相邻的音轨进行同步,以避免时基误差,这对于一些现场录音(Live Recording)特别有用。

  采样偏移技术:

  采样偏移(Sample Offset)技术是EAC的又一大特点,许多光驱不支持精确流特性,EAC使用这一技术有利于在进行多次抓取时,同一条音轨其数据都是一致的。有些光驱无法精确的定义起始点,所以程序指定读取第10000块(Block)时,可能读的是第9998块,但读取程序是无法发现这一点的。一般的,对于每一台光驱,都有其特定的偏移值,EAC如何适应这一点呢,作者收集了几百张常见的CD,在每张CD的特殊位置读取了一些字节,建立了一个CD特征库,如果你也正好有这个版本的CD,你就可以使用他们,通过EAC进行比较,以得到你自己的光驱的特征偏移,注意同一种CD可能有多种版本,所以你必须仔细检查CD内环的代码,当然,如果同一版本的CD,不同的碟片上的数据居然不一致的话,这种技术也就失效了。

  正是因为EAC采用了这些技术,所以将音频数据抓取的正确程度提升到了一个新的高度。目前,它还是0.9的贝塔测试版,作者还在不断地进行努力。

  文档摘译完了,我的观点是:在适当的软件(EAC)的驱动下,当然这种控制软件也可以设计成专用的芯片,廉价的CD-ROM(即使是维修过的)完全能胜任红皮书标准的音乐CD数据的读取,这与天价转盘没有什么两样,无论他们采用了什么防震措施和发烧级的元器件。前题是控制软件要足够好。

  一个免费软件能够做到的事,但是为什么音响厂商们做不到这一点呢,这恐怕没有技术上的困难,只有从商业目的上来理解了,对于数字信号的正确读取,传输和复制,他们恨得要死,怕的要命,当然,这更包括各个唱片公司,反观IT厂商,对于D版的问题更多的是从法律和技术上来防范,而不是鼓吹炒作各种奇怪的概念。

  实验二:同版本的D版唱片在不同的CD-ROM上的多次抓取

  既然Z版唱片的问题不大,那么D版唱片呢,我找到了Hi-Fi西班牙的 一张D版,盘片白底蓝字,标称贵州音像出版公司发行,与Z版相比,印刷粗糙多了,盘片的内环和外沿都不是很平滑。同样的在两台光驱 中分别抓取了5次,其中有时还关闭了EAC的精确流选项,no cache audio 选项,即让EAC采用最保守的多次比较的方法进行抓取,结果是所有文件 的大小仍然为34,052,300字节,但是进行二进制比较时,问题来了,D版本身抓取的十个文件是完全一致的,但是与Z版相比较时,几乎100%不一样,经过分析,发现同一段的数据在两个文件中的偏移完全不同,由此可见D版还是有问题的。

  由于本人是从事软件工作的,所以以上的某些观点可能不免又陷入了软件万能论的泥潭,其实也就是硬件万能论,因为许多计算机控制芯片就是在不断的固化各种软件。

转载于:https://www.cnblogs.com/gkb986/archive/2012/01/14/2322606.html

关于用EAC抓轨的测试 (转载)相关推荐

  1. 全球著名音乐抓轨软件EAC 设置详解

    EAC的作者Andre Wiethoff是德国多特蒙德大学计算机专业的一名学生,经常抓取和监听各种WAV文件,所以使用了许多抓音轨的软件,但令他不满意的是,这些软件只有 时基误差的校正,而CDROM在 ...

  2. Linux下CD抓轨 创建CUE 压缩为flac全攻略

    在Windows下我们一般都使用EAC把抓轨压缩生成CUE的工作一步搞定了,但是在Linux下会稍微麻烦一点,每一步都需要我们自己做.经过我反复搜索和尝试总结了一套还算不错的方法,用到的软件和过程如下 ...

  3. linux抓取cd音频,Linux下CD抓轨

    最近京东不是特价么,买了一堆放在购物车里的 CD 什么的.当然我是不会拿盘听的,自然是抓出来扔 MP3 里了.考虑到我可能还有分享出去的需求,那就先抓成整轨的WAV,打包分享后自己压 Flac 好了. ...

  4. C++实现CD抓轨转WAV

    现在介绍一下C++实现CD抓轨转WAV,CD抓轨的方法有好几种,现在介绍其中一种.我们 可以通过API函数CreateFile获得设备句柄,再用API函数DeviceIoControl来实现对设备 的 ...

  5. 手动对整盘抓轨的APE(没有CUE文件)进行分轨

    大家是不是经常下载完整轨的APE等无损音乐后因为丢失CUE文件而无法分轨呢? 刻录成碟子也只能快进才能听后面几首歌曲,这样的确很不方便,没有cue文件那我们就手动重新抓轨. 这里要使用到的软件是Mon ...

  6. 网络安全之小程序抓包渗透测试流程

    小程序测试流程 分为两个方面,解包可以挖掘信息泄露问题.隐藏的接口,抓包可以测试一些逻辑漏洞.API安全问题.两者结合起来就可以边调试边进行测试,更方便于安全测试. 搜索目标小程序 目标搜索不能仅仅局 ...

  7. eac found not rust_无损抓轨求助,EAC抓出来的log文件,accurate rip和ctdb不一致

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 ctdb显示所有音轨都准确抓取,accurate rip显示有7个音乐不能准确校验,求指导! log文件如下 Peak level 92.1 % Extr ...

  8. monkey命令——压力测试——转载参考03

    转载:https://blog.csdn.net/u011649536/article/details/45043781?utm_source=blogxgwz9 简要步骤:adb devices-- ...

  9. FastJSON应用前测试--转载

    FastJSON 应用前测试 FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能. 实际上 ...

  10. Charles抓包工具测试实战

    目录 一.Charles简介 二.Charles安装与配置 (1)Charles安装 (2)Charles组件介绍 (3)Charles设置 ①代理设置(先在"局域网设置"中设置代 ...

最新文章

  1. 以太坊完整工作原理和运行机制!
  2. Repeating Cipher
  3. 狂神java什么来头_狂神说SpringBoot18:集成SpringSecurity
  4. 二分法查找平方和_面试手撕系列:二分法
  5. UC浏览器APP如何卸载插件
  6. 今日上新:两个图像领域的现金奖励实时竞赛
  7. hdu 1512 Monkey King 左偏树
  8. [转载]WebSocket
  9. No SOURCES given to target: mpeg
  10. wxPython利用pytesser模块实现图片文字识别
  11. vs安装以及简单使用教程
  12. linux新硬盘格式化,linux添加新硬盘并格式化
  13. 2022年山东大学游戏策划考试回忆版
  14. html5 保存后退,Html5 页面后退并刷新
  15. C++语言99个常见编程错误 常见错误24:晦涩难懂的operator-
  16. odoo中关于打印word格式的文件,利用docxtemplate方法
  17. 堡垒机AccessClient插件在mac系统下闪退的解决办法
  18. 等保系列之——网络安全等级保护测评:工作流程及工作内容
  19. 世链投研|people的诞生堪比魔幻,背后蕴藏着怎样的经济体制?
  20. 4星|《心流:最优体验心理学》:如何在工作生活中发现幸福:找到意义与目标并且专注其中...

热门文章

  1. F28335的DSP中主频的配置
  2. 树的最小表示法 UVA 12489 - Combating cancer
  3. 跟上!本周业界动态来了!Java周报,2019/8/10,黑客日教程
  4. DNS错误不能上网怎么办?电脑dns错误修复方法?
  5. 阿里巴巴2021校招
  6. 海思MPP模块视频缓冲池
  7. C#毕业设计——基于C#+asp.net+sqlserver的计算机等级考试系统设计与实现(毕业论文+程序源码)——计算机等级考试系统
  8. 【前端知识之JS】reduce()方法与使用
  9. TS中any与unknwon的区别
  10. 2018金山wps暑期招聘服务器端笔试题(第二批)