开源音乐管理软件Melody

news2025/2/4 8:19:38

在这里插入图片描述

本文软件由网友 heqiusheng 推荐。不过好像已经是一年前了 😂

简介

什么是 Melody ?

Melody 是你的音乐精灵,旨在帮助你更好地管理音乐。目前的主要能力是帮助你将喜欢的歌曲或者音频上传到音乐平台的云盘。

主要功能包括:

  • 歌曲管理:支持从多个音乐和视频网站(如网易云、QQ 音乐、酷狗、bilibili、抖音等)检索和上传歌曲。
  • 一键下载和上传:用户可以轻松下载歌曲到本地,或将其上传到音乐平台的云盘。
  • 链接搜索:可以通过视频链接搜索对应的音频,并自动上传到云盘。
  • 解锁功能:能够自动检测并解锁无法播放的歌曲,提供最佳资源并上传。
  • 跨平台适配:支持 PC 和移动端,且具备 PWA(渐进式 Web 应用)功能。
  • 简单部署:可以通过 Docker 简单安装和启动。

Melody 旨在为用户提供便利的音乐管理体验,同时遵循相关的版权规定和服务条款。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 melody ,选择第一个 foamzou/melody,版本选择 latest

本文写作时, latest 版本对应为 all-platform-2024071901

docker 文件夹中,创建一个新文件夹 melody,并在其中建两个子文件夹 datadownload

文件夹装载路径说明
docker/melody/data/app/backend/.profile存放设置、cookie
docker/melody/download/tmp下载目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
55665566

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 melody 和 子目录
mkdir -p /volume1/docker/melody/data

# 进入 melody 目录
cd /volume1/docker/melody

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name melody \
   -p 5566:5566 \
   -v $(pwd)/data:/app/backend/.profile \
   -v $(pwd)/download:/tmp \
   foamzou/melody:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  melody:
    image: foamzou/melody:latest
    container_name: melody
    restart: unless-stopped
    ports:
      - 5566:5566
    volumes:
      - ./data:/app/backend/.profile
      - ./download:/tmp

然后执行下面的命令

# 新建文件夹 melody 和 子目录
mkdir -p /volume1/docker/melody/{data,download}

# 进入 melody 目录
cd /volume1/docker/melody

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5566 就能看到主界面

默认的 Melody Keymelody

如果想要同步歌单,需要绑定账号

可以用 app 扫描

除了同步歌单外

也可以搜索,但现在还不能下载,需要设置下载路径

设置

进入 设置 --> 下载路径

这个路径必须是 docker 容器内部的地址,就是我们前面映射的 /tmp

设置完成后必须 更新配置

下载

回到搜索页面,会发现已经点亮了下载图标

选中一首歌曲下载

下载成功

FileStation 中能看到下载的文件

上传

也可以选择上传到云盘

上传成功后

可以在网易云网盘中找到

本文只是演示软件功能,所下载的文件均已从服务器上删除

解锁

进入歌单,找到一些需要解锁的音乐

可以单首解锁

当然也不一定会成功

也可以一键解锁

进度提示

看起来成功的概率不算高

解锁成功的文件,可以在网易云网盘中找到

参考文档

foamzou/melody: 我的音乐精灵
地址:https://github.com/foamzou/melody

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2291698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一、TensorFlow的建模流程

1. 数据准备与预处理: 加载数据:使用内置数据集或自定义数据。 预处理:归一化、调整维度、数据增强。 划分数据集:训练集、验证集、测试集。 转换为Dataset对象:利用tf.data优化数据流水线。 import tensorflow a…

分析哲学:从 语言解剖到 思想澄清的哲学探险

分析哲学:从 语言解剖 到 思想澄清 的哲学探险 第一节:分析哲学的基本概念与公式解释 【通俗讲解,打比方来讲解!】 分析哲学,就像一位 “语言侦探”,专注于 “解剖语言”,揭示我们日常使用的语…

鸿蒙物流项目之基础结构

目录: 1、项目结构2、三种包的区别和使用场景3、静态资源的导入4、颜色样式设置5、修改项目名称和图标6、静态包基础目录7、组件的抽离8、在功能模块包里面引用静态资源包的组件 1、项目结构 2、三种包的区别和使用场景 3、静态资源的导入 放在har包中,那…

[漏洞篇]SQL注入漏洞详解

[漏洞篇]SQL注入漏洞详解 介绍 把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通过构造恶意的输入,使数据库执行恶意命令,造成数据泄露或者修改内容等,以达到攻击的目的。…

【最后203篇系列】006 -使用ollama运行deepseek-r1前后端搭建

说明 这块已经不算新内容了,年前搭完了后端(ollama),本来想早点分享的,但是当时的openwebui有点不给力,有些地方不适配,然后配置项找不到。所以前端没搭好,也就不完整:只能通过命令…

JDK-1.8.0_432安装(CentOS7)

目录 1、卸载系统自带JDK 2、下载安装包并解压 3、赋予可执行权限 4、设置环境变量 5、刷新环境变量 6、查看JDK版本 1、卸载系统自带JDK # 查询出自带的jdk rpm -qa | grep jdk rpm -qa | grep java # 将上述命令列出的包依次删除 rpm -e --nodeps xxxxxxx 2、下载…

【Linux】24.进程信号(1)

文章目录 1. 信号入门1.1 进程与信号的相关知识1.2 技术应用角度的信号1.3 注意1.4 信号概念1.5 信号处理常见方式概览 2. 产生信号2.1 通过终端按键产生信号2.2 调用系统函数向进程发信号2.3 由软件条件产生信号2.4 硬件异常产生信号2.5 信号保存 3. 阻塞信号3.1 信号其他相关…

股票入门知识

股票入门(更适合中国宝宝体制) 股市基础知识 本文介绍了股票的基础知识,股票的分类,各板块发行上市条件,股票代码,交易时间,交易规则,炒股术语,影响股价的因素&#xf…

用Python实现K均值聚类算法

在数据挖掘和机器学习领域,聚类是一种常见的无监督学习方法,用于将数据点划分为不同的组或簇。K均值聚类算法是其中一种简单而有效的聚类算法。今天,我将通过一个具体的Python代码示例,向大家展示如何实现K均值聚类算法&#xff0…

Flask代码审计实战

文章目录 Flask代码审计SQL注入命令/代码执行反序列化文件操作XXESSRFXSS其他 审计实战后记reference Flask代码审计 SQL注入 1、正确的使用直白一点就是:使用”逗号”,而不是”百分号” stmt "SELECT * FROM table WHERE id?" connectio…

Unity 2D实战小游戏开发跳跳鸟 - 跳跳鸟碰撞障碍物逻辑

在有了之前创建的可移动障碍物之后,就可以开始进行跳跳鸟碰撞到障碍物后死亡的逻辑,死亡后会产生一个对应的效果。 跳跳鸟碰撞逻辑 创建Obstacle Tag 首先跳跳鸟在碰撞到障碍物时,我们需要判定碰撞到的是障碍物,可以给障碍物的Prefab预制体添加一个Tag为Obstacle,添加步…

【玩转 Postman 接口测试与开发2_015】第12章:模拟服务器(Mock servers)在 Postman 中的创建与用法(含完整实测效果图)

《API Testing and Development with Postman》最新第二版封面 文章目录 第十二章 模拟服务器(Mock servers)在 Postman 中的创建与用法1 模拟服务器的概念2 模拟服务器的创建2.1 开启侧边栏2.2 模拟服务器的两种创建方式2.3 私有模拟器的 API 秘钥的用法…

mysql操作语句与事务

数据库设计范式 数据库设计的三大范式 ‌第一范式(1NF)‌:要求数据库表的每一列都是不可分割的原子数据项,即列中的每个值都应该是单一的、不可分割的实体。例如,如果一个表中的“地址”列包含了省、市、区等多个信息…

基于SpringBoot电脑组装系统平台系统功能实现五

一、前言介绍: 1.1 项目摘要 随着科技的进步,计算机硬件技术日新月异,包括处理器(CPU)、主板、内存、显卡等关键部件的性能不断提升,为电脑组装提供了更多的选择和可能性。不同的硬件组合可以构建出不同类…

【智力测试——二分、前缀和、乘法逆元、组合计数】

题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; const int mod 1e9 7; const int N 1e5 10; int r[N], c[N], f[2 * N]; int nr[N], nc[N], nn, nm; int cntr[N], cntc[N]; int n, m, t;void init(int n) {f[0] f[1] 1;for (int i …

玉米苗和杂草识别分割数据集labelme格式1997张3类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;1997 标注数量(json文件个数)&#xff1a;1997 标注类别数&#xff1a;3 标注类别名称:["corn","weed","Bean…

string例题

一、字符串最后一个单词长度 题目解析&#xff1a;由题输入一段字符串或一句话找最后一个单词的长度&#xff0c;也就是找最后一个空格后的单词长度。1.既然有空格那用我们常规的cin就不行了&#xff0c;我们这里使用getline,2.读取空格既然是最后一个空格后的单词&#xff0c;…

设计模式 - 行为模式_Template Method Pattern模板方法模式在数据处理中的应用

文章目录 概述1. 核心思想2. 结构3. 示例代码4. 优点5. 缺点6. 适用场景7. 案例&#xff1a;模板方法模式在数据处理中的应用案例背景UML搭建抽象基类 - 数据处理的 “总指挥”子类定制 - 适配不同供应商供应商 A 的数据处理器供应商 B 的数据处理器 在业务代码中整合运用 8. 总…

基于脉冲响应不变法的IIR滤波器设计与MATLAB实现

一、设计原理 脉冲响应不变法是一种将模拟滤波器转换为数字滤波器的经典方法。其核心思想是通过对模拟滤波器的冲激响应进行等间隔采样来获得数字滤波器的单位脉冲响应。 设计步骤&#xff1a; 确定数字滤波器性能指标 将数字指标转换为等效的模拟滤波器指标 设计对应的模拟…

RabbitMQ快速上手及入门

概念 概念&#xff1a; publisher&#xff1a;生产者&#xff0c;也就是发送消息的一方 consumer&#xff1a;消费者&#xff0c;也就是消费消息的一方 queue&#xff1a;队列&#xff0c;存储消息。生产者投递的消息会暂存在消息队列中&#xff0c;等待消费者处理 exchang…