小鱼的快乐 发表于 2005-8-7 00:00:00

看我七十二变——2128内置wav铃声的替换傻瓜教程


    近期,机油100fun和fciq分别写出了如何提取、修改内置4首wav铃声的文章。他们可说是给我们广大使用2128或A55to2128的机油,带来了一大福音,为解决部分内置铃声难听、无法更换,而相关的新铃声占用动态内存等问题提供了好方法。但由于他们的文章过于简单,且不是十分明了,使许多机油走了很多本不该走的弯路。(我实验了六次才成功,晕啊~~~)

    为此,我将100fun、fciq两位机油的文章进行了综合,并做一个详细的分解、说明,让大家能更清楚明了地知道如何提取、修改2128内置的4首wav铃声。

    必需的五个软件:
    V_Klay、UltraEdit、CoolEdit、FullFlashComparer、uni2sie(下载地址附后)

    准备好工具后,我们就准备开始吧,不要让这些软件吓住了哦,其实很简单的,你们想啊,我这鱼脑都行了,你们会比我差吗?^_^

    内置的wav铃声有4首,分别为:救护车、马嘶声、海豚、鸡鸣声,除了救护车一个铃声的音频采样级别为8000Hz外,其他三个铃声的音频采样级别都是16000Hz,大家制作的时候一定要注意,不要搞错了。下面我以“救护车”的提取、修改为例。一起来吧~~~ ^_^

    一、提取内置铃声:
    1、使用软件V_Klay,备份2128或A55to2128,已破解、打过或未打过补丁的fullflash,然后再复制一个,总共为两个:fullflash和fullflashcopy。(注:此名称可随意改,不过为了方便大家理解,我就如此命名了)(备份过程文章附后)

    2、因为我们要做的是先提取内置的wav铃声,因此,必须知道铃声在哪。在此,再次感谢机油100fun,他的文章告诉我们,内置wav铃声的开头数值为:52 49 46 46(每两个数字间有一个半角空格)。使用软件UltraEdit,打开fullflashcopy,我们利用UltraEdit的查找功能来寻找内置的wav铃声。按查找设置按钮,输入数值:52 49 46 46,按“找下一个”(如图1)。
UploadFile/20042201815524375.jpg

    找到第一个内置铃声的开头,在这里,请大家用笔记下你所看到的,第一个内置铃声前面的ID号:005d8000h。记下后,我们继续向下查找,找到第二个内置铃声的开头——在这里,请大家注意了,第二个铃声的开头,其实就是第一个铃声的结尾,因此,请大家用笔记下第一个铃声的结尾字串ID号:005dbff0h,而不是005dc00h,留意!!!(如图2)
UploadFile/20042201825043700.jpg

    将光标移动到第二个铃声开头数值52前,点击一下,按住鼠标左键不放,向上移动,或者用PageUp按钮快速翻页,一直移动到刚才我们记下的第一个铃声开头ID部分,可以看到所选部分已经全部反白,这就是我们的第一个wav铃声内容(如图3)。
UploadFile/20042201844614994.jpg

    按复制按钮或Ctrl+C,并新建一个文件,将复制的铃声内容按粘贴按钮或Ctrl+V,粘贴到新文件中,如果出现乱码,请按软件上的字母H(如图4)。
UploadFile/20042201872530666.jpg

    按保存按钮,保存新文件,保存时文件名可任起,然后自己加上后缀名.wav(如图5)。
UploadFile/20042201883791460.jpg

    这时,我们可以听一听这个铃声到底是哪一个内置铃声。救护车!没错!这就是我们需要修改的那个铃声,如今我们已经成功提取了~~~ ^_^~~~(为什么第一个铃声就是救护车呢?这或许与它在2128里的排列有关吧。其它的另三个铃声提取方法一样~~~ ^_^)。

    二、制作所需铃声:
    要想制作出新的合适的铃声,必须与我们所提取的救护车铃声做一下比较。

    鼠标右键单击救护车铃声,选择属性,可以看到,救护车铃声的大小为:16384字节。使用Cool Edit打开救护车铃声,可以看到,铃声长度为:4.019秒。救护车的铃声采样级别为:8000Hz。

    我们制作的新铃声以救护车铃声的时间长度和采样级别为标准,即新铃声时间长度为4.019秒,采样级别为:8000Hz。(制作方法参考:让你的铃声超级酷——真人原唱铃声打造快速上手篇——作者:懵头懵脑)

    新铃声完成后,请大家看一看它的大小。我以自己的新铃声——口哨声为例,这个口哨声的大小为:16364字节(请大家留意一下,这个口哨声的文件大小比救护车小了20字节)。
——关于铃声制作的问题,我的文章有些错误,请大家看一看作者fciq及100fun的原文,包括下面这一段话:http://www.36518.com/sjpd/bbs/dispbbs.asp?boardID=34&ID=17365
(原文链接附后)

    三、修改铃声:
    1、用UltraEdit打开fullflashcopy、打开救护车铃声、打开新制作的铃声——口哨声。还记得我们的新铃声制作出来后与救护车铃声有什么差别吗?没错,就是小了。因此我们必须留意它们之间存在的字串数值少的情况。

    首先我们对比一下新铃声和救护车铃声的长度ID是否一样。救护车最后长度ID为:00003ff0h,口哨声最后长度ID为:00003fe0h,情况是口哨声比救护车铃声少了一行,并且最后ID字串的长度还不完整,少了8个数值(如图6)。
UploadFile/200422018134276509.jpg

    我们制作的过程中,一定要保持fullfalash的完整,不能让他多了或少了一些数值。
那该怎么做呢?请跟我来~~~

    选中救护车中比口哨声多出的部分(即图6中,红线所画部分),将多出的部分复制、粘贴到口哨声中,粘贴的时候记得,一定要先把光标移到口哨声字串数值的最后再粘贴,不然,字串乱后,就没有办法弄了。(如图7)
UploadFile/200422018142852946.jpg

    按Ctrl+A全选口哨声的全部字串数值,按复制按钮,选中打开的fullflashcopy,大家看到,刚才我们选中的ID:0005d8000h~005dbff0h之间的字串数值是反白的(如果不是,请重新选),将整个口哨声字串数值粘贴,替换选取的反白部分字串数值,即救护车铃声字串数值。这时再打开文件fullflash 和已替换了铃声字串的fullflashcopy对比一下,可以看到整个铃声的部分的数值已经变化了。(如图8)
UploadFile/200422018155419795.jpg]

    红色部分是原来的fullflash部分,而上面的,直到0005d8000h,都是我们修改的新铃声部分。注意,一定要保持fullflash的完整,字串数值不能多,也不能少。替换完成后,保存fullflashcopy,退出UltraEdit程序。

    2、打开软件FullFlashComparer,点击Original file下面方框右边的省略号,打开未修改过的fullflash;点击Patched file下面方框右边的省略号,打开已经修改过的fullflash,即fullfalshcopy。注意一下他们的长度,都是0x800000。(如图9)
UploadFile/200422018164479797.jpg

    点击Compare,软件就会自动进行计算转换,等转换完成后,按Save->.vkp进行保存,文件名称可随意取,软件给出固定后缀名.vkp。这里我取的名称是:自定口哨声。文件保存完后,就可以按Close关闭软件了。(如图10)
UploadFile/200422018174527375.jpg

    弄到这里或许会有人觉得莫名其妙,我们为什么要用两个fullflash进行对比计算转换呢?为什么要得出一个.vkp的文件呢?因为,要想修改我们的内置铃声,就必须修改fullflash,那如果是将修改好的fullflash整个刷进机子里来完成对内置铃声修改的话,一是浪费时间,二是麻烦。所以,我们利用FullFlashComparer这个软件(在这里非常感谢机油fciq,是他教会我们使用这个软件的^_^),将原来的fullflash和已经修改过的fullflash(即fullflashcopy)进行一个对比计算转换,从而产生一个.vkp文件,即补丁文件。这样,我们就像打补丁一样,只修改一部份的fullflash就OK了。

    四、应用
    1、在这里我为什么要啰嗦如何应用.vkp文件(即补丁文件)呢?因为我发现,其实还有许多机油不知道到底应该怎样使用.vkp文件(即补丁文件)。以后遇到这种.vkp的文件(即补丁文件),也可用这种方法来应用的。

    首先,你的机子必须安装有V_Klay软件,并且,数据线已与电脑接驳好,手机关机且插在数据线上。

    接着,找到你需要的那个.vkp文件,在这里,我们使用刚才做好的补丁文件:自定口哨声.vkp。双击“自定口哨声.vkp”,之后,你会看到V_Klay软件自动打开了,原来放补丁代码的空白地方已经有了代码在上面,按“应用补丁”键,直到补丁打完并确定后,按“打开电源”键,(注意:在这里,不要急于将手机从数据线上取下来,主要目的是为了能及时撤销打错、无效、不喜欢的补丁。)然后按开机键,打开手机,查看铃声“救护车”,播放一下就会发现,铃声已经替换OK了,只是名称没有变换。这时,再关机,把手机从数据线上取下来。

    2、铃声已经替换好了,那么铃声名称“救护车”应该怎么改成“口哨声”呢?我们还是通过打补丁来实现。下面,我先把补丁内容列出来,然后再一一解释。

;必刷部分
6198A0:0803130321032D0333033D0344034E03 00891089208930894089508960897089
6198B0:5C03690373037C0383038D039B03 80899089a089b089c089d089e089
618900:636F6D20464C00954D6F6E74656C0095 00000000000000000000000000000000
618910:464C3100954C492054414E474F00954A 00000000000000000000000000000000
618920:4D204449474943454C009546204F5241 00000000000000000000000000000000
618930:4E47450095424F55594754454C2D4300 00000000000000000000000000000000
618940:9553455441522047534D009554656C63 00000000000000000000000000000000
618950:656C6C2047534D009543542047534D00 00000000000000000000000000000000
618960:95555453009553455441522047534D00 00000000000000000000000000000000
618970:9543552F435F434F4D00955453545400 00000000000000000000000000000000
618980:95415A452D415A455243454C4C204753 00000000000000000000000000000000
618990:4D009542414B43454C4C2047534D2032 00000000000000000000000000000000
6189A0:30303000954B5A204B2D4D4F42494C45 00000000000000000000000000000000
6189B0:00954B5A204B43454C4C009542542042 00000000000000000000000000000000
6189C0:2D4D6F62696C65009545535341524800 00000000000000000000000000000000
6189D0:95494E412041697274656C0095494E41 00000000000000000000000000000000
6189E0:2043454C464F52434500954964656100 00000000000000000000000000000000
;自定部分
5d4a24:1b08 340d
618900:00000000000000000000000000000000 B563B768BF7000000000000000000000

    举个例子简单说明一下这个补丁的应用原理吧。例如:我们需要改的救护车名称为A,那么,我们先把fullflash里其实没有什么用的内容B清空出来,使B变成是空白的,然后再将A指向B,并在此同时,给B重新定义成自己想要的内容(如:口哨声),而原来A里的内容就不用去管了。明白了吧?

    不明白的话,也不要紧,我们继续解释我们的上面列出来的补丁。

    首先必刷的部分6198A0~6189E0,就是我们刚才例子中所说的B,它的那一大串命令与字串数值,就是指清空618900~6189E0之间的内容。

    自定部分就是我们例子中所说的,把A指向B,并在此同时给B重新定义成自己想要的内容。

    继续深入解释~~~

    5d4a24是总的固定铃声名称的位置所在(包括救护车,马嘶声,鸡鸣声等)。

    1b08是指“救护车”三个字的位置,即A。

    340d是我们清空出来的B的其中一个。
   
    5d4a24:1b08 340d就是指把A指向B。

    618900:00000000000000000000000000000000就是清空出来的B内340d的内容(空白的)。

    B563B768BF7000000000000000000000就是我们重新定义的内容(口哨声)。

    那么这个口哨声怎么自定呢?这里就需要使用到软件uni2sie了。打开uni2sie软件,在“输入中文”空白处,输入我们想要改的铃声名称,现在我们这里是:口哨声,然后按转换键,会在下面“结果”的空白处,显示一串字符,口哨声的字符串是:B563B768BF70,将他带入我们的自定部分,得到:B563B768BF7000000000000000000000,为什么后面要有那么多的零呢?是因为我们要与前面的618900:后的00000000000000000000000000000000对应,不能缺少(32个字符)。最终得到这样的部分补丁:

    5d4a24:1b08 340d
    618900:00000000000000000000000000000000 B563B768BF7000000000000000000000

    加上必刷部分,也就完成了我们的整个铃声名称修改的补丁。然后刷进去后,你们再看,“救护车”已经成功变成了“口哨声”

    在这里肯定有许多机油有这样的疑问:为什么我们自定的部分是5d4a24:1b08 340d呢?为什么救护车的名称地址是1b08?为什么618900是340d那个地址的内容部分?

    首先我们小2的fullflash决定了总的铃声位置5d4a24和救护车的位置1b08是固定的;其次,我们前面的必刷部分,决定了:618900~6189e0的内容对应340d~420d的地址,即:340d的内容为618900;350d的内容为618910;360d的内容为61920……余下以此类推。所以得出了我们的那个自定补丁部分。

    例如:我们要修改第二个铃声名称“马嘶声”为“口哨声”,那么自定补丁部分就是:

    5d4a24:1c08 350d
    618910:00000000000000000000000000000000 B563B768BF7000000000000000000000

    说明:必刷部分相同。自定部分:总铃声位置相同。第二个铃声位置由fullflash决定,固定为1c08。350d和618910:00000000000000000000000000000000由我们的必刷部分决定,B563B768BF7000000000000000000000由我们的需要修改决定。

(如大家还有关于这方面的疑问,请参考文章:【Flash修改】自定义字串——作者:sOLO。这篇文章不单只是我们告诉固定铃声名称的修改,也教会我们如何对许多固定的名称进行修改。)

    至此,整个铃声的替换过程算是完成了。提醒各位机油的是,制作出来的铃声替换补丁,及铃声名称修改补丁是不会提示强刷的,如果提示强刷,说明你的替换铃声补丁不对,请重新制作。

“FullflashComparer不能在98或me下运行,否则生成的补丁只有一半。”——谢谢机油100fun的提醒。


附:
4首wav固定铃声任意改——作者:100fun
http://bible.younet.com/files/2004/02/07/103499.shtml
http://www.36518.com/sjpd/bbs/dispbbs.asp?boardID=34&ID=13683&replyID=105623&skin

图文教程,如何替换掉内置的WAV铃声——作者:fciq
http://www.36518.com/sjpd/bbs/dispbbs.asp?boardID=34&ID=13974&replyID=107955&skin

V_Klay软件使用文章:教会你用v_klay为小2添砖加瓦!——作者:L贝吉塔
http://bible.younet.com/files/2003/09/30/63765.shtml

铃声制作文章:
让你的铃声超级酷——真人原唱铃声打造快速上手篇——作者:懵头懵脑
http://bible.younet.com/files/2003/12/15/81772.shtml
http://www.36518.com/sjpd/bbs/dispbbs.asp?boardID=34&ID=7315&replyID=52289&skin=

铃声名称修改文章:【Flash修改】自定义字串——作者:sOLO
http://www.36518.com/sjpd/bbs/dispbbs.asp?boardID=34&ID=14804

相关软件下载地址:
V_Klay、UltraEdit:
http://www.36518.com/sjpd/bbs/dispbbs.asp?boardID=34&ID=13737

Cool Edit:
可用狗狗(google)搜索下载,建议使用英文2.1版本

FullFlashComparer:
http://alexsid.antex.ru/files/Programs/FullFlashComparer.v2.rar
(感谢jlumjasmine提供下载链接——引用机油fciq的原话)

感谢机油 jiau提供下载链接:
http://ilusha.at.tut.by/fullflashcomparer.v2.rar
http://alexsid.antex.ru/programs.html

uni2sie:
http://www.36518.com/sjpd/bbs/dispbbs.asp?boardID=34&ID=13737





写在后面的话:
    各位机油,大家好!

    很多朋友反应这篇文章看着晕,还是很难理解,那么我觉得,如果你一边看文章一边操作是很简单的~~~

    如果你光看没有动手去做,就会觉得很难很难~~~我对于许多软件的,比如photoshop~~~都是通过自己的摸索来学习的~~~而书,只是辅助的作用~~~

    我这篇文章也一样~~~只是一个辅助的作用~~~必须亲自动手才能完全的明白~~~~~

    DIY,说的就是自己动手,如果你只看文章不动手,那这篇文章就失去了可看的意义,所以,我希望更多的机油们来参与小2或者小Ato小2的DIY,让我们更好的玩转小2~~~:)

    写出这篇文章的时候我只实验的一个铃声的替换,就是救护车,并且成功了!因为我暂时没有需要替换其它三个wav铃声,所以一直没有做过替换。但我会抽出时间做实验的。我希望,如果哪位机油在替换铃声的过程中,出现了问题,可以看一看作者的原文,然后,再将自己成功的经验告诉更多的机油,帮助更多的机油。

    希望大家都来动手,让我们这个小2的版块更强大、更辉煌!!!











[此贴子已经被作者于2004-3-1 9:08:17编辑过]

fciq 发表于 2005-8-17 00:00:00

第一个………


发现。。。跟我写的差不多。。不过。^_^
嘿嘿。。我先不指出错误的地方;)

企鹅爱上冰 发表于 2005-8-17 00:01:00

没看完~~~~~~~~呵呵

diesolo 发表于 2005-8-17 00:02:00

加精啊!!!

小鱼的快乐 发表于 2005-8-17 00:03:00

以下是引用fciq在2004-2-20 18:30:39的发言:
第一个………


发现。。。跟我写的差不多。。不过。^_^
嘿嘿。。我先不指出错误的地方;)


说实话~~~我的方法是成功的~~~因为已经做出补丁,并打了,包括名称~~~:)
我不会自己不成功就去写文章的,这是对人的不负责~~~
还有~~~你所说的那些数据之类的~~~我看着很晕~~~所以弄了个简单的~~~:)

村里的阳光 发表于 2005-8-17 00:04:00

好晕啊,不过还是看完了,看完了更晕了

conanliu 发表于 2005-8-17 00:05:00

鱼----好样的

redbean 发表于 2005-8-17 00:06:00

到底是MM
够心细!

mochengda 发表于 2005-8-17 00:07:00

谢了!

jzzzt001 发表于 2005-8-17 00:08:00

看完还是眼晕啊~~~~

AUTUMNLOVE 发表于 2005-8-17 00:09:00

帮你顶

100fun 发表于 2005-8-17 00:10:00

“二、制作所需铃声”不够详细,我认为长度、字节都是其次,最重要的是采样点的数量。采样点数量一定要和原铃声一致。只要采样点数一致,字节、长度就会一样。

“三、修改铃声”中补充字节一环是不用的,只要知道你修改后的铃声字节大小,在UltraEdit中选取代码时,从52 49 46 46开始选,选到与你的铃声字节大小一致再替换就行了。UltraEdit窗口最下面有的看的。如图5中最下面中的“大小:16384”。

还有FullFlashComparer不能在98或me下运行,否则生成的补丁只有一半。

其实fciq提供的数据还是很必要的,因为16384字节中不是全部都是铃声代码,最后有几行是没用的,你从模拟器中提取一个铃声来对比一下就知。只要跟着各内置铃声的字节,采样点数去做新的铃声就行了。

kycjping 发表于 2005-8-17 00:11:00

谢谢!

Zach 发表于 2005-8-17 00:12:00

顶哈顶

fciq 发表于 2005-8-17 00:13:00

以下是引用小鱼的快乐在2004-2-20 19:09:55的发言:
以下是引用fciq在2004-2-20 18:30:39的发言:
第一个………


发现。。。跟我写的差不多。。不过。^_^
嘿嘿。。我先不指出错误的地方;)


说实话~~~我的方法是成功的~~~因为已经做出补丁,并打了,包括名称~~~:)
我不会自己不成功就去写文章的,这是对人的不负责~~~
还有~~~你所说的那些数据之类的~~~我看着很晕~~~所以弄了个简单的~~~:)



-_-!
不是我泼冷水啦。。你试着把每一个声音都做一下补丁就明白了
:)

懵头懵脑 发表于 2005-8-17 00:14:00

这是一篇傻瓜教程,我想各位只要仔细阅读,都应该能懂,并且能够自己做~~~~~~~

kkb123 发表于 2005-8-17 00:15:00

FullFlashComparer下载不了,那个地址不对

jiau 发表于 2005-8-17 00:16:00

给个地址
http://ilusha.at.tut.by/FullFlashComparer.v2.rar
http://alexsid.antex.ru/programs.html
好像找到的都是那边的
[此贴子已经被作者于2004-2-21 15:02:35编辑过]

潜龙在天 发表于 2005-8-17 00:17:00

鱼,好强!!丁页!!   :)
有时间去我那里玩~~~~

fanyj5 发表于 2005-8-17 00:18:00

小鱼的贴子不错,通俗易懂,比fciq的写的要好,起码能省点脑细胞.
页: [1] 2 3 4
查看完整版本: 看我七十二变——2128内置wav铃声的替换傻瓜教程