2007年10月28日

some news!

我们都知道微软喜欢给预装Windows的PC贴认证标志,无论是Windows 95/98还是最新的Vista,并且有些OEM的机器上还贴有COA.
使用Linux的用户就没有这个待遇了,不过作为狂热的Ubuntu标签党们怎么肯罢休呢,国外的爱好者就自己做了一个像模像样的Ubuntu COA,比较有趣的是它的KEY,:474E5-52F4C-494E5-55801竟然是"GNU/LINUX"文字的HEX.看上去很棒,Ubuntu的爱好者有没有兴趣贴一个?


查看:Certificate of Authenticity सवग

互联网宽带上的国家发展逻辑

有时,令人吃惊而又很能说明问题的新闻被埋在了新闻媒体的最后几页中.
10月3日,《纽约时报》的商业栏目登出了一个互联网普及程度的小表格.表格上列有 10个经济发达的国家,各国名下都有两个数字,一是以每秒兆数表示的宽带联网平均速度,二是每月服务费(每秒/兆)的价格.速度最快和最便宜的国家是日本 (61.0和0.27美元).紧随其后的是韩国(45.6和0.45美元).

值得关注的是表上美国与日本的相对位置.美国的速度是4.8,比日本慢14倍,而价格是3.33美元,比日本贵12倍.法国的情况也很有趣,这个如此经常地遭到美国奚落称其经济落后的国家,尽管达不到日本的水平,却比美国的速度快3倍多(17.6),而价格便宜一半(1.64美元).

  这个巨大差距可以用日美企业与资本主义市场的关系加以解释.为了使日本成为《纽约时报》所说的“宽带天堂”,日本企业进行了大量投资,并对客户大打折扣.他们依据的理论是:不考虑短期利润而投巨资于长期项目上终将得到回报.这个哲学曾经使日本建立了世界上速度最快的两条铁路线之一即新干线.日本在这个领域的唯一竞争对手是法国的高速列车TGV.而美国,正如人所共知的那样,有个非常恶劣的铁路系统叫做Amtrak,几乎没什么人使用,还总是亏损.

  日美之间有两个最大的不同,一是美国的公司主管处于需要对任何有可能减少本年度盈利的资本支出进行辩解的巨大压力之下,二是美国政府不愿意向公司提供财政刺激以便帮它们为长期投资融资.

  这两个问题的原因都很清楚.今日美国公司受投机风潮主宰,管理高层交替频繁,并购时时发生.对公司行政主管而言,唯一要紧的是当年的底线,因为从下一年(还不要说下一个10年)的底线中获益的时候他可能已经不在位了.美国政府则把自己所有的钱都花在军事投资和给巨富们减税上.没有任何剩余进行长期投资.日本人相反,根据日本电报电话公司网络战略部总经理小川和彦(Kazuhiko Ogawa)的说法,他们向“百年一遇”的项目投资.

  美国股票市场的泡沫有可能再持续一小段时间.但10年之内,美国在信息技术领域可能会尴尬地远远落在日本(以及韩国甚至法国)后面,而人们一直在说,信息技术是当今资本主义经济的关键部门之一.

  这正是霸权衰落产生的机制.主导国家把力量集中在短期问题上,过度投资于毫无成效的军事支出.投机取代创新成了利润来源.而不知不觉之中,另外的国家(本案中是日本,但并非日本一国)加速前进,控制了未来的技术.这正是美国当年——如此久远啦——作为一个上升的经济大国时所做的.

  要扭转——即使部分扭转——这种状况的唯一出路是美国文化出现一个大的转化.乔治·W·布什连想想都办不到.希拉里·克林顿或巴拉克·奥巴马有意在这个方向上发挥他们的领导作用吗?天晓得.

《中国经营报》消息



拒绝提供犯罪嫌疑人资料 Google巴西公司遭司法警告

ugmbbc发布于 2007-10-28 09:01:04| 386 次阅读 字体: 打印预览

Google 谷歌

巴西一家地方法院日前向Google巴西公司提出司法警告,宣称如果该公司继续拒绝提供犯罪嫌疑人资料,将面临巨额罚款.
据巴西圣保罗州通讯社26日报道,这家法院要求Google巴西公司提供一些犯罪嫌疑人上网时使用的IP地址和其他资料,但该公司以“为用户保密”为由未予提供.

这家法院裁定,虽然Google公司的总部在美国,但Google巴西公司却是一家在巴西注册的公司,因此必须遵守巴西法律.

Google巴西公司拥有广泛的用户群.此前,该公司已多次以母公司设在美国为由,拒绝向巴西司法部门提供用户资料.

新华社消息




2007年10月25日

[图]超过130万颗处理器核心的Google数据中心!

hidecloud发布于 2007-10-25 09:10:01| 845 次阅读 字体: 打印预览

Google 谷歌

还觉得自己的双四核处理器服务器酷翻了?那么你该来看看Google的这台计算机。
这台服务器看上去就像一间仓库。Google详细的介绍了一下这个计划,但是却没有透露这台巨型服务器有多少颗CPU。因此我们只能根据一些资料进行估算。
这台坐落在哥伦比亚河畔的服务器是作为Google新的数据中心使用的。这个地方自从电价涨过30美元每兆瓦时后就开始萧条了,貌似现在的电价是45美元每兆瓦时。

这听上去比你自己付的电费便宜,的确,是便宜很多。这就是为什么Google,微软,Yahoo都在这个电力充足的地方修建数据中心的原因。

根据现场一些照片看来,这里可以容纳10万平方公尺的A类数据中心。下图展示的是它的冷却系统。



根据发布出来的数据,这个中心总共拥有8180的机架,而每个机架拥有40块Intel双核处理器。8180*80=654400!而且别忘了,在这栋房子旁边还有同样的两栋房子,这意味这个中心实际拥有超过130万颗核心的运算能力!

对于这个现象的解释,可以这么认为。Google的三大原则,其中之一就是要购买便宜的计算机。他们将各类计算机的负载平衡的运用到平行运算中,所以处理器的数量远远比他们的速度重要。而很显然,Google现在拥有了这个数量。

cnBeta编译
消息来源:ZDNet

2007年10月24日

google近期新闻合集

GMail已经整合了IMAP的邮件接收方式,成为继POP3后的又一种客户端接收方式,不过目前只有GMail的少量用户和Google Apps的帐户才拥有IMAP.
IMAP与POP3的传输方式不同,它可以让你在邮件服务器上选择是否下载该邮件,只下载可信的邮件,可以按需去掉有害邮件和垃圾邮件.
现在您不妨到您的GMail中看看有没有开通IMAP,并按说明设置客户端,如图.

查看:Supported IMAP Client List



离线版的Google Reader早已经推出了,使用了Google Gears进行离线服务,早前有传闻说Gmail将使用Gears推出离线版,而在Gmail还未出现离线版的现在,Google 日历已经出现了离线版的迹象,没错,又是Google Gears。

点击看大图

看到上图不要惊讶,你只需要在浏览器地址栏输入 javascript:_olp_showPromo(); 即可,弹出的窗口会提示你要查看和编辑3个月以内的日历,你需要安装Gears。点击图中的了解详情并没有得到什么“详情”,而是空白一片,可见Google还没有做好帮助文档。

如果你点击“安装”来首次或重新安装Gears,并在重启浏览器后进入其指定的地址:http://www.google.com/calendar/render?settings=3

得到的还是提示你安装Gears的提示如下图。看来Google还没打算开放这个服务。

点击看大图

对于我来说,我并不关心Google日历是否推出离线版,而是Gmail。

消息来源:Cybernet
本文地址:http://www.kenengba.com/post/272.html


搜索提示“含有恶意软件”,厦门一公司状告Google

ugmbbc发布于 2007-10-24 09:24:35|2033 次阅读 字体: 打印预览

Google 谷歌

厦门财富商标事务所的郑朝才最近有点烦,烦恼来自网上,在Google上输入关键词 “厦门财富商标”、“厦门商标”等关键词,跳出的搜索结果会多一行字“该网站可能含有恶意软件,有可能会危害您的电脑.”
为了名誉权,郑朝才把 Google告上法院,上演了一场厦门“小蚂蚁”状告“搜索大象”.近日,思明区法院正式受理了此案.

郑朝才是厦门市财富商标事务所有限公司的老板,今年九月的一天,他忙里偷闲地在办公室泡了一壶茶,这种逍遥只是片刻,不一会儿,一位客户给他打来电话,说 通过Google搜索引擎寻找厦门财富商标事务所的网站时,Google搜索引擎会提示“该网站可能含有恶意软件,有可能会危害您的电脑”,这位客户放弃 了浏览厦门财富商标事务所网站的计划.

小老板:凭什么说我网站有恶意软件

“凭什么说我网站有恶意软件,为什么在百度上搜索我公司不会有这样的提醒?”郑朝才说.他决定打一场官司,他先在厦门市公证处申请网页证据保全,随后,以 侵犯名誉权为由将www.google.com的所有者谷歌公司告上法院,请求法院依法判令谷歌公司停止对公司厦门财富商标企业法人名誉的侵权行为,分别 在全国性和地方性的网络媒体新华网、新浪网、厦门网等三个网站上公开向厦门财富商标事务所赔礼道歉,并赔偿厦门财富商标事务所经济损失计人民币10000 元整以及承担案件全部诉讼费用.

“和Google这种大公司比起来,我的公司是小蚂蚁,有人说我这是炒作,炒作倒在其次,我只想弄个明明白白.”郑朝才说.

记者一查,在Google上进行搜索,出现这种提示语的网站绝非厦门财富商标网一家,在Google上输入“中国瓷都-景德镇”、“福建省红十字会”、 “福建网通”、“嘉峪关市人民政府网站”、“厦门律师联合网”等,均显示这些企、事业单位的网站都“可能含有恶意软件,有可能会危害您的电脑.”

Google:搜索提示语是自动生成的

记者昨天联系了Google北京方面.Google公关人员给了记者一个在Google上的资料,对于有争议的提示语进行解答.

Google (谷歌)中国的博客网志上写到,“Google(谷歌)希望将用户受到恶意软件危害的几率降至最低.因此,谷歌与 StopBadware.org 合作,于搜索结果中对那些在 StopBadware 公布的指南下被判定为发布恶意软件的网站标示警告:该网站可能会损害您的计算机.”

Google (谷歌)中国公关的工作人员告诉记者,许多网站管理员不知道他们的网站遭到入侵,当他们看到自己努力耕耘的网站竟然在搜索结果中被标示了这个警告,都感到非常意外.“但我们要向您保证,我们很认真看待您的疑虑,并且非常小心以避免错误的标示.”

记者问这位工作人员:“厦门财富商标事务所怀疑,出现这种提示语可能和他们在百度上做竞价排名,不在Google上做排名有关?”

这位工作人员告诉记者:“这种情况是不可能的,这些提示语是搜索技术自动生成的,没有人工添加的成分.”

得知Google被告的消息后,这位工作人员说,打官司的事属于Google法务部门的解答范围,记者拨通法务部门电话,则提示无人接听।

Google已经将他们的翻译服务(Google Translate)的翻译引擎从Systran替换为自有引擎,提供25个语种的互译,包括阿拉伯语,汉语和俄罗斯语.
许多在线翻译服务都利用一些商业引擎来进行语法和词汇的翻译,而Google经过多年的研究和积累,已经开发出了并不弱于Systran能力的翻译引擎,有兴趣的话各位可以拿Google Translate和宝贝鱼测试一下区别吧.

访问:Google Translate
访问:Babel Fish


2007年10月21日

first THX FOR The GFW

豆瓣上的第100部电影:love actually

相当棒的片子 :)


TSB

THATSWHATIWANTTOSAYTOSOMEBODY

2007年10月18日

徽剑: 汉语编程-汉芯之后的中国软件界大骗局

cnBeta 博文精选

一、闹得沸沸扬扬的汉语编程
二、汉语编程其实是一个大骗局
三.汇编都是英文的,其他变成汉语有什么用
四、其实汉语编程很好创造出来,但是却没什么用
五、中国人编程难的问题和出路在那里

一、闹得沸沸扬扬的汉语编程

这几年以来,特别是最近一段时间,汉语编程闹得沸沸扬扬,大有我中华民族之骄傲,如果不加紧实行汉语编程,中华民族就要消失了。徽剑本对于汉语编程不以为然,一直没有理会。之所以写这篇文章,是因为徽剑前几天接到一电话,是北京一家公司打过来的,大谈推广汉语编程,要跟徽剑的公司合作在深圳推广,于是徽剑查了一下资料,发现这两年所谓的汉语编程这场闹剧居然愈演愈烈,于是徽剑不得不出来揭露下。对比去年的汉芯事件,徽剑认为,所谓的汉语编程只不过是另一场汉芯的重演而已。所以看完本文,特别是程序员朋友,如果您认为徽剑说的有理,请将本文多多转发到各种论坛,揭露这场骗局。

先来看新闻,2007年09月《通信产业报》以“汉语编程异军突起民族产业出黑马”为题发表了一篇文章。开头是这样:

“当今世界,科技突飞猛进。网络改变了人们的生活和思维,成为人们学习和工作不可或缺的一部分。人们点击鼠标进行学习、工作和接收外界信息的时候,计算机程序设计语言在其中起到了至关重要的作用。很多年来,我们一直在使用国外的编程语言,人们已经习惯了用C语言、JAVA等计算机语言编写应用程序,实现人与计算机的完美对话。但是朋友您知道吗,真正属于我们自己的计算机程序设计语言——汉语编程已经问世,而且已经在诸多领域发挥了重要的作用。”

然后文章介绍了汉语编程:

“汉语编程萌发于1984年,1994年获得国家发明专利。汉语程序设计语言,不是对计算机语言的简单汉化,也不是为某种软件制造一个中文环境,而是中国人自已掌握全部源代码,使用汉字信息指令,从计算机底层入手,使计算机的中央处理器(CPU)能够处理存储器中的汉字词典,从而实现计算机对汉字程序的识别,不受现行操作系统控制的技术系统,且完全拥有独立的自主知识产权。”(呵呵,这段话里面的问题就先不说了)

在文章的末尾,还上升到了民族大义的高度:

“我们曾经因为闭关锁国错过了工业革命的巨轮,也曾忙于阶级斗争,而错过战后新技术发展的浪潮。如今,我们有了完全自主知识产权的计算机语言,其核心技术无可挑剔,且优势日益明显,我们不能再错过最好的发展时机。汉语编程是民族的,是国家的,中国这个有着5000年深远文化的泱泱大国,理应把它好好利用起来,发展和振兴我国民族产业,为中国人民所熟知和使用。”

徽剑在收集到的另外的资料还有这样报道:

“近日,用汉语编程实现的数据库开发环境将通过江苏省科技厅的验收。按照进程,汉语程序设计语言数据库开发环境项目完成后一年,项目承担方——南京汉语编程有限公司将以汉语编程数据库教育版为推广重点并进行其他工程开发。项目完成后两年,汉语编程数据库标准版将以OEM方式与国内PC制造商捆绑销售。项目完成后三年,将推出汉语编程数据库企业版参与政府、企业、部队信息化建设,部分替代进口产品。江苏省科技厅将对该项目投资三百万元。同样看好汉语编程的还有重庆市科委,他们的预期投资是上千万。汉语编程作为重大科技发明发现正在申请重庆市的国家级项目。重庆药监局正在应用汉语编程开发的数据库实现对所有下属药店的监管。目前这个项目完成了大部分,6月底将最后完工。”

当然徽剑在报道中也找到了不同的声音:“从2001到2002的两年间,北京市科委对汉语编程项目进行了5次评审。评审的结果是,超过50%的专家并不认可汉语编程的可行性,元易达没有能在北京市科委立项。元易达于是坚持“农村包围城市”的市场开发路线。当年对北京元易达公司进行评审的时候,原中国科学院计算机软件研究所研究院员仲萃豪这样评价,“用汉语编程语言开发数据库,这条路是相当艰巨的。汉语编程现在还只是一个小玩意。”

看完这些,有人会问,到底这个汉语编程是怎么回事?到底有多大价值?对未来的发展有如何贡献?那么好,下面就来分析。



二、汉语编程其实是一个大骗局


我们知道一个骗局“汉芯事件”, 2003年2月,在摩托罗拉公司做测试的工程师陈进,将一片从美国买来的MOTO-free scale 56800芯片,雇请民工磨掉原有标志,然后加上自己的“标识”,变成了所谓“完全拥有自主知识产权”的“汉芯一号”,申请了多项专利,并借此当上了上海交大微电子学院院长、博导以及“长江学者”。

汉芯事件一大特点就是拿一块别人的芯片,简单修改一下,然后包装成自己的成果。这种如果是商业上,只要不侵犯别人权益也就无可厚非。但是作为科技开发就不同,讲究的是原创和事实。我们来对比下汉芯和汉语编程,我们会发现他们有惊人的易曲同工之妙。

报道这样说:“汉语程序语言是在1993年由北京百乐航天应用技术公司汉语工控部的沈志斌发布的,最初为PC1.0版,是一个16位版本,只能在MS-DOS环境下运行。2000年,沈志斌组建了北京元易达公司,专门从事汉语编程的产品开发。经过近十年的发展,汉语程序语言目前最新的版本为2.03,能够在WINDOWS9X/NT环境下运行。”

一开始的时候,徽剑也没明白这到底是什么语言,还以为这真是汉语编程的原创,只是觉得有些别扭,一来是觉得“汉语编程”的软件经过这么多年的发展,版本一直不变,是否让人难以理解?而且其开发界面极其难看,用反汇编软件居然发现汉编编译器主程序文件居然使用的是微软的VC运行库,这里让人极其不解,既然汉语编程都到了可以汉语汇编的程度,为什么编译器还要用VC来开发?

最近在铁血社区看到一篇文章,才完全证实了徽剑的猜测。

从词典看某“汉语编程”与Forth语言http://bbs.tiexue.net/post_2304429_1.html
看完了文章上面的图片对比,相信只要有编程基础的人士都可以明白,这完全是彻头彻尾的剽窃。一个把开源代码复制过来,加以简单修改,然后包装成自己的原创。

这里很抱歉一开始的时候,徽剑对于这种叫Forth语言确实孤陋寡闻,徽剑正想自己动手比较的时候,有一位网友做了好事,先比较了下:
原帖链接(http://www.xycq.net/forum/thread-152078-1-1.html),作者来个分析:

“汉语编程目前能够下载到的版本为2.03.1920,由于只使用一个版本的汉语编程,后面的描述中就省掉版本了。在铁血网中的帖子有一个简单的比较,用的是一个叫win32forth的forth实现,在其主页Download's中可以得到两个不同的版本,一个是4.2build671,另一个是6.12.00是目前最新的稳定版。在铁血帖中提到过wincon.dll这个文件,我也是从这个文件入手的。”

于是该网友用VC6中的Depends查看三了个wincon.dll的结果。发现入口非常相似,也就是有可能是差不多的文件。于是该网友考虑了将三个DLL进行互换。

“将三个dll文件复制到一起,先将三个文件复制到win32forth4.2中,分别使用三个dll后启动WIN32FOR.EXE的结果发现“汉语编程的wincon.dll文件能够被win32forth4.2正常使用,而且读出来的数值与汉语编程环境下一致,都是10895。由于接口改变,4.2和汉语编程的wincon.dll都不能在6.12中使用了。而win32forth4.2版与6.12版的wincon.dll文件都能够在汉语编程环境下使用,而且读出的值都与原环境下一致。综上情况,汉语编程与win32forth在wincon.dll文件上保持了相当好的兼容性,如果说二者一点关系都没有,形成这种结果的几率不知道能有多大。”

更为搞笑的是,当该网友试着将汉语编程程序和win32forth4.2目录下的这个同名文件WINCON.DLL删除时居然发现汉语编程与4.2的提示基本一致(徽剑测试时除了标题的两个字母大小写不同外其他一致)。该网友不禁问:“这也是巧合吗?一个号称汉语的居然冒出一句英文的提示而且还跟别人的如此相似,而且是"Missing procedures!"这种计算机程序中少见的用词以及少见的标题栏中用标点。”

“将汉语编程的win32chp.dll文件复制到win32forth4.2文件夹下并命名为win32for.img,当然之前要备份好原来的win32for.img文件;将汉语编程的ckernel.ovl复制到win32forth4.2文件夹下。然后找一个16进制编辑器,打开win32for.img文件,从偏移4(也就是第5个字节)开始,连续4个字节修改为D5 11 92 01,保存。双击win32for.exe,”

徽剑看到的是居然看到的是带着win32forth 4.2图标的汉语编程。

最后该网友总结到:“说到底,汉语编程应该是这么来的,由于win32forth的源码是公开的,汉语编程利用其源代码将win32forth字样抹去,并且修改了识别词库文件的标志(将win32forth的D5 11 92 01修改为DA B7 6E EF),编译出可执行程序。然后又根据需要,汉化及添加、修改了词库形成了现在用汉字和一堆全角符号编程的汉语编程语言。可以说汉语编程为了掩盖其与win32forth的关系,将符号修改的很彻底,也不管那一堆全角符号用起来多么古怪。”

“如果继续研究下去,我想还会掌握更多的证据,甚至有希望根据wincon.dll和winapi词数找到汉语编程使用的那个版本的win32forth,不过目前我觉得这些证据已经足够了,已经不需要再浪费时间了。”

最后作者得出结论:

“其实汉语编程就是win32forth的一个修改版,实现的功能基本上都是win32forth实现的。把这个东西吹嘘为民族的希望,汉语编程需要带的ckernel.ovl和win32forth 4.2需要带的kernel.bin文件都是词库(其实就是编译过一次的字节码)的要求,比如要是用汉语编程的编辑器winedit.dll替换成win32for.img的话就不需要带ckernel.ovl了。注意观察一下汉语编程的各个程序,都是由同名的一个exe文件和一个dll文件组成的,那个dll文件并不是真正的win32格式的dll文件,而是与win32forth 4.2的img仅差一个标志的一种格式;而那个exe文件其实都是可以互换使用的,当然跟win32forth 4.2互换都没有问题。”

看到没有,一个骗子。一个跟汉芯一样的骗子。

三.汇编都是英文的,其他变成汉语有什么用

下面来介绍下语言的基础,(这部分主要是给对编程不是很了解的人士看的,有些地方不严谨,但是只要说明意思就可以了)

我们先看语言基础,我们平时看到的电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。

计算机所能识别的语言只有机器语言,即由0和1构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。目前通用的编程语言有两种形式:汇编语言和高级语言。

作为机器语言,其核心是如何控制内部运算,对于不同的CPU架构体系,其机器语言也会不同。表现出来的就是指令集,CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。

汇编语言的实质和机器语言是相同的,只不过指令采用了英文缩写的标识符,更容易识别和记忆。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,由于汇编语言只是机器语言的符号化,虽说相对简单了,但是还是得要求人们学习相应的内部结构,对于复杂的内部结构,有很大一部分人还是无从着手的.所以就出现了高级语言,当程序员用高级语言指令写完源程序后,只需用编译器编译就可运行了.此时编译器所做的工作就是把高级语言指令翻译成汇编语言(机器语言。.

对于软件开发者来说,他需要考虑的是CPU的指令集,也就是CUP指令集的汇编指令,只有针对这些指令才能开发出相应的程序来,举例来说,你在基于英特尔CUP的汇编指令上开发的程序,就不能在苹果电脑上运行。而这些汇编指令集都是CUP等硬件厂商开发提供的,目前我们知道CUP的大部分厂商都是海外公司,他们的指令集(都是汇编语言写成)都是英文的。

高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,这样就大大简化了程序中的指令。高级语言如目前流行的VB、VC、FoxPro、Delphi等,高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。

通常而言,人们写程序有两种方式,
一是直接用汇编语言写,然后翻译成机器语言。
二是用高级语言写,然后编译器翻译成汇编,最后翻译成机器语言。

也就是说,程序语言的编写分为三个层次。

第一层次(最低层次)是机器语言 其语言都是01.
第二层次是汇编语言(使用不同的CUP指令集)其语言都是英文
第三层次是高级语言

我们会发现一点,不过你采用什么语言编写,最终的都是要编译成汇编语言然后到机器语言,最终都是要调用CUP指令集。(这里需要指出的是,任何汇编指令集,都是硬件开发厂商开发的,而不是什么程序语言公司开发的。)就目前而言,这块都是英语,目前国内有人推出的汉语汇编编程,徽剑觉得啼笑皆非,就汇编语言而言,是直接对CPU等硬件操作的,必须依赖各种指令集,而这些厂商,有几个提供汉语指令集?

在没有硬件厂商提供的汉语指令集前提下,所谓的汉语汇编是不是“鸡对鸭讲”?这么一来是不是要有人把英文指令集翻译成汉语?那跟汉化有什么区别?

这样一来任何人都可以开发出一套汉语汇编来,很简单,找一套汇编编译器,增加一个翻译过程,当输入汉语时,将其翻译成对应的英文汇编程序,然后再翻译成机器语言,或者直接采用替换方式,当输入英文的时候,将其翻译成(英文对应)的机器语言。

任何汇编指令集,都是硬件开发厂商开发的,而不是什么程序语言公司开发的。让程序开发者利用汇编语言来操作他们的硬件。除非硬件厂商提供直接针对汉语的指令集,否则任何所谓的汉语汇编都是,翻译器加汇编编译器。

也就是说,在汇编领域,目前并未有任何厂商提供汉语指令的指令集,那么意味我们所谓的“先进的汉语汇编”就不是什么自主开发的东西。那么这里有一点就可以明了,就是目前的真正的汇编都是英文的。汉语汇编其实只是“假汇编”。

四、其实汉语编程很好创造出来,但是却没什么用

前面谈到的那个“汉编”事实上是个骗子,下面徽剑要说说不是骗子的汉语编程,以易语言为例。

易语言是曾经和朱崇君一起开发CCED的吴涛于 2000年初开始开发的,这是一款Windows下全中文可视化编程语言,最新版本为 4.0。易语言自发布后,以其类似于VB的风格和彻底中文化的特点赢得了不少电脑爱好者的青睐,

易语言的特点就是用汉语来写,原来编写程序输入的是英文,现在改成输入汉字了,我们来看段易语言程序:

引入 apr;
公开 类 启动类
{
公开 静态 启动()
{
整数 数量;
控制台.输出行("请输入将要生成的随机数个数:");
数量= 控制台.输入整数();

随机数集合.显示(数量);

随机数集合.显示();
}
}
公开 类 随机数集合
{
公开 静态 显示(整数 生成个数=10)
字节集 临时字节集;
整数 I,J;
内存池 局内存池 = 创建 内存池;
控制台.输出行("下面开始生成"+生成个数.到文本+"个随机数====>");

计次循环(生成个数,J)
{
临时字节集=随机数.生成随机数(1,局内存池);
I=字节集类.到整数(临时字节集);
控制台.输出行(整数类.到文本(I));
}
控制台.输出行("<========随机数已生成");
控制台.输入文本();//暂停屏幕滚动用
}
}

事实上,徽剑看不出这里有什么优势,懂中文的人似乎也没几个能明白。有人说易语言似乎对于英语不好的人有帮助,其实很荒谬,因为如果但是写程序部分所使用的英文数量是很少的,常用的也就几十个英文单词,一般情况下也就几百个英文单词。也就是说,如果仅仅考虑到“写程序”这块而言,会个三五百单词足够,这点数量的单词相信没有几个人学不会。

我们必须看到而真正出问题的在于“接口”上面,前面说了,目前的操作系统、几乎所有的各种应用程序都是英文编写的,所谓的中文版只是在用户界面做了汉化,这样一来,用汉语编写的程序如果要在操作系统上运行、或者与其他程序交换数据,不可避免的遇到英文代码,特别是操作系统,比如windows下的API等而这些接口又是成千上万,如果没有很好的英文是很头疼的。

更为甚者,这些接口的文档大多都是英文编写,没有好的英文水平是阅读不了的。也就是说如果你想成为程序高手,英文是必须解决的拦路虎。也许有一天有了全中文的硬件指令集、全中文代码的操作系统,那时候我们就可以说用中文编程了。就目前而言对于专业程序员而言,汉语作为程序设计的描述语言并没有什么实际意义。

如果仅仅是考虑普通用户不懂英文,不会“写程序”,那么徽剑提出一个更为简单的方法:“汉化”,我们可以分为这么几步走:

第一步,对汇编编程器进行汉化,使其在输入汉语汇编指令时自动对应相应的机器语言。

第二步,对诸如C、C++等编译器进行汉化,将其内部对应的英文指令替换成汉语,这样一来在输入汉语C、C++程序时可以直接编译。

第三步,编译C、C++等的教材,将其中英文描述换成规范的汉语程序词汇。同时大量翻译各种英文指令书籍,便于中文编程人员查找。

第四步,创立汉语操作系统,找一套开放源码的LINUX,修改其编译器,将编译器输入对应的英文换成汉语,然后将全部源代码翻译成汉语,再用编译器编译一下。当然个别地方要考虑到汉语的编码特点修正一下。徽剑计算,依照几十名翻译人员,差不多一年可以完成,看看一套全面的汉语代码操作系统出来了,

看到没有,就这么几步,连强大的C、C++等都成了汉语编程语言了。如果想傻瓜点,也可以啊,跟微软合作、跟SUN合作,可以把.net、JAVA全部汉化了,想来他们也没有什么反对的。

有人说:“汉语编程的优点概括为以下几个方面:首先是安全系数高。汉语编程是我们用汉语实现的人机对话,我们掌握所有的源代码,目前尚未发展能与之对抗的病毒,非常有利于保证计算机内的机密安全。”

这纯粹胡扯,目前的计算机语言,特别是诸如C、C++语言本身都是免费的、开放的,任何人都可以学习、使用。就像相对论不是中国人发现的,但是我们一样用,这只是一种知识而已,如何在这种知识上开发成果来,那是另外一回事。一种知识是谈不上安全的。我们并不因为飞机是外国人发明的,我们自己造飞机就泄露了什么机密。假如我们完全用自己的汉语编程,难道国外特工就不会学吗?难道国外的信息部队就不会针对这个开发病毒吗?而且还是一开一个准,因为你是单独的,与众不同,开发针对你的不用担心自己受影响。


有人说:“汉语编程是效率高。汉语编程的原理是建立在汉字的本身优势上,汉字看起来很复杂,但表达的意义却很丰富。且在键盘上输入汉字远比输入英文快,用汉语编程写出的程序远比其他语言篇幅要短很多。”

这里同样也是胡说,请问一下,当你在键盘上输入“if”快还是“如果”快,是输入“end”快还是“结束”快?要知道在编程的英语不是日常的英语,完全可以说是一种新的人类语言,在键盘上输入汉字只是在总的信息量上比英文多,而不是单位数量汉字敲击键盘的次数比英文少。徽剑做过简单测试,发现以C++为例,如果把C++翻译成汉语输入,单位时间内的击键次数是英文的很多倍。


有人说:“汉语编程是简单易学,便于普及。只要认识汉字,上到九十九下到刚会走,都可以学习和使用。”

这更是胡说八道,如同前面分析的那样,用汉语“写程序”是方便了,可是还有那么多英文接口、英文文档怎么办?再说了,有必要来个全民编程吗?美国普通人也没几个会编程的。而且我们看看上面的易语言代码,光是认识汉字的人明白吗?


我们还是看一段评论:“从理论上讲,汉语编程应当是一种以汉语为描述语言的计算机程序设计语言,在程序设计中体现了汉语语法和逻辑,符合中国人的语言习惯和思维方式,而不是英文程序设计语言的简单汉化,或者是简单地营造一个汉语编程环境。很遗憾的是,目前我们所能见到的汉语编程语言,就只不过停留这个层次上,并没有取得任何实质性的突破。事实上,从2001年到2002年间,北京市科委对汉语编程项目进行了5次评审,评审的结果是超过50%的专家并不认可汉语编程的可行性。”

五、中国人编程难的问题和出路在那里

下面我们看看中国人编程难难在那里?

徽剑以一个拿到(说混到也可以)的系统分析员证书的编程者的亲身体验,中国人编程难难在难在接口语言和技术资料语言上,而不是“写程序”的语言上。学过编程的朋友都知道,程序中绝大部分都是逻辑和数学表达式,与采用英语还是汉语来描述的关系实质并不大。

就程序而言,不管学习编程的是谁,是中国人,还是美国人,有一个共同的难点。那就是计算机语言不是我们人类日常交流的语言,越是效率高的编程语言,越是离人们日常生活交流语言较远。这点上是共同的。

而中国人真正不利之处就是如果英文不熟练,无法阅读技术文档(诸如C++、Java中上万个用英文的库函数也不是需要编程者都得记住的东西),无法理解大量的接口等英文信息。而这一点就不是简单用汉语编程那么简单了。世界上最著名的软件公司,大多是母语为英语的国家。印度现在之所以成为世界第二软件大国,因其母语是英语,这样一来在阅读和学习过程中接触相关技术就没有什么障碍。

依照我们目前的发展条件,短期内不大可能出现诸如硬件、操作系统等的全国产化,这样一来如果我们还是热衷于所谓的用“汉语写”程序的话,就未免搞笑了。其实我们来看看编程的发展历史:

最早期,直接对硬件编程,使用机器语言和汇编语言。
后来,出现高级语言,在一定程度便于人们的理解了。
再后来,出现面向对象的程序开发,使得程序开发进一步容易理解和实施。
现在流行的是面向对象的可视化程序开发,每个语言本身都是“不可视”的,仅仅是语言而已;所谓“可视化”不过是编程工具所提供的功能,让你在编窗口等一些“看到着”的程序时可以使用拖拽等可视化操作。如同C++是门语言,而vc++只是一个可视化编程工具,vc++实现了C++的可视化编程。

有过较长期编程经验的老程序员都会有这演感受,在十年前写C++语言程序是很累的(那时国内还很少大家都是用C较多),现在用C++的话,可以用VS2005多方便啊。诸如.NET代码生成器有助于快速应用程序开发。

现在甚至不用写代码就可以生成很多小点的程序,这在十年前、二十年前是不可想象的,同样再过十年,不写代码生成很多今天看来是很大的程序也不是难事。所以徽剑以为在未来,程序员编程“写”的代码数量将会越来越少,程序员更多的考虑的是程序的结构和性能,然后动动鼠标,输入几个数据,一套程序就编好了。

在这种情况下,更多的内容被封装了,到那时,才可以说不懂英文也照样编程。这才是发展的趋势。

至于底层部分,那就只有等到国产的硬件出来了,推出大量中文指令集,才有实现真正汉语底层开发的可能。

2007年10月14日

Google官方确认Gmail免费容量增长速度加快,收费容量降价!

GSeeker消息:
尽 管Gmail邮箱的免费容量从2005年4月开始就采用无限+1的自动增长方式,但速度比较慢,现在总容量也没到3GB.再加上Yahoo! Mail今年5月份开始变成无限容量,而微软的Live mail都升级至5GB免费容量了,有相当一部分Gmail用户已经表达了不满,抱怨Google太吝啬了.因为要想获得更大容量,你只能购买 Google Apps的收费版,又或者参与Google的收费存储共享计划.虽然我还是坚持原本的看法,则容量并不是Gmail的最大优点,但如果有更大的免费空量, 我当然也不会拒绝,因为那至少可以令Gmail看起来更美一些.

1. 本月23号达到4.2GB;
2. 明年1月4号将达到6GB;
3. 2038年将达到42GB;
4. 3456年1月2号将达到2.70266701 × 1072 TB;

  虽然3456年的事还太遥远,但Gmail团队刚刚确认了, 已官方加快Gmail免费容量的增长速度。根据我自己的观察,Gmail在从今天早上到现在,似乎增长了一些(不确定,因为没仔细记录数据),速度的确是 加快了(?)。Gmail团队还表示,Google Apps的免费版及教育版里的Gmail邮箱容量,也将和普通免费版Gmail一样,达到同等快的增长速度。

  那Google的收费型存储共享计划怎么办?如果你记得,它的价格表原先是这样的:

Google_storage2.jpg

  而现在,变成了这样

gmail-space-upgrade-071012.gif

  没错,相当于大降价了!同样是20美元一年,原先只可买到6GB额外空间,但现在可买到10GB。这证明了Google仍然会继续它的收费容量销售计划。当然,如果你不急着要这么大的容量,完全可以慢慢等待免费的午餐送上门来。

Gmail Is The Best!

EAC!

THX FOR E世代家园编写的“EAC 圣经中文版
产品名称: Exact Audio Copy
作  者: Andre Wiethoff
主  页: http://www.exactaudiocopy.de/
应用平台: Windows 95/98/ME/NT/2000
产品价格: 明信片软件(若你喜欢该程序的话,你必须邮给作者一张明信片)
地  址: Andre Wiethoff Stockumer Str. 412 44227 Dortmund Germany

EAC 简介

什么是 EAC

Exact Audio Copy - EAC - 是 Windows 平台的音轨抓取程序。音轨抓取程序能将音乐数据从 CD-DA 音乐 CD 中抓取出来保存到硬盘上。事实上这种音轨抓取软件现在有数百种,那么,为什么选择 EAC 而不是(举例来说) AudioCatalyst?答案很简单:因为 EAC 是最好的。

跟其他大多数的音轨抓取软件相比,EAC 使用了一种安全(secure)读取方法:这意味着所有的音乐扇区要至少被读 2 遍(其他音轨抓取软件仅读一遍而已)。这将极大地提高错误检测水平。一旦发生读取错误,EAC 将重读音乐数据(最多 82 次)以求得到完美结果。如果 CD 磨损严重,数据在 82 次尝试后仍不能读取的话,EAC 将报告这一读取错误并给出精确的位置,让你试听。拜 EAC 的纠错能力所赐,在很多的情况下,即使 EAC 报告了读取错误你也听不出失真现象。所有这些,使 EAC 成为 Windows 平台上最佳的音轨抓取软件(还有一种可与 EAC 媲美的程序是 Cdex)。

在你把 EAC 当作一种包治百病的灵药之前,你要清楚一点:因为 EAC 要读取扇区至少 2 次,因此,音轨抓取过程和其他音轨抓取软件相比也会至少慢 2 倍。这对于那些追求音质的人来说不是个问题,但对于那些只要尽可能快的抓取速度而不在乎是否有失真的人来说,EAC 缓慢的抓取速度令他们沮丧。笔者 Plextor 32x 在使用 EAC 来抓取一张没有磨损 CD 时的速度只有 10x-17x。而同样一张 CD 在使用 AudioGrabber 制作时则有 14x-24x。你应该清楚 Plextor CD-ROM 常被视为参照标准。许多其他 CD-ROM 在 EAC 下会更慢。

然而这近乎完美的抓取引擎还不是 EAC 的全部。EAC 还支持许多外挂编码器和 CODEC,这意味着你可以用 EAC 直接将抓取的 WAV 文件编码成 MP3 或其他的压缩音频格式。EAC 支持几乎所有的音频编码器,而不象 AudioCatalyst 只限定用一种压缩编码引擎。

另一个特点就是刻录 CD 功能:使用 EAC 支持的 CD 刻录机(EAC 与某些 CD-RW 不兼容,如笔者的 LG8240B 24x CDRW)来刻录 CD 可达到最佳的复制水平。

最后就是......EAC 希望能花费你一张明信片和一个印戳。如果你喜欢 EAC 的话,作者希望你从你的居住地寄给他一张漂亮的明信片。

特点总结

  • 使用 windows 95/98/ME/2000 的 ASPI interface,因此支持 SCSI 和 ATAPI CD-ROM 驱动器。
  • 隐藏扇区同步(jitter 修正)。
  • 可选择安全 (secure),快速 (fast) 及爆发 (burst) 抓取方式。快速抓取可得到和其他音轨抓取软件相同的速度,但可能不那么精确。爆发模式只是抓取音轨数据而不进行任何同步处理。
  • 在安全模式下,尽可能地检测和修正读取错误和完全的同步检测。
  • 显示所有非精确修正的地方的时间位置,让你试听这些位置。
  • 复制音乐数据的全部音域,而不仅仅是音轨。
  • 遇到错误时自动减速,并能自动返回原速。
  • 可对抓取的音乐进行正常化处理。
  • 使用 windows Audio Compression Manager (ACM Codecs),直接压缩成 MP3。
  • 支持类似于 ACM Codecs 的 BladeEnc 和 LAME DLL 进行 MP3 压缩。
  • 支持外部 MP3、VQF、RA 及 AAC 编码器,在抓取后自动压缩。
  • 批量压缩和解压 WAV 文件。
  • 支持补偿、修正功能,以进行精确的压缩/解压。
  • 检测轨道间隙。
  • 检测轨道间隙的静音。
  • 自动生成 CDRWin 格式的 CUE 文件,包括所有的间隙、索引、轨道属性、UPC 和 ISRC。
  • 带有布局编辑的 CD 刻录功能,让你制作你自己的音乐 CD。
  • CD 播放功能,预听所选范围。
  • 驱动器特性的自动检测,确定驱动器是否支持精确流和有无缓存。
  • 对于不支持精确流的驱动器可以进行采样偏移设定,包括用静音填充丢失采样的功能。
  • 对于不支持精确流的驱动器的轨道同帧设定。
  • 本地和远程 CDDB 数据库的文件名编辑,cdplayer.ini 支持以及 ID3 标记等多种功能。
  • 兼容 Escient(?) CDDB
  • 支持本地 CDDB。
  • 浏览和编辑本地 CDDB 数据库。
  • 录制和循环录制 LP,广播节目。
  • 依据 ID3 标签自动更名 MP3 文件。
  • 目录抽取功能。
  • Multisession (CD-Extra) 支持。
  • CD-Text 支持。
  • 支持拖放功能的 ID3 标签编辑器。
  • 抓取结束后驱除 glitch(杂讯)干扰。
  • 带有删除、修整、规格化、pad、驱除杂讯干扰、爆音检测、音段添写、减少噪音、淡入淡出、取消/重做 操作等等功能的小型 WAV 编辑器。
  • 本程序是明信片软件,可自由拷贝。

由此可见,EAC 是一个很完备的音声提取、编辑、烧录程序。当你的目标是制作高质量音乐时,EAC 是首选。

已知 bugs

  • 有些机器在使用时系统会突然挂起。作者也不清楚应当如何解决,但有可能是由于正在运行着 CD 播放程序引起的。所以在启动 EAC 前最好关闭这些程序。
  • 有些驱动器存在些严重的 jetter 错误,导致抓取音轨速度慢到无法接受。

许多人认为 EAC 的设定很复杂。为了得到最好的效果,你必须要将你的 读取/刻录 设备调整到最佳状态,这是有些难度的。但只要你一步步按本教程的说明去做,你一定会在很短的时间内使 EAC 达到最佳的工作状态。




获得 EAC

EAC 可从其主站 http://www.exactaudiocopy.de/ 下载。

EAC 的安装

EAC 的安装很简单,一路 Next......除了安装目录外没有任何可以设定的地方。同时 EAC 还有一种不安装版本,将下载后的 Zip 文件解压即可使用。


设置 EAC 选项 - 设置 EAC 的一般选项(重要)

 

EAC 的参数设置


先设置一些对大多数人都通用的参数。选择 EAC -> EAC Options...或按 F9 键打开 EAC Options 窗口。

面对这些选项,一些新手可能会感到困惑,其实这些都是 EAC 设置中最简单的部分,只要弄清这些参数含义,就很容易进行设置了。

本节将详尽介绍各种设置参数,并给出相关的推荐设置,以便轻松快捷地设置好 EAC 选项的参数。

以下打上 号的是重要部分,正确设置是抓轨品质的保证。

Fill up missing offset samples with silence(用静音填充丢失的偏移采样):(默认:开启,推荐:开启)
在进行offset correction(偏移校正)时(见后),如果驱动器不能通取 Lead-in 和 Lead-out 区,这个选项就是确定在丢失一些采样的时候,是否用静音填补 (是:可以保持正确的音轨长度;否:抓轨出来的 WAV 文件因丢失采样而偏小)。因此,为尽可能接近原盘,当然选用 “开启”。

No use of null samples for CRC calculations(CRC 计算时不使用空的采样)
:(默认:开启,推荐:关闭)
当进行 CRC 校验时,是不计空采样的。不然,如果音轨的头、尾有空采样,那么 CRC 校验结果就会不同。这个选项不太重要,对于抓轨质量毫无影响。不过,如果有用到偏移选项者,则选用“关闭”为宜。

Synchronize between tracks(音轨间同步):(默认:开启,推荐:开启)
在音轨的衔接处,EAC 可以进行 jitter(抖动)与 synchronize(同步)校正,以避免在前后音轨之间的衔接处出现爆音或停顿。需选用 “开启”。

Delete leading and trailing silent blocks(删除头部和尾部的静音块):(默认:关闭,推荐:关闭)
EAC 可以去除音轨头尾部的静音块。由于这样将使得所抓轨出来的 WAV 长度短于实际音轨,因此,想要 “100% 复制”,当然就得选用 “关闭”。

Skip track extraction on read or sync errors(在读取或同步时的错误时,跳过音轨抓取):(默认:关闭,推荐:关闭)
如选用 “开启”,那么,EAC 在抓取音轨时遇到读取或同步的错误,就会跳过当前音轨而转抓下一音轨。推荐选用 “关闭”。由于 EAC 的先进的抓轨方式,在遇到读取、同步的错误时,一般不会有明显的痕迹。出现这种错误,EAC 会在 log 文件中报告,这样可以听一下相应的地方是否有缺陷。当然,出现读取、同步的错误时抓轨已不可能完美,不过,如果这种缺陷听不出来,那么,不妨将此音轨抓取出来。话又说过来,EAC 也不是万能的,碰上了劣质 CD,则抓取出来的音轨在质量上的显著缺陷则在所难免。总之,就是根据自己听觉上的判断来确定吧。

Skip track extraction after duration longer than X times realtime(在超过设定时间时,跳过音轨抓取):(默认:关闭,推荐:关闭)
如选用 “开启”,那么,EAC 在抓取音轨时如超过设定的时间,就会跳过当前的音轨而抓下一音轨。抓轨时间过长通常是由于大量纠错所造成的,如果要抓取劣碟上有严重缺陷的音轨,可能要长达数小时。有些人会认为这样的音轨即使抓取出来,也是缺陷多多、“惨不忍闻”,选用 “关闭” 愚不可及。其实,有些耗时 15 小时所得的音轨只有略微纰漏,很容易在音乐编辑软件中修复。

After each XX mins of extraction,cool down the drive for YY mins(在每抓取 XX 分钟之后,就让光驱停滞 YY 分钟以便降温):(默认:关闭)
对于劣碟,因抓取所需时间过长,为避免光驱损坏,每隔一定时间暂停光驱运行为宜。EAC 的先进读取方法造成光头移动频繁,导致某些光驱出现过热现象,并影响读取进程。因此,如果光驱出现这种情况,则以设置 “开启” 为宜;反之,则按默认:“关闭”。

Lock drive tray during extraction(在抓取过程中锁定光驱)
:(默认:开启,推荐:开启)
EAC 可以设置锁定光驱,以避免在抓取过程中不小心弹出光驱托盘。在抓轨过程中光驱托盘弹出,将使 EAC 处于“盲抓”状态,导致抓轨失败。为避免出现这种问题,请设置成 “开启”。

Extraction and compression priority(抓取和压缩的优先级)
:(默认:正常,推荐:正常)
保持默认值。提高优先级别会影响其它任务的运行。

Error recovery quality( 纠错品质):(默认:中,推荐:高)
纠错有三个级别,可在对话框中选择。这只是设定在放弃之前的重读次数。既然追求抓轨尽善尽美,此项当然选用 “高”。

 

常规设置

Use alternate CD play routines(使用其他的 CD 播放软件):(默认:关闭)
EAC 可以通过声卡及光驱模拟端口播放 CD。如这个选项为 “开启”,其它的 CD 播放程序就可以借助于抓取并将数字音频送至声卡而实现播放。这样做的好处是不需光驱与声卡之间的连接线。其实,在 Windows 2000/XP 中,可以在设备管理器中设置 “为此 CD-ROM 设备启用数字 CD 音频 ”,从而使得其它播放程序也可以数字播放。不过,建议只对具有较高数字音频性能的 CD-ROM 才采用 “开启” 的设置。

Disable 'CD Autostart' for audio and data CD's while EAC running(在 EAC 运行时禁止使用音频和数据 CD 的 “自动播放” 功能):(默认:开启,推荐:开启)
为了避免 CD 的自动播放以及自动运行功能对 EAC 运行的干扰,此项设置为 “开启”。

Display time using frames(以帧显示时间信息):(默认:关闭,推荐:关闭)
在窗口可以显示两种格式的时间信息,即 1/100 秒和 1/75(帧,与 CD 工作原理相仿)。以帧为单位的显示是精确的,而以 100 秒为单位则是近似的。1 秒=75 帧。不过,大多数人还是喜欢 1/100 秒的格式直观,所以,这个选项就按默认:“关闭”。

Ask before overwriting files(文件覆盖前是否询问):(默认:开启,推荐:开启)
如果存在相同文件名的文件时,EAC 可以设置是否提示。设置 “开启”,可以免去诸多麻烦。

Correct bug of wrong filename order in Windows multiple file dialog(在 Windows 多文档对话框中校正错误的文件名错误):(默认:开启,推荐:开启)
当选择多文档时,Windows 文档选择对话框会出现第一个音轨与最后一个音轨调换。这项设置就是校正错误,再把这两个文件调换过来。

Show status dialog after extraction(抓取后显示状态对话框):(默认:开启,推荐:开启)
这里可以选择 EAC 在抓轨后是否弹出抓轨状态对话框。在这个状态对话框中,显示抓轨过程中所发生的错误情况、抓轨品质及可疑的地方。这个选项必须为 “开启”。

Beep after extraction finished(抓取完成后声音提示)
:(默认:开启,推荐:开启)
设置 EAC 抓轨完成后是否有声音提示。

Eject CD after extraction finished(抓取完成后弹出 CD)
:(默认:关闭,推荐:关闭)
就像一些 CD-R 刻录软件一样,EAC 也可以在抓取完成后弹出 CD,这在对多张 CD 进行抓轨是倒是挺方便的。

After extraction finished - Power down computer(抓取完成后关闭电脑)
:(默认:关闭,推荐:关闭)
如选 “开启”,那么,EAC 抓轨完成后关闭电脑。对劣碟抓轨时,因大量纠错以至于抓轨需长达数小时才能完成,如若不便等待,设置此项功能就很有效。

After extraction finished - Restart computer(抓取完成后重新启动电脑)
:(默认:关闭,推荐:关闭)
类似上述功能,如选 “开启”,那么,EAC 抓轨完成后重新启动电脑,以恢复“清新”的电脑运行环境。

 

工具设置


Retrieve UPC/ISRC codes in CUE sheet generation(在 CUE 文件创建时寻获 UPC/ISRC 代码):(默认:关闭,推荐:关闭)
在自动产生 CD 的 CUE 文件时,可能会附加上 UPC/ISRC 代码。这些代码可用于鉴别产品及其制造商。通常这只是专业的 CD 母版制作才需要。代码按不同国家区分。在实际操作中,似乎只有少量 CD 能够有效地使用这些信息,但有些 CD 在寻获这些代码时颇为耗时。因此,选用“关闭”。

Use CD-Text information in CUE sheet generation(在 CUE 文件创建时使用 CD-Text 信息)
选用,则在创建 CUE 文件会附加上表演者及曲目信息。如果刻录软件以及刻录机支持 CD-Text,那么,这些信息可以自动地写入 CD。这些信息通过 EAC 主窗口的获取 CD 信息对话框取得。如果是以 EAC 配合 CDRWin 或 EAC 的烧录功能来进行音乐 CD 的复制,而且刻录机支持 CD-Text,那么,此项设置选用“开启”。(见下面样例)

Create '.m3u' playlist on extraction(抓取时创建 “.m3u” 播放列表):(默认:关闭,推荐:关闭)
如选用“开启”,EAC 会在相应的目录下创建一个以 CD 名为文件名、以所选抓轨为内容的 “.m3u” 播放列表。这在抓轨制作 MP3 时就很有用,EAC 可以就所抓取的 CD 自动生成 WinAMP 的播放列表。

Automatically write status report after extraction(抓取后自动生成状态报告):(默认:关闭,推荐:关闭)
如选用“开启”,EAC 会在抓轨完成后自动生成一个以 CD 名为文件名的抓轨状况报告。这项功能并不重要,除非想保存这项抓轨报告。


Normalize(标准化):(默认:关闭,推荐:关闭)
对音轨标准化,就是将其音量调到设置的响度,100% 是在没有削波时所能达到的最大响度 (Odb),而 25% 则仅为最大响度的四分之一 (-12db)。这对于将全集曲目调到相同的响度时是很便捷的,不过,同时却毁坏了原版制作者所刻意营建的动态效果。

这还有个严重的缺陷:由于四舍五入的原因,标准化的音轨已经不是 100% 的原汁原味了。例如,假定 0、1、2、3,3 是 100%(音频是 16bit,为方便起见,就用 2bit),标准化调至 50% 的结果是 0、0.5、1、1.5。既然是 2bit 信号,就不可能有浮点值,只能近似取值为 0、1、1、2,这已非原始音源的一半!2bit 信号只有 4 个值,对于 16bit 的音频,就具有 65536 个不同的值。标准化的作用是听不出来的(尽管有人声称可以听出来...我的回答是:请予实证)。

对于没有音轨间隙的,没必要进行标准化,否则将使各音轨音量不同。

Normalize to(标准化至):(默认:98%)
这是标准化的程度,100% 是最大值。通常设置比最大值略低,以避免出现削波。

But only,if Peak Level is smaller than(当且仅当峰值电平低于):(默认:85%)
此项设置用于确定需标准化的音轨。在此项设置后,低于设定值的音轨就会进行标准化。

But only,if Peak Level is greater than(当且仅当峰值电平高于):(默认:99%)
此项设置用于确定需标准化的音轨。在此项设置后,高于设定值的音轨就会进行标准化。

如果选用标准化,默认值是 98%,这也是推荐值。“当且仅当峰值电平低于 85% 或高于 99%”也常用于其它程序中。由于大多音轨的峰值介于 85% 和 99% 之间,这样设置可避免所有音轨都进行标准化,有利于加快抓轨过程。在响度介于 85% 和 99% 之间是不会有显著差异的。

 

文件名格式设置


Construction fo save filenames(保存的文件名结构):(默认:%T)
在这里可以设置抓轨音轨的命名格式,通过使用不同的占位符组合可以得到任何你想要的文件名。当然也可以像通常那样加入一些文字,用“\”来指定存放的子目录(如该子目录不存在,则将自动建立)。不过,不能指定绝对地址(如:“C:\directory\%T”或“\%T”)。可以使用多种方式。下面有一些样例。

Replace spaces by underscores(以下划线取代空格):(默认:关闭,推荐:关闭)
如果选用,所产生的文件名中的所有空格将以下划线(_)取代,例如“Artist - Track01।wav”将成为“Artist_-_Track01.wav”


抓轨存放目录的设置


在这里可以设置以默认或上次的目录来存放音轨

Ask every time (default showing last used directory)(每次询问(默认显示上次所使用的目录)):(默认:开启,推荐:开启)
如选用,EAC 都会询问抓轨存放目录。

Use this directory(使用指定目录):(默认:关闭,推荐:关闭)
可以借此指定抓轨存放目录。


接口设置


在这里可以选择 SCSI 的接口。 NT/2K 系统,使用“Installed external ASPI interface”。因为“Native Win32 interface for Win NT & 2000”存在缺陷。

Installed external ASPI interface(安装的外部 ASPI 接口):(默认:开启,推荐:开启)
如选用,则会使用外部的 SCSI/IDE 接口 - ASPI。为确保最好的兼容性,应使用 Adaptec 的 ASPI。可以在此下载:

http://www.ping.be/satcp/softwaretools01.htm#ASPI
http://download.adaptec.com/software_pc/aspi/aspi_v471.exe

Native Win32 interface for Win NT & 2000(本地 Win32 接口 - WinNT & 2000):(默认:关闭,推荐:关闭)
对于 Windows NT and Windows 2000,可以使用 EAC 自带的 SCSI/IDE 接口,不过存在缺陷,可能会导致一些错误。


点击 OK 保存设置,就此完成 EAC 的基本设置。在这里省略一些不太重要的部分,这些部分将在后面阐释。


这时最好关闭 EAC,在关闭程序时 EAC 会将设置存入注册表,即使在接下来的配置过程中发生程序崩溃或死锁,原有的设置依然有效。

下一步骤是 Drive(驱动器)选项。这是一个重要步骤, 如果没能正确设置,抓轨品质难以保证。


设置驱动器选项 - 设置驱动器如何抓轨(重要)



打开 EAC 后选择欲设置的驱动器,如果你使用多驱动器的话,必须对每个想要使用的驱动器重复下面的设置过程。EAC 会将配置信息存储在 Windows 的注册表中,在本例中我们使用 LITEON DVD-ROM 16X 驱动器。


在你打算设置的驱动器中插入一张音乐 CD。EAC 识别后将在主窗口显示 CD 内容,如下图所示:


在 EAC 菜单中选择 Drive Options...或按 F10,会出现一个警告窗口,提醒你为驱动器选择正确的读取模式是非常重要的。如果设置错误,Exact Audio Copy 也许将不能够检测到读取错误。正确设置 EAC 的驱动器选项已经比以前的版本容易多了。EAC 能够为你自动检测驱动器的最佳设置。点击 OK 跳过这个警告窗。

 


Extraction Method(抓取模式)标签:

点击 Detect Read Features...(检测读取能力)按钮,EAC 将自动检测驱动器的读取功能。检测时最好不要开启其他程序以免结果有误。这个过程要花几十秒到 10 分钟的时间(视情形而定)。


EAC 会自动给出检测结果,下面将给出相关的技术说明。在本教程中我们只讨论 Secure(安全)模式,其他的读取模式并不适用于抓取高质量的音轨。

Secure modes(安全模式) - 推荐!在该模式下抓轨时,EAC 会启动错误校验与纠正功能。正确设置安全模式下的选项很重要,因为这是与抓轨质量密切相关的设置。如果你的驱动器不支持安全模式,最好另换一台驱动器。否则,想做到“完美”拷贝是不可能的......

Drive has 'Accurate Stream' feature(驱动器具备精确流功能): 应当设置该项,如果驱动器具备精确流功能,就意味着不必进行 jetter 纠正的操作。

Drive caches audio data(驱动器可缓冲音频数据): EAC 对 CD 的每个扇区最少读 2 次,如果两次结果不同,EAC 就会一次次地重读可疑扇区直至得到一个满意的结果(否则向用户报告错误信息)。如果驱动器缓冲音乐数据,则 EAC 会从缓存而非驱动器中读取数据。当然此时两次读取的结果一定是相同的。因为读取的结果相同,EAC 会认为没有错误发生 - 这显然不是我们希望的工作方式。所以,如果检测出驱动器据有缓冲音频数据的能力,EAC 会选中 'Drive caches audio data',此时 EAC 在第二次读取前会做一次清缓存的工作。

Drive is capable of Retrieving C2 error informaion(驱动器具备纠正 C2 错误报告能力):一些新的驱动器能从音频数据中读取 C2 错误信息。C2 错误信息可以告知程序驱动器检测到了一个可能的读取错误。如果驱动器支持该功能,EAC 就不必对整张 CD 读取 2 次 - 这会很大地提高抓取速度。但要注意,有些驱动器在检测时声称自已支持 C2,但实际上并没有实现这一功能。需要点击底部的 "Examine C2 Feature..." 按钮进一步测试。

Use C2 error information for error correction(使用 C2 错误信息进行纠错):对一些有缺陷的 CD,激活该项会得到较好的抓取质量—仅当驱动器的 C2 功能有效时。大部分情况下不要选中,否则会降低抓取速度与质量。

 

Drive 标签:


在这里设置 EAC 读取驱动器时使用的 read command,可以设置为 Autodetect read command(自动检测),这样每次 EAC 开始运行时都会检测 read command - 这增加了启动时间。

可以简单地点取 Autodetect read command now,EAC 会自动检测并设置好正确的 read command。

如果 EAC 无法测得驱动器的读取功能

有些情况下 EAC 不能够测出驱动器具备何种读取能力。这可能有非常多的原因。此时不得不手工输入相关选项。幸运的话可以在 User Reported Drive Features(用户报告的驱动器功能)数据库中找到你驱动器,这样你只需照着输入即可。如果数据库中也没有,请访问 Exact Audio Copy 的主页并加入 EAC 的邮件列表,你可能会得到几百人的帮助。


读取功能

在 EAC 完成检测后,点 Apply 按钮存储设置。注意:点 OK 按钮并不会存储设置。在图中会看到,LITEON DVD-ROM 16x 的读取能力:驱动器缓存音频流、支持 C2 纠错及精确流(当 C2 纠错被选中后支持精确流的选项变灰,因为没有精确流的支持,C2 纠错是不能工作的)。最理想的情况是驱动器支持精确流及 C2 纠错功能且不缓存音频流,但前面说过关于 C2 的检测需要进一步地分析:

选中 Drive is capable of Retrieving C2 error informaion,在驱动器中插入一张划花的 CD。为什么要用划花的 CD 呢?因为使用干净的 CD 在读取时不会产生任何错误,当然也就不会报告有错误发生。点击 Examine C2 Feature...按钮开始测试。


根据 CD 上受损位置的不同,测试过程也许会花上几分钟的时间。如果 EAC 报告发现 C2 错误信息,可以基本确定该驱动器支持 C2 纠错功能。但又产生了新的问题:一些驱动器报告说它们支持 C2 纠错,但却没有正确地实现。也就是说它们会在没错的地方报错而有错的地方却略过。很明显 C2 纠错功能在提高抓取速度的同时降低了抓轨精度。很难测试一台驱动器 C2 功能的精确程序。如果你想要 100% 准确的话,只好屏蔽 C2 纠错功能,即使你的驱动器支持。

 

帮助别人

不是所有人都能够确定其驱动器的读取能力。因此建立了一个 User Reported Drive Features Database(用户报告的驱动器功能数据库)。如果你有能力确定自已的设置,强烈建议你提交这些设置信息。对某一特定的驱动器,报告的人越多,结果就越准确。

 

Offset / Speed 标签:

这个标签下包含了 EAC 有名的 offset(偏移)设置。但是,因为 offset 问题并不影响 EAC 正确工作,关于 offset 的细节我们将在随后的教程中介绍。

其它选项的说明如下:

Speed selection(速度选择):(默认:Actual,推荐:Actual)如果驱动器支持,你可以选择抓取速度。对有划痕的 CD 来说,低速下的抓取质量高。设置为 Actual 将不改变驱动器的实际速度。

Allow speed reduction during extraction(允许在抓取时降低速度):(默认:开启,推荐:开启)当发生读取错误时,EAC 会降低抓取速度,过了这个错误段,EAC 会将速度提升。但不是所有的驱动器都会再次提速。

CD-Text Read capable drive(CD-Text 读取功能驱动器):(默认:关闭,推荐:随驱动器而定)如果你的驱动器支持 CD-Text 读取就选中它,如果你不确定,请察看一下驱动器的说明。

点击 OK 存储设置。如前所述,如果你想设置其他的驱动器,必须重作上面的步骤。现在 EAC 已经可以初步工作了,但还有很多选项将在后面的教程中讲述。


设置 CDDB 选项 - 设置 EAC 在线查找 CD 信息


CDDB 参数设置


CDDB 即 CD 数据库,是包括 CD 信息诸如音轨名称和演奏者名字的庞大的在线数据库。EAC 一类的软件可以在此查找信息,省去很多键入工作。EAC 可以查找 CDDB 数据库中的 CD 并填写所有信息,取代手动输入每条音轨名称的工作-当然前提是 CDDB 中有此 CD 的信息。如果你的确无法连接互联网,那么可以跳过本节内容。设置 CDDB 支持只是部分功能,没有它,EAC 工作一样出色。

 



EAC 菜单中选取 freedb / Database Options,或者按 F12,打开 CDDB 参数设置对话框。


为了在 EAC 中正确使用 CDDB,首先必须设置一些参数选项:

Email 地址:与 CDDB 之间接受和发送信息,必须填写你的 Email 地址,否则 CDDB 可能无法工作。这个地址将被用来提交错误报告。

CDDB 服务器:有不少供 CDDB 相互连通的网络服务器,如果一个服务器停止工作,请尝试另一个。下面是一些著名的 CDDB 服务器。

List of well known CDDB servers:

http://cddb.cddb.com:80/~cddb/cddb.cgi
http://sc.ca.us.cddb.com:80/~cddb/cddb.cgi
http://sc2.ca.us.cddb.com:80/~cddb/cddb.cgi
http://sj.ca.us.cddb.com:80/~cddb/cddb.cgi
http://sj2.ca.us.cddb.com:80/~cddb/cddb.cgi
http://us.cddb.com:80/~cddb/cddb.cgi

获取活动 CDDB 服务器列表: 如果列表中的服务器都停止了工作,请下载新的列表。注意如果你是通过代理连接互联网,可能工作会不正常,请设置代理参数。

通过 HTTP 方式使用代理: 当你处在防止来自互联网攻击的防火墙或代理后面时,就必须使用代理协议。如果不能确定,请联系网管或 isp。他们将告诉你怎样设置代理以及地址等。也可以在浏览器设定中查找这项信息,对于微软的 IE 浏览器:工具 -> Internet 选项... -> 连接 -> 局域网设置... 这里可以看到代理信息(当然前提是你使用了代理)

代理服务器:在这儿填入你的代理服务器名称

端口:代理端口

代理服务器使用权限:如果你的防火墙排斥非授权进程,你可以指定一个用户和密码以便代理使用。

代理名称:登入代理服务器的用户名

代理密码:在这儿填入代理帐号的密码。也可留空,这样每次处理 CDDB 时 EAC 都会询问密码。这样的话,密码将不会被记录保存(更加安全)

点击 OK 保存以上设置。


完成上述 CDDB 设定后,EAC 中还有另一处与之相关的设定。这项设定使得 EAC 在光盘进入光驱时可以自动查找 CD,这个选项在 EAC 设定选项下。

EAC - EAC Options...或者按 F9,打开 EAC 设置对话框。


General 选项下有 CDDB 三个设定:

On unknown CDs:如果 EAC 没有插入的 CD 的储存信息,将自动采用后面的设定行为。

Automatically access online CDDB database(在线CDDB自动处理):在未知 CD 插入后将自动查询网络 CD 数据库,当然 EAC 的 internet 选项要正确设置才行。如果你是固定在线的互联网连接方式,最好打开这项设定并选上 automatically access online CDDB database,EAC 将自动查找每张 CD 的信息。

Open CD information dialog:对于未知 CD,EAC 将跳出 CD 信息对话框,这样用户可以轻松填入所有需要的 CD 信息。

如果你有固定互联网连接 - 比如线缆连接或是 DSL,那么推荐打开 unknown CDs - automatically access online CDDB database。如果是拨号上网方式,不希望 EAC 自动连接互联网,那么推荐关闭此选项。当连接互联网时,你随时可以手动查找 CDDB 数据库,只要按 Exact Audio Copy 栏里的 the Get CD Information From CDDB 按钮(后面讲到)。总之,如果的确没有互联网的连接,那么打开 unknown CDs 项,跳出 CD 信息对话框,并手动填入所有信息也许会很有趣....

点击OK保存设置。

 



CDDB 支持现在配置好了。EAC 现在可以使用在线 CDDB 数据库查询 CD 信息。

现在最好关闭一次 EAC 以保存所有设置到注册表。


输入 CD 信息 - 输入 CD 名称、音轨名称及作者信息


输入 CD 信息

如果你想将音轨抓到硬盘,那么使用音轨所对应的真实名称比使用 EAC 采取的标准的音轨名称更实用。假如你已经在 EAC 里面设置了支持 CDDB,那么这一步 EAC 就会自动帮你完成。


自动从 CDDB 中获得 CD 的信息

默认情况下,EAC 软件以升序命名各条音轨为 Track01,Track02,Track03,...对于不知道的 CD(unknown cds),如果你选择了自动登陆在线 CDDB 数据库,EAC 就会马上到 CDDB 数据库查找该 CD 的信息。


如果你未选择自动登陆在线 CDDB 数据库,你只能通过手工获得该 CD 的信息。方法如下:选择菜单上的 Database -> Get CD Information From -> Remote freedb,或者按下 Alt+G 键,或者在 EAC 的工具条上面点击 Get CD Information From freedb 按钮都是可以的。

假如 CDDB 的设置是正确的话,EAC 就会从在线 CD 数据库里面查找 CD 的信息。查找 CD 信息是要花一段时间的。请注意:不是所有的 CD 都可以在 CD 数据库查找得到的。如果该 CD 在数据库里面没有找到,EAC 会显示一个错误信息。在这种情况下,你只好自己手工填入 CD 的信息了。另外,你还可以把你填好的信息提交给 CDDB。这是很方便的,尤其是当你在数据库里找不到你手头的 CD 的信息而不得不手工输入时。因为你提交了这张 CD 的信息,就可以节省别人的键入工作了。稍后我们再继续这个话题。

如果数据库找到 CD 的信息,EAC 会自动填入音轨名、专辑名和演奏者名称:

注意:所有的 CDDB 的信息都是由连接 CDDB 数据库的软件使用者提交的。这意味着信息可能会有键入错误。因此你首先要检查名称,毕竟有些人是会写错字的。

还有,那种所谓的包含多个演奏者的 CD 需要特别的音轨名称结构。除了要输入音轨名外,你还得要在里面输入演奏者的名字。这种结构是:

  Track Artist / Track Title(该轨的艺术家/该轨的名称)

重要的是你要用分隔符“/”来分隔开演奏者的名字和歌曲名。而且,在分隔符左边应该是演奏者的名字,右边应该是歌曲名。例子如下图:



幸好 EAC 自备了一些方便的工具,可以快速转换 CD 信息。你可以通过选择 Database -> Transform Actual CD Information 来使用这些工具。

Upper All First Characters:大写所有的音轨名称的第一个字母。例如:Procol harum / A whiter shade of pale 变成了 Procol Harum / A Whiter Shade Of Pale。

Transform '-' To '/' [ Artist / Title ]:许多人错误地用“-”代替“/”,这个命令将使 Procol Harum - A Whiter Shade Of Pale 变为正确的 Procol Harum / A Whiter Shade Of Pale。

Exchange Artist <-> Title:另一个常犯的错误是演奏者的名字和歌曲名位置颠倒。这命令把 A Whiter Shade Of Pale / Procol Harum 还原为 Procol Harum / A Whiter Shade Of Pale。


你想抓轨的 CD 没有信息在 CDDB 数据库里面,或者你正好连不上 Internet,无法进入在线 CD 数据库,这都是可能出现的情况。意味着你只好手工输入 CD 信息了。

首先要输入 CD 专辑名称和演奏者信息。必须要从 CD Informations 对话窗口输入。你可以通过 Database -> Edit CD Information... 或者按下 ALT+L 键打开该窗口。

在 CD Informations 窗口里 CD title 栏要输入内容。如果 CD 包含多位演奏者,要记得把 Various artists 打钩。Otherwise enter the CD artist in the appropriate text field。(不是多位演奏者的CD就在 CD artist 栏里输入适当的文字???)其他的信息诸如 Year of release 是可选的,通常不用填的。

单击 OK 按钮以保存刚才输入的 CD 信息并返回到 EAC 的主窗口。

剩下来要做的就是输入音轨名称了,做法和在 windows 资源管理器是相似的。选定你要重命名的音轨,选择菜单 Edit -> Rename Track,或者按 F2 键,或者用鼠标左键单击音轨,然后输入音轨名。当遇到多位演奏者的 CD 时,要记住 Track Artist / Track Title 的命名结构!输入完音轨名后按回车键。EAC 会自动在列表中选择下一条需要重命名的音轨。


你输入的 CD 信息也会保存在你硬盘上的本地 CDDB 数据库里。因此当你下一次插入这张 CD 时,EAC 马上就显示出其正确的音轨名。

 

提交 CD 信息到 CDDB 数据库

当手工输完 CD 信息后,你可能想提交该信息给 CDDB 数据库。这是完全可以的,只要你能连上 Internet 和在 EAC 软件里面正确设置了 CDDB support。



附录 3:关于 MP3 与 LAME 参数的说明


LAME - 压缩 MP3 的最佳利器

  如今的音频有损压缩技术呈百家争鸣之势,MP3 的光环已不再如昔日般明亮。微软的 Windows Media Audio 8(WMA) 凭借操作系统本身的优势大行其道,Thomsom 的 MP3 pro 格式也以其低比特率高音质的技术如日中天,其它还有像 mpc、ogg、aac 等各种编码方案层出不穷,MP3 的压力可谓与日俱增 -- 这一切的一切是否意味着 MP3 将逐渐消亡?

  答案是否定的。

  诚然,在小于 128kbps 的比特率时,MP3 与 wma 或 MP3 pro 相比的确相形见绌,但这不能成为我们放弃 MP3 的理由。首先,无论是 128kbps 的 MP3、wma 还是 64kbps 的 MP3 pro(甚至于被 cool edit pro 2.0 所支持的 144kbps 的 MP3 pro),其音质较 44.1khz,16bit 的 CD 音频标准尚有不小的差距,无法满足乐迷的要求。为了获得更高的音质,我们势必要提高比特率。然而,wma 在高于 128kbps 时音质并无明显提升,且最高只能编码为 192kpbs;MP3 pro 众所周知不能脱离 96kbps 的桎梏;对 MP3 来说,高于(等于)192kbps 的编码才真正是它的天下,我们可以制作出高达 320kbps 的 MP3(这是 MP3 标准的最大 bitrate),此时的音质与 CD 相比已相差分毫。其次,因为 MP3 本身是一种公开的编码方案,其对应的编码器非常多,很多 MP3 编码器粗糙的编码算法导致了许多细节的丢失,同时也败坏了 MP3 的名声。这就是我在此介绍 LAME 的原因。

LAME是什么?

  LAME 是 LAME Ain't an Mp3 Encoder(LAME 不是一个 MP3 编码器)的简称,是世界上最好的 MP3 编码器之一。之所以叫这个名字是因为最初 LAME 只是一个 ISO 编码器的补丁,是为了避免同 Fraunhofer 的法律问题而开发的。后来 LAME 开始独立发展,从 1998 年 12 月至今,LAME 已被越来越多人的公认为是 MP3 压缩的最佳利器。

为什么LAME 是最好的 MP3 encoder?

  这是一个很难用几句话就能回答的问题,其中要涉及到 MP3 的编码原理。让我们先来谈谈什么是 CBR、VBR、ABR?

  对 MP3 来说 bitrate(比特率)是最重要的因素,它用来表示每秒钟的音频数据占用了多少个 bit(bit per second,简称 bps)。这个值越高,音质就越好。未压缩的 WAV 文件其 bitrate 为 1400kbps,1 个字节为 8 比特,将 1400/8 转换成字节就是 175kByte/s。所以,对一首 4 分钟的音乐,wav 格式的文件占用的空间为 4 分 * 60 秒 * 175=42000kByte,即 42000/1024=41MB;而 192kbps(每秒 24kByte)的 MP3 则占用了 4*60*24/1024=5.625MB。这种每秒固定比特率的算法是由 Xing 公司开发的,被称为 Constant BitRate,即 CBR(固定速率);后来,Xing 又发展了一种新的算法,他们将一首歌的复杂部分用高 bitrate 编码,简单部分用低 bitrate 编码,这被称为 Variable BitRate,简称 VBR(可变速率)。主意虽然不错,可惜 Xing 编码器的 VBR 算法很差,音质与 CBR 相去甚远,而且不是所有的播放器都支持 VBR 编码的 MP3,包括微软的 media player,这也是为什么在 WMP 中 VBR 编码的 MP3 不能正确显示时间的原因。幸运的是,由 LAME 完美地实现了 VBR 算法(以 Xing 的算法为基础加以改进和扩充),非但如此,从 LAME 3.89 版本开始,LAME 又引入了一种新的算法:ABR(average bitrate,平均速率)。ABR 也被称为“safe VBR”,它可以将生成的 MP3 控制在给定的 bitrate 上。举例来说,当指定用 192kbps、ABR 对一段 wav 文件进行编码时,LAME 会将该文件的 90% 用 192kbps 编码,然后对剩余 10% 进行优化:复杂部分用高于 192kbps 来编码、简单部分用低于 192kbps 来编码。与 192kbps、CBR 相比,192kbps、ABR在文件大小上相差不多,音质却提高不少。据统计,ABR 编码在速度上是 VBR 编码的 2 到 3 倍,在 128-256kbps 范围内质量要好于 CBR。

  此外还有两个重要的因素:

   1、LAME 是完全免费的软件;
   2、LAME 在不断地发展完善。

  LAME 是以原代码的形式发布的,所以存在着好多个不同的编译版本,而且每隔几天就有测试版出台,当前最为流行的版本有:

   1、3.92 稳定版,下载链接:http://home.pi.be/~mk442837/lame-3.92.zip
   2、3.90.2-ICL 推荐版,下载链接:http://www.hydrogenaudio.org/extra/LAME/lame3.90.2-ICL.zip

  关于 LAME 的版本的优劣也存在很多争议,请大家酌情使用,感兴趣的话可以自已编译。

如何使用 LAME编码? - 这才是本文的关键

  下载后将 zip 文件解压,其中的 lame.exe 和 lame_enc.dll 是我们要用到的。dll 文件主要提供对其他程序的接口,当前有许多软件使用 LAME 的 dll 引擎压缩 MP3,最常用的当数 Automp3 Maker,不过因为使用 lame.exe 时可以灵活设定所有的参数,所以调用 dll 压出来的 mp3 质量不如 exe(按:这是一般性的看法,随着支持 preset 参数的 dll 文件的出台,dll 与 exe 压缩 MP3 的差别已不明显)。至于 lame.exe 的使用,因为共有数十个参数可供选择,所以从 LAME 产生的第一天起就没有停止过争论,幸运的是,2001 年 12 月从 LAME 的 3.90 版开始,LAME 终于向用户提供一套预设参数,从此我们不必再为 LAME 的设置大伤脑筋。

  下面就是摘自 r3mix 论坛的 LAME 推荐设置表:(音质由高到低排列)

用法:lame 参数 原文件 目标文件

例如:lame --alt-preset standard 1.wav 1.mp3

-------------------------------------------------
CBR 320(最高音质):
-------------------------------------------------
--alt-preset insane
(bitrate: 320 kbps)

-------------------------------------------------
VBR(Variable Bitrate)设置:
-------------------------------------------------
高品质(较慢):
--alt-preset extreme
(bitrates 220-270 kbit/s - 通常在 256kbps 左右)

快速(与上面相比质量略差):
--alt-preset fast extreme
(bitrates 与上面的相同)

高品质(较慢):
--alt-preset standard(注:当前 LAME 标准设置)
(bitrates 180-220 kbit/s - 通常在 192 kbps 左右)

快速(与上面相比质量略差):
--alt-preset fast standard
(bitrates 与上面相比质量略差)

......

  笔者在此略去了一些不常用的设置选项,以妨误导,低于 standard 参数的 bitrate 不宜使用 LAME 压缩,低 bitrate(<=128kbps) 下的最佳编码器是 ogg。

  以上几种即为当前 LAME 设置的标准,按照预设参数的设计者 Dibrom 的说法,这些设置均在代码级实现,不能用相关的参数组合代替。这样做的目的是为了避免引入更多的实验参数(LAME 的参数已经够多了),同时也方便在以后的版本中加以调整。



APE:Monkey's Audio - 使用 Monkey's Auido 进行无损压缩


APE:MONKEY'S AUDIO LOSSLESS COMPRESSION

Monkey's Audio 是一种无损压缩算法,用来压缩庞大的 WAV 文件。与 MP3 不同,解压后的 Monkey's Audio 文件 (.ape) 同原始的 .WAV 文件完全相同。这使 ape 成为追示完美者的理想选择。

软件名称:Monkey's Audio
作  者:Matthew T. Ashland
主  页:http://www.monkeysaudio.com/
平  台:Windows 95/98/ME/NT/2000/XP
性  质:Freeware

如何得到 Monkey's Audio 外部编码器

现在 Monkey's Audio 3.97 是最新版本。下载地点 http://www.monkeysaudio.com/files/MAC_397F.exe。请不时察看主站留意升级信息。安装完 Monkey's Audio 后,建议将 mac.exe 拷贝到 C:\windows\command (Windows 9x/ME) 或 C:\winnt\system32 (windows NT/2k/XP)。这样当使用命令行时不必重定位到 Monkey's Audio 的目录。


在 EAC 中使用 Monkey's Audio 作为外部编码器


首先确定你已经在 EAC 中设置好了设置压缩选项

选择 EAC -> Compression Options...或按 F11 键打开 Compression options 窗口。

 


 

 


在 External Compression 标签下,选中 Use external program for compression(Waveform 标签中的设置并不影响本节,忽略)。在 Parameter passing scheme 下拉列表中选择 Monkey's Audio Lossless Encoder。

在 Program, including path, used for compression 中输入 mac.exe 所在目录的路径或使用 Browse... 按钮定位。

Delete WAV after compression:EAC 总是在压缩 ape 前抓取 WAV 格式的音轨,选中该项将在编码完成后删除 WAV 文件。

Add ID3:如果你想使用 ID3 tag 的功能就选中此项。ID3 tag 在 MP3 中保存像艺术家、音乐名称、专辑名称之类的信息。而 ID3v2 tag(也被 EAC 支持,见设置压缩选项)可以保存更多的信息 - 不受 ID3v1 标准 30 个字符的限制。

在 Bit rate 下拉列表中可以指定压缩比率。选择如下的选项:

Fast Lossless Compression, Normal Lossless Compression, High Lossless Compression 及 Extra High Lossless Compression。推荐使用 Normal Lossless compression。更高的压缩比压缩后的文件不比 Normal 模式下小多少但耗费的时间却很长。

当你确定设置无误,点击 OK。EAC 已为压缩高品质的 MP3 作好准备。

压缩 APE 的方法与压缩 MP3 相同,参见 MP3:LAME.exe 一节。

注:主窗口左边的 MP3 图标不单指压缩 MP3,视你在 Compression Option...中设置的情形而定。如果设置为压缩 ape,则点击该图标后开始抓取并压缩 ape 文件。