|
|
楼主 |
发表于 2011-12-23 01:12:55
|
显示全部楼层
回复 78# netbenton
555,netbenton,你的cmdlrc22.bat太令人感动了,我决定放弃单纯的bat,转入第三方制作!~
歌词匹配有个小问题,你把中间的当中歌名了,比如,johnny cash hurt.mp3,其中hurt才是歌名,而前面两个是人名。
歌词匹配有个优先级,以“Far away from home Groove coverage.mp3”为例,Far away from home是歌曲名,有四个字节,Groove coverage是歌手名,有两个字节,加起来总共有6个字节,那么,搜索的优先级应该是这样:
第一级:完全匹配
1、所有字符:Far away from home Groove coverage;——全名优先,最完美的匹配方案。
2、歌手名+歌曲名:Groove coverage + Far away from home ;——按照常见的MP3文件名格式优先;
3、歌曲名+歌手名:Far away from home + Groove coverage;——按照常见的MP3文件名格式优先
第二级:高度匹配
1、一种模糊而确定的游戏办法就是多采用字符:
1+3+5+最后一个:Far +from + Groove + coverage
2+3+5+最后一个:away + from +Groove coverage
2+4+6+最后一个:away + home + coverage
2、第一个字符+最后一个:Far + coverage;——采用前后部分组合确定法
3、第一个字符+中间的字符。比较可靠的算法——采用固定位置与变动位置组合确定法
第一个字符+倒数第二(三)个字符:Far + Groove
最后一个字符+顺数第二(三)个字符:coverage + away
第二级:模糊匹配
1、尝试间隔组合的模式,适合搜索英文单词较多的歌词;
1+3或1+4:Far + from 或Far + home;——这样几率就会稍微高点,而且一般英文姓名都控制在三个单词以内,容易实现。
2+4:away + home;——采用间隔的办法是比较有效的;
2+5:away + Groove;——这个间隔尽量控制在2到3之间,不宜太大。
2、一般两个字符连起来的成功率是会提高的,但它得到的无效结果也多,因此使用间隔以及两个字符以上的办法搜索。
1+2:Far + away;——当歌词库有大量某个歌手的歌词时,这个就不灵了,所以不只能放在这里。
第三级:元素匹配
逼不得已使用单独模式,适合搜索那些只有一个单词或词语的歌词,或者上面找不着谱的歌词。
一般采用头法或尾法,单独搜索开头或结尾;
也可以单独搜索中间的单词。 |
|