V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SENSIR
V2EX  ›  分享创造

网易云音乐歌词批量下载(C#),针对 Walkman 优化

  •  
  •   SENSIR ·
    ludoux · 2017-08-10 22:08:16 +08:00 · 4672 次点击
    这是一个创建于 2680 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/Ludoux/LrcHelper
    很早便开始做了,只是最近有时间,软件逐渐稳定起来,而且自己要的功能都填上了。发出来当个测试?不过不知道用 Windows 的 V 友多吗。

    最大的特点便是对于外文歌词且有外文翻译的,可以以一定时间间隔错开,当作两句歌词来显示,或者根据长度来判断是要错开还是将翻译直接接在外文歌词后。使用场景是在 Walkman A25 的屏幕上显示歌词。

    还有就是支持自定义歌词文件名格式,方便和歌曲名配对

    记得看 Wiki 😀
    12 条回复    2017-09-19 17:04:55 +08:00
    Famio
        1
    Famio  
       2017-08-10 22:41:26 +08:00
    C#同党,前来支持!
    only0jac
        2
    only0jac  
       2017-08-10 22:55:44 +08:00 via Android
    不知道国外用户有多少?还用英文界面?
    VShawn
        3
    VShawn  
       2017-08-10 22:57:50 +08:00
    C#党手持黑色 A25 前来支援
    CEBBCAT
        4
    CEBBCAT  
       2017-08-10 23:02:27 +08:00 via Android
    支持一个,我也正在学 C#(学生),不知道有什么书或者网站是可以推荐?

    顺便小小吐槽一下 UI,哈哈😄
    SENSIR
        5
    SENSIR  
    OP
       2017-08-10 23:07:16 +08:00 via Android   ❤️ 1
    @only0jac 实话讲,用户一直以来就我一个。
    我不知道为什么英文界面会对你造成这么大的情绪波动,宋体中文不好看,微软雅黑字体太大。
    Music playlist 这些是网易云音乐 URL 的内容,写英文更容易理解。
    FilenamePattern 是模仿 Foobar 2000 的 rename 方法。
    假如即使这样你也觉得英语有冒犯之意,MIT 协议欢迎 Fork,代码太烂但改改界面应该还是不会伤到人的。


    @VShawn 当时买了 A25 一直就在思考歌词的事…两个时间轴相同的歌词又只会显示出一个,好气哟。后面就自己慢慢弄了,反正自己用也没有压力~
    VShawn
        6
    VShawn  
       2017-08-10 23:18:12 +08:00
    @SENSIR 哈哈,还好我一直用蓝牙连接,从来不看屏幕歌词,根本没这方面的烦恼。
    hljjhb
        7
    hljjhb  
       2017-08-10 23:43:54 +08:00
    A15 路过 试了试一直 crash 但 1.0.6 版本以前是正常的

    异常信息: System.Globalization.CultureNotFoundException

    看了下 commit,没见有相关改动呃,是外文歌词那块?
    sxw11
        8
    sxw11  
       2017-08-11 00:24:03 +08:00
    不知道为啥,在 V2 看见 C#贼亲切。。。
    SENSIR
        9
    SENSIR  
    OP
       2017-08-11 07:33:04 +08:00 via Android
    @CEBBCAT 我看的是图灵社区的几本,还有 MSDN …

    @hljjhb 方便给出 ID 和类型(歌曲歌单?)吗?😀本身小小工具软件,早就习以为常了…但是第一次遇到一个错误,可能和环境有关?
    only0jac
        10
    only0jac  
       2017-08-11 09:00:42 +08:00 via Android
    @SENSIR 没有没有,开源是好事,以前看到过一些度盘插件的开源项目,readme 用英文写,不是因为难以理解,是因为别扭……就像在中国一家公司上班,大家都说普通话,只有一个人一直在说英文
    HRain
        11
    HRain  
       2017-09-19 10:51:24 +08:00
    我 A15 弄歌词不能批量每次都麻烦的很 感谢 SENSIR!!
    有个建议 翻译可以弄成在下一句歌词的前多少秒 而不是在这一句歌词的后多少秒 比如

    [00:26.20]Well you only need the light when it's burning low
    [00:29.30]只有在朦胧黯淡时才念及灯火光亮
    [00:29.50]Only miss the sun when it starts to snow
    [00:32.00]只有在冰天雪地时才怀念阳光温暖
    [00:32.30]Only know you love her when you let her go
    [00:38.00]只有在已然放手后才始知那是真爱
    [00:38.30]Only know you've been high when you're feeling low
    [00:42.00]只有在身处低谷时才遥想过去峥嵘
    如果这样 那么那一句唱的长 英文歌词显示的时间就久 而翻译则是固定时间
    这样看着舒服 更符合使用逻辑
    不然一句唱了三秒 而英语只显示一秒 我就要看翻译两秒 显然看起来就像歌词快了几秒一样
    SENSIR
        12
    SENSIR  
    OP
       2017-09-19 17:04:55 +08:00 via Android   ❤️ 1
    @HRain 会考虑,但可能不会很快,你现在可以先试下高级设置里面延时调负数…多半不行。(时间值上翻译应该会在歌词前,但文本行就不是按照时间顺序来了,不知道 Walkman 读不读得了…)
    当时就是烦这样原文时间太短,就有了高级设置调 1 那个模式,但主要针对日韩这种语言为方块字的歌曲(方块字相同意思下更短小),英文太长所以大多数情况都不能同屏显示。

    (假如你愿意的话,应该是在 SharedFramework.cs 311-325 行,可能针对 DelayMsec 做一下正负判断,调一下输出文本的顺序就可以了,然后再把这段 copy 到 431-445 行。当然最优雅的解决方式是最后将文本转为歌词类排序再输出,不过…(本身是学习+自用小工具,能跑就是胜利…)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3771 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.