[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 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;——当歌词库有大量某个歌手的歌词时,这个就不灵了,所以不只能放在这里。
   第三级:元素匹配
        逼不得已使用单独模式,适合搜索那些只有一个单词或词语的歌词,或者上面找不着谱的歌词。
        一般采用头法或尾法,单独搜索开头或结尾;
        也可以单独搜索中间的单词。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

cmdlcr22,只考虑了中文。不但从文件名中取歌名,而且mp3内有歌曲信息也可以取到。

TOP

回复 5# cjiabing


    太厉害了,学都学不会呀!

TOP

回复 1# cjiabing


    好厉害

TOP

caruko说的对

TOP

返回列表