ZonyLrcToolX 4 is a cross-platform lyrics download tool based on CEF.

???? The current version is under development.
???? Switch to the dev branch if you want to see working code.

Tool performs daily build actions, visit Release page to download.

For Windows users, please press and hold Shift + right-click in the software directory to call out the menu, then select PowerShell/Command Prompt/Windows Terminal, and execute the command according to the following instructions.

For macOS and Linux users, please open the terminal, switch to the software directory, and execute the same command.

subcommand

download function

The subcommand is downloadwhich can be used to download lyrics data and album images, and supports multiple downloaders for downloading.

.\ZonyLrcTools.Cli.exe download -d|dir <WAIT_SCAN_DIRECTORY> [-l|--lyric] [-a|--album] [-n|--number]

.\ZonyLrcTools.Cli.exe download -h|--help

example

# 下载歌词
.\ZonyLrcTools.Cli.exe download -d "C:\歌曲目录" -l -n 2

# 下载专辑封面
.\ZonyLrcTools.Cli.exe download -d "C:\歌曲目录" -a -n 2

specify song file source

Currently the program supports obtaining song data from local directories, CSV files, and Netease cloud playlists, and then downloading LRC lyrics data.

The parameter specifying the source of the lyrics is -sc|--scanner, you can specify the source of song information through this parameter.It has the following options, by default it is local.

-sc local # 从目录获取歌曲信息。
-sc netease # 从网易云歌单获取歌曲信息。
-sc csv # 从 CSV 文件获取歌曲信息。

Obtain song data from NetEase cloud playlist

The full command is as follows:

.\ZonyLrcTools.Cli.exe download -sc netease -o "D:\TempFiles" -s "7224428149" -l

in -sc The parameter is used to specify the source of the lyrics information is the Netease cloud song list; -o The parameter specifies the output directory of the lyrics file, please try to use an absolute path; -s The parameter specifies the ID of the playlist, which can be obtained from the web version of NetEase Cloud Music.

For example to get the address https://music.163.com/#/playlist?id=158010361 songlist information, then the songlist ID should pass 158010361.

Due to the limitation of Netease Cloud Music, if you want to get the complete song list information, you must scan the code to log in to the program. Taking the top one as an example, I need to download the lyrics data in the song list, and the program will only execute after scanning the code.

image-20230328223155280

Get song data from CSV file

answer Issue 126 A request to add a way to get song information from CSV. This enables downloading of lyrics data without the original song.

Example command:

.\ZonyLrcTools.Cli.exe download -sc csv -o "D:\TempFiles" -f "D:\TempFiles\demo.csv" -l

in -f The parameter is used to specify the path of the csv file. The format of the csv file should be as follows. Make sure that the first line is the column information, and it must contain two columns in total.

Song,Artist
刀马旦,李玟
发如雪,周杰伦
说书人,寅子
爱的供养,张国荣
七里香,周杰伦

Encryption format conversion

The subcommand is utilwhich can be used to convert part of encrypted songs,For personal research and study use only, ideas and source codes come from the Internet.

Please refer to the project for specific supported formats Music Decrypto, this tool only does an integration, replacing some of its own implementations. Now there is no need to specify the corresponding type parameter, the program will automatically select the appropriate decryption algorithm according to the file suffix.

The command requires only one parameter -sspecify the folder or file path that needs to be converted.

.\ZonyLrcTools.Cli.exe util -s D:\CloudMusic

configuration file

All configuration information of the program is in config.yaml Make changes, instructions for each configuration are marked below.

The options for whether to enable are true or falsewhich is equivalent to yes and no in Chinese.

globalOption:
  # 允许扫描的歌曲文件后缀名。
  supportFileExtensions:
    - '*.mp3'
    - '*.flac'
    - '*.wav'
  # 网络代理服务设置,仅支持 HTTP 代理。
  networkOptions:
    isEnable: false # 是否启用代理。
    ip: 127.0.0.1   # 代理服务 IP 地址。
    port: 4780      # 代理服务端口号。
    updateUrl: https://api.myzony.com/lrc-tools/update # 更新检查地址。
  
  # 下载器的相关参数配置。
  provider:
    # 标签扫描器的相关参数配置。
    tag:
      # 支持的标签扫描器。
      plugin:
        - name: Taglib    # 基于 Taglib 库的标签扫描器。
          priority: 1     # 优先级,升序排列。
        - name: FileName  # 基于文件名的标签扫描器。
          priority: 2
          # 基于文件名扫描器的扩展参数。
          extensions:
            # 正则表达式,用于匹配文件名中的作者信息和歌曲信息,可根据
            # 自己的需求进行调整。
            regularExpressions: "(?'artist'.+)\\s-\\s(?'name'.+)"
      # 歌曲标签屏蔽字典替换功能。
      blockWord:
        isEnable: false             # 是否启用屏蔽字典。
        filePath: 'BlockWords.json' # 屏蔽字典的路径。
    # 歌词下载器的相关参数配置。
    lyric:
      # 支持的歌词下载器。
      plugin:
        - name: NetEase   # 基于网易云音乐的歌词下载器。
          priority: 1     # 优先级,升序排列,改为 -1 时禁用。
          depth: 10       # 搜索深度,值越大搜索结果越多,但搜索时间越长。
        - name: QQ        # 基于 QQ 音乐的歌词下载器。
          priority: 2
          # depth: 10     # 暂时不支持。
        - name: KuGou     # 基于酷狗音乐的歌词下载器。
          priority: 3
          depth: 10
        - name: KuWo      # 基于酷我音乐的歌词下载器。
          priority: 4
          depth: 10
      # 歌词下载的一些共有配置参数。
      config:
        isOneLine: true                 # 双语歌词是否合并为一行展示。
        lineBreak: "\n"                 # 换行符的类型,记得使用双引号指定。
        isEnableTranslation: true       # 是否启用翻译歌词。
        isOnlyOutputTranslation: false  # 是否只输出翻译歌词。
        isSkipExistLyricFiles: false    # 如果歌词文件已经存在,是否跳过这些文件。
        fileEncoding: 'utf-8'           # 歌词文件的编码格式。

Supported encoding formats

For details, please refer to: List of MSDN Encodings,use identifier and name Fill in as parameter value config.yaml in the file fileEncoding.

For the UTF-8 BOM format, the program has carried out special processing, please refer to fileEncoding Fill in “utf-8-bom” to support.

Supported Lyric Sources

source of lyricsdefault priority
NetEase Cloud Music1
QQ Music2
kugou music3
kuwo music4

masking dictionary

The shielding dictionary is suitable for downloading lyrics of NetEase Cloud Music. For some words, NetEase Cloud Music uses * to shield them. At this time, you can use the shielding dictionary to set the keyword replacement of the song name.For example, there is a song called Fucking ABC the actual name of NetEase Cloud at this time is Fu**ing the user only needs to add replacement logic to the shielding dictionary, for example:

{
    "Fuckking": "Fu****ing"
}

The default path of the shielding dictionary is the directory where the program is located BlockWords.json file, users can appsettings.json Configure other paths in the file.

#ZonyLrcToolsX #Homepage #Documentation #Download #Lyric #Download #Tool #News Fast Delivery

Leave a Comment

Your email address will not be published. Required fields are marked *