Giter Club home page Giter Club logo

synology-lrcplugin's Introduction

Update Aug 2022

Now Netease is bocking oversea IPs, better to use another lyrics provider. There's another plugin that uses QQ API, check that instead : https://github.com/LightAPIs/qq_music_aum

Synology Lrc Plugin

Lyrics plugin for Synology Audio Station/DS Audio.

用于群晖 Audio Station/DS Audio 的歌词插件。用户向的手把手使用教程可以看这里群晖NAS进阶使用教程(一):Audio Station网易歌词插件

Features

  • Sort the search result according to the similarity of artist and title
  • Have Chinese translation if it's available

特色:

  • 根据艺术家标题的相似程度排序搜索结果
  • 有中文歌词翻译(如果有提供)

Usage(用法)

Download from release. There are two flavors: netease_org.aum is the original flavor, which shows the lyric in original language; netease_trans.aum is the translated flavor that has Chinese translation if it's available.

Go to Audio Station -> Settings -> Lyrics Plugin -> Add to add the aum file in your flavor, then enable by ticking it. Then when you play a song the lyric will be downloaded automatically.

If you feel it's not the best match, in Audio Station you can right click on a song, go to Song Information -> Lyrics -> Search Internet which will give you all the search results. You can pick from the second one in the list.

release 下载。有两种口味:netease_org.aum 是清真原味,仅显示歌词原文,适合学霸; netease_trans.aum 是带中文翻译的口味,大众首选。

Audio Station -> 设置 -> 歌词插件 -> 添加 来加入你喜欢口味的 aum 文件,然后记得打勾开启。当你播放时歌词会自动下载。

如果觉得歌词不够匹配,在 Audio Station 右键单击那首歌,去 歌曲信息 -> 歌词 -> 从网络搜索 获取所有搜索结果。你可以从第二个开始尝试,因为第一个就是自动下载的结果。

TODO (May be)

  • 日文歌词通过Google自动翻译成假名、罗马音

Build

In the proejct's root directory, run the included bash script to generate .aum files required by Audio Station. Both original and translated flavors will be generated.

./build.sh

About development(关于开发)

Do not use echo(不要用echo函数)

If the PHP script has echo() inside, Audio Station will fail to return the result!

卡在这好久,后来才发现有 echo() 的话 Audio Station 不能返回任何结果。第一次搞 PHP,整个插件用了大概一个多星期业余时间。

Determine the best match(计算最佳匹配)

  1. Finds out the title that matches exactly or partially
  2. Finds out the best match artist from all artists. (The song might have multiple artists)
  3. Sort the search result based on the similarity of artist and title using similar_text()

Chinese translation(中文翻译)

Some songs have Chinese translation, the translation is in another lyric file. So this PHP also append the translation to the end of each original lyric line when the time tag matches.

Test web API with curl

Step 1: Use this command to search for a song named Tell Your World, then you can get a JSON response:

curl -v -X POST http://music.163.com/api/search/pc -d "s=Tell Your World&type=1"

Step 2: Find the ID in the previous response with key id, then you can download the file. In this case the ID is 858520. Then you can get a JSON response that contains the lyric.

curl -v -X GET "http://music.163.com/api/song/lyric?os=pc&id=858520&lv=-1&kv=0&tv=-1"

Query parameters in the request: lv = original version; tv = translated version; kv = karaoke version, rarely available. Set value to 0 if you don't want that particular version.

Inspired by(灵感来源)

Synology Lyric project by Frank Lai

PHP API by Moonlib

Synology Audio Station 歌詞外掛 by Raykuo

synology-lrcplugin's People

Contributors

ludysu avatar fanzai0403 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.