Awesome
NetEase-MusicBox
感谢为 MusicBox 的开发付出过努力的每一个人!
高品质网易云音乐命令行版本,简洁优雅,丝般顺滑,基于 Python 编写。
Demo
功能特性
- 320kbps 的高品质音乐
- 歌曲,艺术家,专辑检索
- 网易 22 个歌曲排行榜
- 网易新碟推荐
- 网易精选歌单
- 网易主播电台
- 私人歌单,每日推荐
- 随心打碟
- 本地收藏,随时加 ❤
- 播放进度及播放模式显示
- 现在播放及桌面歌词显示
- 歌曲评论显示
- 一键进入歌曲专辑
- 定时退出
- Vimer 式快捷键让操作丝般顺滑
- 可使用数字快捷键
- 可使用自定义全局快捷键
- 对当前歌单列表进行本地模糊搜索
键盘快捷键
有 num + 字样的快捷键可以用数字修饰,按键顺序为先输入数字再键入被修饰的键,即 num + 后的快捷键。
Key | Effect | |
---|---|---|
<kbd>j</kbd> | Down | 下移 |
<kbd>k</kbd> | Up | 上移 |
num + <kbd>j</kbd> | Quick Jump | 快速向后跳转 n 首 |
num + <kbd>k</kbd> | Quick Up | 快速向前跳转 n 首 |
<kbd>h</kbd> | Back | 后退 |
<kbd>l</kbd> | Forword | 前进 |
<kbd>u</kbd> | Prev Page | 上一页 |
<kbd>d</kbd> | Next Page | 下一页 |
<kbd>f</kbd> | Search | 当前列表模糊搜索 |
<kbd>[</kbd> | Prev Song | 上一曲 |
<kbd>]</kbd> | Next Song | 下一曲 |
num + <kbd>[</kbd> | Quick Prev Song | 快速前 n 首 |
num + <kbd>]</kbd> | Quick Next Song | 快速后 n 首 |
num + <kbd>Shift</kbd> + <kbd>g</kbd> | Index for Song | 跳到第 n 首 |
<kbd>=</kbd> | Volume + | 音量增加 |
<kbd>-</kbd> | Volume - | 音量减少 |
<kbd>Space</kbd> | Play/Pause | 播放/暂停 |
<kbd>?</kbd> | Shuffle | 手气不错 |
<kbd>m</kbd> | Menu | 主菜单 |
<kbd>p</kbd> | Present/History | 当前/历史播放列表 |
<kbd>i</kbd> | Music Info | 当前音乐信息 |
<kbd>Shift</kbd> + <kbd>p</kbd> | Playing Mode | 播放模式切换 |
<kbd>a</kbd> | Add | 添加曲目到打碟 |
<kbd>Shift</kbd> + <kbd>a</kbd> | Enter Album | 进入专辑 |
<kbd>g</kbd> | To the First | 跳至首项 |
<kbd>Shift</kbd> + <kbd>g</kbd> | To the End | 跳至尾项 |
<kbd>z</kbd> | DJ List | 打碟列表 |
<kbd>s</kbd> | Star | 添加到收藏 |
<kbd>c</kbd> | Collection | 收藏列表 |
<kbd>r</kbd> | Remove | 删除当前条目 |
<kbd>Shift</kbd> + <kbd>j</kbd> | Move Down | 向下移动当前项目 |
<kbd>Shift</kbd> + <kbd>k</kbd> | Move Up | 向上移动当前项目 |
<kbd>Shift</kbd> + <kbd>c</kbd> | Cache | 缓存歌曲到本地 |
<kbd>,</kbd> | Like | 喜爱 |
<kbd>.</kbd> | Trash FM | 删除 FM |
<kbd>/</kbd> | Next FM | 下一 FM |
<kbd>q</kbd> | Quit | 退出 |
<kbd>t</kbd> | Timing Exit | 定时退出 |
<kbd>w</kbd> | Quit & Clear | 退出并清除用户信息 |
安装
必选依赖
mpg123
用于播放歌曲,安装方法参见下面的说明python-fuzzywuzzy
用于模糊搜索
可选依赖
aria2
用于缓存歌曲libnotify-bin
用于支持消息提示(Linux 平台)qtpy python-dbus dbus qt
用于支持桌面歌词 (根据系统 qt 的版本还需要安装 pyqt4 pyqt4 pyside pyside2 中的任意一个)python-levenshtein
用于模糊搜索
PyPi 安装(*nix 系统)
pip3 install NetEase-MusicBox
Git clone 安装 master 分支(*nix 系统)
git clone https://github.com/darknessomi/musicbox.git && cd musicbox
poetry build && poetry install
macOS 安装
pip3 install NetEase-MusicBox
brew install mpg123
Linux 安装
注意:通过以下方法安装可能仍然需要pip3 install -U NetEase-MusicBox
更新到最新版。
Fedora
首先添加FZUG源,然后sudo dnf install musicbox
。
Ubuntu/Debian
pip3 install NetEase-MusicBox
sudo apt-get install mpg123
Arch Linux
pacaur -S netease-musicbox-git # or $ yaourt musicbox
Centos/Red Hat
sudo yum install -y python3-devel
pip3 install NetEase-MusicBox
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/mpg123-1.25.6-1.el7.x86_64.rpm
sudo yum install -y mpg123-1.25.6-1.el7.x86_64.rpm
配置和错误处理
配置文件地址: ~/.config/netease-musicbox/config.json
可配置缓存,快捷键,消息,桌面歌词。
由于歌曲 API 只接受中国大陆地区访问,非中国大陆地区用户请自行设置代理(可用 polipo 将 socks5 代理转换成 http 代理):
export http_proxy=http://IP:PORT
export https_proxy=http://IP:PORT
curl -L ip.cn
显示 IP 属于中国大陆地区即可。
已测试的系统兼容列表
OS | Version |
---|---|
Arch | Rolling |
macOS | 10.15.7 |
错误处理
当某些歌曲不能播放时,总时长为 00:01 时,请检查是否为版权问题导致。
如遇到在特定终端下不能播放问题,首先检查此终端下 mpg123 能否正常使用,其次检查其他终端下 musicbox 能否正常使用,报告 issue 的时候请告知以上使用情况以及出问题终端的报错信息。
同时,您可以通过tail -f ~/.local/share/netease-musicbox/musicbox.log
自行查看日志。
mpg123 最新的版本可能会报找不到声音硬件的错误,测试了 1.25.6 版本可以正常使用。
已知问题及解决方案
- #374 i3wm 下播放杂音或快进问题,此问题常见于 Arch Linux。尝试更改 mpg123 配置。
- #405 32 位 Python 下 cookie 时间戳超出了 32 位整数最大值。尝试使用 64 位版本的 Python 或者拷贝 cookie 文件到对应位置。
- #347 暂停时间超过一定长度(数分钟)之后 mpg123 停止输出,导致切换到下一首歌。此问题是 mpg123 的 bug,暂时无解决方案。
- #791 版权问题,master 分支已经修复
使用
musicbox
Enjoy it !
更新日志
2021-01-18 版本 0.3.1 错误修复
2020-10-23 版本 0.3.0 接口更新,错误修复
2018-11-28 版本 0.2.5.4 修复多处错误
2018-06-21 版本 0.2.5.3 修复多处播放错误
2018-06-07 版本 0.2.5.1 修复配置文件错误
2018-06-05 版本 0.2.5.0 全部迁移到新版 api,大量错误修复